byla navržena různá řešení problému NNS. Kvalita a užitečnost algoritmů jsou určena časová složitost dotazů, stejně jako prostor, složitost vyhledávání, datové struktury, která musí být zachována. Neformální pozorování obvykle odkazoval se na jako prokletí dimenzionality uvádí, že neexistuje žádný obecný-účel přesné řešení pro NNS v high-dimenzionální Euklidovský prostor pomocí polynomu předzpracování a polylogarithmic doba vyhledávání.,

Přesné methodsEdit

Lineární searchEdit

nejjednodušší řešení NNS problém je spočítat vzdálenost od query pointu, aby každý další bod v databázi, sledování „nejlepší tak daleko.“ Tento algoritmus, někdy odkazoval se na jako naivní přístup, má čas O(dN), kde N je mohutnost S a d je počet rozměrů M. nejsou Tam žádné vyhledávání, datové struktury na údržbu, takže lineární hledání nemá žádný prostor složitosti mimo úložiště databáze., Naivní hledání může v průměru překonat přístupy k dělení prostoru na vyšších rozměrových prostorech.

space partitioningEdit

od roku 1970 byla na problém použita metodika větev a vazba. V případě euklidovského prostoru tento přístup zahrnuje metody prostorového indexu nebo prostorového přístupu. Pro řešení problému NNS bylo vyvinuto několik metod dělení prostoru. Snad nejjednodušší je strom K-d, který iterativně rozděluje vyhledávací prostor do dvou oblastí obsahujících polovinu bodů mateřské oblasti., Dotazy jsou prováděny přes traversal stromu od kořene k listu vyhodnocením bodu dotazu při každém rozdělení. V závislosti na vzdálenosti zadané v dotazu mohou být také vyhodnoceny sousední větve, které mohou obsahovat hity. Pro konstantní rozměr, čas dotazu, průměrná složitost je O(log N) v případě, že náhodně rozděleny bodů, nejhorším případě složitost je O(kN^(1-1/k)), Případně R-strom datová struktura byla navržena tak, aby podpora nejbližšího souseda hledat v dynamickém kontextu, jak to má efektivní algoritmy pro inserce a delece, jako například R* strom., R-stromy mohou přinést nejbližší sousedy nejen pro euklidovské vzdálenosti, ale mohou být také použity s jinými vzdálenostmi.

v případě obecného metrického prostoru je přístup větve a vazby známý jako přístup metrického stromu. Konkrétní příklady zahrnují metody vp-tree a BK-tree.

Pomocí sady bodů z 3-dimenzionální prostor a dát do BSP strom, a vzhledem k tomu, dotaz bodu pořízené ze stejného místa, možné řešení problému hledání nejbližšího bodu-cloud point na dotaz bodu v následujícím textu je uveden popis algoritmu., (Přísně vzato, žádný takový bod nemůže existovat, protože nemusí být jedinečný. Ale v praxi se obvykle staráme pouze o nalezení kterékoli podmnožiny všech bodů-cloudových bodů, které existují v nejkratší vzdálenosti k danému bodu dotazu.) Myšlenka je, že pro každé větvení stromu, myslím, že nejbližší bod v cloudu je umístěn v polovině-prostor obsahující dotaz bodu. Nemusí tomu tak být, ale je to dobrý heuristický., Poté, co rekurzivně prošel všemi problémy s řešením problému pro odhadovaný poloviční prostor, nyní porovnejte vzdálenost vrácenou tímto výsledkem s nejkratší vzdáleností od bodu dotazu k rovině dělení. Tato druhá vzdálenost je taková, že mezi bodem dotazu a nejbližším možným bodem, který by mohl existovat v prostoru, který nebyl prohledán. Pokud je tato vzdálenost větší než vzdálenost vrácená v předchozím výsledku, pak zjevně není třeba hledat druhý poloviční prostor., Pokud je taková potřeba, musíte projít problémy s řešením problému pro druhou polovinu prostoru a poté porovnat jeho výsledek s předchozím výsledkem a poté vrátit správný výsledek. Výkon tohoto algoritmu je blíže k logaritmické čas, než lineární čas při dotazu bod je v blízkosti cloud, protože jako je vzdálenost mezi dotazu bod a nejbližší bod-bod cloud blíží nulové, algoritmus potřebuje pouze provést look-up pomocí dotazu bod jako klíč k dostat správný výsledek.,

Sbližování methodsEdit

