7 Effiziente Algorithmen und Datenstrukturen

Größe: px
Ab Seite anzeigen:

Download "7 Effiziente Algorithmen und Datenstrukturen"

Transkript

1 7 Effiziente Algorithmen und Datenstrukturen 1. Hochdimensionale Indexstrukturen (a) Anfragearten (b) Baumverfahren (c) Komplexe Distanzfunktionen (d) Fluch der hohen Dimensionen (e) Signaturverfahren (f) Weitere Indexverfahren 1

2 7 Effiziente Algorithmen und Datenstrukturen (2) 2. Algorithmen zur Aggregation von Ähnlichkeitswerten (a) Container Algorithmen (b) Kondensator Algorithmus (c) Indexaggregation 2

3 Einführung Algorithmen und Datenstrukturen für effiziente Ergbnisberechnung bzgl. der Anfrage 3

4 Einführung Erweiterung von Verfahren klassischer DBMSe um Behandlung von Ähnlichkeits bzw. Unähnlichkeitswerten Übergang von Mengensemantik zu Listensemantik hochdimensionale Indexstrukturen zur effizienten Suche im hochdimensionalen Raum Aggregation von Ähnlichkeitswerten: für komplexe Anfragen 4

5 7.1 Hochdimensionale Indexstrukturen Strukturierung der Daten zur Unterstützung einer effizienten Suche klassische Datenstrukturen in DBMS: B Baum und dessen Varianten exakte Suche mit logarithmischem Aufwand aber Einschränkung auf eine Dimension ungeeignet zur Ähnlichkeitssuche im hochdimensionalen Raum 5

6 Anforderungen an hochdimensionale Datenstruktur und Algorithmen Korrektheit und Vollständigkeit skalierbar bzgl. Dimensionsanzahl räumliche Audsehnung der Objekte: 0 Dimensionen: Punkt 1 Dimension: Linie 2 Dimensionen: Fläche n Dimensionen: etwa Hyperwürfel 6

7 Anforderungen an hochdimensionale Datenstruktur und Algorithmen (2) Sucheffizienz, also Anzahl Seitenzugriffe muss besser als bei sequentiellem Durchlauf sein viele Anfragearten (siehe nächste Folie) effiziente Update Operationen verschiedene Distanzfunktionen speicherplatzsparend 7

8 Anfragearten Nächste Nachbarsuche Approximative Nächste Nachbarsuche Reverse Nächste Nachbarsuche Bereichssuche Punktsuche Partial Match Suche Ähnlichkeitsverbund 8

9 Nächste Nachbarsuche Feature Daten eines Anfrageobjekts: Menge von Feature Daten: binäre Distanzfunktion Finden des ähnlichsten Medienobjekts (das nächste Feature Objekt) mehrere nächste Nachbarn möglich: 9

10 Nächste Nachbarsuche graphisch 10

11 Zweidimensionale Voronoi Zellen NN Suche auf punktförmigen Feature Daten ist äquivalent zum Enthaltenseinstest in Voronoi Zelle jedem Feature Objekt ist eigene Voronoi Zelle zugewiesen Voronoi Zelle enthält alle Raumpunkte, die nächste Nachbarn des entsprechenden Feature Objekts sind Idee: Vorausberechnung aller Voronoi Zellen und anschließend Enthaltenseinstest Problem: Berechnungskomplexität für Enthaltenseinstest 11

12 Voronoi Zellen graphisch 12

13 KNN Suche die nächsten Nachbarn werden gesucht bei gleichen Distanzen: nichtdeterministische Auswahl Ergebnisobjekte werden aufsteigend ausgegeben 13

14 KNN Suche (2) ist üblicherweise so klein, dass das Ergebnis in den Hauptspeicher passt Hauptspeichersortierung ansonsten: Ergebnisobjekt sukzessive abholen (getnext Semantik / ranking Anfrage) 14

15 Approximative Nächste Nachbarsuche Effizienzgewinn bzgl. NN Anfragen, wenn kleine Ungenauigkeiten tolerierbar als Maß der Ungenauigkeit mehrere Feature Objekte können Bedingung erfüllen nichtdeterministische Auswahl Vorsicht: Ergebnis muss nicht in Nähe des Ergebnisses liegen 15

16 PAC NN Suche (probably approximative correct) weitere Abschwächung einer ANN Suche Forderung: Wahrscheinlichkeit der Abweichung von Bedingung muss vorgebbaren Mindestwert überschreiten ermögliche effizientere Suche 16

17 Reverse Nächste Nachbarsuche Suche nach Feature Objekten, deren nächster Nachbar der Anfragepunkt ist (etwa Suche nach bestem Ort für neuen Einkaufsmarkt) Achtung: Ergebnis oft anders als bei NN Suche, da Nächste Nachbarrelation nicht symmetrisch ist 17

18 Bereichssuche Anfrage definiert einen Bereich (Region) im hochdimensionalen Raum Ergebnis sind alle Feature Objekte, die Anfragebereich schneiden Varianten begrenzte versus unbegrenzte Bereiche Spezialfall Hyperkugen und Hyperrechteck 18

19 Bereichssuche graphisch Straßenplanung im Katasteramt: 19

20 Punktsuche Suche anhand eines gegebenen Feature Objekts Test auf Enthaltensein (exakte Überdeckung) Punktsuche in MMDB ist relativ selten 20

21 Partial Match Suche Punktsuche kann als Complete Match Suche aufgefasst werden bei Partial Match Suche Übereinstimmung nur in einigen Dimensionen (restliche Dimensionen werden ignoriert) ist Spezialfall der Bereichsanfrage mit teilweise unbegrentzem Bereich 21

22 Partial Match Suche graphisch Suchbereich ist senkrechte Linie (Übereinstimmung in nur einer Dimension) 22

23 Ähnlichkeitsverbund Operation auf zwei Mengen von Feature Objekten Verbund findet Paare, deren Distanz kleiner als vorgegebener Schwellenwert ist Selbstverbund: dieselbe Menge zweimal 23

24 Ähnlichkeitsverbund graphisch 24

25 Baumverfahren Ausgangspunkt: punktförmige hochdimensionale Feature Objekte B Baum eindimensional Abbildung eines mehrdimensionalen Raums auf eine Dimension im Allgemeinen nicht distanzerhaltend möglich Simplex mit n+1 Punkten im n dimensionalen Raum) Fazit: mehrdimensionale Indexverfahren nötig 25

