Kapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle

Größe: px
Ab Seite anzeigen:

Download "Kapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle"

Transkript

1 Kapitel 9 Algorithm. Geometrie Kürzeste Abstände Konvexe Hülle

2 Überblick Teilgebiet der Informatik, in dem es um die Entwicklung effizienter Algorithmen und die Bestimmung der algorithmischen Komplexität elementarer geometrischer Probleme geht

3 Kürzeste Abstände nearest neighbour problem - closest pair problem - closest points problem Anwendung z.b.: Radarbeobachtung, Flugsicherung

4 Kürzeste Abstände nearest neighbour problem - closest pair problem - closest points problem Anwendung z.b.: Radarbeobachtung, Flugsicherung

5 Kürzeste Abstände nearest neighbour problem - closest pair problem - closest points problem Anwendung z.b.: Radarbeobachtung, Flugsicherung

6 Kürzeste Abstände nearest neighbour problem - closest pair problem - closest points problem Anwendung z.b.: Radarbeobachtung, Flugsicherung

7 Kürzeste Abstände nearest neighbour problem - closest pair problem - closest points problem Anwendung z.b.: Radarbeobachtung, Flugsicherung

8 Kürzeste Abstände nearest neighbour problem - closest pair problem - closest points problem Anwendung z.b.: Radarbeobachtung, Flugsicherung

9 Kürzeste Abstände - Problemstellung Gegeben n Punkte P 1=(x1,y1),..., Pn=(xn,yn), xi,yi IR, n 1, in der Ebene: Man bestimme ein Paar von Punkten (xj,yj), (xk,yk), j k, mit d((xj,yj),(xk,yk)) d((xp,yp),(xq,yq)) für alle 1 p<q n wobei Euklidische Metrik gilt: d((x,y),(x',y'))= (x-x') 2 +(y-y') 2

10 Kürzeste Abstände - naive Lösung Brute-force-Methode: bestimme den Abstand aller Punktepaare gib den kleinsten Abstand aus Laufzeit: O(n2 ) Besserer (bester) Algorithmus: O(n log n) Laufzeit

11 algor. Paradigma - Plane sweeping zugrundliegendes universelles Muster: Plane-sweeping Schema:

12 algor. Paradigma - Plane sweeping zugrundliegendes universelles Muster: Plane-sweeping Schema:

13 algor. Paradigma - Plane sweeping zugrundliegendes universelles Muster: Plane-sweeping Schema:

14 algor. Paradigma - Plane sweeping zugrundliegendes universelles Muster: Plane-sweeping Schema: Scan line/sweep line

15 algor. Paradigma - Plane sweeping zugrundliegendes universelles Muster: Plane-sweeping Schema: Scan line/sweep line

16 algor. Paradigma - Plane sweeping zugrundliegendes universelles Muster: Plane-sweeping Schema: tote Objekte Scan line/sweep line

17 algor. Paradigma - Plane sweeping zugrundliegendes universelles Muster: Plane-sweeping Schema: tote Scan line/sweep line Für diesen Bereich liegt eine Lösung L vor, die alle toten Objekte erfaßt Objekte

18 algor. Paradigma - Plane sweeping zugrundliegendes universelles Muster: Plane-sweeping Schema: tote Scan line/sweep line Für diesen Bereich liegt eine Lösung L vor, die alle toten Objekte erfaßt Objekte schlafende Objekte

19 algor. Paradigma - Plane sweeping zugrundliegendes universelles Muster: Plane-sweeping Schema: tote Scan line/sweep line Für diesen Bereich liegt eine Lösung L vor, die alle toten Objekte erfaßt Objekte schlafende Objekte

20 algor. Paradigma - Plane sweeping zugrundliegendes universelles Muster: Plane-sweeping Schema: tote Scan line/sweep line Für diesen Bereich liegt eine Lösung L vor, die alle toten Objekte erfaßt Objekte schlafende Objekte aktives Objekt; das Objekt ist in L zu integrieren

21 algor. Paradigma - Plane sweeping zugrundliegendes universelles Muster: Schema: tote Für diesen Bereich liegt eine Lösung L vor, die alle toten Objekte erfaßt Objekte Beobachte: Scan line kann statt kontinuierlich diskret über die Szene geschwenkt werden, entspr. der Scan line/sweep aufsteigenden linesortierung der x-werte der Objekte (Haltepunkte) Plane-sweeping schlafende Objekte aktives Objekt; das Objekt ist in L zu integrieren

22 Kürzeste Abstände - Algorithm. Schema Q:=Liste von Haltepunkten nach x- Koordinate sortiert; L:= ; {L: Lösungsmenge} while Q do begin q:=first(q); Q:=rest(Q); update(l,q) end.

