Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Kapitel 5: Mehrdimensionale Suchstrukturen. 2 Mehrdimensionale Suchstrukturen Alterzwischen 20 und 30 Einkommenzwischen 2000 und 3000 PLZzwischen 40000.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Kapitel 5: Mehrdimensionale Suchstrukturen. 2 Mehrdimensionale Suchstrukturen Alterzwischen 20 und 30 Einkommenzwischen 2000 und 3000 PLZzwischen 40000."—  Präsentation transkript:

1 1 Kapitel 5: Mehrdimensionale Suchstrukturen

2 2 Mehrdimensionale Suchstrukturen Alterzwischen 20 und 30 Einkommenzwischen 2000 und 3000 PLZzwischen und 50000

3 3 Query-Rechteck y2y2 y1y1 y x x1x1 x2x2 E D C B G F HI K A J

4 4 k-d-Baum zur Verwaltung von mehrdimensionalen Datenpunkten Verallgemeinerung des binären Suchbaums mit k-dimensionalem Sortierschlüssel Homogene Variante: Baumknoten enthält Datenrecord + Zeiger Inhomogene Variante: Baumknoten enthält Schlüssel + Zeiger Blätter enthalten Zeiger auf Datenrecord Ebene i modulo k diskriminiert bzgl. Dimension i x y z

5 5 2-d-Baum Im 2-dimensionalen Fall gilt für Knoten mit Schlüssel [x/y]: im linken Sohnim rechten Sohn Auf ungerader Ebenealle Schlüssel xalle Schlüssel > x Auf gerader Ebenealle Schlüssel yalle Schlüssel > y

6 6 2-d-Baum A C B D E F G H

7 7 Beispiel für 2-d-Baum D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser Insertz.B. füge Record [3/9] I 3/9

8 8 Beispiel für 2-d-Baum D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser Exact Matchz.B. finde Record [15/5]

9 9 Beispiel für 2-d-Baum D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser Partial Matchz.B. finde alle Records [x/y] mit x=7

10 10 Beispiel für 2-d-Baum D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser Range-Queryz.B. finde alle Records [x/y] mit 8 x 13, 5 y 8

11 11 Beispiel für 2-d-Baum D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser Best Matchz.B. finde nächsten Nachbarn zu [7/3] => Traversierung mit schrumpfender Rangequery

12 12 2-d-Baum A C B D E F G H

13 13 Traversierung für Best Match zu [7/3] D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser

14 14 Inhomogene Variante

15 15 Partitionierungen

16 16 Gitterverfahren mit konstanter Gittergröße

17 17 Grid File Alternative zu fester Gittergröße 1981 vorgestellt von Hinrichs & Nievergelt 2-Platten-Zugriffsgarantie Bei k-dimensionalen Tupeln: k Skalen zum Einstieg ins Grid-Directory (im Hauptspeicher) Grid Directory zum Finden der Bucket-Nr. (Hintergrundspeicher) Bucket für Datensätze (Hintergrundspeicher)

18 18 Grid File im 2-dimensionalen Fall Alle Records der roten Gitterzelle sind im Bucket mit Adresse G[1,2] 0 y[i],i=0,.. max_y y x x x[i],i=0,.. max_x y Region:benachbarte Gitterzellen Gitterzelle: rechteckiger Teilbereich Bucket:speichert Records einer Region

19 19 Bucket Directory Suche Record [35 / 2400] Befrage Skalen asp07nk99jh aasdf0cß03j400d0v 9v8asßfimo98csi98a dxcvß98dspa0s9fxc0 wi00808ß3jsßsa9ßß Lade Block mit G[1,2] vom Bucketdirectory Lade Datenblock

20 20 Bucket-Überlauf Eine Zelle in Region Mehrere Zellen in Region

21 21 Aufspalten der Regionen Insert A = [5 / 6]

22 22 Aufspalten der Regionen A A Insert B = [14 / 3]

23 23 Aufspalten der Regionen A B A B Insert C = [9 / 4]

24 24 Aufspalten der Regionen A C B B C A Insert D = [6 / 2]

25 25 Aufspalten der Regionen A C B B C A D D Insert E = [7 / 9]

26 26 Aufspalten der Regionen Insert F = [12 / 7]

27 27 Aufspalten der Regionen Insert G = [1 / 8]

28 28 Aufspalten der Regionen B C E A C B F F D G A E D G

29 29 Gridfile Beispiel

30 30 Gridfile Zahlen Größe eines Datenrecords:100 Byte mittlere Zahl der Datenrecords pro Block:7.5 maximale Zahl der Datenrecords pro Block10 Zahl der Datenrecords: Zahl der Datenblöcke: Zahl der Directoryblöcke:225 mittlere Zahl von Adressen pro Directoryblock175 maximale Zahl von Adressen pro Directoryblock:256 Größe des Root-Directory:15 x 15

31 31 Dynamik des Grid Directory Insert A=[12 / 280] 3 Datenrecords pro Bucket

32 32 Dynamik des Grid Directory A Insert B=[25 / 220]

33 33 Dynamik des Grid Directory A B Insert C=[45 / 270]

34 34 Dynamik des Grid Directory A B C Insert D=[22 / 275]

35 35 Dynamik des Grid Directory A B C D Insert E=[24 / 260]

36 36 Dynamik des Grid Directory C A B D E 250 Insert F=[26 / 280]

37 37 Dynamik des Grid Directory A B C D E F Directory Block vergröbern

38 38 Dynamik des Grid Directory A B C D E F

39 39 Vereinigung von Regionen bei zu geringer Bucketauslastung: Benachbarte Regionen vereinigen Vereinigung muß Rechteck ergeben Vereinigung wird ausgelöst wenn Bucket < 30 % Auslastung wenn vereinigtes Bucket < 70 % Auslastung

40 40 Nearest Neighbor Q P R

41 41 Verwaltung von geometrischen Objekten Grid File unterstützt Range-Query bisher:k Attribute Jetzt:k-dimensionale Punkte

42 42 Verwaltung von Intervallen E A B C D F A [Anfang / Ende] E A B C D F Besser: [Mittelpunkt / halbe Länge]

43 43 Query-Punkt gegen Intervall Punkt p liegt im Intervall mit Mitte m und halber Länge d m-d p m+d m-d m+d m

44 44 Query-Punkt gegen Intervall E A B C D F E A B C D F Punkt p liegt im Intervall mit Mitte m und halber Länge d m-d p m+d p=5 m-d 5 m+d

45 45 Query-Intervall gegen Intervall Intervall mit Mitte s und halber Länge t schneidet Intervall mit Mitte m und halber Länge d m-d s+t und s-t m+d m-dm+d s+ts-t

46 46 Query-Intervall gegen Intervall E A B C D F E A B C D F Intervall mit Mitte s und halber Länge t schneidet Intervall mit Mitte m und halber Länge d m-d s+t und s-t m+d s=10, t=1 m-d 11 und 9 m+d

47 47 Query-Rechteck gegen Rechteck Stelle Rechteck durch vierdimensionalen Punkt dar


Herunterladen ppt "1 Kapitel 5: Mehrdimensionale Suchstrukturen. 2 Mehrdimensionale Suchstrukturen Alterzwischen 20 und 30 Einkommenzwischen 2000 und 3000 PLZzwischen 40000."

Ähnliche Präsentationen


Google-Anzeigen