az NNS probléma különböző megoldásait javasolták. Az algoritmusok minőségét, hasznosságát a lekérdezések idő összetettsége, valamint a fenntartandó Keresési adatstruktúrák térösszetettsége határozza meg. Az informális megfigyelés általában a továbbiakban, mint az átok, a kiterjedés kimondja, hogy nincs általános célú pontos megoldás NNS a magas-dimenziós Euklideszi tér használata polinom előfeldolgozás, valamint polylogarithmic keresési idő.,

Exact methodsEdit

Linear searchEdit

az NNS probléma legegyszerűbb megoldása a lekérdezési ponttól az adatbázis minden más pontjához való távolság kiszámítása,a “legjobb eddig” nyomon követése. Ez az algoritmus, amelyet néha naiv megközelítésnek neveznek, O(dN) futási idővel rendelkezik, ahol N az S kardinalitása, d pedig az M dimenzionalitása., A naiv keresés átlagosan felülmúlja a térelválasztási megközelítéseket a magasabb dimenziós terekben.

Space partitioningEdit

Az 1970-es évek óta a branch and bound módszertant alkalmazzák a problémára. Az euklideszi tér esetében ez a megközelítés magában foglalja a térbeli indexet vagy a térbeli hozzáférési módszereket. Az NNS-probléma megoldására számos térfelosztási módszert fejlesztettek ki. Talán a legegyszerűbb a K-d fa, amely iteratív módon kettéosztja a keresési helyet két régióba, amelyek a szülő régió pontjainak felét tartalmazzák., A lekérdezéseket a fa áthaladásán keresztül hajtják végre a gyökérről a levélre az egyes felosztások lekérdezési pontjának értékelésével. A lekérdezésben megadott távolságtól függően a szomszédos ágakat, amelyek találatokat tartalmazhatnak, szintén értékelni kell. Az állandó dimenzió lekérdezési idő esetén az átlagos komplexitás O (log N) véletlenszerűen elosztott pontok esetén, a legrosszabb esetben a komplexitás O(kN^(1-1/k))) alternatívaként az R-fa adatszerkezetét úgy tervezték, hogy támogassa a legközelebbi szomszéd keresést dinamikus kontextusban, mivel hatékony algoritmusokkal rendelkezik a beillesztésekhez és törlésekhez, például az R* fához., Az R-fák a legközelebbi szomszédokat nemcsak euklideszi távolságra hozhatják, hanem más távolságokkal is használhatók.

általános metrikus tér esetén az ághoz kötött megközelítés metrikus fa megközelítésként ismert. Különös példák a vp-tree és a BK-tree módszerekre.

egy 3 dimenziós térből vett és egy BSP-fába helyezett pontok halmazát használva, és ugyanabból a térből vett lekérdezési pont alapján lehetséges megoldást találni arra a problémára, hogy a legközelebbi pont-felhőpontot a lekérdezési ponthoz megtaláljuk, az algoritmus következő leírása tartalmazza., (Szigorúan véve, ilyen pont nem létezhet, mert lehet, hogy nem egyedi. De a gyakorlatban általában csak az érdekel, hogy megtaláljuk az összes pont-felhő pont egyik részhalmazát, amely a legrövidebb távolságra van egy adott lekérdezési ponttól.) Az ötlet az, hogy a fa minden egyes elágazásánál kitaláljuk, hogy a felhő legközelebbi pontja a lekérdezési pontot tartalmazó féltérben található. Lehet, hogy nem ez a helyzet, de ez egy jó heurisztikus., Miután rekurzívan átment a probléma megoldásának minden problémáján a kitalált féltér számára, most hasonlítsa össze az eredmény által visszaadott távolságot a lekérdezési ponttól a particionáló síkig tartó legrövidebb távolsággal. Ez utóbbi távolság a lekérdezési pont és a legközelebbi lehetséges pont között van, amely a nem keresett féltérben létezhet. Ha ez a távolság nagyobb, mint a korábbi eredmény, akkor nyilvánvalóan nincs szükség a másik féltér keresésére., Ha ilyen szükség van, akkor át kell mennie a probléma megoldásának problémáján a másik féltér számára, majd össze kell hasonlítania az eredményt a korábbi eredményhez, majd vissza kell adnia a megfelelő eredményt. Ennek az algoritmusnak a teljesítménye közelebb áll a logaritmikus időhöz, mint a lineáris idő, amikor a lekérdezési pont a felhő közelében van, mert mivel a lekérdezési pont és a legközelebbi pont-felhő pont közötti távolság nullához közeledik,az algoritmusnak csak a lekérdezési pont használatával kell keresnie a helyes eredmény eléréséhez.,

közelítési módszerekszerkesztés

