Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

R++-tree: an efficient spatial access method for highly redundant point data Kalmár Dániel (előadás), Németh Boldizsár (feldolgozás), Hollenczer Péter.

Hasonló előadás


Az előadások a következő témára: "R++-tree: an efficient spatial access method for highly redundant point data Kalmár Dániel (előadás), Németh Boldizsár (feldolgozás), Hollenczer Péter."— Előadás másolata:

1 R++-tree: an efficient spatial access method for highly redundant point data Kalmár Dániel (előadás), Németh Boldizsár (feldolgozás), Hollenczer Péter (implementáció)

2 A dolgozatról Szerzők: Martin Šumák, Peter Gurský kassai P. J. Šafárik Egyetem ADBIS 2013 konferencián mutatták be

3 “spatial access method” általános probléma: pontok vagy geometriai alakzatok elhelyezése N-dimenziós térben, ezeken keresési műveletek végrehajtása alkalmazás sokrétű: adatbázisok, térinformatika, 3D modellezés és renderelés, fizikai szimulációk, stb…

4 Gyakori térbeli keresési problémák range search: adott geometriai forma által befoglalt pontok keresése kNN (k nearest neighbor): adott pont k db. legközelebbi szomszédjának keresése top-k search: fuzzy értékek között, súlyozással számított összegekben legjobb találatok keresése Ezek a keresések idő hiányában nem lesznek részletesebben bemutatva - minden adatstruktúrán hasonlóan működnek és meglepően egyszerűek. A kihívás az adatstruktúra megfelelő felépítése, hogy a keresés minél hatékonyabban fusson.

5 Létező térpartícionálási megoldások BSP-tree (~1969, 1980) R-tree (1984) k-d tree (1975)Quadtree / Octree (1974) R-tree továbbfejlesztései: ●R* ●R+ ●R++ ●stb. (R# ?) “quad” = 4 (részre osztás 2 dimenzióban) k-d = k- dimensional BSP = binary space partitioning R = rectangle

6 “point data” minden pontokat tartalmazó térpartícionáló megoldás kiterjeszthető geometriai alakzatokra - de nem feltétlen hatékonyan az R++ fa nem nagyon alkalmas erre, így csak pontokkal érdemes foglalkozni hivatalos magyarázat: a kutatás célja (aminek keretében feltalálták) pontszerű adatok feldolgozása volt

7 “highly redundant” a redundancia itt a pontok közelségére, tömörülésére utal minél nagyobb dimenzióban dolgozunk, annál ritkábbak lesznek a pontok (Curse of Dimensionality) az R++ fa tapasztalat alapján általános esetben csak alacsony dimenziókban működik hatékonyan, de bizonyos esetekben ez nem feltétlen igaz (mérések jönnek)

8 “efficient”? Hatékonyabb a “legjobb” R* fánál… bizonyos esetekben. Pár mérési eredmény a szerzőktől, generált adatokra:

9 Pszeudo-valós adatok A szerzők kutatása alapjául szolgáló konkrét probléma adatain vett mérések (6 dimenzióban, de kevesebb attribútumra keresve) :

10 Mérési eredmények értelmezése a dimenziók számával egyenesen arányosan romlik a hatékonysága az R*-hoz képest alacsony dimenziókban általában fel tudja venni a versenyt az R*-gal, de nem feltétlen jobb bárhol viszont bizonyos speciális esetekben jóval gyorsabb (valós adatok, top-k search) megjegyzés: beszúrási hatékonysága sokkal jobb az R*-nál R+-fa: “nehezen” implementálható és lassú

11 De mi az az R++ fa? az R* és R+ fák továbbfejlesztése (amik az R-fa továbbfejlesztései) megértéséhez ezek megértése szükséges az R-fák általános tulajdonságai: o a szülő a gyerekeit magába ölelő AABB-t (axis aligned bounding box) tárol o csak a levelek tárolnak pontokat o egy node több gyereket is magába foglalhat (nem bináris) o kiegyensúlyozott

12 Az R-család fái közti különbségek a bounding box konkrét tulajdonságai (minimális? átfedés van?) beszúrásnál a pont helyét megtaláló heurisztika (átfedésnél vagy üres területen) telített node-ok szétvágásának módszere implementációs kérdések

13 A minimális bounding box probléma Feladat: szúrjuk be a megjelölt pontot egy levélbe (minimális bounding box) Probléma: bármelyik levélbe szúrjuk be, annak a bounding box-át bővíteni kell, és átfedés keletkezik

14 A maximális bounding box probléma Feladat: szúrjuk be a megjelölt pontot egy levélbe (maximális bounding box) Probléma: mivel a téglalapok maximálisak, a keresés kevésbé lesz hatékony ezen a fán

15 Eddigi megvalósítások R: minimális bounding box, lehet átfedés, beszúrás: ahol a legkevésbé kell növelni a boxot R*: bounding boxban lehet átfedés, beszúrás levél szinten: ahol a legkisebb az átfedés, magasabb szinten: mint R-fa R+: átfedés elkerülése, de egy objektum több levélbe is be lehet szúrva, lassabb felépítés, implementációs problémák split algoritmusok: sokféle, különböző szempontok alapján: átfedés csökkentése, sebesség, keresést lassító helyzetek elkerülése

16 Az R++ fa titka Hogyan oldjuk meg a min és max bounding box problémákat? Mindkettőt nyilvántartjuk. A maximálisat (br) beszúrásnál használjuk, a minimálisat (mbr) keresésnél. Átfedést nem engedünk meg.

17 Beszúrási heurisztika beszúrásnál br alapján bejárjuk a fát, mbr-t bővítve (ha szükséges) a heurisztika triviális, mivel br maximális (lefedik az egész teret) és átfedésmentes, így minden (a térbe eső) pontra egyértelműen meg tudjuk határozni a haladás irányát

18 Szétvágó algoritmus (levélre) minden dimenzióra o minden pontra a levélben  szétvágjuk a levelet a pont mentén  kiszámoljuk a különbséget a szétvágás két oldalán a minimális különbséget adó szétvágás lesz a levélen a vágás

19 Levél szétvágása valós példán

20 Szétvágó algoritmus (belső node-ra) (belső node = nem levél node) minden dimenzióra o minden gyerek node-ra  az mbr felső és alsó határára az adott dimenzióban vágjuk szét e mentén, az aktuális dimenzió tengelyére merőlegesen a node-ot o m1 := az ezzel szétvágott bounding boxok száma o m2 := a nem szétvágott bounding boxok számának különbsége a vágás két oldalán a végleges vágás az m1-ek minimumát adó vágás lesz o ha több ilyen van, az m2 alapján döntünk (minimalizálva a különbséget)

21 Belső node szétvágása valós példán

22 Vége… Köszönöm a figyelmet! Kérdések?


Letölteni ppt "R++-tree: an efficient spatial access method for highly redundant point data Kalmár Dániel (előadás), Németh Boldizsár (feldolgozás), Hollenczer Péter."

Hasonló előadás


Google Hirdetések