23 Kürzeste Abstände - Schemaanwendung Anfangssituation

24 Kürzeste Abstände - Schemaanwendung Anfangssituation

25 Kürzeste Abstände - Schemaanwendung Anfangssituation

26 Kürzeste Abstände - Schemaanwendung Zwischensituation P

27 Kürzeste Abstände - Schemaanwendung Zwischensituation P

28 Kürzeste Abstände - Schemaanwendung Zwischensituation d P

29 Kürzeste Abstände - Schemaanwendung Zwischensituation d P

30 Kürzeste Abstände - Schemaanwendung Zwischensituation d d P

31 Kürzeste Abstände - Schemaanwendung Zwischensituation d d P

32 Kürzeste Abstände - Schemaanwendung Zwischensituation d d P

33 Kürzeste Abstände - Schemaanwendung Zwischensituation d d P

34 Kürzeste Abstände - Schemaanwendung Zwischensituation d d P

35 Kürzeste Abstände - Schemaanwendung Zwischensituation d d P

36 Kürzeste Abstände - Schemaanwendung Zwischensituation d d d' P

37 Kürzeste Abstände - Schemaanwendung Zwischensituation d d' P

38 Kürzeste Abstände - Schemaanwendung Zwischensituation (Vorgehen): Prüfe, ob P zu einem neuen Abstand führt Das ist nur dann der Fall, wenn es im Halbkreis um P mit Radius d Knoten gibt Prüfe alle Knoten im Halbkreis durch? Problem: Wieviele Punkte können im Halbkreis liegen? P

39 Kürzeste Abstände - Laufzeitanalyse Q:=Liste von Haltepunkten nach x- Koordinate sortiert; L:= ; {L: Lösungsmenge} while Q do begin q:=first(q); Q:=rest(Q); update(l,q) end.

40 Kürzeste Abstände - Laufzeitanalyse Q:=Liste von Haltepunkten nach x- Koordinate sortiert; L:= ; {L: Lösungsmenge} while Q do begin q:=first(q); Q:=rest(Q); update(l,q) end. O(n log n)

41 Kürzeste Abstände - Laufzeitanalyse Q:=Liste von Haltepunkten nach x- Koordinate sortiert; L:= ; {L: Lösungsmenge} while Q do begin q:=first(q); Q:=rest(Q); update(l,q) end. O(n) Durchläufe O(n log n)

42 Kürzeste Abstände - Laufzeitanalyse Q:=Liste von Haltepunkten nach x- Koordinate sortiert; L:= ; {L: Lösungsmenge} while Q do begin q:=first(q); Q:=rest(Q); update(l,q) end. O(n) Durchläufe O(1) O(n log n)

43 Kürzeste Abstände - Laufzeitanalyse Q:=Liste von Haltepunkten nach x- Koordinate sortiert; L:= ; {L: Lösungsmenge} while Q do begin q:=first(q); Q:=rest(Q); update(l,q) end. O(n) Durchläufe O(1) O(1) O(n log n)

44 Kürzeste Abstände - Laufzeitanalyse Q:=Liste von Haltepunkten nach x- Koordinate sortiert; L:= ; {L: Lösungsmenge} while Q do begin q:=first(q); Q:=rest(Q); update(l,q) end. O(n) Durchläufe O(n log n) O(1) O(1) Überprüfe alle Punkte im Halbkreis um P auf ihren Abstand zu P; zeige: im Halbkreis max. 4 Punkte. O(1)

45 Kürzeste Abstände - Laufzeitanalyse Q:=Liste von Haltepunkten nach x- Koordinate sortiert; L:= ; {L: Lösungsmenge} while Q do begin q:=first(q); Q:=rest(Q); update(l,q) end. O(n) Durchläufe O(n log n) Insgesamt: O(n log n) O(1) O(1) Überprüfe alle Punkte im Halbkreis um P auf ihren Abstand zu P; zeige: im Halbkreis max. 4 Punkte. O(1)

46 Kürzeste Abstände - Halbkreisanalyse d d P Halbkreisanfragen sind aufwendig. Daher: Erweitere den Halbkreis mit Radius d auf ein Rechteck mit Kantenlängen d und 2d. Zeige: Rechteck enthält max. 10 Punkte.

47 Kürzeste Abstände - Halbkreisanalyse d d P Halbkreisanfragen sind aufwendig. Daher: Erweitere den Halbkreis mit Radius d auf ein Rechteck mit Kantenlängen d und 2d. Zeige: Rechteck enthält max. 10 Punkte.

