Welche Anfragearten für die Suche in Bäumen gibt es?
- Nächste-Nachbar oder K-Nächste-Nachbar-Suche
- Approximative Nächste-Nachbar-Suche
- Reverse Nächste-Nachbar-Suche (Wer hat den Anfragepunkt als nächsten Nachbarn). Ergebnis oft anders als NN da Nachbar-Relation nicht symmetrisch.
- Bereichssuche
- Partial-Match-Suche (Übereinstimmung in einigen Dimensionen)
- Ähnichkeitsverbund
Tags: baum, eigenschaften, mehrdimensional
Quelle: MMDB 2009
Quelle: MMDB 2009
Wie funktioniert der HS-Algorithmus?
Der HS-Algorithmus verwendet statt einer Tiefensuche eine global sortierte Warteschlange mit Knoten, Blätter und Feature-Objekten mit minimaler Distanz lb zum Anfragepunkt:
1. Mit Wurzel initialisieren
2. Wenn entnommenes Kopfelement Knoten, dann werden Kinder eingefügt.
2. Wenn entnommenes Kopfelement Blatt, dann werden Feature-Objekte eingefügt.
2. Wenn entnommenes Kopfelement Feature-Objekt, dann fertig
Gut für getNext-Anfragen geeignet, aber viel Speicher nötig und keine Tiefen/Breitensuche und daher kein sequentieller Festplattenzugriff
Aufwand, um alle FOs auszugeben ist O(n * log(n))
1. Mit Wurzel initialisieren
2. Wenn entnommenes Kopfelement Knoten, dann werden Kinder eingefügt.
2. Wenn entnommenes Kopfelement Blatt, dann werden Feature-Objekte eingefügt.
2. Wenn entnommenes Kopfelement Feature-Objekt, dann fertig
Gut für getNext-Anfragen geeignet, aber viel Speicher nötig und keine Tiefen/Breitensuche und daher kein sequentieller Festplattenzugriff
Aufwand, um alle FOs auszugeben ist O(n * log(n))
Tags: hs, indexstruktur, mehrdimensional
Quelle: MMDB 2009 Kapitel 7
Quelle: MMDB 2009 Kapitel 7
Welche Eigenschaften hat der R-Baum?
Ist eine Erweiterung des B-Baums um mehrere Dimensionen. FOs können beliebige räumliche Ausdehnung haben.
Cluster-Bildung: lokal gruppierend.
Cluster-Überlappung: Können überlappen, führt zu weniger effizienter Suche
Balance: Ist balanciert durch Split-Algorithmus beim Seitenüberlauf und Seitenzusammenfassung beim Unterlauf.
Objektspeicherung: Nur in den Blättern.
Geometrie: MBR
Anzahl der Kindknoten: An Seitengröße angepasst.
Cluster-Bildung: lokal gruppierend.
Cluster-Überlappung: Können überlappen, führt zu weniger effizienter Suche
Balance: Ist balanciert durch Split-Algorithmus beim Seitenüberlauf und Seitenzusammenfassung beim Unterlauf.
Objektspeicherung: Nur in den Blättern.
Geometrie: MBR
Anzahl der Kindknoten: An Seitengröße angepasst.
Tags: baum, mehrdimensional, r-baum
Quelle: MMDB 2009 Kapitel 7
Quelle: MMDB 2009 Kapitel 7
Wie kann man mit dem R-Baum arbeiten?
Einfügen:
Suche geht über BaB, HS- und RKV-Algorithmen. Bei Bereichsanfragen muss man in jeden Unterbaum navigieren, dessen MBR den Suchbereich schneidet. Ab Dimension 10 ist NN-Suche nicht mehr effizient. Ausserdem bei hohen Dimensionen stärkere Überlappung -> hoher Suchaufwand
- Von der Wurzel ausgehend den Kindknoten suchen, dessen Volumen nur minimal erweitert werden müsste.
- Ist dies nicht eindeutig, den Kindknoten wählen, dessen Volumen das kleinste ist.
- Objekt einfügen und Vaterknoten anpassen.
- Wenn ein Knoten überläuft, MBR in zwei kleinere MBR mit minimaler Volumensumme zerlegen. Es gibt verschiedene Algorithmen, üblicherweise nimmt man den linearen.
Suche geht über BaB, HS- und RKV-Algorithmen. Bei Bereichsanfragen muss man in jeden Unterbaum navigieren, dessen MBR den Suchbereich schneidet. Ab Dimension 10 ist NN-Suche nicht mehr effizient. Ausserdem bei hohen Dimensionen stärkere Überlappung -> hoher Suchaufwand
Tags: baum, mehrdimensional, r-baum
Quelle: MMDB 2009 Kapitel 7
Quelle: MMDB 2009 Kapitel 7
Was ist der R+-Baum?
Der R+-Baum ist ein R-Baum ohne Überlappung und erfordert daher einen neuen Einfügealgorithmus. Ein Einfügen kann die Anpassung mehrerer Blätter erfordern. Wenn kein umfassender MBR gefunden werden kann, müssen Einträge mehrfach vorkommen. Ist trotzdem effizienter als R-Baum aber in hohen Dimensionen immer noch ineffizient.
Tags: baum, mehrdimensional, r-baum
Quelle:
Quelle:
Was ist der X-Baum?
Der X-Baum ist ein hybrider Baum, der mit hohen Dimensionen umgehen können soll. Die Idee ist, dass bei starker Überlappung ein sequentieller Durchlauf schneller ist als ein Baum. Dann werden Superknoten eingefügt, die beliebig viele DB-Seiten umfassen können und sequentiell durchsucht werden.
Tags: baum, mehrdimensional, x-baum
Quelle: MMDB 2009 Kapitel 7
Quelle: MMDB 2009 Kapitel 7
Was passiert beim X-Baum beim Knotenüberlauf?
Jeder MBR verwaltet eine Split-Historie, die alle bereits verwendeten Zerlegungsdimensionen speichert.
Beim Überlauf wird nun
1. zuerst eine herkömmliche topologische Zerlegung gemacht.
2. wird ein vordefinierter Überlappungsgrad überschritten, so wird unter Ausnutzung der Split-Historie eine Zerlegungsdimension ausgesucht.
3. wird dadurch die Balance-Bedingung verletzt (Mindestfüllgrad), wird ein Superknoten erzeugt.
Ab etwa 15 Dimensionen wird der X-Baum zu einem einzigen Superknoten.
Beim Überlauf wird nun
1. zuerst eine herkömmliche topologische Zerlegung gemacht.
2. wird ein vordefinierter Überlappungsgrad überschritten, so wird unter Ausnutzung der Split-Historie eine Zerlegungsdimension ausgesucht.
3. wird dadurch die Balance-Bedingung verletzt (Mindestfüllgrad), wird ein Superknoten erzeugt.
Ab etwa 15 Dimensionen wird der X-Baum zu einem einzigen Superknoten.
Tags: baum, mehrdimensional, x-baum
Quelle: MMDB 2009 Kapitel 7
Quelle: MMDB 2009 Kapitel 7
Was zeichnet den M-Baum aus?
Andere Bäume gehen davon aus, dass die FOs Elemente des euklidischen Raums sind. Nicht so der M-Baum. Die Distanzfunktion muss auch nur die Dreiecksungleichung erfüllen.
Cluster-Bildung: lokal gruppierend
Cluster-Überlappung: Erlaubt, wie beim R-Baum.
Balance: Balanciert wie R-Baum.
Objektspeicherung: Nur in Blättern.
Geometrie: Kugeln, also Punkte samt Radius.
Jeder innere Knoten hat folgende Struktur:
Blätter haben stattdessen ein FO, einen Zeiger auf das Medienobjekt und die Distanz vom FO zum o des Vater-Knotens.
Cluster-Bildung: lokal gruppierend
Cluster-Überlappung: Erlaubt, wie beim R-Baum.
Balance: Balanciert wie R-Baum.
Objektspeicherung: Nur in Blättern.
Geometrie: Kugeln, also Punkte samt Radius.
Jeder innere Knoten hat folgende Struktur:
- Zeiger zum Kindknoten
- Routing object o: FO, das Kugelzentrum ist
- Radius r. Maximal erlaubter Radius von o zu allen FOs im Teilbaum
- Distanz von o zum Routing Object des Vaterknotens.
Blätter haben stattdessen ein FO, einen Zeiger auf das Medienobjekt und die Distanz vom FO zum o des Vater-Knotens.
Tags: baum, m-baum, mehrdimensional
Quelle: MMDB 2009 Kapitel 7
Quelle: MMDB 2009 Kapitel 7
Wie arbeitet man mit dem M-Baum?
Bei der Suche sind RKV und HS möglich. Die minimale Distanz (d(Op, Q)-d(O, Op)) gibt es in angenäherter Form als schnellen Filter. Cluster können mit der minimalen Distanz (d(o, Q) - r) und der Hilfe der Dreiecksungleichung ausgeschlossen werden.
Beim Einfügen analog zum R-Baum: Geeignetes Blatt ist das, dessen Radius nicht vergrößert werden muss (bei Gleichstand das mit dem nächstgelegenen Routing Object nehmen). Ansonsten das mit der minimalen Vergrößerung nehmen. Falls Radius verändert wurde, müssen die Radien auf dem Pfad bis zur Wurzel verändert werden.
Beim Überlauf muss ein Cluster in zwei neue Cluster mit eigenen Routing Objects zerlegt werden. Das Ziel ist, Volumen und Überlappung zu minimieren. Danach werden die FOs abwechselnd zugeordnet, um gleichgroße Cluster zu entwickeln.
Beim Einfügen analog zum R-Baum: Geeignetes Blatt ist das, dessen Radius nicht vergrößert werden muss (bei Gleichstand das mit dem nächstgelegenen Routing Object nehmen). Ansonsten das mit der minimalen Vergrößerung nehmen. Falls Radius verändert wurde, müssen die Radien auf dem Pfad bis zur Wurzel verändert werden.
Beim Überlauf muss ein Cluster in zwei neue Cluster mit eigenen Routing Objects zerlegt werden. Das Ziel ist, Volumen und Überlappung zu minimieren. Danach werden die FOs abwechselnd zugeordnet, um gleichgroße Cluster zu entwickeln.
Tags: baum, m-baum, mehrdimensional
Quelle: MMDB 2009 Kapitel 7
Quelle: MMDB 2009 Kapitel 7
Was ist das Problem bei hohen Dimensionen? Was kann man tun?
Ab 20 Dimensionen versagt NN-Suche in Indexbäumen, es werden keine Teilbäume mehr ausgeschlossen, und ein sequentieller Durchlauf wäre effizienter: Der Fluch der hohen Dimensionen. Der Grund liegt in steigenden Approximationsfehlern und konstantem Abstand zwischen größter und kleinster Distanz. Das gilt auch für Metrik-Bäume wie den M-Baum.
Man kann versuchen:
Komplexe Distanzfunktionen durch einfache Distanzfunktion substituieren, solange diese Objekte korrekt ausschließt.
FastMap etwa bildet eine Metrik (Objekte und Distanzen) approximativ auf k-dimensionale Punkte und euklidische Distanzfunktionen ab.
Man kann versuchen:
Komplexe Distanzfunktionen durch einfache Distanzfunktion substituieren, solange diese Objekte korrekt ausschließt.
FastMap etwa bildet eine Metrik (Objekte und Distanzen) approximativ auf k-dimensionale Punkte und euklidische Distanzfunktionen ab.
Tags: baum, mehrdimensional, probleme
Quelle: MMDB 2009 Kapitel 7
Quelle: MMDB 2009 Kapitel 7
Kartensatzinfo:
Autor: kread
Oberthema: Informatik
Thema: Semantic Web
Schule / Uni: Universität Koblenz-Landau
Ort: Koblenz
Veröffentlicht: 22.10.2010
Schlagwörter Karten:
Alle Karten (35)
baum (9)
eigenschaften (1)
hs (1)
indexstruktur (1)
m-baum (2)
mehrdimensional (10)
modelle (1)
objektrelational (1)
oodbms (1)
probleme (1)
r-baum (3)
x-baum (2)