26 Baumverfahren (2) Grundidee hierarchischer Indexierungsverfahren: Beschreiben von Punktmengen durch geometrische, umschreibende Regionen (Cluster) bei der Suche Test und evtl. Ausschluss von Clustern Cluster können sich gegenseitig enthalten Halbordnung und daher Hierarchie (Hasse Diagramm) oder Baum 26

27 Unterscheidungskriterien von Baumstrukturen 27

28 Suchalgorithmen in Bäumen Algorithmen zur Berechnung des nächsten Niveaus Anfragepunkt Existenz zweier Distanzfunktionen Distanz zwischen zwei Punkten minimale Distanz zwischen und potentiellem Clusterpunkt eines Clusters 28

29 Branch und Bound Algorithmus geht von Objektspeicherung in Blättern aus realisiert Tiefensuche verwendet dynamisch angepasste Distanz oberegrenze zu NN Kandidat 29

30 Branch and Bound Algorithmus (2) 30

31 RKV Algorithmus Roussopoulos/Kelly/Vincent 1995 spezieller Branch and Bound Algorithmus zur Nächste Nachbarsuche Feature Objekte als hochdimensionale Objekte für Baum mit lokal gruppierenden Hyperquadern und Feature Objekten in den Blättern Hyperquader als MBR (engl. minimum bounding rectangle) jede Hyperfläche berührt mind. ein Feature Objekt von außen MBR wird durch zwei Punkte (innerste und äußerste Ecke) identifiziert 31

32 MIN Distanz MIN Distanz: minimal mögliche Distanz zwischen Anfragepunkt und MBR mit 32

33 MINMAX Distanz MINMAX Distanz: maximal möglicher Abstand zum nächsten Nachbarn in Ausnutzen der Minimaleigenschaft eines MBR mit: 33

34 MIN und MINMAX Distanzen graphisch 34

35 Reduzierung des Suchaufwands Sortierung der Kindsknoten anhand MIN Distanz (optimistisch) oder MINMAX Distanz (pessimistisch) 35

36 Reduzierung des Suchaufwands (2) 3 Strategien zur Suchaufwandreduzierung (oberegrenze ist Distanz zum NN Kandidaten) 1. MBR braucht nicht aufgesucht zu werden MBR braucht nicht aufgesucht zu werden ISWeb Informationssysteme & Semantic 36

37 Reduzierung des Suchaufwands (2) 3 Strategien zur Suchaufwandreduzierung (oberegrenze ist Distanz zum NN Kandidaten) 1. MBR braucht nicht aufgesucht zu werden MBR braucht nicht aufgesucht zu werden ISWeb Informationssysteme & Semantic 37

38 Reduzierung des Suchaufwands (2) 3 Strategien zur Suchaufwandreduzierung (oberegrenze ist Distanz zum NN Kandidaten) 2. 38

39 Reduzierung des Suchaufwands (2) 3 Strategien zur Suchaufwandreduzierung (oberegrenze ist Distanz zum NN Kandidaten) 3. MBR braucht nicht aufgesucht zu werden 39

40 Reduzierung des Suchaufwands graphisch 40

41 RKV Algorithmus 41

42 knn Anfragen mit RKV Algorithmus Modifikation des Algorithmus: sortierte Warteschlange zur Verwaltung der Nächste Nachbarschaftskandidaten oberegrenze ist Distanz zum letzten Kandidat 42

43 Bewertung RKV Algorithmus getnext Anfragen werden nicht unterstützt (Problem aufgrund der Tiefensuche) ursprünglich für euklidsche Distanz entwickelt; funktioniert auch auf anderen Distanzfunktionen, so lange MIN und MINMAX Distanzen berechnet werden können Einschränkung auf MBRs als Clustergeometrien ansonsten statt MINMAX die MAX Distanz verwenden 43

44 HS Algorithmus Hanrich/Hjaltason/Samet Algorithmus für getnext Anfragen statt Tiefensuche Verwendung einer global sortierten Warteschlange: enthält Knoten, Blätter und Feature Objekte mit minimalen Distanzen lb zum Anfragepunkt legt Abarbeitungsreihenfolge aufgrund aufsteigender Distanz fest nur Kopfelemente werden entnommen 44

45 HS Algorithmus (2) Initialisierung mit Wurzelelementen wenn entnommenes Kopfelement Knoten, dann werden Kinder eingefügt wenn entnommenes Kopfelement Blatt, dann werden Feature Objekte eingefügt wenn entnommenes Kopfelement Feature Objekt Ausgabe 45

46 HS Algorithmus (3) 46

47 HS Algorithmus graphisch 47

48 Bewertung HS Algorithmus gut geeignet für getnext Anfragen unabhängig von Cluster Geometrie Problem: Warteschlange kann zu groß für Hauptspeicher werden aufwändige Auslagerung auf Festplatte notwendig Navigation springt wegen Warteschlangen sortierung; keine Tiefen/Breitensuche teure Festplattenzugriffe 48

49 R Baum und Varianten R Baum R+ Baum X Baum M Baum 49

50 R Baum R Baum: Guttman 1984 Erweiterung B Baum um mehrere Dimensionen Standardbaum zur Indexierung im niedrigdimensionalen Raum Einsatz etwa in GIS Feature Objekte können beliebige Ausdehnung haben 50

51 R Baum (2) Cluster Bildung: lokale Gruppierung durch MBRs (Überlappungen erlaubt) balanciert und Feature Objekte in den Blättern Mehrwegbaum Anzahl Kindknoten pro Knoten durch vordefinierten Minimal bzw. Maximalwert eingeschränkt (Anpassung an Seitengröße) 51

52 R Baum (3) MBR eines Knoten umfasst minimal alle MBR der Kindknoten Blatter enthalten pro Feature Objekt entspechende Pointer und MBR Suchaufwand wächst mit Grad der Überlappung Ziel: minimale Überlappung bei Baumkonstruktion 52

53 R Baum graphisch 53

54 Einfügen eines neuen Feature Objekts Finden eines geeigneten Blatts Suche beginnt an der Wurzel Navigation zum Kindknoten, dessen erforderliches Erweiterungsvolumen minimal ist wenn Auswahlkriterium nicht eindeutig, dann Kindknoten mit minimalen Volumen bevorzugen Blatt gefunden und Objekt eingefügt Anpassung der MBRs der Vaterknoten 54