48 Kürzeste Abstände - Halbkreisanalyse d P Halbkreisanfragen sind aufwendig. Daher: Erweitere den Halbkreis mit Radius d auf ein Rechteck mit Kantenlängen d und 2d. Zeige: Rechteck enthält max. 10 Punkte.

49 Kürzeste Abstände - Halbkreisanalyse d P d Halbkreisanfragen sind aufwendig. Daher: Erweitere den Halbkreis mit Radius d auf ein Rechteck mit Kantenlängen d und 2d. Zeige: Rechteck enthält max. 10 Punkte.

50 Kürzeste Abstände - Halbkreisanalyse 2d d P d Halbkreisanfragen sind aufwendig. Daher: Erweitere den Halbkreis mit Radius d auf ein Rechteck mit Kantenlängen d und 2d. Zeige: Rechteck enthält max. 10 Punkte.

51 Kürzeste Abstände - Halbkreisanalyse 2d d P d

52 Kürzeste Abstände - Halbkreisanalyse 2d d P d Anfrage an Rechteck: Vergleiche nur x- und y-koordinaten der Punkte mit denen von P.

53 Kürzeste Abstände - Lemma Lemma: Sei d>0 und S eine Menge von Punkten in der Ebene, die paarweise Abstand d besitzen. Dann enthält ein Rechteck mit Kantenlängen d und 2d höchstens 10 Punkte aus S.

54 Kürzeste Abstände - Lemmabeweis Beweis: Nach Voraussetzung sind die offenen Kreise um p S mit Radius d/2 paarweise disjunkt. Liegt p in einem Rechteck R mit Kantenlänge d und 2d, so ist mindestens 1/4 der offenen Kreisscheibe in R enthalten. Durch Flächenberechnung ergibt sich, daß R höchstens Fläche(R) = d 2 = <11 Fläche(Viertelkreis) ( viele Punkte von S enthalten 1 /4)π( kann. d /2) 2 π

55 Kürzeste Abstände - Ergebnis Ergebnis: update(l,q) bei Hinzunahme eines neuen Punkts benötigt O(1) Zeit (bei geeigneter Implementierung). Gesamtalgorithmus: O(n log n) Zeit.

56 Kürzeste Abstände - Animation ClosestPairAP.html Zugriff:

57 Kürzeste Abstände - Implementierung d P

58 Kürzeste Abstände - Implementierung d P x_array

59 Kürzeste Abstände - Implementierung d P x_array

60 Kürzeste Abstände - Implementierung d P x_array

61 Kürzeste Abstände - Implementierung d P x_array

62 Kürzeste Abstände - Implementierung d P x_array

63 Kürzeste Abstände - Implementierung d P x_array

64 Kürzeste Abstände - Implementierung d P x_array

65 Kürzeste Abstände - Implementierung d P x_array

66 Kürzeste Abstände - Implementierung d P x_array

67 Kürzeste Abstände - Implementierung d P x_array aktuell

68 Kürzeste Abstände - Implementierung d P x_array links aktuell

69 Kürzeste Abstände - Implementierung d P x_array links aktuell

70 Kürzeste Abstände - Implementierung d P x_array links aktuell

71 Kürzeste Abstände - Implementierung P x_array links aktuell

72 Kürzeste Abstände - Implementierung P Prüfe y-koordinaten aller Punkte zwischen links und aktuell-1, ob sie in das Rechteck P.y±d fallen x_array links aktuell

73 Kürzeste Abstände - Implementierung Anlegen einer Datenstruktur Y für die Punkte zwischen links und aktuell, sortiert nach y- Koordinate Datenstruktur wird dynamisch immer wieder mit den relevanten Punkten bestückt effizientes Einfügen, Löschen erforderlich effiziente Bereichssuche (range query) der Art: liefere alle Punkte P mit x_array[aktuell].y-d P.y x_array[aktuell].y+d Implementierung von Y: z.b. als AVL-Baum mit linearer Verkettung der Knoten ( Y 10)

74 Kürzeste Abstände - Algorithmus Initialisierung: Sortiere Punkte aufsteigend nach x-koordinate in x_array; füge P1, P2 in Y ein; d:=d(p1, P2); links:=1; aktuell:=3;

75 Kürzeste Abstände - Algorithmus Schleife: while aktuell n do if x_array[links].x+d x_array[aktuell].x then entferne Punkt x_array[links] aus Y; links:=links+1 else füge Punkt x_array[aktuell] in Y ein; aktuell:=aktuell+1; d:=min_d(y,x_array[aktuell],d) write(d).

76 Kürzeste Abstände - Algorithmus Schleife: while aktuell n do if x_array[links].x+d x_array[aktuell].x then entferne Punkt x_array[links] aus Y; links:=links+1 else füge Punkt x_array[aktuell] in Y ein; aktuell:=aktuell+1; d:=min_d(y,x_array[aktuell],d) write(d). range query mit Laufzeit O(log n)

