Nns-ongelmaan on ehdotettu erilaisia ratkaisuja. Laatua ja hyödyllisyyttä algoritmit ovat määräytyy aika monimutkaisia kyselyitä sekä tilavaativuus tahansa haku tietorakenteita, jotka on säilytettävä. Epävirallinen havainnointi yleensä nimitystä curse of dimensionality todetaan, että ei ole yleiskäyttöinen tarkka ratkaisu NNS korkea-ulotteinen Euklidinen avaruus käyttämällä polynomi esikäsittely ja polylogarithmic haku aikaa.,

Tarkka methodsEdit

Lineaarinen searchEdit

yksinkertaisin ratkaisu NNS ongelma on laskea etäisyys kyselyn kohta joka toinen kohta tietokantaan, pitää kirjaa ”paras tähän mennessä”. Tämä algoritmi, joskus kutsutaan naiivi lähestymistapa, on ajoaika O(dN), missä N on mahtavuus S-ja d on dimensionality M. ei ole etsiä tietoja rakenteita ylläpitää, joten lineaarinen haku ei ole tilaa monimutkaisuus ylittää varastointi tietokannasta., Naiivi haku voi keskimäärin päihittää avaruuden jakautumisen lähestymistapoja korkeammissa ulottuvuuksissa.

Tilaa partitioningEdit

1970-luvulta Lähtien, branch ja bound menetelmää on sovellettu ongelma. Euklidisen avaruuden tapauksessa tämä lähestymistapa kattaa paikkatietoindeksin tai paikkatietoyhteysmenetelmät. NNS-ongelman ratkaisemiseksi on kehitetty useita tilanjakomenetelmiä. Ehkä yksinkertaisin on k-d-puu, joka iteratiivisesti bisects haku tilaa kahteen alueeseen, joka sisältää puoli pistettä vanhemman alueella., Kyselyt suoritetaan kautta läpikäynti puun juuresta lehteen arvioimalla kysely osoittaa jokaisen split. Kyselyssä määritellystä etäisyydestä riippuen myös osumia mahdollisesti sisältävät naapurihaarat saatetaan joutua arvioimaan. Jatkuva ulottuvuus kyselyn aika, keskimääräinen kompleksisuus on O(log N) jos satunnaisesti pisteitä, pahimman tapauksen kompleksisuus on O(kN^(1-1/k))Vaihtoehtoisesti T-puu tietorakenne on suunniteltu tukemaan lähimmän naapurin haku dynaaminen yhteydessä, koska se on tehokas algoritmeja lisäykset ja poistot kuten R* – puu., R-puut voivat tuottaa lähimmät naapurit paitsi Euklidinen etäisyys,mutta voidaan käyttää myös muiden etäisyyksien.

yleisen metrisen avaruuden kohdalla haara-ja sidontalähestyminen tunnetaan metrisen puun lähestymisenä. Erityisiä esimerkkejä ovat vp-tree ja BK-tree-menetelmät.

Käyttämällä joukko pisteitä otettu 3-ulotteinen avaruus ja laittaa BSP-puu, ja koska kyselyn vaiheessa otettu samaan tilaan, mahdollinen ratkaisu ongelmaan löytää lähin piste-pilvi kohta kyselyn kohta on annettu seuraava kuvaus algoritmi., (Tarkkaan ottaen sellaista kohtaa ei välttämättä ole olemassa, koska se ei välttämättä ole ainutlaatuinen. Mutta käytännössä, yleensä välitämme vain löytää jokin osajoukko kaikista point-cloud pistettä, jotka ovat olemassa lyhyimmällä etäisyydellä tiettyyn kyselypisteeseen.) Ideana on, että jokaiselle puun haarautumiselle arvatkaa, että pilven lähin piste sijaitsee kyselypisteen sisältävässä puolitilassa. Näin ei ehkä ole, mutta se on hyvä heuristinen., Kun ottaa rekursiivisesti mennyt läpi kaikki vaivaa ratkaista ongelma arvata, puoli-tilaa, nyt vertailla etäisyys palasi tämän tuloksen kanssa lyhin etäisyys kyselyn kohta osiointi kone. Viimeksi mainittu etäisyys on se, että kyselypisteen ja lähimmän mahdollisen pisteen välillä, joka voisi olla olemassa puolitilassa, jota ei ole etsitty. Jos tämä etäisyys on suurempi kuin palasi aiemmin tulos, sitten selvästi, ei tarvitse etsiä toinen puoli-tilaa., Jos tällainen tarve, sitten sinun täytyy mennä läpi ongelmia ratkaisemaan ongelman toinen puoli tilaa, ja sitten verrata sen seurauksena entinen tuloksen, ja sitten palata oikea tulos. Suorituskykyä tämä algoritmi on lähempänä logaritminen aikaa kuin lineaarinen aika, jolloin kyselyn kohta on lähellä pilvi, koska kuten välimatka kyselyn kohta ja lähin piste-pilvi kohta lähenee nollaa, algoritmi tarvitsee vain suorittaa look-up käyttämällä kyselyn kohta keskeisenä saada oikea tulos.,

Lähentämisestä methodsEdit