přibližný nejbližší soused vyhledávací algoritmus je dovoleno vrátit se bodu, jehož vzdálenost od dotazu je u většiny c {\displaystyle c} krát vzdálenosti od dotazu na jeho nejbližší body. Odvolání tohoto přístupu spočívá v tom, že v mnoha případech je přibližný nejbližší soused téměř stejně dobrý jako přesný. Zejména pokud měření vzdálenosti přesně zachycuje představu o kvalitě uživatele, pak by na malých rozdílech ve vzdálenosti nemělo záležet.,

Greedy search v blízkosti okolí graphsEdit

metody jsou založeny na greedy křížení v blízkosti okolí grafů G ( V , E ) {\displaystyle G(V,E)}, v němž každý bod x ∈ Y {\displaystyle x_{i}\v S} je jednoznačně spojena s vrcholem v i ∈ V, {\displaystyle v_{i}\in V} . Hledání nejbližších sousedů k dotazu q v setu S má podobu hledání vrcholu v v grafu G ( V , E ) {\displaystyle G(V,E)} .,Základní algoritmus greedy search – funguje následovně: spustí se vyhledávání od zadání-bod, vrchol v ∈ V, {\displaystyle v_{i}\in V} výpočtem vzdálenosti od dotazu q pro každý vrchol jeho okolí { v j : ( v i , v j ) ∈ E } {\displaystyle \{v_{j}:(v_{i},v_{j})\in E\}} , a pak si najde vrchol s minimální vzdáleností hodnotu. Pokud je hodnota vzdálenosti mezi dotazem a vybraným vrcholem menší než hodnota mezi dotazem a aktuálním prvkem, algoritmus se přesune na vybraný vrchol a stane se novým vstupním bodem., Algoritmus se zastaví, když dosáhne místního minima: vrchol, jehož sousedství neobsahuje vrchol, který je blíže k dotazu než samotný vrchol.

myšlenka, blízkost, sousedství grafů byl využit v několika publikacích, včetně plodného papíru tím, že Arya a Montáž, v VoroNet systém pro letadlo, v RayNet systém pro E n {\displaystyle \mathbb {E} ^{n}} , a v Metrized Svět je Malý a HNSW algoritmy pro obecný případ z míst s vzdálenost funkce., Těmto pracím předcházel průkopnický papír Toussaint, ve kterém představil koncept relativního sousedského grafu.

lokalita sensitive hashingEdit

lokalita sensitive hashing (LSH) je technika pro seskupování bodů v prostoru do „kbelíků“ na základě určité metriky vzdálenosti pracující na bodech. Body, které jsou blízko sebe pod zvolenou metrikou, jsou s vysokou pravděpodobností mapovány do stejného kbelíku.,

Nejbližší soused vyhledávání v prostorech s malou vnitřní dimensionEdit

kryt strom má teoretickou mez, která je založena na dataset je zdvojnásobení konstantní. Vázán na dobu vyhledávání je o (C12 log n), kde c je expanzní konstanta datové sady.

Projected radial searchEdit

ve zvláštním případě, kdy jsou data hustou 3D mapou geometrických bodů, může být projekční geometrie snímací techniky použita k dramatickému zjednodušení problému vyhledávání.,Tento přístup předpokládá, že 3D data jsou organizovány projekce na dvou-dimenzionální mřížky a předpokládá, že data jsou prostorově hladké přes sousední buňky mřížky, s výjimkou objektu hranice.Tyto předpoklady jsou platné při jednání s 3D senzorem dat v aplikacích, jako jsou geodetické práce, robotiky a stereo vidění, ale nemusí držet pro neorganizované dat obecně.V praxi tato technika má průměrný vyhledávací čas o(1) nebo O(K) pro k-nejbližší soused problém, když se aplikuje na skutečný svět stereo vision data.,

Vektor sbližování filesEdit

V high-dimenzionální prostory, strom indexování struktury k ničemu, protože zvyšující se procento uzlů musí být posuzovány stejně. Pro urychlení lineárního vyhledávání se komprimovaná verze vektorů funkcí uložených v paměti RAM používá k předfiltrování datových souborů v prvním běhu. Konečné kandidáty jsou určeny ve druhé fázi pomocí nekomprimovaných dat z disku pro výpočet vzdálenosti.,

compression/clustering based searchEdit

přístup VA-file je zvláštní případ vyhledávání založené na kompresi, kde je každá součást funkce komprimována rovnoměrně a nezávisle. Optimální kompresní technikou v multidimenzionálních prostorech je vektorová kvantizace (VQ), realizovaná shlukováním. Databáze je seskupena a jsou načteny nejvíce“ slibné “ klastry. Byly pozorovány obrovské zisky nad VA-File, indexy založené na stromech a sekvenční skenování. Všimněte si také paralely mezi shlukování a LSH.