77 Konvexe Hülle - Problemstellung Gegeben: n Punkte im d-dimensionalen Raum (hier nur d=2) Gesucht: kleinste konvexe Hülle, die alle Punkte enthält (Ausgabe der zur Hülle gehörenden Punkte im Uhrzeigersinn) Eselbrücke: kürzester Zaun um Goldminen

78 Konvexe Hülle - Beispiel

79 Konvexe Hülle - Beispiel

80 Konvexe Hülle - Beispiel

81 Konvexe Hülle - Konvexität Definition Eine Menge M IR n heißt konvex, wenn mit je zwei Punkten x,y M die gesamte Strecke von x nach y in M liegt.

82 Konvexe Hülle - Konvexität Definition Eine Menge M IR n heißt konvex, wenn mit je zwei Punkten x,y M die gesamte Strecke von x nach y in M liegt. konvex nicht konvex

83 Konvexe Hülle - Konvexität Definition Die konvexe Hülle einer Menge M IR n ist die kleinste konvexe Menge, die M enthält.

84 Konvexe Hülle - Lösungsidee Divide-and-conquer-Verfahren Divide: Teile Punkteschar in zwei etwa gleichgroße Teile Bestimme konvexe Hülle für jede Teilpunktemenge Conquer: Verschmelze beide konvexen Hüllen zu einer einzigen für die Gesamtpunktemenge

85 Konvexe Hülle - Divide

86 Konvexe Hülle - Divide

87 Konvexe Hülle - Teillösungen

88 Konvexe Hülle - Teillösungen

89 Konvexe Hülle - Teillösungen

90 Konvexe Hülle - Conquer

91 Konvexe Hülle - Conquer

92 Konvexe Hülle - Conquer

93 Konvexe Hülle - Conquer

94 Konvexe Hülle - Conquer

95 Konvexe Hülle - Algorithmus var P: "nach x-koordinate aufsteigend sortierte Folge von Punkten (p1,...,pn)"; k: integer; if P 3 then "Berechne konvexe Hülle H von P auf direkte Weise" else k:= P /2 ; P1:= (p1,...,pk); P2:= (pk+1,...,pn); "Wende Verfahren rekursiv auf P1 und P2 an und erhalte zwei konvexe Hüllen H1 und H2"; "Verbinde H1 und H2 und erhalte die gesuchte konvexe Hülle H von P".

96 Konvexe Hülle - Algorithmus var P: "nach x-koordinate aufsteigend sortierte Folge von Punkten (p1,...,pn)"; k: integer; if P 3 then "Berechne konvexe Hülle H von P auf direkte Weise" else k:= P /2 ; schwierigster P1:= (p1,...,pk); P2:= (pk+1,...,pn); "Wende Verfahren rekursiv auf P1 und P2 Teil an und erhalte zwei konvexe Hüllen H1 und H2"; "Verbinde H1 und H2 und erhalte die gesuchte konvexe Hülle H von P".

97 Konvexe Hülle - Conquer

98 Konvexe Hülle - Conquer Brücke b1

99 Konvexe Hülle - Conquer Brücke b1 Brücke b2

100 Konvexe Hülle - Conquer Brücke b1 rechtester Punkt der linken Hülle pk pk Brücke b2

101 Konvexe Hülle - Conquer Brücke b1 linkester Punkt der rechten Hülle pk+1 pk+1 rechtester Punkt der linken Hülle pk pk Brücke b2

102 Konvexe Hülle - Conquer Brücke b1 linkester Punkt der rechten Hülle pk+1 pk+1 rechtester Punkt der linken Hülle pk pk Brücke b2

103 Konvexe Hülle - Conquer Brücke b1 linkester Punkt der rechten Hülle pk+1 pk+1 s rechtester Punkt der linken Hülle pk pk Brücke b2

104 Konvexe Hülle - Bestimmung Brücke b1 u:=pk; v:=pk+1; s:=strecke uv; while "der auf u gegen den Uhrzeigersinn in der linken Hülle folgende Punkt u' oder der auf v im Uhrzeigersinn in der rechten Hülle folgende Punkt v' liegen oberhalb von s" do if "die while-bedingung trifft auf u zu" then u:=u' else v:=v'. Analog für b2

105 Konvexe Hülle - Conquer pk+1 s pk

106 Konvexe Hülle - Conquer pk+1 s pk

107 Konvexe Hülle - Conquer pk+1 s pk

108 Konvexe Hülle - Conquer pk+1 s pk

109 Konvexe Hülle - Conquer pk+1 s pk

