Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Bruns Ziehm Geändert vor über 9 Jahren
1
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 3 WS 01/02 Punkt-in-Polygon-Verfahren III (R/R + -Baum)
2
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 32 Übersicht I Zur Erinnerung Zerlegung der Maschen in Streifen Suchstruktur Einfügen einer Kante II Zur Effizienz Effizienz II: Sonderfallbetrachtung Punkt-in-Polygon-Suche II MBR – minimum bounding rectangle Idee Neues laufendes Beispiel Rechtecke
3
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 33 Übersicht II Rechtecke mit R-Baum R-Baum R-Baum als B-Baum Der R-Baum als solcher Einfügen in einen R-Baum Strategien zum Spalten eines Knotens Suchen eines Knotens Nachteil des R-Baums Alternative: Der R+-Baum R+-Baum Suche im R+-Baum
4
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 34 Zur Erinnerung:
5
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 35 Zerlegung der Maschen in Streifen R
6
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 36 D E F G A B C Suchstruktur p1p1 A q1q1 s1s1 B C p2p2 q2q2 s2s2 s2s2 p1p1 q1q1 s1s1 D E F G p2p2 q2q2 s2s2
7
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 37 Suchstruktur p1p1 A q1q1 s1s1 B C p2p2 q2q2 s2s2 s2s2 D E F G D E F G A B C p1p1 q1q1 s1s1 p2p2 q2q2 s2s2
8
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 38 Einfügen einer Kante II D(S i-1 ) qiqi sisi sisi sisi A B D E F B D sisi A C F E C sisi pipi qiqi T(S i ) D(S i )
9
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 39 Zur Effizienz Der oben beschriebene Algorithmus hat folgende Erwartungswerte (gemittelt über alle Permutationen der Segmentmenge S): Konstruktion von D(S):O(n log n) Speicherplatz von D(S):O(n) Punkt-in-Polygon-Suche mittels D(S): O(log n)
10
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 310 Effizienz II: Der Erwartungswert bezieht sich auf die Menge aller Permutationen Pech bei der Permutation kann zum Worst – Case O(n) für die Suche und entsprechender Tiefe der Suchstruktur führen Abhilfe durch Stop-Loss-Punkt setzen: –Brich ab, falls D(S) zu tief wird, und fange neu an mit einer neuen Permutation Differenz zum Worst-Case O(n) für die Suche und O(n 2 ) für die Konstruktion kann beliebig klein gemacht werden, ohne daß man von der O(n log n) – Laufzeit für die Konstruktion von D(S) sehr stark abweicht
11
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 311 Sonderfallbetrachtung Was macht man, wenn 2 Knoten die gleichen x-Koordinaten haben? Beobachtung: die vertikalen Extensionen müssen eigentlich nicht vertikal, sondern nur parallel sein Wichtig sind nur die topologischen Invarianten links / rechts an den x-Knoten und oben / unten an den y-Knoten Abhilfe durch Transformation (x,y) (x + * y, y) für „geeignet kleines“ Epsilon Diese Transformation wird aber in Wirklichkeit gar nicht durchgeführt, sondern: –(x,y) liegt rechts von (x‘,y‘) falls x > x‘ oder x = x‘ und y > y‘ Oben / Unten – Vergleich an y-Knoten für Segmente „in the same spirit“ (als Übung)
12
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 312 Punkt-in-Polygon-Suche II Bisher: –Zerlegung der Maschen in Streifen –Konstruktion einer Suchstruktur Alternatives Vorgehen: Approximation der Maschen durch umschließende achsenparallele Rechtecke –Minimal Bounding Rectangle (MBR) –Verwaltung der Rechtecke R-Baum R + -Baum
13
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 313 B-Baum Ein kleiner Exkurs: Der B-Baum wurde nach seinem Entwickler R. Bayer benannt. Die Suche eines Elementes in einem B-Baum unterscheidet sich nur wenig von der Suche in anderen Such-Bäumen. Das Einfügen und Entfernen von Elementen ist jedoch an vielen Stellen anders als in Binär-Such-Bäumen.
14
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 314 B-Baum Eigenschaften eines B-Baumes der Ordnung n: –Ein B-Baum ist nicht binär –Ein B-Baum ist ausgeglichen –Alle Blätter haben das gleiche Niveau –Jeder Knoten enthält höchstens 2n Elemente –Jeder innere Knoten außer der Wurzel enthält mindestens n Elemente –Jeder innere Knoten hat m+1 Nachfolgeknoten, wobei m die Anzahl der Schlüssel des inneren Knotens ist –Die m Schlüssel eines inneren Knotens werden in aufsteigender Reihenfolge gespeichert: x 1 < x 2 <... < x n –Für jeden i-ten Teilbaum S i eines Knotens gilt: Die Schlüssel seiner Knoten sind grösser als x i und kleiner als x i+1 (ganz links und ganz rechts analog) –Bei einigen Varianten des B-Baums stehen alle Informationen in den Blättern
15
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 315 B-Baum der Ordnung 2 (n=2) 2912 1315171233 2948 19 1037567
16
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 316 Einfügen Einfügen eines Elements mit dem Wert 18 (Idealfall) 2912 13151713 19 10723 2948 3756 18 < 19 linker Ast
17
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 317 Einfügen Einfügen eines Elements mit dem Wert 18 2912 13151713 19 10723 2948 3756 18 > 12 rechter Ast
18
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 318 Einfügen Einfügen eines Elements mit dem Wert 18 2912 13151713 19 10723 2948 3756 18 > 12 rechter Ast
19
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 319 Einfügen Einfügen eines Elements mit dem Wert 18 2912 13151713 19 10723 2948 3756 18 > 17 Einfügen
20
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 320 Einfügen Einfügen eines Elements mit dem Wert 18 2912 13151713 19 10723 2948 3756 18 > 17 Einfügen
21
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 321 Einfügen Einfügen eines Elements mit dem Wert 18 2912 1315171813 19 10723 2948 3756 18 > 17 Einfügen
22
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 322 Einfügen Einfügen eines Elements mit dem Wert 14 (Problemfall) 2912 1315171813 19 10723 2948 3756 14 < 19 linker Ast
23
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 323 Einfügen Einfügen eines Elements mit dem Wert 14 2912 1315171813 19 10723 2948 3756 14 > 12 rechter Ast
24
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 324 Einfügen Einfügen eines Elements mit dem Wert 14 2912 1315171813 19 10723 2948 3756 14 > 12 rechter Ast Problem: Speicher voll Lösung: Knoten sprengen
25
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 325 Einfügen Einfügen eines Elements mit dem Wert 14 2912 1315171813 19 10723 2948 3756 Lösung: Knoten sprengen
26
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 326 Einfügen Einfügen eines Elements mit dem Wert 14 2912 13141517 13107 19 23 2948 3756 18 Setze das mittlere Element um eine Position nach oben
27
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 327 Einfügen Einfügen eines Elements mit dem Wert 14 291215 131417 13107 19 23 2948 3756 18 Bilde zwei neue Zweige
28
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 328 Einfügen Einfügen eines Elements mit dem Wert 14 131417 291215 13107 19 23 2948 3756 18 Bilde zwei neue Zweige
29
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 329 Einfügen Einfügen eines Elements mit dem Wert 14 131417 291215 13107 19 23 2948 3756 18 Bilde zwei neue Zweige
30
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 330 Einfügen Einfügen eines Elements mit dem Wert 14 131417 291215 13107 19 23 2948 3756 18 Bilde zwei neue Zweige
31
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 331 Einfügen Einfügen eines Elements mit dem Wert 14 Bilde zwei neue Zweige 1314 291215 13107 19 23 2948 3756 1718
32
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 332 Einfügen Einfügen eines Elements mit dem Wert 14 Bilde zwei neue Zweige 1314 291215 13107 19 23 2948 3756 1718
33
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 333 Entfernen Das Löschen in einem B-Baum gestaltet sich sehr einfach. Wir unterscheiden hier folgende Fälle: 1.Löschen in einem Blatt: Einfaches Löschen 2.Löschen in einem inneren Knoten: Beachte: die Anzahl der Schlüssel der inneren Knoten muss mindestens n sein Wie bei AVL-Bäumen den Eintrag ersetzen durch den Rechtesten Eintrag im linken Unterbaum oder den Linkesten im Rechten.
34
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 334 Entfernen Entfernen des Elements mit dem Wert 48 2912 13151713 19 10723 2948 2731 37 4960
35
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 335 Entfernen Entfernen des Elements mit dem Wert 48 2912 13151713 19 10723 29 2731 37 4960 Keine n Elemente im Knoten
36
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 336 Entfernen Entfernen des Elements mit dem Wert 48 2912 13151713 19 10723 29 2731 37 4960 Keine n Elemente ersetzen durch den Rechtesten Eintrag im linken Unterbaum
37
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 337 Entfernen Entfernen des Elements mit dem Wert 48 2912 13151713 19 10723 2937 27314960 Keine n Elemente ersetzen durch den Rechtesten Eintrag im linken Unterbaum
38
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 338 Punkt-in-Polygon-Suche II Approximation der Maschen durch umschließende achsenparallele Rechtecke –Minimal Bounding Rectangle (MBR) –Verwaltung der Rechtecke R-Baum R + -Baum
39
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 339 MBR – minimum bounding rectangle Außen x y
40
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 340 Idee In welcher Masche M liegt der Punkt P? Nutze die Bounding Boxes als Filter Verwende effizientes Verfahren, um alle Rechtecke R 1,... R n zu finden, die P enthalten –Jedem Rechteck R i entspricht eine Masche M i Prüfe, ob P in einer der Maschen M 1,... M n vorkommt Verwende dazu das Standardverfahren Problem: Zugriffsstruktur für Rechtecke Rechtecke sind einfacher zu handhaben als Maschen im allgemeinen
41
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 341 Neues laufendes Beispiel Nur die Rechtecke interessieren uns hier, nicht die zugrundeliegenden Maschen
42
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 342 Rechtecke B DG J F C I E H A
43
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 343 E H Rechtecke mit R-Baum A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5
44
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 344 Rechtecke mit R-Baum A I 3 AI 3
45
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 345 Rechtecke mit R-Baum A I 3 AI 3 E H 4 4 EH
46
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 346 E H Rechtecke mit R-Baum A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5
47
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 347 R-Baum 12 B DG J F C I 1 2 E H A
48
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 348 E H R-Baum 3 12 A B DG J F C I 3 AI 2 1
49
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 349 E H R-Baum 34 12 A B DG J F C I 3 4 AIEH 2 1
50
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 350 E H R-Baum A B DG J F C I 4 34 12 AIEH 5 5 BCD 2 1 3
51
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 351 E H R-Baum A B DG J F C I 34 12 AIEH 6 5 BCD 5 6 JFG 4 2 1 3
52
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 352 E H R-Baum A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5
53
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 353 R-Baum als B-Baum Ein R-Baum ist ein B-Baum mit zusätzlichen Eigenschaften B-Baum (zur Erinnerung) –Ein B-Baum ist (wie der AVL-Baum) ausgeglichen –Besonders gut für Hintergrundspeicher (Festplatte), innere Knoten entsprechen „Kacheln“ des Sekundärspeichers –Alle Informationen stehen in den Blättern –Alle Blätter haben das gleiche Niveau –Alle inneren Knoten außer der Wurzel sind mindestens zur Hälfte gefüllt –Teilung beim Überlauf eines inneren Knoten –Verteilung auf Nachbarn beim Unterlauf
54
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 354 Der R-Baum als solcher Ein Blattknoten ist ein Paar (R,O), R ist das kleinste Rechteck, welches das Objekt O umschließt Jeder innere Knoten hat n Paare (R,P) –P zeigt auf einen Teilbaum –R ist das kleinste umschließende Rechteck dieses Teilbaums Beachte Rechtecke können sich überlappen Struktur des R-Baums hängt von Reihenfolge des Einfügens ab Jedes Paar (R,O) kommt genau einmal vor R kann mehrere umschließenden Rechtecke schneiden
55
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 355 Einfügen in einen R-Baum Ausgangspunkt: Einfügen eines neuen Knotens in einen B-Baum Problem hier: an welche Stelle wird (R,O) eingefügt? –Durchlaufe den R-Baum mit der Wurzel als Ausgangspunkt –Wähle an jedem inneren Knoten den Teilbaum, der durch Einfügen von R minimal vergrößert würde –Füge (R,O) schließlich als Blatt ein –Beim Überlauf verfahre wie beim B-Baum Besonderheit gegenüber B-Baum: –Es gibt keine lineare Ordnung zwischen den Einträgen der Knoten –Verschiedene Stragegien zum Spalten eines Knotens
56
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 356 Strategien zum Spalten eines Knotens Minimierung der Gesamtfläche Minimierung des Durchschnitts
57
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 357 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5 In welchem R liegt Q?
58
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 358 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5
59
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 359 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5
60
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 360 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5
61
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 361 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5
62
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 362 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5
63
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 363 Nachteil des R-Baums Um das richtige Blatt zu finden, sind meist mehrere Durchläufe erforderlich Dies gilt insbesondere dann, wenn die Suche erfolglos ist Abhilfe: R + -Baum
64
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 364 Alternative: Der R + -Baum Alle inneren Rechtecke sind disjunkt Ein Objekt / umschließendes Rechteck kann in mehreren Blättern vorkommen Jedes Blatt repräsentiert den Teil von (R,O), der von dem Vaterknoten umschlossen wird
65
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 365 R + -Baum EH A B D G JF C I 1 2 3 4 5 6 7 8 9 231 45 AEDEH 67 BDIBCD 89 EGFJ
66
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 366 R + -Baum 1 2 EH A B D G JF C I 1 2
67
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 367 R + -Baum 21 3 EH A B D G JF C I 1 2 3
68
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 368 R + -Baum 231 4 AE EH A B D G JF C I 1 2 4 3
69
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 369 R + -Baum 2314 5 AEDEH EH A B D G JF C I 1 2 4 5 3
70
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 370 R + -Baum 6 231 45 AEDEH EH A B D G JF C I 1 2 4 5 6 BDI 3
71
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 371 R + -Baum 7 6231 45 AEDEH EH A B D G JF C I 1 2 4 5 6 BDI 7 BCD 3
72
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 372 R + -Baum 8 EH A B D G JF C I 1 2 3 4 5 6 7 231 45 AEDEH 67 BDIBCD 8 EG
73
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 373 R + -Baum 9 EH A B D G JF C I 1 2 3 4 5 6 7 231 45 AEDEH 67 BDIBCD 8 8 EG 9 FJ
74
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 374 R + -Baum EH A B D G JF C I 1 2 3 4 5 6 7 8 9 231 45 AEDEH 67 BDIBCD 89 EGFJ
75
Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 375 Suche im R + -Baum EH A B D G JF C I 1 2 3 4 5 6 7 8 9 231 45 AEDEH 67 BDIBCD 89 EGFJ
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.