55 Überlaufproblem wenn Knoten zu viele Einträge besitzt Zerlegung MBR in zwei MBRs Ziel: Minimierung der Volumensumme der neuen MBR Minimierung der Überlappungswahrscheinlichkeit Zerlegung nach Idee aus R* Baum Ansatz: Zerlegung in genau einer Dimension Aufwand zum Finden bester Zerlegung: erschöpfende Suche Punktanzahl * Dimensionsanzahl 55

56 Suche im R Baum HS und RKV Algorithmus einsetzbar bei Bereichsanfragen: Navigation in jeden Unterbaum, dessen MBR den Suchbaum schneidet NN Suche ist effizient wenn Anzahl Dimensionen klein (etwa < 10) bei vielen Dimensionen viele MBR Überlappungen Ausschließen von Teilbäumen von Suche wird extrem unwahrscheinlich Suchaufwand höher als bei sequentieller Suche viele Varianten des R Baums versuchen Problem zu lösen, können es aber nur verringern ( curse of 56 dimensionality )

57 R Baum + Sellig/Roussopolous/Faloutsos 1987 Grundidee: Verbieten von Überlappungen neuer Einfügealgorithmus Forderung ist allerdings nur schwer erfüllbar Einfügung kann Anpassung mehrerer Blätter erfordern Anpassung kann Zerlegung in kleinere MBR ohne vorherigem Überlauf bedeuten Knoten mit geringer Auslastung viele Knoten (Entartung) Feature Objekte mit räumlicher Ausdehnung: u.u. kann kein umfassender MBR gefunden werden Mehrfacheinträge nötig 57

58 Probleme des R Baum graphisch + 58

59 X Baum Brechthold, Keim, Kriegel 1996 Idee basiert auf zwei Beobachtungen: 1.Effizienzprobleme im hochdimensionalen Raum aufgrund steigender Überlappungen sequentieller Durchlauf ist effizienter als Baumdurchlauf 2.Zerlegung sollte an einer bestimmten Dimension erfolgen 59

60 Superknoten Einführung von Superknoten Superknoten umfasst beliebig viele Datenbankseiten (keine Einschränkung bzgl. Anzahl) Suche im Superknoten erfolgt sequentiell Superknoten werden dynamisch angelegt, wenn Grad an Überlappung zu hoch Fazit: X Baum als dynamische Hybridstruktur zwischen eindimensionalem Array und R Baum 60

61 X Baum graphisch 61

62 Knotenüberlauf Split Historie wird für jeden MBR verwaltet enthält alle bereits verwendeten Zerlegungsdimensionen bei Überlauf 1.Anwendung der herkömmlichen, topologischen Zerlegung 2.wenn vordefinierter Überlappungsgrad überschritten Auswahl der Zerlegungsdimension anhand Split Historie 3.wenn Verletzung der Balance Erzeuge Superknoten 62

63 M Baum Ciaccia, Patella, Zezula 1997 Annahme bei Bäumen bis jetzt: Feature Objekte sind Elemente des euklidschen Vektorraums Problem: Annahme gilt nicht immer 63

64 M Baum (2) M Baum setzt nur Metrik voraus: Menge von Feature Objekten (müssen keine Vektoren sein!) Distanzfunktionen (muss nicht eukl. Distanz sein, z.b. Editdistanz zwischen Wörtern) M Baum nutzt Dreiecksungleichung zum Ausschluss von Teilbäumen von der Suche 64

65 M Baum (3) Charakteristik: Cluster Bildung: lokale Gruppierung Cluster können sich überlappen Balance: M Baum ist balanciert Objektspeicherung: Verweise auf Feature Objekte in den Blättern Geometrie: festgelegt durch Feature Objekt (Zentrum) und Distanz (Radius) (entspricht Kugel im euklidischen Raum) 65

66 Datenstuktur eines inneren Knotens innerer Knoten: durch vordefinierte Maximalanzahl an Seitengröße angepasst jeder Eintrag hat folgende Datenstruktur: Zeiger zum Kindknoten routing objekt : Feature Objekt als Kugelzentrum des entspr. Kind Clusters Radius : maximal erlaubte Distanz vom routing object zu Feature Objekten des Kind Clusters Distanz zum Vaterknoten: Distanz zwischen und routing object des Vaters 66

67 Datenstruktur eines Blattknotens Blattknoten: Verweis auf Feature Objekt Distanz des Feature Objekts zum routing object des Vaterknotens 67

68 Suche im M Baum Bereichssuche und Nächste Nachbarsuche entsprechen den eingeführten Algorithmen Ausschlussbedingung anhand zweier Distanzen, welche minimale Distanz eines Clusters mit routing object, routing object des Vaters und Radius zu Feature Objekt berechnen 68

69 Suche im M Baum (2) 1. angenäherte minmale Distanz (kann sehr schnell ermittelt werden): 2. minimale Distanz: maximale Distanz: 69

70 Distanzberechnung graphisch es gilt aufgrund Dreiecksungleichung: 70

71 Suche im M Baum (3) Verwendung der angenäherten minimalen Distanz als schneller Filter Ausschlussbedingung für Cluster: Ausnutzung der minimalen Distanz und der Dreiecksungleichung (siehe Zeilen 18 und 19 des Branch and Bound Algorithmus) 71

72 Einfügen eines neuen Feature Objekts Beginn bei der Wurzel Navigation zum geeigneten Blatt anhand folgender Regeln: Vermeidung der Vergrößerung der Radien wenn mehrere Kinder ohne erforderliche Vergrößerung: Auswahl des nächsten routing objects falls alle Kinder Vergrößerung benötigen: Auswahl Kind mit minimaler Vergrößerung nach Einfügung im Blatt: Anpassung der Radien anhand Pfad zur Wurzel 72

73 Überlaufbehandlung Zerlegung des Clusters in zwei neue Cluster zwei neue routing objects müssen gefunden werden grundsätzlich sind routing objects immer Feature Objekte 73

