The nearest neighbor graph (NNG)近鄰圖 is a directed graph defined for a set of points in a metric space, such as the Euclidean distance in the plane. The NNG has a vertex for each point, and a directed edge from p to q whenever q is a nearest neighbor of p, a point whose distance from p is minimum among all the given points other than p itself.[1]
In many uses of these graphs, the directions of the edges are ignored and the NNG is defined instead as an undirected graph. However, the nearest neighbor relation is not a symmetric one, i.e., p from the definition is not necessarily a nearest neighbor for q. In theoretical discussions of algorithms a kind of general position is often assumed, namely, the nearest (k-nearest) neighbor is unique for each object. In implementations of the algorithms it is necessary to bear in mind that this is not always the case. For situations in which it is necessary to make the nearest neighbor for each object unique, the set P may be indexed and in the case of a tie the object with, e.g., the largest index may be taken as the nearest neighbor.[2]
The k-nearest neighbor graph (k-NNG)k近鄰圖 is a graph in which two vertices p and q are connected by an edge, if the distance between p and q is among the k-th smallest distances from p to other objects from P. The NNG is a special case of the k-NNG, namely it is the 1-NNG. k-NNGs obey a separator theorem: they can be partitioned into two subgraphs of at most n(d + 1)/(d + 2) vertices each by the removal of O(k1/dn1 − 1/d) points.[3]
Another variation is the farthest neighbor graph (FNG), in which each point is connected by an edge to the farthest point from it, instead of the nearest point.
NNGs for points in the plane as well as in multidimensional spaces find applications, e.g., in data compression, motion planning, and facilities location. In statistical analysis, the nearest-neighbor chain algorithm based on following paths in this graph can be used to find hierarchical clusterings quickly. Nearest neighbor graphs are also a subject of computational geometry.
k-近鄰圖(k-nearest neighbor graph)
選定參數k,對於頂點vi,i=1,..,n,把離它最近的k個點與之相連,所得到的圖就是k-近鄰圖。
需要注意的是,因為這樣的鄰近關系並不是對稱的(vj是vi的k近鄰 ≠vi是vj的k近鄰),故而得到的圖將會是“有向”的。為了得到無向的圖(圖的賦權鄰接矩陣W應是對稱的),一般采取的辦法有兩種:
(1)忽視邊的方向。即只要vj是vi的k近鄰,或者vi是vj的k近鄰,就用一條無向邊把vi與vj連接起來。通常稱的k-近鄰圖就是這一種。
(2)僅當vj是vi的k近鄰,且vi是vj的k近鄰時,才把vi與vj連接起來。這樣得到的圖稱為混合k-近鄰圖(mutual k-nearest neighbor graph)
Having simple dataset:
you create a graph from k-NN:
after partitioning the graph will be much simplified (having large kk at the begging might not have any influence at all, because most of the edges will be removed during partitioning).
REF
https://blog.csdn.net/qingdanry/article/details/44685411
https://en.wikipedia.org/wiki/Nearest_neighbor_graph