110 Konvexe Hülle - Conquer pk+1 s pk

111 Konvexe Hülle - Conquer pk+1 s pk

112 Konvexe Hülle - Conquer pk+1 s pk

113 Konvexe Hülle - Conquer pk+1 s pk

114 Konvexe Hülle - Conquer pk+1 s pk

115 Konvexe Hülle - Conquer pk+1 s pk

116 Konvexe Hülle - Conquer pk+1 s pk

117 Konvexe Hülle - Conquer pk+1 s pk

118 Konvexe Hülle - Conquer pk+1 s pk

119 Konvexe Hülle - Conquer pk+1 s pk

120 Konvexe Hülle - Laufzeit Man zeigt für die Laufzeit T leicht: T(n)=2T( n /2)+O(n) T(3)=1 Lösung: T(n)=O(n log n)

121 Konvexe Hülle - untere Schranke Geht es noch effizienter als O(n log n)? NEIN! Zeige: Ein Algorithmus zur Bestimmung der konvexen Hülle ist zugleich ein Algorithmus zum Sortieren. Könnte man die konvexe Hülle für n Punkte also schneller bestimmen als O(n log n), so könnte man schneller sortieren als O(n log n). Widerspruch!! Man reduziert das Sortierproblem auf das Problem der konvexen Hülle (Reduktion).

122 Konvexe Hülle - untere Schranke Satz Ein Algorithmus zur Bestimmung der konvexen Hülle von n Punkten in der Ebene benötigt mindestens O(n log n) Vergleiche.

123 Konvexe Hülle - untere Schranke Beweisskizze Wähle beliebige zu sortierende Zahlen x1,...,xn IR. Betrachte die Punkte (x1,x1 2 ),...,(xn,xn 2 ) und bestimme ihre konvexe Hülle. Offenbar gehören alle Punkte (xi,xi 2 ) zur konvexen Hülle.

124 Konvexe Hülle - untere Schranke Beweisskizze (Forts.) Die Ausgabe des Algorithmus aller Punkte der konvexen Hülle im Uhrzeigersinn ist zugleich eine Sortierung der Zahlen x1,...,xn, wenn man die zweite Koordinate streicht.

125 Konvexe Hülle - untere Schranke Beweisskizze (Forts.) Ein Algorithmus zur Bestimmung der konvexen Hülle von n Punkten ist also zugleich ein Algorithmus zum Sortieren von n reellen Zahlen. Folglich ist die untere Schranke für Sortieren zugleich untere Schranke für das Problem der konvexen Hülle.

Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill

Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill Konvexe Hülle Hierbei handelt es sich um ein klassisches Problem aus der Algorithmischen Geometrie, dem Teilgebiet der Informatik, in dem man für geometrische Probleme effiziente Algorithmen bestimmt.

Mehr

Algorithmische Techniken für Geometrische Probleme

Algorithmische Techniken für Geometrische Probleme Algorithmische Techniken für Geometrische Probleme Berthold Vöcking 14. Juni 2007 Inhaltsverzeichnis 1 Die Sweepline-Technik 2 1.1 Schnitte orthogonaler Liniensegmente............... 2 1.2 Schnitte beliebiger

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

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

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 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 22.04.2014 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

Mehr

Geometrische Algorithmen Voronoi-Diagramme. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Voronoi-Diagramme

Geometrische Algorithmen Voronoi-Diagramme. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Voronoi-Diagramme Folie 1 von 32 Geometrische Algorithmen Voronoi-Diagramme Folie 2 von 32 Voronoi-Diagramme Übersicht Problemstellung Animation zur Konstruktion eines Voronoi-Diagramms Definition, Eigenschaften eines Voronoi-Diagramms

Mehr

Das Divide - and - Conquer Prinzip. Quicksort Formulierung und Analyse des Prinzips Geometrisches Divide and Conquer - Closest-Pair - Segmentschnitt

Das Divide - and - Conquer Prinzip. Quicksort Formulierung und Analyse des Prinzips Geometrisches Divide and Conquer - Closest-Pair - Segmentschnitt Divide and Conquer Das Divide - and - Conquer Prinzip Quicksort Formulierung und Analyse des Prinzips Geometrisches Divide and Conquer - Closest-Pair - Segmentschnitt 2 Quicksort: Sortieren durch Teilen

Mehr

Abschnitt 19: Sortierverfahren

