Kap. 12 R-Bäume GB B31 B245 Box 1: Box 2: Box 3: Box 4: Box 5:

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Definition Überlappung und Überdeckung
Der R-Baum Richard Göbel.
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Kap. 13 Sweep-Line Algorithmen Kap Schnittprobleme
Der k-d-Baum Richard Göbel.
Das LCA – Problem in Suffixbäumen
Kapitel 6: Klassifizierung von Sortiertechniken
7. Natürliche Binärbäume
Gewichtsbalancierte Suchbäume
3. Kapitel: Komplexität und Komplexitätsklassen
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Der R-Baum Richard Göbel.
Suche in Texten: Suffix-Bäume
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmen und Datenstrukturen
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Seminar parallele Programmierung SS 2003
R-tree, R*-tree und R+-tree
Kap. 6.2 Binäre B-Bäume Ullmann: (2, 3) - Bäume
Minimum Spanning Tree: MST
FH-Hof Analyse des R-Baums - Teil 1 Richard Göbel.
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
2. Die rekursive Datenstruktur Baum 2
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
Analyse der Laufzeit von Algorithmen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Binärer Baum, Binärer Suchbaum I
Der A*-Algorithmus.
Gliederung der Vorlesung
Binärbäume.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Klasse 7 Planung einer Unterrichtsstunde – mit DGS Carina Rosenhauer Seminar zum fachdidaktischen Blockpraktikum SS 2011.
Vs Verteilte Hash-Tabellen (distributed hastables, DHT) am Beispiel von Chord (Stoica et al. 2001) Ziel:"Gutes" Verteilen von Informationen auf.
Suchen und Sortieren.
Anforderungen an die neue Datenstruktur
Seminar im Fach Geoinformation IV
Lösung der Aufgabe 1: Die Erweiterung des Diagramms auf „Winged Egde“ besteht in zwei Beziehungen, nr-Kante und vl-Kante, zwischen der Klasse Kante. Jede.
WS 2001/2002 Mehrbenutzerzugriff auf GIS-Daten
Diskrete Mathematik II
Das Problem des Handlungsreisenden
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Laufzeitverhalten beim Sortieren
Algorithmen für Geographische Informationssysteme
Stelle anschließend für alle Folien folgende Attribute ein:
Wiederholung TexPoint fonts used in EMF.
Übungen Übungsanmeldung Übungskorrektur
Wiederholung Breitensuche BFS mit Startknoten s Tiefensuche
Zusammenfassung Königsberger Brückenproblem Planare Graphen
3 Gesamtbeschreibung empirischer Verteilungen.
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
CompuTreff: Wallisellen
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
DB2 – SS 2019 von Baum allgemein bis B*-Baum
Algorithmen und Datenstrukturen
DB2 – SS 2019 von Baum allgemein bis B*-Baum
Symbolischen Darstellung ↓ Stellenwerttafel Zahl
 Präsentation transkript:

Kap. 12 R-Bäume GB B31 B245 Box 1: Box 2: Box 3: Box 4: Box 5: D K Au H An F B1 S 1 2 B3 B2 3 B2 Z GB B31 B245 Box 1: Box 2: Box 3: Box 4: Box 5: D K V3 F S V1 V2 An B2 H Au B3 B1 Z

Problem: Dynamische Datenstrukturen für Raum-Daten (spatia/data). Speicherung u. Manipulation: Einfügen, Suchen, Löschen Anwendungen: CAD, Geo-Datenbanken, Medizin, Gen-Technik, ..., Umweltschutz Anfrage-Arten: Proximity Queries, z.B. alle Objekte, die (ganz oder teilweise) in geg. Raumausschnitt liegen. Nearest Neighbor A. Guttman: A dynamic Index Structure for Spatial Searching. Proc. ACM SIGMOD Intl. Conference on Management of Data, 1984, 47-57

Grundidee: Bounding Boxes für geometrische Figuren Bounding Boxes um Boxes, mindestens m, höchstens M 3. Höhenbalanzierung durchSpaltung u. Wachstum wie bei B-Bäumen. In Blättern Verweise auf Boxes, die Datenobjekte mit Detail-Info enthalten.

Objekt-Darstellung: n-dimensionales Rechteck J = ( I0, I1, ..., In-1 ) mit Intervall Ii für i-te Dimension Ii = [a,b] plus Verweis auf Box. auf Blatt : ( J, Box-Verweis ) wobei 1 Objekt in Box ist, interner Knoten: ( J, Kind-Verweis) wobei Kind eine Box voller Boxes ist mit m bis M Boxes. Jeweils kleinste Box, die die inneren Boxes umfaßt ("bounding box")

