Thuật tốn định vị này mở rộng thuật tốn Nearest Neighbor bằng cách chọn K phần tử láng giềng gần nhất để đưa ra thơng tin dự báo vị trí chính xác hơn Nearest Neighbor. Vị trí của người sử dụng thiết bị di động được ước tính là trọng tâm của K vị trí láng giềng gần nhất này.
Cài đặt thuật tốn
Algorithm 4 K-Nearest Neighbor Algorithm 1. số lượng phần tử láng giềng gần nhất 2. null
3. for i1 to K
4. location Nearest Neghbor 5. Thêm location vào Locations
6. Loại bỏ location ra khỏi danh sách vị trí tham chiếu để thuật tốn Nearest Neighbor khơng tìm kiếm tại vị trí này nữa
7. return Trọng tâm của các vị trí trong Locations
Thuật tốn K-Nearest Neighbor là thuật tốn mở rộng của thuật tốn Nearest Neighbor nên nĩ kế thừa những ưu điểm của thuật tốn Nearest Neighbor và khắc phục nhược điểm “chỉ tìm được duy nhất 1 láng giềng gần nhất nên khả năng sai số lớn” bằng cách chọn ra K láng giềng cĩ khả năng nhất.
Ưu điểm của thuật tốn:
Đơn giản, dễ triển khai, cài đặt
Tìm được K láng giềng gần nhất, sau đĩ ước tính vị trí người dụng bằng cách tính trọng tâm của K láng giềng này nên giảm sai số khoảng cách Nhược điểm:
Hệ số K được chọn cố định, khơng uyển chuyển, chưa tối ưu.
Với một mơi trường trong nhà phức tạp, khoảng cách Euclide của đo tại thời điểm hiện tại và tại mỗi vị trí tham chiếu cĩ thể là rất lớn
Dù vector đo tại thời điểm hiện tại bị “nhiễu” vẫn tìm được khoảng cách Euclide gần nhất, dẫn tới độ dự báo vị trí khơng chính xác