Abschnitt 19: Sortierverfahren Abschnitt 19: Sortierverfahren 19. Sortierverfahren 19.1 Allgemeines 19.2 Einfache Sortierverfahren 19.3 Effizientes Sortieren: Quicksort 19.4 Zusammenfassung 19 Sortierverfahren Informatik 2 (SS 07) 758

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

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Geometrisches Problem: Problem: Nächstes Paar Eingabe: n Punkte in der Ebene Ausgabe: Das Paar q,r mit geringstem Abstand

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

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

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005 Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005 Antonia Wittmers Igor Savchenko Konvexe Hüllen Inkrementeller Algorithmus für die konvexe Hülle Dabei heißt inkrementeller Algorithmus,

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 03.12.2013 Algorithmische Geometrie: Schnitte von Strecken Sweep-Line INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 26.06.2012 Prüfung! Termine: 20. Juli 27.

Mehr

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 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 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 17. Vorlesung Nächstes Paar Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Problem: Gegeben: Menge P von n Punkten in der Ebene, jeder Punkt

Mehr

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30 Geometrie 2 Julian Fischer 6.7.2009 Julian Fischer Geometrie 2 6.7.2009 1 / 30 Themen 1 Bereichssuche und kd-bäume 1 Bereichssuche 2 kd-bäume 2 Divide and Conquer 1 Closest pair 2 Beispiel: Points (IOI

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

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

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 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 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

Mehr

Anwendungen der WSPD & Sichtbarkeitsgraphen

Anwendungen der WSPD & Sichtbarkeitsgraphen Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 10.07.2012 Wdh.: Well-Separated Pair Decomposition Def.: Ein Paar disjunkter Punktmengen

Mehr

Bereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.05.2011 Geometrie in Datenbanken In einer Personaldatenbank

Mehr

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

Punktlokalisierung. 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 22.05.2012 Nachtrag: Dynamische Bereichsabfragen Letzte Woche: kd-trees und Range-Trees

Mehr

Geometrie. Hallo Welt! für Fortgeschrittene Simon Kuhnle. 11. Juli

Geometrie. Hallo Welt! für Fortgeschrittene Simon Kuhnle. 11. Juli Geometrie Hallo Welt! für Fortgeschrittene 2008 Simon Kuhnle sisikuhn@stud.informatik.uni-erlangen.de 11. Juli 2008 Simon Kuhnle Geometrie 11.07.2008 1 / 33 Übersicht Übersicht 1 Grundlagen 2 ccw 3 Konvexe

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.

Mehr

Seminar. Algorithmische Geometrie

Seminar. Algorithmische Geometrie Seminar Algorithmische Geometrie WS 2000/2001 Thema: Konvexe Hülle Mirko Dennler 21439 Inhaltsverzeichnis Konvexe Hülle 1. Problemstellung 3 2. GRAHAMS SCAN 4-5 3. JARVIS' MARCH 5-6 4. QUICK HULL 6-7 5.

Mehr

Geometrische Algorithmen

Geometrische Algorithmen Geometrische Algorithmen Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich für Algorithmen und Datenstrukturen Institut für Computergraphik und Algorithmen Technische Universität Wien Einführung

Mehr

Algorithmische Geometrie. Prof. Dr. Thomas Ottmann. Mitarbeit: PD Dr. Sven Schuierer Dr. Stefan Edelkamp

Algorithmische Geometrie. Prof. Dr. Thomas Ottmann. Mitarbeit: PD Dr. Sven Schuierer Dr. Stefan Edelkamp Algorithmische Geometrie Prof. Dr. Thomas Ottmann Mitarbeit: PD Dr. Sven Schuierer Dr. Stefan Edelkamp Literatur: M. de Berg, M. van Krefeld, M. Overmars O. Schwarzkopf: Computational Geometry (Algorithms

Mehr

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Bereichsabfragen II. 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 20.05.2014 Objekttypen in Bereichsabfragen y0 y0 y x x0 Bisher betrachteter Fall Eingabe:

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit

Mehr

Konvexe Hülle. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links), konvexe Menge (rechts) KIT Institut für Theoretische Informatik 510

Konvexe Hülle. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links), konvexe Menge (rechts) KIT Institut für Theoretische Informatik 510 Konvexe Hülle Definition konvexe Menge: Für je zwei beliebige Punkte, die zur Menge gehören, liegt auch stets deren Verbindungsstrecke ganz in der Menge. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links),

Mehr

Range-Search. Operationen: Welche Datenstrukturen sind geeignet? Arrays? Listen? AVL-Bäume? Splay-Bäume?

Range-Search. Operationen: Welche Datenstrukturen sind geeignet? Arrays? Listen? AVL-Bäume? Splay-Bäume? Algorithmische Geometrie Die Technik der Sweepline Range-Search (Folie 431, Seite 79 im Skript) Operationen: 1 Einfügen einer Zahl x 2 Löschen einer Zahl x 3 Ausgabe aller gespeicherter Zahlen in [a, b]

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Map Labeling INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.05.2011 Motivation Gegeben eine Position p = (p x, p y )