74 Überlaufbehandlung (2) verschiedene Strategien zum Finden neuer routing objects Ziel: Minimierung Clustervolumen und Überlappungsvolumen nachdem neue routing objects gefunden, abwechselnde Zuordnung der jeweils nächsten Feature Objekte 74

75 Überlaufbehandlung (3) fünf Strategien zum Finden neuer routing objects: erschöpfende Suche und Radiensumme: Suche Objektpaar mit minimaler Radiensumme erschöpfende Suche und Radienmaxima: Suche Objektpaar mit minimalen Maximalradien am weitesten entfernte Objekte nichtdeterministische Strategie (Zufall) sampling: Auswahl Objektpaar mit minimalen Maximalradien aus Stichprobe 75

76 Komplexe Distanzfunktionen 1.Algorithmus nach Korn (2. Fastmap Algorithmus) 76

77 Substitution komplexer Distanzfunktionen bisherige Baumverfahren und Algorithmen basieren hauptsächlich auf euklidscher Distanz hier Diskussion der Verfahren für komplexe Distanzfunktionen: keine euklidsche Distanzfunktion aufwändig zu berechnen (siehe etwa quadratische Distanzfunktionen) 77

78 Substitution komplexer Distanzfunktionen (2) Grundidee: Substitution der komplexen Distanzfunktion (meist euklidsche Distanzfunktion) Anwendung der einfachen Distanzfunktion als Filter Problem: unterschiedliche Distanzwerte erzeugen Verfälschungen nach Filtern ist Kontrolle mit richtiger Distanzfunktion erforderlich 78

79 Algorithmus nach Korn Korn, Sidiropoulos, Faloutsos, Siegel, Protopapas 1996 so genanntes GEMINI Verfahren (Generic Multimedia object Indexing) folgende Probleme bei Verwendung komplexer Distanzfunktionen werden behoben: 1.aufwängige Berechnung der Distanzen 2.keine effizienten Suchalgorithmen verfügbar 3.Feature Objekte sind nicht immer Vektoren 79

80 Substitution durch einfache Distanzfunktion gegeben: komplexe Distanzfunktion für beliebige Objektmenge Substitution mittels Funktion auf Objekten aus (etwa Dimensionsredu zierung) und einfache Distanzfunktion 80

81 Substitution durch einfache Distanzfunktion (2) folgende lower bound Bedingung muss erfüllt sein: (garantiert korrekten Ausschluss von Objekten) 81

82 Entwurf der Substitution Entwurfsziele: 1.effiziente Berechnung wird ermöglicht, etwa RKV Algorithmus im Baumindex 2. Erfüllung lower bound Bedingung 3. minimale Verfälschung 82

83 Substitutionsbeispiel Messung Unähnlichkeit von Zeitreihen anhand euklidscher Distanzfunktion aufwändig durch hohe Anzahl von Messwerten Dimensionsreduzierung durch DFT Transformation (Kompaktheit) Substitution durch euklidische Distanz auf kompakten Fourier Koeffizienten 83

84 Substitutionsbeispiel (2) aufgrund Parseval Theorem und Wegfallen nichtnegativer Summanden ist lower bound Bedingung erfüllt 84

85 Algorithmus für Bereichsanfrage nach Korn einfache Distanzfunktion und komplexe Distanzfunktion Transformationsfunktion Anfragepunkt und Radius Wurzelknoten des Indexbaums 85

86 Algorithmus für Bereichsanfrage nach Korn (2) 86

87 Algorithmus für Bereichsanfrage graphisch 87

88 Algorithmus für knn Anfrage nach Korn 88

89 Algorithmus für knn Anfrage graphisch 89

90 Verbesserung des knn Algorithmus Seidl, Kriegel 1998 kritischer Parameter ist max Wert erzeugt u.u. hohe Anzahl von Kandidaten Idee: max Wert dynamisch ermitteln Verschränkung der Zeilen 3 bis 8 und Einsatz von getnext Anfrage 90

91 Verbesserung des knn Algorithmus 91

92 FastMap Verfahren Faloutsos, Lin 1995 approximative Abbildung einer Metrik (Objekte und Distanzen) auf k Dimensionale Punkte und euklidsche Distanzfunktionen Beispiel: Abbildung Menge von Wörtern und Editierdistanz auf mehrdimensionale Punkte 92

93 FastMap Verfahren (2) Distanzwerte liegen explizit vor Parameter k kann frei vordefiniert werden je höher, desto genauer die Approximation je höher, desto mehr Werte pro Objekt 93

94 Anwendung des FastMap Verfahrens Anwendungen: Substitution komplexer Distanzfunktionen durch indexierbare Distanzfunktion und Punkte 2D oder 3D Visualisierung (k=2 oder k=3) einer Metrik Dimensionsreduzierung 94

95 Ziele Entwurfsziele waren: effiziente Abbildung (möglichst linearer Aufwand bzgl. Objektanzahl) distanzapproximierend effiziente Abbildung neuer Objekte (unabhängig von Objektanzahl) 95

96 Idee Grundidee: Objekte liegen bereits (idealisiert) im euklidschen Vektorraum Koordinaten sind jedoch unbekannt Ziel: Finden orthogonaler Koordinatenachsen und Ermitteln der entsprechenden Werte durch Projektion auf Achsen 96

97 Ermitteln der Koordinatenwerte Achse ist durch Objektpaar (Pivotpunkte) festgelegt und Anwendung Kosinussatz: (1) 97

98 Anpassung der Distanzen nach Finden der Koordinatenwerte einer Achse müssen Distanzen entsprechend reduziert werden also Entfernen des entsprechenden Terms aus der euklidschen Distanzfunktion: (2) 98

99 Anpassung der Distanzen (2) Distanzen werden also kleiner Problem: negative Werte können auftreten nach Anpassung Ermitteln der Koordinatenwerte der nächsten Achse, Wiederholung bis k Achsen gefunden wurden 99

100 Finden der Pivotpunkte Ziel: Einfluss der Achsendimension soll mit jeder neu gefundenen Achse abnehmen daher: Finder der am weitesten auseinander liegenden Objekte Problem: quadratischer Aufwand Lösung: Einsatz eines heuristischen Algorithmus mit linearem Aufwand 100

101 Heuristischer Ansatz zum Finden der Pivotpunkte oa, ob sind Ausgabeparameter! Bemerkung: Schritte 4 und 5 werden üblicherweise mehrfach durchlaufen 101

