Самый оптимальный способ составить график расстояний до объекта - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть объекты, которые суммируются с помощью 64-битного хэша.Коллекция большая и растущая .

Мы можем рассчитать расстояние между этими объектами, например:

distance = number_of_bits_set(hash1 ^ hash2)

Дляпример:

Object1 hash is 00001110
Object2 hash is 00111000
Object3 hash is 00011111

Расстояния будут:

Dist(Object1, Object2) = Bits(00001110 ^ 00111000) = 4
Dist(Object1, Object3) = Bits(00001110 ^ 00011111) = 
Dist(Object2, Object3) = Bits(00111000 ^ 00011111) = 4

Как мы видим здесь, Object1 / 2 имеют то же расстояние, что и Object2 / 3, но Объект 1/3 имеетгораздо меньшее расстояние.

Мне нужно собрать систему, чтобы найти n ближайших объектов к данному объекту.

Количество объектов исчисляется миллионами, поэтому грубая сила и сохранение всех комбинацийне варианты.

Я не могу придумать никакого разделения, которое имело бы смысл, так как мы имеем дело с количеством битов.В то же время я могу представить, что это не новая проблема, и необходимо провести некоторое исследование по этой теме.

Может ли кто-нибудь пролить свет на это и / или указать мне правильное направление?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...