ZJULearning / nsg

Navigating Spreading-out Graph For Approximate Nearest Neighbor Search
MIT License
621 stars 148 forks source link

MRNG edge selection implement #27

Closed rrjia closed 4 years ago

rrjia commented 4 years ago

in index_nsg.cpp method sync_prune()

if (djk < p.distance) { occlude = true; break; }

i do not understand what "occlude" means, why dik < p.distance can get the conclusion of "occlude = true"?

thanks

rrjia commented 4 years ago

因为result中的点是按照距离排序的,所以q,result[i]距离必然小于qp距离, 如果djk < p.distance,那么p点必然在lunepq内,又因为q,result[i]属于MRNG,因此pq不属于MRNG;