Upload
aegid-westerhoff
View
130
Download
0
Embed Size (px)
Citation preview
1 2 3 4 5 6 8 9 10 13 14 15 16 17 18 19 2011Geoinformation III
Nachteil des R-Baums
Diskrete Mathematik
(R/R+-Baum)
R R
R
R
R
R
R
R
R
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
Übersicht über das Semester
Die Vorlesung besteht aus 3 Blöcken• räumliche Datenbanken
– Zugriffsstrukturen zur Unterstützung der Suche R/R+ - Baum Quadtree
• Softwaretechnologie (Dr. Gröger)– (fortgeschrittene) Klassendiagramme– Dynamische UML-Diagramme– Software-Demo: CASE-Tool „Together“– Korrektheit von Programme – Testen– Normen und Standards in GIS
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
Übersicht über das Semester
Die Vorlesung besteht aus 3 Blöcken• Internet: Protokolle, Dienste und Formate (Dr. Kolbe)
– Offene Systeme, Rechnernetze und Internet– eXtensible Markup Language (XML)– XML Dokumenttyp-Definition, UML -> XML, Namespaces– XML-Schema– Geography Markup Language (GML 2)
Form: Vorlesung mit Übungsanteilen
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
• Einordnung• MBR – minimum bounding
rectangle• Idee des R-Baums• Neues laufendes Beispiel• R-Baum als B-Baum• Exkurs: B-Baum
• Eigenschaften• Einfügen in einen B-Baum• Löschen in einem B-Baum
• Der R-Baum als solcher• Einfügen in einen R-Baum• Strategien zum Spalten eines
Knotens
1
Übersicht
• Suchen in einem R-Baum• Nachteil des R-Baums• Alternative: Der R+-Baum• R+-Baum• Suche im R+-Baum
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R-Baum Einordnung
• Bisher:– Zerlegung des Objekts (->Trapezkarte)– Konstruktion einer Zugriffstruktur für das Objekt (->Trapezkarte)
• Alternatives Vorgehen:- Approximation der Maschen durch umschließende achsenparallele
Rechtecke: Minimal Bounding Rectangle (MBR)– Verwaltung der Rechtecke
• R-Baum• R+-Baum
2
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R-Baum MBR – minimum bounding rectangle
A 4x
yAußen
x
3
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R-Baum Idee
• In welcher Masche M liegt der Punkt P?• Neue Frage: In welcher Bounding Box einer Masche M liegt der Punkt
P?
• Verwende effizientes Verfahren, um alle Rechtecke R1, ... Rn zu finden, die P enthalten
– Jedem Rechteck Ri entspricht eine Masche Mi
• Prüfe, ob P in einer der Maschen M1, ... Mn vorkommt
• Verwende dazu das Standardverfahren• Problem: Zugriffsstruktur für Rechtecke• Rechtecke sind einfacher zu handhaben als Maschen im allgemeinen
Nur die Rechtecke interessieren uns hier, nicht die zugrundeliegenden Maschen
4
A 1x
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R-Baum Beispiel
01
02
03
07
04
09
06
05
10
08
R11
R13
R12R14
R15R16
15 16
11 12
01 02 03 04 06 09 05 07
13 14
08 10
4 4
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R-Baum R-Baum als B-Baum
• Ein R-Baum ist ein B-Baum mit zusätzlichen Eigenschaften• Was ist denn ein B-Baum?
– Ein B-Baum ist (wie der AVL-Baum) ausgeglichen– Aber: Jeder Knoten enthält mehr als einen Schlüssel
B-Bäume werden oft in kommerziellen Datenbanken für den schnellen Zugriff auf Festplattenspeicher genutzt. Die inneren Knoten entsprechen dann den kleinsten ansprechbaren Einheiten („Kacheln“ von 1 Kbyte oder mehr) der Festplatte.
5
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Exkurs
B B
B
B
B
B
B
B
B
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Beispiel der Ordnung 2
52 62 78 90
49
55 59 63 66 71 75 80 82 86 91 9550 5138 41
16 31
13 14 15 20 29 30
6
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Allgemeines
Der B-Baum wurde nach seinem Entwickler R. Bayer benannt.
Die Suche eines Elementes in einem B-Baum unterscheidetsich nur wenig von der Suche in anderen Such-Bäumen.
Das Einfügen und Entfernen von Elementen ist jedoch anvielen Stellen anders als in Binär-Such-Bäumen.
7
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Eigenschaften I
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 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
8
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Eigenschaften II
Eigenschaften eines B-Baumes der Ordnung n:– Die m Elemente eines Knotens werden in aufsteigender Reihenfolge
gespeichert: x1 < x2 < ... < xm
– Für jeden i-ten Teilbaum Si eines Knotens gilt:Die Elemente seiner Knoten sind größer als xi und kleiner als xi+1 (ganz links und ganz rechts analog)
– Bei einigen Varianten des B-Baums stehen alle Informationen in den Blättern
8
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
49
B-Baum Einfügen
52 62 52 62 78 90
55 59 63 66 71 75 80 82 86 91 9550 51
A 31x
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
49 Einfügen eines Elements mit dem Wert 61
61
61 > 49 rechter Ast
52 62 78 90
55 59 63 66 71 75 80 82 86 91 9550 51
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
49 Einfügen eines Elements mit dem Wert 61
61
52 < 61 < 62 2. Ast von links
61 > 49 rechter Ast
52 62 78 90
55 59 63 66 71 75 80 82 86 91 9550 51
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
59 < 61 Einfügen
49 Einfügen eines Elements mit dem Wert 61
61
52 < 61 < 62 2. Ast von links
61 > 49 rechter Ast
52 62 78 90
55 59 63 66 71 75 80 82 86 91 9550 51
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
49 Einfügen eines Elements mit dem Wert 61
59 < 61 Einfügen
52 < 61 < 62 2. Ast von links
61 > 49 rechter Ast
52 62 78 90
6155 59 63 66 71 75 80 82 86 91 9550 51
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
49 Einfügen eines Elements mit dem Wert 61
59 < 61 Einfügen
52 < 61 < 62 2. Ast von links
61 > 49 rechter Ast
52 62 78 90
6155 59 63 66 71 75 80 82 86 91 9550 51
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
49 Einfügen eines Elements mit dem Wert 64
64
64 > 49 rechter Ast
52 62 78 90
6155 59 63 66 71 75 80 82 86 91 9550 51
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
49 Einfügen eines Elements mit dem Wert 64
64
62 < 64 < 78 3. Ast von links
64 > 49 rechter Ast
52 62 78 90
6155 59 63 66 71 75 80 82 86 91 9550 51
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
49
64
63 < 64 < 66 Einfügen
62 < 64 < 78 3. Ast von links
64 > 49 rechter Ast
Einfügen eines Elements mit dem Wert 64
52 62 78 90
6155 59 63 66 71 75 80 82 86 91 9550 51
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
49 Einfügen eines Elements mit dem Wert 64
63 < 64 < 66 Einfügen
62 < 64 < 78 3. Ast von links
64 > 49 rechter Ast
52 62 78 90
6463 66 71 75 80 82 86 91 9550 51 6155 59
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
49 Einfügen eines Elements mit dem Wert 64
63 < 64 < 66 Einfügen
62 < 64 < 78 3. Ast von links
64 > 49 rechter Ast
52 62 78 90
6463 66 71 75 80 82 86 91 9550 51 6155 59
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
49 Einfügen eines Elements mit dem Wert 64
52 62 78 90
6463 66 71 75 80 82 86 91 9550 51 6155 59
Problem: SpeicherüberlaufLösung: Knoten sprengen
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
49 Einfügen eines Elements mit dem Wert 64
Setze das mittlereElement um eine Position nach oben
Bilde zwei neue
Zweige
52 62 78 90
6463 66 71 75 80 82 86 91 9550 51 6155 59
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
52 62 78 90
49
66
Einfügen eines Elements mit dem Wert 64
6463 71 75 80 82 86 91 9550 51 6155 59
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
52 62 78 90
49
66
Einfügen eines Elements mit dem Wert 64
6463 71 75 80 82 86 91 9550 51 6155 59
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
52 62 78 90
49
66
Einfügen eines Elements mit dem Wert 64
Lösung: Knoten sprengen
Problem: Speicherüberlauf
6463 71 75 80 82 86 91 9550 51 6155 59
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
52 62 78 90
49
66
Einfügen eines Elements mit dem Wert 64
Setze das mittlereElement um eine Position nach oben
Bilde zwei neue
Zweige
6463 71 75 80 82 86 91 9550 51 6155 59
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Einfügen
A 31x
52 62 78 90
49 66 Einfügen eines Elements mit dem Wert 64
6463 71 75 80 82 86 91 9550 51 6155 59
9
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
• Suche des Knotens, der das zu löschende Element enthält• Falls Knoten gefunden, unterscheiden wir folgende Fälle:
1. Löschen in einem Blatt: Entfernen des Elementsa) die Anzahl der Elemente des Blattes ist weiterhin >= nb) die Anzahl der Elemente des Blattes ist < n „Unterlauf“ bereinigen
2. Löschen in einem inneren Knoten: Eintrag durch das nächstgrößere oder nächstkleinere Element im Baum ersetzen (rechtester Eintrag im linken Unterbaum oder linkester im rechten (vgl. AVL-Bäume).
a) die Anzahl der Elemente des Blattes ist weiterhin >= n b) die Anzahl der Elemente des Blattes ist < n „Unterlauf“ bereinigen
B-Baum Löschen
10
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Löschen in einem Blatt
A 17x
52 62 78 90
14 49 66
71 75
Löschen des Elements mit dem Wert 75
Element suchen
Element gefunden: Löschen
646354 55 5949 50 51 80 82 86 91 95 97
10
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Löschen in einem Blatt
A 17x
52 62 78 90
14 49 66
71
Löschen des Elements mit dem Wert 75
Speicherunterlauf
Über Vater- und Nachbar-knoten (nächstgrößeresElement) ausgleichen
646354 55 5949 50 51 80 82 86 91 95 97
10
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Löschen in einem Blatt
A 17x
52 62 78 90
14 49 66
71
Löschen des Elements mit dem Wert 75
646354 55 5949 50 51 80 82 86 91 95 97
10
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Löschen in einem Blatt
A 17x
52 62 80 90
14 49 66
71 78
Löschen des Elements mit dem Wert 75
646354 55 5949 50 51 82 86 91 95 97
10
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Löschen in einem inneren Knoten
A 17x
52 62 80 90
14 49 66
71 78
Löschen des Elements mit dem Wert 90
646354 55 5949 50 51 82 86 91 95 97
10
Element suchen
Element gefunden: Löschen
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Löschen in einem inneren Knoten
A 17x
52 62 80
14 49 66
71 78
Löschen des Elements mit dem Wert 90
646354 55 5949 50 51 82 86 91 95 97
10
Speicherunterlauf
Ersetzen durch nächst-größeres Element
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
B-Baum Löschen in einem inneren Knoten
A 17x
52 62 80 91
14 49 66
71 78
Löschen des Elements mit dem Wert 90
646354 55 5949 50 51 82 86 95 97
10
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
Zurück zum R-Baum
R R
R
R
R
R
R
R
R
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R-Baum ...als solcher
• Ein Blattknoten ist ein Paar (R,O), R ist das kleinste umschließende Rechteck, welches das Objekt O umschließt
• Jeder innere Knoten hat m Paare (R,T), R ist das kleinste umschließende Rechteck des Teilbaums T
• Ordnung beim R-Baum: (m, M) - Jeder Knoten außer der Wurzel enthält zwischen m M/2 und M Einträgen
• Die Wurzel hat mindestens zwei Einträge sofern sie kein Blattknoten istBeachte:• 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
11
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R-Baum ...als solcher
11
01
02
03
07
04
09
06
05
10
08
R11
R13
R12R14
R15R16
15 16
11 12
01 02 03 04 06 09 05 07
13 14
08 10
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R-Baum Einfügen
• Ausgangspunkt: Einfügen eines neuen Knotens in einen R-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 Strategien zum Spalten eines Knotens
12
Animiertes Beispiel der Ordnung (2,3)
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R-Baum Strategien zum Spalten eines Knotens
Minimierung des DurchschnittsMinimierung der Gesamtfläche
13
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R-Baum Punktsuche
Welche (R,O) enthalten den Punkt P?• Beginne an der Wurzel• innere Knoten: Durchsuche jeden Sohnknoten der Paare (R,T), die P
enthalten• Blattknoten: Suche alle (R,O), die P enthalten• Fertig!
• Achtung: Ggf. muss in mehreren Teilbäumen gesucht werden!
14
Animiertes Beispiel
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R-Baum Bereichssuche
Welche (R,O) schneiden das Rechteck Q?• Beginne an der Wurzel• innere Knoten: Durchsuche jeden Sohnknoten der Paare (R,T), die Q
schneiden• Blattknoten: Suche alle (R,O), die Q schneiden• Fertig!
15
Animiertes Beispiel
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
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
16
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
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
17
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R+-Baum Aufbau
E H
A
B
D
G
J F
CI
12
3
4
5
6
7
8
9
2 31
4 5
A E D E H
6 7
B D I B C D
8 9
E G F J
A 34x
18
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R+-Baum Aufbau
A 34x
1 2
E H
A
B
D
G
J F
CI
12
18
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R+-Baum Aufbau
A 34x
1 2
E H
A
B
D
G
J F
CI
12
33
4
A E
4
33
18
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R+-Baum Aufbau
A 34x
1 2
E H
A
B
D
G
J F
CI
12
33
4
A E
4
5
D E H
5
18
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R+-Baum Aufbau
A 34x
1 2
E H
A
B
D
G
J F
CI
12
33
4
A E
4
5
D E H
5
6
6
B D I
18
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R+-Baum Aufbau
A 34x
1 2
E H
A
B
D
G
J F
CI
12
33
4
A E
4
5
D E H
5
6
6
B D I
7
7
B C D
18
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R+-Baum Aufbau
A 34x
1 2
E H
A
B
D
G
J F
CI
12
33
4
A E
4
5
D E H
5
6
6
B D I
7
7
B C D
88
E G
18
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R+-Baum Aufbau
A 34x
1 2
E H
A
B
D
G
J F
CI
12
33
4
A E
4
5
D E H
5
6
6
B D I
7
7
B C D
88
E G
9
9
F J
18
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R+-Baum Aufbau
A 34x
1 2
E H
A
B
D
G
J F
CI
12
33
4
A E
4
5
D E H
5
6
6
B D I
7
7
B C D
88
E G
9
9
F J
18
1 2 3 4 5 7 8 9 11 12 13 14 15 16 17 1810Geoinformation III
6
Nachteil des R-Baums
R+-Baum Suche
A 6x
E H
A
B
D
G
J F
CI
12
3
4
5
6
7
8
9
2 31
4 5
A E D E H
6 7
B D I B C D
8 9
E G F J
18