102 FastMap Algorithmus 102

103 Beispiel Editierdatensatz Wörter: Medium (W1), Datenbank (W2), Multimedia (W3), System (W4), Objekt (W5) 103

104 Beispiel Editierdistanz (2) Ergebnis des FastMap Algorithmus: 104

105 Problem mit FastMap Algorithmus Annahme: Punkte liegen im (unbekannten) Vektorraum Annahme nicht immer erfüllt, da nicht jede Distanzfunktion entsprechend einbettbar ist Problem bei der Distanzanpassung: Wurzel aus negativen Werten 105

106 Fluch der hohen Dimensionen Experimente zeigen: Nächste Nachbarsuche in Indexbäumen versagt ab etwa 20 Dimensionen Problem: Ausschluss von Teilbäumen von der Suche nicht möglich Gesamtbaumdurchlauf aufwändiger als sequentieller Durchlauf Phänomen wird Fluch der hohen Dimensionen genannt 106

107 Fluch der hohen Dimensionen (2) tritt im Wesentlichen bei Verwendung der euklidschen Distanzfunktion auf Fluch ergibt sich aus der Distanzverteilung Frage: gilt der Fluch für alle Baumsuchverfahren? 107

108 Quadrierte Distanzverteilung zweier gleichverteilter Werte Wahrscheinlichkeitsverteilung von Distanzen: Erwartungswert beträgt 1/6 und Varianz beträgt 7/

109 Quadrierte Distanzverteilung zweier gleichverteilter Punkte Wahrscheinlichkeitsverteilung der quadrierten eukl. Distanzen nach Anwendung des zentralen Grenzwertsatzes: Annäherung an Normalverteilung Erwartungswert Varianz 109

110 Verteilung der eukl. Distanz zweier gleichverteilter Punkte Wurzelberechnung führt zu Erwartungswert strebt gegen Wert mit steigender Dimension Standardabweichung ist konstant ( 0,24) 110

111 Verteilung der eukl. Distanz zweier gleichverteilter Punkte (2) Fazit: im Gegensatz zur Standardabweichung steigt Erwartungswert mit Dimensionszahl (gilt auch für viele Realdatenverteilungen) 111

112 Distanzverteilung im hochdimen sionalen Raum graphisch 10 Dimensionen: 100 Dimensionen: 112

113 Annäherung der Distanzen im hochdimensionalen Raum steigender Erwartungswert und konstante Standardabweichung führen zu: Distanzen nähern sich also einander an Clusterung ergibt aufgrund fehlender Lokalität wenig Sinn 113

114 Annäherung der Distanzen in hochdim. Raum graphisch 114

115 Approximationsfehler bei der Cluster Bildung Suchbäume clustern mehrere Feature Objekte anhand einer geometrischen Figur (etwa MBR) minimale Distanz zu eingeschlossenem Feature Objekt darf nicht kleiner als zum Cluster sein 115

116 Approximationsfehler bei der Cluster Bildung (2) Approximationsfehler: durchschnittliche Differenz zwischen Distanz vom Anfragepunkt zum nächsten Feature Objekt und zum dazugehörigen Cluster Ziel der Clusterung: Minimierung des Approximationsfehlers durch minimale geometrische Figur (etwa MBR) 116

117 Approximationsfehler bei der Cluster Bildung (3) Approximationsfehler steigt linear mit Erwartungswert der Distanzverteilung Nachweis am minimalen konvexen Cluster: konvexe Hülle zwischen zwei Punkten also Linie Extremfall: Anfragepunkt auf der Linie Extremfall: Anfragepunkt als Punkt auf Simplex 117

118 Extremfälle graphisch Extremfall 1: Extremfall 2: 118

119 Ineffiziente Suche in hoch dimensionalen Indexbäumen Ausschluss eines Teilbaums durch Vergleich von Clusterdistanz mit NN Kandidatendistanz zum Anfragepunkt 119

120 Ineffiziente Suche in hoch dimensionalen Indexbäumen (2) optimaler (aber nicht realisierbarer) Suchalgorithmus: Annahme: Distanz zum nächsten Nachbar sei schon bekannt alle Cluster, deren Minimaldistanz kleiner als NN Distanz ist, werden durchsucht Optimaler Suchalgorithmus dient zur Abschätzung der minimal möglichen Suchkosten 120

121 Optimaler Suchalgorithmus graphisch 121

122 Optimaler Suchalgorithmus im hochdimensionalen Raum wenn Dimensionszahl steigt: steigender Approximationsfehler und konstanter Abstand zwischen größter und kleinster Distanz Folge: selbst bei optimalem Suchalgorithmus können keine Cluster von Suche ausgeschlossen werden 122

123 Optimaler Suchalgorithmus im hochdimensionalen Raum (2) Fazit: ab bestimmter Dimensionsanzahl ist NN Suche anhand euklidscher Distanzen mit Baumindexen nicht effizient (mindestens sequentieller Aufwand erforderlich) Bemerkung: Problem gilt auch für Metrik Bäume wie den M Baum 123

124 Fluch der hohen Dimensionen graphisch 124

7 Effiziente Algorithmen und Datenstrukturen. 7 Effiziente Algorithmen und Datenstrukturen (2) Einführung. Einführung

7 Effiziente Algorithmen und Datenstrukturen. 7 Effiziente Algorithmen und Datenstrukturen (2) Einführung. Einführung 7 Effiziente Algorithmen und Datenstrukturen 7 Effiziente Algorithmen und Datenstrukturen (2) 1. Hochdimensionale Indexstrukturen 2. Algorithmen zur Aggregation von Ähnlichkeitswerten (a) Anfragearten

Mehr

R-Baum R + -Baum X-Baum M-Baum

R-Baum R + -Baum X-Baum M-Baum R-Baum und Varianten R-Baum R + -Baum X-Baum M-Baum [email protected] 1 R-Baum R-Baum: Guttman 1984 Erweiterung B-Baum um mehrere Dimensionen Standardbaum zur Indexierung im niedrigdimensionalen Raum

Mehr

4.3 R-Bäume (I) Idee. basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum

4.3 R-Bäume (I) Idee. basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum 4.3 R-Bäume (I) Idee basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum Geo-Informationssysteme 98 4.3 R-Bäume (I) Definition Ein