likimääräinen lähimmän naapurin algoritmi on sallittu palata pisteitä, joiden etäisyys kysely on korkeintaan c {\displaystyle c} kertaa etäisyys kyselyn sen lähin pistettä. Valitus tässä lähestymistavassa on, että, monissa tapauksissa, likimääräinen lähin naapuri on lähes yhtä hyvä kuin täsmälleen yksi. Erityisesti, jos etäisyys mitataan tarkasti kaappaa käsitteen käyttäjä laatua, niin pieniä eroja etäisyys ei ole väliä.,

Ahne haku sijaitsee naapurustossa graphsEdit

menetelmät perustuvat ahne liikkumisesta sijaitsee naapurustossa kuvaajat G ( V , E ) {\displaystyle G(V,E)}, jossa jokainen piste x i ∈ S {\displaystyle x_{i}\in A} on ainutlaatuinen liittyvät vertex v i ∈ V – {\displaystyle v_{i}\V} . Etsi lähin naapurit kyselyn q joukko S on muodoltaan etsiminen vertex kuvaaja G ( V , E ) {\displaystyle G(V,E)} .,Perus algoritmi – ahne haku – toimii seuraavasti: haku käynnistyy enter-point vertex v i ∈ V – {\displaystyle v_{i}\V} laskemalla etäisyydet kyselyn q kunkin huippupiste sen naapuruston { v j : ( v i , v, j ) ∈ E } {\displaystyle \{v_{j}:(v_{i},v_{j})\E\}} , ja sitten löytää vertex kanssa vähän matkan arvo. Jos matkan arvo on välillä kyselyn ja valittu kärki on pienempi kuin yksi, välillä kyselyn ja nykyinen elementti, sitten algoritmi siirtyy valitun huippupiste, ja se tulee uusia anna-kohta., Algoritmi pysähtyy, kun se saavuttaa paikallinen minimi: huippupiste, jonka lähistöltä ei sisällä kärki, joka on lähempänä kyselyn kuin vertex itse.

ajatus sijaitsee naapurustossa kuvaajia oli hyödynnetty useita julkaisuja, kuten uraauurtava paperi, jonka Arya ja Mount in VoroNet järjestelmä lentokoneessa, RayNet järjestelmä E n {\displaystyle \mathbb {E} ^{n}} ja Metrized Maailma on Pieni ja HNSW algoritmeja yleisessä tapauksessa tilat, etäisyys-toiminto., Nämä teokset olivat edeltää uraauurtava paperi, jonka Toussaint, jossa hän esitteli käsitteen suhteellinen naapuruston kuvaaja.

Paikkakunnalla herkkä hashingEdit

Paikkakunnalla herkkä hajautus (LSH) on tekniikka, ryhmittelyyn pistettä avaruudessa ’kauhat’, joka perustuu jonkin matkan metrinen toimivien pistettä. Pisteet, jotka ovat lähellä toisiaan valitulla metrillä, kartoitetaan suurella todennäköisyydellä samaan ämpäriin.,

Lähimmän naapurin haku tiloissa, joissa on pieni luontainen dimensionEdit

kansi puu on teoreettinen sidottu, joka perustuu aineisto on kaksinkertaistaa vakio. Sidottu haku aika on O(c12 log n), missä c on laajennus vakio aineisto.

Ennustetaan radial searchEdit

erityisesti silloin, jos tiedot on tiheä 3D-kartta geometrinen pistettä, projektio geometria tunnistava tekniikka voidaan merkittävästi yksinkertaistaa haku ongelma.,Tämä lähestymistapa edellyttää, että 3D-tiedot on järjestetty projektio on kaksiulotteinen ruudukko, ja oletetaan, että data on alueellisesti tasainen koko naapurimaiden verkkoon soluja, lukuun ottamatta objektin rajoja.Nämä oletukset ovat voimassa, kun käsitellään 3D-anturin tiedot sovelluksissa, kuten maanmittaus -, robotiikka-ja stereo visio, mutta se ei välttämättä pidä järjestäytymätön tiedot yleisesti.Käytännössä tämä tekniikka on keskimääräinen etsi aikaa O(1) tai O(K) k-lähimmän naapurin ongelma, kun sitä sovelletaan reaalimaailman stereo vision tietoja.,

Vektori lähentämisestä filesEdit

korkea-ulotteinen välilyöntejä, puu indeksointi rakenteiden tullut hyödytön, koska yhä suurempi osa solmut on tutkittava joka tapauksessa. Lineaarisen haun nopeuttamiseksi RAM-MUISTIINMERKITTYJEN feature vektorien pakattua versiota käytetään datasetien esikuvaukseen ensimmäisessä ajossa. Lopulliset ehdokkaat määritetään toisessa vaiheessa käyttäen levyn pakkaamattomia tietoja etälaskentaa varten.,

Pakkaus/klusterointi perustuu searchEdit

VA-tiedoston lähestymistapa on erikoistapaus, puristus-pohjainen haku, jossa jokainen ominaisuus komponentti on pakattu tasaisesti ja riippumattomasti. Optimaalinen puristustekniikka moniulotteisissa tiloissa on vektorikvantisointi (VQ), joka toteutetaan klusteroimalla. Tietokanta on kasautunut ja sieltä haetaan ”lupaavimmat” klusterit. Va-tiedoston, puuperusteisten indeksien ja peräkkäisten skannausten osalta on havaittu valtavia voittoja. Huomaa myös klusteroinnin ja LSH: n väliset rinnakkaisuudet.