egy közelítő legközelebbi szomszéd keresési algoritmus visszatérhet olyan pontokhoz,amelyek távolsága legfeljebb c {\displaystyle C} a lekérdezéstől a legközelebbi pontokig terjedő távolság. Ennek a megközelítésnek az a vonzereje, hogy sok esetben egy közelítő legközelebbi szomszéd majdnem olyan jó, mint a pontos. Különösen, ha a távolságmérés pontosan rögzíti a felhasználói minőség fogalmát, akkor a távolság kis különbségei nem számítanak.,

Mohó keresés közelében környéken graphsEdit

A módszerek alapján kapzsi áthaladó közelében környéken grafikonok G ( V , E ) {\displaystyle G(V,E)}, amelyben minden pont x i ∈ S {\displaystyle x_{i}\S} egyedileg kapcsolódó vertex v i ∈ V {\displaystyle v_{i}\a V} . Az S halmazban a q lekérdezéshez legközelebbi szomszédok keresése a G ( V , E ) {\displaystyle G(V,E)} grafikon csúcsának keresését jelenti .,Az alapvető algoritmus mohó keresés – a következőképpen működik: a keresés indul egy enter-pont vertex v i ∈ V {\displaystyle v_{i}\a V} számítási az távolságra a lekérdezés k, hogy minden csúcsának a környék { v j : ( v i , v, j ) ∈ E } {\displaystyle \{v_{j}:(v_{i},v_{j})\E\}} , aztán talál egy vertex a minimális távolság érték. Ha a lekérdezés és a kiválasztott csúcs közötti távolság kisebb, mint a lekérdezés és az aktuális elem közötti távolság, akkor az algoritmus a kiválasztott csúcsra lép, és új enter-pont lesz belőle., Az algoritmus megáll, amikor eléri a helyi minimumot: egy csúcs, amelynek szomszédsága nem tartalmaz olyan csúcsot, amely közelebb áll a lekérdezéshez, mint maga a csúcs.

Az ötlet, közelség, szomszédság grafikonok volt kihasználva több publikáció, köztük a híres papírt Arya Hegy, a VoroNet rendszer a gépen, RayNet rendszer E n {\displaystyle \mathbb {E} ^{n}} , a Metrized Kicsi a Világ, s HNSW algoritmusok általános esetben a terek, a távolság funkció., Ezeket a munkákat Toussaint úttörő tanulmánya előzte meg, amelyben bemutatta a relatív szomszédsági grafikon fogalmát.

Helységérzékeny hashingEdit

Helységérzékeny hashing (LSH) egy olyan technika, amely a pontokat a pontokon működő távolságmérő alapján “vödrökbe” csoportosítja. Azok a pontok, amelyek közel állnak egymáshoz a kiválasztott metrika alatt, nagy valószínűséggel ugyanarra a vödörre vannak leképezve.,

legközelebbi szomszédkeresés kis belső dimenzióval rendelkező terekbenszerkesztés

a borítófa elméleti kötéssel rendelkezik, amely az adatkészlet megduplázódó állandóján alapul. A keresési idő megkötése O (C12 log n), ahol c az adatkészlet bővítési állandója.

vetített radiális searchEdit

abban a speciális esetben, ha az adatok sűrű 3D geometriai pontok térképe, az érzékelési technika vetítési geometriája felhasználható a keresési probléma drámai egyszerűsítésére.,Ez a megközelítés megköveteli, hogy a 3D-s adatokat egy kétdimenziós rácsra vetítés szervezze, és feltételezi, hogy az adatok térben simaak a szomszédos rácscellákon, az objektumhatárok kivételével.Ezek a feltételezések érvényes, ha foglalkozó 3D szenzor adatok, alkalmazások, mint a felmérési, robotika, valamint sztereó látás, de lehet, hogy nem érvényes a rendezetlen adatok általános.A gyakorlatban ez a technika egy átlagos keresési idő O(1) vagy O(K) a k-legközelebbi szomszéd probléma, ha az alkalmazott a való világ sztereó látás adatok.,

Vector approximation filesEdit

nagy dimenziós terekben a fa indexelő szerkezetek haszontalanná válnak, mivel a csomópontok növekvő százalékát egyébként meg kell vizsgálni. A lineáris keresés felgyorsítása érdekében a RAM-ban tárolt funkcióvektorok tömörített verzióját használják az adatkészletek előzetes szűrésére az első futtatás során. A végső jelölteket egy második szakaszban határozzák meg a lemez tömörítetlen adataival a távolság kiszámításához.,

Compression/clustering based searchEdit

a VA-file megközelítés egy tömörítésen alapuló keresés speciális esete, ahol minden egyes funkciókomponens egységesen és egymástól függetlenül tömörül. A többdimenziós terek optimális tömörítési technikája a vektor kvantálás (VQ), amelyet klaszterezéssel valósítanak meg. Az adatbázis fürtözött, a legígéretesebb klaszterek pedig lekérésre kerülnek. A VA-File, a fa-alapú indexek és a szekvenciális Letapogatás felett óriási nyereséget figyeltek meg. Vegye figyelembe a csoportosítás és az LSH közötti párhuzamokat is.