Mehr

6 Distanzfunktionen. Quadratische Pseudo. 1. Eigenschaften und Klassifikation

6 Distanzfunktionen. Quadratische Pseudo. 1. Eigenschaften und Klassifikation 6 Distanzfunktionen 1. Eigenschaften und Klassifikation 2. Distanzfunktionen auf Punkten Minkowski Distanzfunktion L m Gewichtete Minkowski Distanzfunktion L m w Quadratische Distanzfunktion d q Quadratische

Mehr

6 Distanzfunktionen (2) 6 Distanzfunktionen. 6.1 Eigenschaften und Klassifikationen. Einführung

6 Distanzfunktionen (2) 6 Distanzfunktionen. 6.1 Eigenschaften und Klassifikationen. Einführung 6 en 6 en (2) 1. Eigenschaften und Klassifikation 2. en auf Punkten Minkowski L m Gewichtete Minkowski L m w Quadratische d q Quadratische Pseudo Dynamical Partial Semi Pseudo Chi Quadrat Semi Pseudo Kullback

Mehr

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen

Mehr

R-Baum eine dynamische Index-Strukur für räumliche Suche

R-Baum eine dynamische Index-Strukur für räumliche Suche Gabriele Wilke-Müller Klufternerstraße 73 88048 Friedrichshafen [email protected] Matrikel-Nr. 01/482681 Support for Non-Standard Data Types in DBMSs WS 2003/2004 bei Prof. Dr. Marc H. Scholl Thema:

Mehr

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften 5. Clusteranalyse Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften benennen und anwenden können, einen Test auf das Vorhandensein einer Clusterstruktur kennen, verschiedene

Mehr

5. Clusteranalyse Vorbemerkungen. 5. Clusteranalyse. Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

5. Clusteranalyse Vorbemerkungen. 5. Clusteranalyse. Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften 5. Clusteranalyse Vorbemerkungen 5. Clusteranalyse Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften benennen und anwenden können, einen Test auf das Vorhandensein einer

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Teil X Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 13.

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Geometrie II Tiago Joao Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Koordinatenkompression Beispiel: SafeJourney Typische compress-funktion Bereichssuche

Mehr

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

Mehr

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2)

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2) Algorithmische Geometrie: Delaunay Triangulierung (Teil 2) Nico Düvelmeyer WS 2009/2010, 2.2.2010 Überblick 1 Delaunay Triangulierungen 2 Berechnung der Delaunay Triangulierung Randomisiert inkrementeller

Mehr

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen 4.4 MX-Quadtrees (I) MatriX Quadtree Verwaltung 2-dimensionaler Punkte Punkte als 1-Elemente in einer quadratischen Matrix mit Wertebereich {0,1} rekursive Aufteilung des Datenraums in die Quadranten NW,

Mehr

12. Flächenrekonstruktion aus 3D-Punktwolken und generalisierte Voronoi-Diagramme

12. Flächenrekonstruktion aus 3D-Punktwolken und generalisierte Voronoi-Diagramme 12. Flächenrekonstruktion aus 3D-Punktwolken und generalisierte Voronoi-Diagramme (Einfache) Voronoi-Diagramme: Motivation: gegeben: Raum R, darin Menge S von Objekten Frage nach Zerlegung von R in "Einflusszonen"

Mehr

achsenparallele Stauchung und Streckung durch Gewichte :

achsenparallele Stauchung und Streckung durch Gewichte : Gewichtete Minkowski-Distanzfunktion achsenparallele Stauchung und Streckung durch Gewichte : Forderung: [email protected] 1 Einheitskreis Translationsinvarianz keine Skalierungsinvarianz keine Rotationsinvarianz

Mehr

Organisationsformen der Speicherstrukturen

Organisationsformen der Speicherstrukturen Organisationsformen der Speicherstrukturen Bäume und Hashing 1 Motivation Ablage von Daten soll einfachen, schnellen und inhaltsbezogenen Zugriff ermöglichen (z.b. Zeige alle Schüler des Lehrers X am heutigen

Mehr

Algorithmische Geometrie 3. Schnitte von Liniensegmenten

Algorithmische Geometrie 3. Schnitte von Liniensegmenten Algorithmische Geometrie 3. Schnitte von Liniensegmenten JProf. Dr. Heike Leitte Computergraphik und Visualisierung Inhaltsverzeichnis 1. Einführung 2. Konvexe Hülle 3. Schnitte von Liniensegmenten 4.

Mehr

B+-Baum mit Z-Ordnung. B+-Baum mit Z-Ordnung. Anforderungen. 7.3 Räumliche Zugriffsstrukturen

B+-Baum mit Z-Ordnung. B+-Baum mit Z-Ordnung. Anforderungen. 7.3 Räumliche Zugriffsstrukturen B+-Baum mit Z-Ordnung Window Query: 1. Ansatz Benutze den gewöhnlichen Algorithmus für Bereichsanfragen im B + -Baum: Suche mit dem kleinsten Z-Wert des Suchrechtecks (entspricht dem linken unteren Eckpunkt)

Mehr

IR Seminar SoSe 2012 Martin Leinberger

IR Seminar SoSe 2012 Martin Leinberger IR Seminar SoSe 2012 Martin Leinberger Suchmaschinen stellen Ergebnisse häppchenweise dar Google: 10 Ergebnisse auf der ersten Seite Mehr Ergebnisse gibt es nur auf Nachfrage Nutzer geht selten auf zweite

Mehr

Mehrwegbäume Motivation

Mehrwegbäume Motivation Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

Datenbanken: Indexe. Motivation und Konzepte

Datenbanken: Indexe. Motivation und Konzepte Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher

Mehr

Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle. zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"):

Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle. zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung Algorithmische Geometrie): Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"): 1 Erzeugung des Voronoi-Diagramms (siehe Vorlesung "Algorithmische

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen

Mehr

Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) Felix Naumann

Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) Felix Naumann Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) 14.5.2007 Felix Naumann Motivation 2 Annahme bisher: Eine Dimension Ein einziger Suchschlüssel Suchschlüssel kann auch Kombination von Attributen

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Geometrie II Benjamin Zenke Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Closest Pair Divide & Conquer Bereichssuche Gitterverfahren k-d-tree Sweep-Line-Algorithmen

Mehr

Kapitel 6: Algorithmen der Computer-Geometrie