Definition R-Tree: hat folgende Eigenschaften: (1) Jedes Blatt hat m bis M Einträge (es sei denn Blatt = Wurzel) (2) Für jeden Index-Eintrag (J, tup-id) in einem Blatt ist J das kleinsteRechteck, welches das Objekt mit Identifikation tup-id umfaßt. (3) Jeder innere Knoten (bis auf Wurzel) hat zwischen m und M Kinder, d.h. (J1,k1), (J2,k2), ..., (Jl,kl) mit m  l  M (4) Für jeden Eintrag (J, Kind-Verweis) eines inneren Knotens ist J das kleinste Rechteck, das die Rechtecke des Kindknotens umfaßt (Anpassung durch Dehnung/Schrumpfung bei Einfügung/Löschung (5) Wurzel hat mindestens 2 Kinder, außer sie ist Blatt (6) Alle Blätter sind auf der gleichen Baumebene.

Höhe: für N Objekte :  logm N Speicher-Nutzung : mindestens M ---- (bis auf Wurzel) Baum-Algorithmen: Suchen: alle Objekte in einem Suchbereich S, z.B. Rechteck, Kreis,... verfolge alle Pfade mit Eigenschaft J  S   Einfügen: wie bei B-Bäumen. Bei Suche nach Einfüge-Stelle verfolge Pfad, der die kleinsten Intervall-Anpassungen erfordert. Box-Auswahl beim Einfügen: {einzufügendes Objekt VB mit box OB paßt in VB} … mit m  n  M SB1 SB2 SBn

Fall 1 : OB paßt in genau 1 SBi Fall 2 : OB paßt in mehrere SBj Auswahlstrategie, abhängig von Box-Größe und Füllgrad: - kleine Box : später präzisere Suche - "leere" Box : weniger Gefahr für Split Fall 3 : OB paßt in keine SB: ein SBk muß vergrößert werden, um OB aufzunehmen. Auswahlstrategien für SBk z.B.: - minimale Vergrößerung - minimale Überlappung mit anderen SBj Ziel: beim Suchen möglichst wenig Parallelpfade zu verfolgen!

Split-Problem: Beispiel: SB1 SB4 z.B.verursacht durch Blatt-Split SB2 SB3 VBalt : 4 Einträge, M=3 Problem: Box-Inhalt von VBalt in 2 Mengen aufteilen, mit Boxen umgeben schlecht! VB1 VB2 besser? Wichtig: Eine Box wird immer nur in eine Vaterbox gesteckt, auch wenn sie in mehrere paßt.

Ziel: minimiere bei Split VB1 + VB2 Optimale Lösung: generiere alle Split-Möglichkeiten (2M) und wähle beste aus. Exponentieller Algorithmus Quadratischer Alg: 1. Wähle 2 Boxen aus, die nicht in 1 Gruppe kommen sollten, 1 4 z.B. 1 und 3 2 3 oder 2 und 4 2. Stecke ausgewählte 2 in verschiedene Gruppen (Boxes) : VB1, VB2 3. Noch zu verteilen: SB1, SB2,..., SBk di  Vergrößerung von VB1, um Sbi aufzunehmen 1 di  Vergrößerung von VB2, um Sbi aufzunehmen 2 j  indimax |di – di 1 2 |

SBj hat maximale "Affinität" zu einer VB, stecke SBj in VB1 wenn dj < dj 1 2 in VB2 sonst Hinw : Bei jedem Split werden genau M+1 Boxen verteilt, i.e. O(M2) Linearer Alg: Wähle 2 SBi, SBj für verschiedene Vaterboxen VB1, VB2 verteile restliche SBk in beliebiger Reihenfolge mit Kriterium dk, dk. 1 2 Frage: Gute Heuristiken mit linearer Laufzeit für Split und anschließende Verteilung? Heuristiken mit O(M log M) ? Hinw: Splits sind selten, O(M2) doch tolerierbar? Performance Messungen: angeblich keine gravierenden Unterschiede

- Vaterboxen "schrumpfen" Löschalgorithmus: - Vaterboxen "schrumpfen" - merge bei Blättern : im Prinzip wie bei B-Bäumen: Autoren empfehlen Löschung und Neueinführung (reinsertion) - merge von inneren Knoten: Ji • Jk • Jj, Jk durch Jj´ ersetzen, d.h. neueBounding Box bestimmen - Über- oder Unterlauf: BM1 u. BM2 neu auf VB1, VB2 GB verteilen VB2 VB1 … … 2. VB1, VB2 eng anpassen d.h. GB Boxmenge 1 Boxmenge 2 fortschreiben BM1 BM2 Randbedingung: VB1, VB2 haben je  m Söhne