Mehr

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y0 y x x0 Bisher

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

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y x x0 Bisher

Mehr

Anwendungen der WSPD & Sichtbarkeitsgraphen

Anwendungen der WSPD & Sichtbarkeitsgraphen Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 08.07.2014 1 Wdh.: Well-Separated Pair Decomposition Def.: Ein Paar disjunkter Punktmengen

Mehr

Einführung & Konvexe Hülle

Einführung & Konvexe Hülle Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.04.2011 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu

Mehr

Kapitel 2. Weitere Beispiele Effizienter Algorithmen

Kapitel 2. Weitere Beispiele Effizienter Algorithmen Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte

Mehr

Polygontriangulierung

Polygontriangulierung Vorlesung Algorithmische Geometrie Polygone triangulieren LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 26.04.2011 Das Kunstgalerie-Problem

Mehr

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1 Vorlesung Geometrische Algorithmen Sichtbarkeitsgraphen und kurzeste Wege Sven Schuierer Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale

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

5. Bäume und Minimalgerüste

5. Bäume und Minimalgerüste 5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein

Mehr

Triangulierung von einfachen Polygonen

Triangulierung von einfachen Polygonen Triangulierung von einfachen Polygonen - Seminarvortrag von Tobias Kyrion - Inhalt: 1.1 Die Problemstellung Quellenangabe 1.1 Die Problemstellung Definition Polygon: endlich viele paarweise verschiedene

Mehr

Einführung & Konvexe Hülle

Einführung & Konvexe Hülle Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.04.2012 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu

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

Kapitel 3: Sortierverfahren Gliederung

Kapitel 3: Sortierverfahren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.06.2012 Dualitätsabbildung Bisher haben wir Dualität für planare