Kapitel 6: Algorithmen der Computer-Geometrie LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Kapitel 6: Algorithmen der Computer-Geometrie Skript zur Vorlesung Geo-Informationssysteme Wintersemester 2015/16 Ludwig-Maximilians-Universität

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 8. Vorlesung Martin Middendorf und Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] [email protected] Gefädelte

Mehr

Kollisionserkennung

Kollisionserkennung 1 Kollisionserkennung von Jens Schedel, Christoph Forman und Philipp Baumgärtel 2 1. Einleitung Wozu wird Kollisionserkennung benötigt? 3 - für Computergraphik 4 - für Simulationen 5 - für Wegeplanung

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

Mehr

Geometrische Algorithmen Segmentschnitt

Geometrische Algorithmen Segmentschnitt Folie 1 von 36 Geometrische Algorithmen Segmentschnitt Folie 2 von 36 Segmentschnitt Übersicht Zwei Segmente Lage zweier Segmente Prüfung auf Schnittfreiheit Formeln zum Geradenschnitt Feststellen des

Mehr

Geometrische Algorithmen Segmentschnitt

Geometrische Algorithmen Segmentschnitt Folie 1 von 36 Geometrische Algorithmen Segmentschnitt Folie 2 von 36 Segmentschnitt Übersicht Zwei Segmente! Lage zweier Segmente! Prüfung auf Schnittfreiheit! Formeln zum Geradenschnitt! Feststellen

Mehr

4.4 Quadtrees. Literatur

4.4 Quadtrees. Literatur 4.4 Quadtrees Überblick Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE) Verwaltung von Punkten, Kurven, Flächen usw., häufig

Mehr

Übungsblatt 7 - Voronoi Diagramme

Übungsblatt 7 - Voronoi Diagramme Karlsruher Institut für Technologie Algorithmische Geometrie Fakultät für Informatik Sommersemester 2012 ITI Wagner Martin Nöllenburg/Andreas Gemsa Übungsblatt 7 - Voronoi Diagramme 1 Voronoi-Zellen Sei

Mehr

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :

Mehr

Boole'sches Modell <is web>

Boole'sches Modell <is web> Boole'sches Modell basiert auf Mengentheorie und Boole'scher Algebra sehr einfaches Modell mit klarer Semantik Dokumente als Mengen von Indextermen Termgewichte sind binär: im Dokument enthalten oder nicht

Mehr

Datenbanken. Interne Datenorganisation:

Datenbanken. Interne Datenorganisation: Interne Datenorganisation: Bisher: Konzeptionelle Betrachtungen einer Datenbank aus Sicht der Anwendung: Modellierung, Normalisieren, Sprache zum Einfügen, Ändern, Löschen, Lesen Jetzt: Betrachtung der

Mehr

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme B / B* - Bäume Guido Hildebrandt Seminar Datenbanksysteme 25.11.2010 Gliederung Einleitung Binärbaum B - Baum B* - Baum Varianten Zusammenfassung Quellen Gliederung Einleitung Binärbaum B - Baum B* - Baum

Mehr

Algorithmische Geometrie

Algorithmische Geometrie Algorithmische Geometrie Wladimir Emdin und Martin Dames Skript vom 3.6.2005 1 Wiederholung und Erganzung zu Fortune Sweep Gegeben: eine endliche Menge an Punkten S R 2 Gesucht: Das Voronoi-Diagramm von

Mehr

Geometrie II. Deniz Neufeld Deniz Neufeld Geometrie II / 39

Geometrie II. Deniz Neufeld Deniz Neufeld Geometrie II / 39 Geometrie II Deniz Neufeld 20.06.2016 Deniz Neufeld Geometrie II 20.06.2016 1 / 39 Ziel Umgehen mit großen, mehrdimensionalen Datenmengen Bereichssuche Nearest-Neighbour-Search Mehrdimensionale Datenverarbeitung

Mehr

Übungen zu Multimedia-Datenbanken Aufgabenblatt 4 - Musterlösungen

Übungen zu Multimedia-Datenbanken Aufgabenblatt 4 - Musterlösungen Übungen zu Multimedia-Datenbanken Aufgabenblatt 4 - Musterlösungen Übung: Dipl.-Inf. Tina Walber Vorlesung: Dr.-Ing. Marcin Grzegorzek Fachbereich Informatik, Universität Koblenz Landau Ausgabe: 31.0.2010

Mehr

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) 5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:

Mehr

Der Branching-Operator B

Der Branching-Operator B Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte

Mehr

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren. 2013 Thomas Brox, Fabian Kuhn

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren. 2013 Thomas Brox, Fabian Kuhn Optimierung Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren 1 Minimierung ohne Nebenbedingung Ein Optimierungsproblem besteht aus einer zulässigen Menge und einer Zielfunktion Minimum

Mehr

Geometrische Algorithmen Segmentschnitt. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Segmentschnitt

Geometrische Algorithmen Segmentschnitt. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Segmentschnitt Folie 1 von 37 Geometrische Algorithmen Segmentschnitt Folie 2 von 37 Segmentschnitt Übersicht Zwei Segmente Lage zweier Segmente Prüfung auf Schnittfreiheit Formeln zum Geradenschnitt Feststellen des

Mehr

Wiederholung. Objekte) Hauptkosten beim Pathtracing Ziel: Beschleunigung durch Reduktion der Schnittpunktstestzahl. Ansätze

Wiederholung. Objekte) Hauptkosten beim Pathtracing Ziel: Beschleunigung durch Reduktion der Schnittpunktstestzahl. Ansätze Wiederholung Pathtracing = Schnittpunktstests mit Geometrie: primäre Augstrahlen, Schattenstrahlen, sekundäre Strahlen Problem: Komplexität! (mindestens linear mit der Anzahl der Objekte) Hauptkosten beim

Mehr

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure 7. Dynamische Datenstrukturen Bäume Informatik II für Verkehrsingenieure Übersicht dynamische Datenstrukturen Wozu? Oft weiß man nicht von Beginn an, wieviele Elemente in einer Datenstruktur untergebracht

Mehr

Geometrische Algorithmen Einige einfache Definitionen: Ist ein Punkt in einem Polygon? Punkt-in-Polygon-Problem. Das Punkt-in-Polygon-Problem