Mehr

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y GRUNDZÜGE DER ALGORITHMISCHEN GEOMETRIE Klausur 18. Juli 2008, 10:15-12:15 Uhr Name:................................... Matrikelnummer:................................... Anzahl beschriebener Blätter (ohne

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Klausur Wichtige Hinweise: 2.7.07, Beginn 9 Uhr Bitte spätestens 8:4 Uhr vor Ort sein Sporthalle + Audimax Informationen

Mehr

Graphalgorithmen Minimale Spannbäume. Kruskal: Minimaler Spannbaum

Graphalgorithmen Minimale Spannbäume. Kruskal: Minimaler Spannbaum Kruskal: Minimaler Spannbaum (Folie 414, Seite 78 im Skript) 4 6 2 3 1 2 5 3 7 1 4 Kruskals Algorithmus Implementierung (Folie 415, Seite 78 im Skript) Algorithmus function Kruskal(G, w) : A := ; for each

Mehr

Polygontriangulierung

Polygontriangulierung Übung Algorithmische Geometrie Polygontriangulierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 07.05.204 Ablauf Vergabe der Projekte Übungsblatt

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 6. Vorlesung Martin Middendorf / Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Merge-Sort Anwendbar für

Mehr

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.06.2012 Dualitätsabbildung Bisher haben wir Dualität für planare

Mehr

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.06.2014 1 Dualitätsabbildung Bisher haben wir Dualität für planare

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

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

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

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

Algorithmische Geometrie: Voronoi Diagramme (Teil 2)

Algorithmische Geometrie: Voronoi Diagramme (Teil 2) Algorithmische Geometrie: Voronoi Diagramme (Teil 2) Nico Düvelmeyer WS 2009/2010, 12.1.2010 Überblick 1 Definition und grundlegende Eigenschaften (Wied.) 2 Bestimmung des Voronoi Diagramms Gleitebenenverfahren

Mehr

G. Zachmann Clausthal University, Germany Die wichtigsten Entwurfsverfahren für Algorithmen:

G. Zachmann Clausthal University, Germany Die wichtigsten Entwurfsverfahren für Algorithmen: lausthal Informatik II Divide & onquer. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Algorithmen-Design-Techniken Die wichtigsten Entwurfsverfahren für Algorithmen: 1. Divide and onquer

Mehr

Kap. 3 Sortieren. 7. VO DAP2 SS Mai Vorlesung am Do 7.5. entfällt wegen FVV um 14 Uhr HeapSort ff 3.1.

Kap. 3 Sortieren. 7. VO DAP2 SS Mai Vorlesung am Do 7.5. entfällt wegen FVV um 14 Uhr HeapSort ff 3.1. Kap. 3 Sortieren 3.1.5 HeapSort ff 3.1.6 Priority Queues Vorlesung am Do 7.5. entfällt wegen FVV um 14 Uhr Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 7.

Mehr

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1

Mehr

Übersicht. 1 Einführung. 2 Suchen und Sortieren. 3 Graphalgorithmen. 4 Algorithmische Geometrie. 5 Textalgorithmen. 6 Paradigmen

Übersicht. 1 Einführung. 2 Suchen und Sortieren. 3 Graphalgorithmen. 4 Algorithmische Geometrie. 5 Textalgorithmen. 6 Paradigmen Übersicht 1 Einführung 2 Suchen und Sortieren 3 Graphalgorithmen 4 Algorithmische Geometrie 5 6 Paradigmen Übersicht 5 Editdistanz (Folie 446, Seite 83 im Skript) Eingabe: Zwei Strings v und w Frage: Kommt

Mehr

Kapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung

Kapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

Mehr

Spanner und weitere Anwendungen der WSPD

Spanner und weitere Anwendungen der WSPD Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 05.07.2011 Wdh.: Well-Separated Pair Decomposition Def.: Ein

Mehr

Sichtbarkeitsgraphen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Sichtbarkeitsgraphen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.07.2011 Bewegungslanung für Roboter Ideen?? Problem: Gegeben

Mehr

Komplexität von Algorithmen:

Komplexität von Algorithmen: Komplexität von Algorithmen: Ansatz: Beschreiben/erfassen der Komplexität über eine Funktion, zur Abschätzung des Rechenaufwandes abhängig von der Größe der Eingabe n Uns interessiert: (1) Wie sieht eine

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge

Mehr

2.1. Konvexe Hülle in 2D

2.1. Konvexe Hülle in 2D Wir wollen die konvexe Hülle einer Menge von Punkten P = {p 1,..., p n } in der Ebene R 2 bestimmen. y y x x Def. 21: Eine Teilmenge S der Ebene ist konvex gdw für jedes Paar das Liniensegment pq in S

Mehr

Polygontriangulierung

Polygontriangulierung Übung Algorithmische Geometrie Polygontriangulierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 05.05.2011 Ablauf Besprechung ÜB3 Korrektheitsbeweis

Mehr

Grundzüge von Algorithmen und Datenstrukturen, WS 15/16: Lösungshinweise zum 13. Übungsblatt

Grundzüge von Algorithmen und Datenstrukturen, WS 15/16: Lösungshinweise zum 13. Übungsblatt U N S A R I V E R S A V I E I T A S N I S S Grundzüge von Algorithmen und Datenstrukturen, WS /6: Lösungshinweise zum 3. Übungsblatt Christian Hoffmann, Fabian Bendun Aufgabe 3. (a) Sei j i + = n die Größe

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2017/18 Pro f. Dr. Sán do r Fe k e te 1 Binärer Suchbaum Außerdem wichtig: Struktur der Schlüsselwerte! 2 Ordnungsstruktur Linker

Mehr

Geometrie II Hallo Welt! für Fortgeschrittene

Geometrie II Hallo Welt! für Fortgeschrittene Geometrie II Hallo Welt! für Fortgeschrittene - 2010 Thorsten Wißmann 2. Juli 2010 Stand: 1. Juli 2010 Thorsten Wißmann Geometrie II 2. Juli 2010 1 / 40 Inhalt 1 Datentypen 2 Bereichssuche Gitterverfahren

Mehr

Sweep-Verfahren (Scan-Verfahren, Scanlinien- / Scanebenen- Verfahren): wichtige algorithmische Technik / Paradigma analog zu "divide and conquer"

Sweep-Verfahren (Scan-Verfahren, Scanlinien- / Scanebenen- Verfahren): wichtige algorithmische Technik / Paradigma analog zu divide and conquer 3. Das Sweep-Verfahren Sweep-Verfahren (Scan-Verfahren, Scanlinien- / Scanebenen- Verfahren): wichtige algorithmische Technik / Paradigma analog zu "divide and conquer" Prinzip: Rückführung eines n-dim.

Mehr

Geometrische Datenstrukturen

Geometrische Datenstrukturen Geometrische Datenstrukturen 1. Rechteckschnitt 2. Segment Bäume 3. Intervall Bäume 4. Prioritätssuchbäume 1. Rechteckschnitt - Schwenke horizontale Scan-Line von oben nach unten. - Speichere die Schnitte

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00

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

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

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. (Sortierte) Listen 2. Stacks & Queues 3. Datenstrukturen 4. Rekursion und vollständige Induktion

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr. Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Fortgeschrittene Datenstrukturen Such-Algorithmen

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /

Mehr

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016 Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 e0926364@student.tuwien.ac.at 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Geometrie I Markus Götze Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Grundlagen Polygone ccw Pick's Theorem Konvexe Hülle Hallo Welt für Fortgeschrittene

Mehr