Geometrische Algorithmen Einige einfache Definitionen: Ist ein Punkt in einem Polygon? Punkt-in-Polygon-Problem. Das Punkt-in-Polygon-Problem Geometrische Algorithmen Einige einfache Definitionen: Punkt: im n-dimensionalen Raum ist ein n-tupel (n Koordinaten) Gerade: definiert durch zwei beliebige Punkte auf ihr Strecke: definiert durch ihre

Mehr

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x

Mehr

Mehrdimensionale Zugriffspfade und Dateiorganisation

Mehrdimensionale Zugriffspfade und Dateiorganisation Mehrdimensionale Zugriffspfade und Dateiorganisation Gliederung Begriffe, Anforderungen und Probleme, Anwendungsgebiete Konkrete Techniken Bäume Grid-File Mehrdimensionales Hashing Begriffe Eindimensionale

Mehr

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: 1 Aufgabe 8.1 (P) (2, 3)-Baum a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: Zeichnen Sie, was in jedem Schritt passiert. b) Löschen Sie die Zahlen 65, 70 und 100 aus folgendem

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

Mehr

Euklidische Distanzmatrizen. Andrei Grecu

Euklidische Distanzmatrizen. Andrei Grecu Euklidische Distanzmatrizen Andrei Grecu Übersicht Motivation Definition und Problemstellung Algo 1: Semidefinite Programmierung Algo 2: Multidimensional Scaling Algo 3: Spring Embedder Algo 4: Genetischer

Mehr

Übung zur Vorlesung Algorithmische Geometrie

Übung zur Vorlesung Algorithmische Geometrie Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)

Mehr

B*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records.

B*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. B*-Bäume 1 B*-BÄUME Beobachtung: Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. Es gibt keinen Grund, warum man nicht einen Index über einem Index haben sollte, und

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Heaps Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 469 Prioritätswarteschlange Problem Häufig ist das Prinzip einer einfachen Warteschlangen-Datenstruktur

Mehr

für n-elementige Punktmenge jedenfalls Ω(n log n), da mit VD die konvexe Hülle in linearer Zeit bestimmbar.

für n-elementige Punktmenge jedenfalls Ω(n log n), da mit VD die konvexe Hülle in linearer Zeit bestimmbar. Konstruktion des Voronoi-Diagramms Untere Schranke für den Zeitaufwand: für n-elementige Punktmenge jedenfalls Ω(n log n), da mit VD die konvexe Hülle in linearer Zeit bestimmbar. Wenn man die n Punkte

Mehr

3.2. Divide-and-Conquer-Methoden

3.2. Divide-and-Conquer-Methoden LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE 3.2. Divide-and-Conquer-Methoden Divide-and-Conquer-Methoden Einfache Sortieralgorithmen reduzieren die Größe des noch

Mehr

k-nächste-nachbarn-schätzung

k-nächste-nachbarn-schätzung k-nächste-nachbarn-schätzung Mustererkennung und Klassifikation, Vorlesung No. 7 1 M. O. Franz 29.11.2007 1 falls nicht anders vermerkt, sind die Abbildungen entnommen aus Duda et al., 2001. Übersicht

Mehr

Das Voronoi Diagramm. 1. Definition. 2. Eigenschaften. 3. Größe und Speicherung. 4. Konstruktion. 5. Verwendung

Das Voronoi Diagramm. 1. Definition. 2. Eigenschaften. 3. Größe und Speicherung. 4. Konstruktion. 5. Verwendung Das Voronoi Diagramm 1. Definition 2. Eigenschaften 3. Größe und Speicherung 4. Konstruktion 5. Verwendung Das Voronoi- Diagramm Voronoi Regionen Euklidische Distanz: d(p,q) = (px-qx)^2+(py-qy)^2 Das Voronoi-Diagramm

Mehr

Effizienter Planaritätstest Vorlesung am

Effizienter Planaritätstest Vorlesung am Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit

Mehr

EFM-DBSCAN EIN BAUMBASIERTER CLUSTERING- ALGORITHMUS UNTER AUSNUTZUNG ERWEITERTER LEADER-UMGEBUNGEN. Philipp Egert. 08. März 2017

EFM-DBSCAN EIN BAUMBASIERTER CLUSTERING- ALGORITHMUS UNTER AUSNUTZUNG ERWEITERTER LEADER-UMGEBUNGEN. Philipp Egert. 08. März 2017 08. März 2017 EFM-DBSCAN EIN BAUMBASIERTER CLUSTERING- ALGORITHMUS UNTER AUSNUTZUNG ERWEITERTER LEADER-UMGEBUNGEN Philipp Egert Fachgebiet Datenbank- und Informationssysteme Motivation DBSCAN als Vorreiter

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 Bruder-Bäume, B-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei Wörterbuchoperationen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen von Prof. Dr. Thomas Ottmann, Universität Freiburg und Prof. Dr. Dr. Peter Widmayer, Eidgenössische Technische Hochschule Zürich 2., vollständig überarbeitete und erweiterte

Mehr

Suchstrukturen. Übersicht. 8 Suchstrukturen. Allgemeines. H. Täubig (TUM) GAD SS

Suchstrukturen. Übersicht. 8 Suchstrukturen. Allgemeines. H. Täubig (TUM) GAD SS Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 309 Allgemeines Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 310

Mehr

Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n)

Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n) .6 Ausgeglichene Mehrweg-Suchbäume Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n) Methoden: lokale Transformationen (AVL-Baum) Stochastische

Mehr

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. 8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.

Mehr

Multimedia-Datenbanken im SS 2010 Einführung in MMDB

Multimedia-Datenbanken im SS 2010 Einführung in MMDB Multimedia-Datenbanken im SS 2010 Einführung in MMDB Dr.-Ing. Marcin Grzegorzek 27.04.2010 Ähnlichkeitssuche in Multimedia-Datenbanken 2/ 28 Inhalte und Termine 1. Einführung in MMDB 1.1 Grundlegende Begriffe

Mehr

Geometrische Algorithmen

Geometrische Algorithmen Geometrische Algorithmen Thomas Röfer Motivation Scan-line-Prinzip Konvexe Hülle Distanzprobleme Voronoi-Diagramm Rückblick Manipulation von Mengen Vorrangwarteschlange Heap HeapSort swap(a, 0, 4) 1 5

Mehr