Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Größe: px
Ab Seite anzeigen:

Download "Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie"

Transkript

1 Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg

2 Motivation Gegeben eine Position p = (p x, p y ) in einer Landkarte, bestimme in welchem Land p liegt.

3 Motivation Gegeben eine Position p = (p x, p y ) in einer Landkarte, bestimme in welchem Land p liegt.

4 Motivation Gegeben eine Position p = (p x, p y ) in einer Landkarte, bestimme in welchem Land p liegt. Genauer: Finde eine Datenstruktur, die solche Lokalisierungsanfragen effizient beantworten kann.

5 Motivation Gegeben eine Position p = (p x, p y ) in einer Landkarte, bestimme in welchem Land p liegt. Genauer: Finde eine Datenstruktur, die solche Lokalisierungsanfragen effizient beantworten kann. Dabei ist die Landkarte eine Unterteilung der Ebene in disjunkte Polygone.

6 Problemstellung

7 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle.

8 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle.

9 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle.

10 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle.

11 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle.

12 Problemstellung Ziel: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. 2 Min. nachdenken!

13 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen.

14 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen.

15 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage:

16 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage: finde richtigen Streifen

17 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage: finde richtigen Streifen

18 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage: finde richtigen Streifen durchsuche diesen Streifen

19 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage: finde richtigen Streifen durchsuche diesen Streifen

20 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. Anfrage: finde richtigen Streifen durchsuche diesen Streifen } 2 binäre Suchen

21 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. } Anfrage: finde richtigen Streifen durchsuche diesen Streifen O(log n) Zeit 2 binäre Suchen

22 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. } Anfrage: finde richtigen Streifen durchsuche diesen Streifen O(log n) Zeit 2 binäre Suchen Aber:

23 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. } Anfrage: finde richtigen Streifen durchsuche diesen Streifen O(log n) Zeit 2 binäre Suchen Aber: Platz?

24 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. } Anfrage: finde richtigen Streifen durchsuche diesen Streifen O(log n) Zeit 2 binäre Suchen Aber: Platz? Θ(n 2 )

25 Problemstellung Ziel: Lösung: Geg. eine Unterteilung S der Ebene mit n Strecken, erstelle Datenstruktur für schnelle. Zerteile S an Punkten in vertikale Streifen. } Anfrage: finde richtigen Streifen durchsuche diesen Streifen O(log n) Zeit 2 binäre Suchen Aber: Platz? Θ(n 2 ) Frage: Bsp. für untere Schranke?

26 Verringern der Komplexität Beob.: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze.

27 Verringern der Komplexität Beob.: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Ziel: Finde geeignete Verfeinerung von S mit geringerer Komplexität!

28 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S)

29 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S)

30 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) R

31 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R

32 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R

33 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R

34 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R

35 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R

36 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Kante von jedem Endpunkt vertikal nach oben und unten bis zum Nachbarsegment R

37 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) R

38 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Vergleich mit Streifenzerlegung R

39 Verringern der Komplexität Beob.: Ziel: Die Streifenzerlegung ist eine Verfeinerung S von S in (evtl. degenerierte) Trapeze. Finde geeignete Verfeinerung von S mit geringerer Komplexität! Lösung: Trapezzerlegung T (S) Annahme: S ist in allgemeiner Lage, d.h. keine zwei Knoten haben gleiche x-koordinaten. R

40 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze.

41 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze.

42 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze.

43 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze.

44 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. Beob.: S in allg. Lage jede Facette von T (S) hat:

45 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. Beob.: S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten

46 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten

47 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite:

48 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite:

49 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite:

50 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite:

51 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite: R

52 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite: leftp( ) R

53 Notation Definition: Eine Seite einer Facette von T (S) ist eine maximal lange Teilstrecke der Facettengrenze. top( ) Beob.: bot( ) S in allg. Lage jede Facette von T (S) hat: ein oder zwei vertikale Seiten zwei nicht-vertikale Seiten Linke Seite: leftp( ) analog: rightp( ) R

54 Komplexität der Trapezzerlegung Beob.: Ein Trapez wird eindeutig durch bot( ), top( ), leftp( ) und rightp( ) definiert. top( ) leftp( ) bot( ) rightp( )

55 Komplexität der Trapezzerlegung Beob.: Ein Trapez wird eindeutig durch bot( ), top( ), leftp( ) und rightp( ) definiert. top( ) leftp( ) bot( ) rightp( )

56 Komplexität der Trapezzerlegung Beob.: Ein Trapez wird eindeutig durch bot( ), top( ), leftp( ) und rightp( ) definiert. top( ) leftp( ) bot( ) rightp( ) Lemma: Die Trapezzerlegung T (S) einer Menge S von n Strecken in allgemeiner Lage enthält höchstens 6n + 4 Knoten und höchstens 3n + 1 Trapeze.

57 Komplexität der Trapezzerlegung Beob.: Ein Trapez wird eindeutig durch bot( ), top( ), leftp( ) und rightp( ) definiert. top( ) leftp( ) bot( ) rightp( ) Lemma: Die Trapezzerlegung T (S) einer Menge S von n Strecken in allgemeiner Lage enthält höchstens 6n + 4 Knoten und höchstens 3n + 1 Trapeze.

58 Suchstruktur Ziel: Berechne die Trapezzerlegung T (S) und gleichzeitig eine Datenstruktur D(S) zur Lokalisierung in T (S). p 1 B s 1 q 1 A D E p 2 s 2 C F T (S) A G q 2 D(S) ist ein DAG mit: B C p 1 D(S) q 1 s 1 p 2 q 2 s 2 E s 2 D F p x-knoten für Punkt p testet auf links/rechts von p s y-knoten für Strecke s testet auf oberhalb/unterhalb von s G Blattknoten für Trapez

59 Inkrementeller Algorithmus Trapezzerlegung(S) Input: Menge S = {s 1,..., s n } von kreuzungsfreien Strecken Output: Trapezzerlegung T (S) und Suchstruktur D(S) Initialisiere T und D für R = BBox(S) S RandomPermutation(S) for i 1 to n do H { T s i } T T \ H T T neue durch s i erzeugte Trapeze D ersetze Blätter für H durch Blätter für neue Trapeze return (T, D)

60 Inkrementeller Algorithmus Trapezzerlegung(S) Input: Menge S = {s 1,..., s n } von kreuzungsfreien Strecken Output: Trapezzerlegung T (S) und Suchstruktur D(S) Initialisiere T und D für R = BBox(S) S RandomPermutation(S) for i 1 to n do H { T s i } T T \ H T T neue durch s i erzeugte Trapeze D ersetze Blätter für H durch Blätter für neue Trapeze return (T, D) Problem: Größe von D und Anfragezeit sind abhängig von Einfügereihenfolge

61 Inkrementeller Algorithmus Trapezzerlegung(S) Input: Menge S = {s 1,..., s n } von kreuzungsfreien Strecken Output: Trapezzerlegung T (S) und Suchstruktur D(S) Initialisiere T und D für R = BBox(S) S RandomPermutation(S) for i 1 to n do H { T s i } T T \ H T T neue durch s i erzeugte Trapeze D ersetze Blätter für H durch Blätter für neue Trapeze return (T, D) Problem: Größe von D und Anfragezeit sind abhängig von Einfügereihenfolge Lösung: Randomisierung!

62 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur

63 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, )

64 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, ) Schritt 1: H { T s i }

65 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, ) Schritt 1: H { T s i }

66 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, ) Schritt 1: H { T s i }

67 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, ) Schritt 1: H { T s i } Aufgabe: Wie findet man die Trapezmenge H von links nach rechts?

68 Randomisierter Inkrementeller Algorithmus Invariante: T ist Trapezzerlegung für S i = {s 1,..., s i } und D passende Suchstruktur Initialisierung: T = T ( ) = R und D = (R, ) Schritt 1: H { T s i } Aufgabe: Wie findet man die Trapezmenge H von links nach rechts? 0 FindeTrapez(p i, D); j 0 while rechter Endpunkt q i rechts von rightp( j ) do if rightp( j ) über s i then j+1 unterer rechter Nachbar von j else j+1 oberer rechter Nachbar von j j j + 1 return 0,..., j

69 Update von T (S) und D(S) Schritt 2: Aktualisiere T und D Fall 1: s i 0 p i s i q i B 0 A C D T (S i 1 ) T (S i )

70 Update von T (S) und D(S) Schritt 2: Aktualisiere T und D Fall 1: s i 0 p i s i q i B 0 A C D T (S i 1 ) T (S i ) D(S i 1 ) D(S i ) 0 A p i q i B s i C D

71 Update von T (S) und D(S) Schritt 2: Aktualisiere T und D Fall 1: s i 0 Fall 2: T s i 2 s i 3 p A i 0 2 q i 1 B D E F C T (S i 1 ) T (S i )

72 Update von T (S) und D(S) Schritt 2: Aktualisiere T und D Fall 1: s i 0 Fall 2: T s i 2 s i 3 p A i 0 2 q i 1 B D E F C T (S i 1 ) T (S i ) D(S i 1 ) D(S i ) ?

73 Update von T (S) und D(S) Schritt 2: Aktualisiere T und D Fall 1: s i 0 Fall 2: T s i 2 s i 3 p A i 0 2 q i 1 B D E F C T (S i 1 ) T (S i ) D(S i 1 ) D(S i ) s i s i s i q i A B C D s i E F

74 Analyse Satz: Der Algorithmus berechnet die Trapezzerlegung T (S) und die Suchstruktur D für eine Menge S von n Strecken in erwartet O(n log n) Zeit. Die erwartete Größe von D ist O(n) und die erwartete Anfragezeit O(log n).

75 Analyse Satz: Der Algorithmus berechnet die Trapezzerlegung T (S) und die Suchstruktur D für eine Menge S von n Strecken in erwartet O(n log n) Zeit. Die erwartete Größe von D ist O(n) und die erwartete Anfragezeit O(log n). Beobachtungen: im schlimmsten Fall kann D quadratisch groß werden und eine Anfrage lineare Zeit benötigen Hoffnung: das passiert nur selten! betrachte erwartete Laufzeit und Größe über alle n! möglichen Permutationen von S der Satz gilt unabhängig von der Eingabemenge S

76 Degenerierte Eingaben Zwei Annahmen bislang: keine zwei Streckenendpunkte habe gleiche x-koordinate immer eindeutige Antworten im Suchpfad

77 Degenerierte Eingaben Zwei Annahmen bislang: keine zwei Streckenendpunkte habe gleiche x-koordinate immer eindeutige Antworten im Suchpfad Ausweg: symbolische Scherung ϕ : (x, y) (x + εy, y) y y ϕ x x

78 Degenerierte Eingaben Zwei Annahmen bislang: keine zwei Streckenendpunkte habe gleiche x-koordinate immer eindeutige Antworten im Suchpfad Ausweg: symbolische Scherung ϕ : (x, y) (x + εy, y) y y ϕ x x Dabei ist ε > 0 so gewählt, dass sich die x-ordnung der Punkte nicht ändert.

79 Degenerierte Eingaben Führe Algorithmus für ϕs = {ϕs s S} und ϕp aus.

80 Degenerierte Eingaben Führe Algorithmus für ϕs = {ϕs s S} und ϕp aus. Zwei elementare Operationen beim Aufbau von T und D: 1. liegt q links oder rechts der Vertikalen durch p? 2. liegt q oberhalb oder unterhalb der Strecke s?

81 Degenerierte Eingaben Führe Algorithmus für ϕs = {ϕs s S} und ϕp aus. Zwei elementare Operationen beim Aufbau von T und D: 1. liegt q links oder rechts der Vertikalen durch p? 2. liegt q oberhalb oder unterhalb der Strecke s? Auch Lokalisierung eines Punktes q in T (S) geht durch Lokalisierung von ϕq in T (ϕs).

82 Worst-Case Abschätzung Bislang: erwartete Anfragezeit für bel. Punkt ist O(log n) Aber: jede Permutation könnte sehr schlechte Anfragepunkte haben

83 Worst-Case Abschätzung Bislang: erwartete Anfragezeit für bel. Punkt ist O(log n) Aber: jede Permutation könnte sehr schlechte Anfragepunkte haben Lemma: Sei S Menge von n kreuzungsfreien Strecken, q Anfragepunkt und λ > 0. Dann gilt Pr[Suchpfad für q länger als 3λ ln(n + 1)] 1/(n + 1) λ ln

84 Worst-Case Abschätzung Bislang: erwartete Anfragezeit für bel. Punkt ist O(log n) Aber: jede Permutation könnte sehr schlechte Anfragepunkte haben Lemma: Sei S Menge von n kreuzungsfreien Strecken, q Anfragepunkt und λ > 0. Dann gilt Pr[Suchpfad für q länger als 3λ ln(n + 1)] 1/(n + 1) λ ln Lemma: Sei S Menge von n kreuzungsfreien Strecken und λ > 0. Dann gilt Pr[max. Suchpfad in D länger als 3λ ln(n + 1)] 2/(n + 1) λ ln

85 Worst-Case Abschätzung Bislang: erwartete Anfragezeit für bel. Punkt ist O(log n) Aber: jede Permutation könnte sehr schlechte Anfragepunkte haben Lemma: Sei S Menge von n kreuzungsfreien Strecken, q Anfragepunkt und λ > 0. Dann gilt Pr[Suchpfad für q länger als 3λ ln(n + 1)] 1/(n + 1) λ ln Lemma: Sei S Menge von n kreuzungsfreien Strecken und λ > 0. Dann gilt Pr[max. Suchpfad in D länger als 3λ ln(n + 1)] 2/(n + 1) λ ln Satz: Sei S Unterteilung der Ebene mit n Kanten. Es gibt eine Suchstruktur zur in S mit Platzbedarf O(n) und Anfragezeit O(log n).

86 Diskussion Gibt es ähnliche Methoden auch für höhere Dimensionen?

87 Diskussion Gibt es ähnliche Methoden auch für höhere Dimensionen? Die derzeit beste Datenstruktur in drei Dimensionen benötigt O(n log n) Platz und O(log 2 n) Anfragezeit [Snoeyink 04]. Ob es mit linearem Platz und O(log n) Anfragezeit geht ist eine offene Frage. In höheren Dimensionen sind effiziente Verfahren nur für spezielle Unterteilungen durch Hyperebenen bekannt.

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

Punktlokalisation 1. Trapez-Zerlegungen. 2. Eine Suchstruktur. 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung

Punktlokalisation 1. Trapez-Zerlegungen. 2. Eine Suchstruktur. 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung Punktlokalisation 1. Trapez-Zerlegungen 2. Eine Suchstruktur 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung 4. Analyse Punktlokalisation Einteilung in Streifen Anfragezeit:

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

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 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

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

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

Punkt-in-Polygon-Suche Übersicht

Punkt-in-Polygon-Suche Übersicht Folie 1 von 43 Punkt-in-Polygon-Suche Übersicht! Praxisbeispiel/Problemstellung! Zählen von Schnittpunkten " Schnitt einer Halbgerade mit der Masche " Aufwandsbetrachtung! Streifenkarte " Vorgehen und

Mehr

Lineare Programmierung

Lineare Programmierung Übung Algorithmische Geometrie Lineare Programmierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 14.05.2014 Übersicht Übungsblatt 4 Lineares

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

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

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

Geometrische Algorithmen Punkt-in-Polygon-Suche. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Punkt-in-Polygon-Suche

Geometrische Algorithmen Punkt-in-Polygon-Suche. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Punkt-in-Polygon-Suche Folie 1 von 51 Geometrische Algorithmen Punkt-in-Polygon-Suche Folie 2 von 51 Punkt-in-Polygon-Suche Übersicht Praxisbeispiel/Problemstellung Zählen von Schnittpunkten Schnitt einer Halbgerade mit der

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 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

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

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 21.06.2011 Motivation: Meshing von Platinenlayouts Zur Simulation

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

Algorithmische Geometrie 7. Punktsuche (Teil 2)

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

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.06.2012 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung

Mehr

Lineares Programmieren

Lineares Programmieren Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2011 Nachtrag Art Gallery Problem Lässt sich der Triangulierungs-Algorithmus

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

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

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

7. Triangulation von einfachen Polygonen

7. Triangulation von einfachen Polygonen 1 7. Triangulation von einfachen Polygonen 2 Ziel Bessere Laufzeit als O(n log n) durch schnelleres Berechnen der Trapezzerlegung des Polygons. 3 Idee Finde Methode, den Anfangspunkt einer Strecke in der

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.06.2014 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung

Mehr

Konvexe Hülle im R 3 + WSPD

Konvexe Hülle im R 3 + WSPD Übung Algorithmische Geometrie Konvexe Hülle im R 3 + WSPD LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 12.07.2012 Ablauf Konvexe Hülle im R 3

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

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft

Mehr

Proportional Symbol Maps

Proportional Symbol Maps Vorlesung Algorithmische Kartografie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg 25.06.2015 1 Statistische Visualisierung

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

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

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

Randomisiert inkrementelle Konstruktion der Trapezzerlegung. Strecken in der Ebene

Randomisiert inkrementelle Konstruktion der Trapezzerlegung. Strecken in der Ebene Randomiiert inkrementelle Kontruktion der Trapezzerlegung einer Menge von Strecken in der Ebene (Literatur: deberg et al., Kapitel 6) Chritian Knauer 1 Problemtellung Gegeben: Eine Menge von n Strecken

Mehr

Sichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie

Sichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie Übung Algorithmische Geometrie Sichtbarkeitsgraph LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 19.07.2012 Ablauf Nachtrag Sichtbarkeitsgraph WSPD

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

Kap. 3: Sortieren (3)

Kap. 3: Sortieren (3) Kap. 3: Sortieren (3) Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 6. VO DAP2 SS 2009 30. April 2009 Überblick Quick-Sort Analyse von Quick-Sort Quick-Sort

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Jeremias Weihmann Sommersemester 2014 Übungsblatt 2 28. April 2014 Grundlagen: Algorithmen und

Mehr

Voronoi-Diagramme und Delaunay-Triangulierungen

Voronoi-Diagramme und Delaunay-Triangulierungen Vorlesung Algorithmische Geometrie Voronoi-Diagramme & Delaunay-Triangulierungen LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 07.06.2011 Erinnerung:

Mehr

Einführung & Konvexe Hülle

Einführung & Konvexe Hülle Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 14.04.2014 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu Raum 319 Sprechzeiten:

Mehr

Zunächst ein paar einfache "Rechen"-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt:

Zunächst ein paar einfache Rechen-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Der Groß-O-Kalkül Zunächst ein paar einfache "Rechen"-Regeln: G. Zachmann Informatik 1 - WS 05/06 Komplexität 22 Additionsregel Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Zu beweisen: nur das

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale s t-flüsse in Planaren Graphen Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu

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

Dualität + Quad-trees

Dualität + Quad-trees Übung Algorithmische Geometrie Dualität + Quad-trees LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 30.06.2011 Übersicht Übungsblatt 10 - Dualität

Mehr

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). 8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame

Mehr

Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel

Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel Algorithmen und Datenstrukturen Bäume M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Baumstrukturen und Ihre Verwendung kennen Grundbegriffe zu Bäumen anwenden können Baumstruktur in C anlegen können Suchbäume

Mehr

Einführung & Konvexe Hülle

Einführung & Konvexe Hülle Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 14.04.2014 AlgoGeom-Team Dozent Martin Nöllenburg noellenburg@kit.edu Raum 319 Sprechzeiten:

Mehr

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern Datenstrukturen und Algorithmen 7. Suchen in linearen Feldern VO 708.031 Suchen in linearen Feldern robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische

Mehr

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011 Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 - AVL-Bäume: Entfernen) Prof. Dr. Susanne Albers Definition von AVL-Bäumen Definition: Ein binärer Suchbaum heißt AVL-Baum oder höhenbalanziert,

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

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

Kap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009

Kap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009 Kap. 4.7 Skiplisten Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 14./15. VO DAP2 SS 2008 9./16. Juni 2009 1 2. Übungstest Termin: Di 16. Juni 2009 im AudiMax,

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, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele

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 122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.

Mehr

Kapitel 2: Sortier- und Selektionsverfahren Gliederung

Kapitel 2: Sortier- und Selektionsverfahren Gliederung Gliederung 1. Laufzeit von Algorithmen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Randomisierte Algorithmen

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

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1 Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner. Musterlösung Problem : Average-case-Laufzeit vs. Worst-case-Laufzeit ** (a) Im schlimmsten Fall werden für jedes Element

Mehr

Polygontriangulierung

Polygontriangulierung Vorlesung Algorithmische Geometrie Polygone triangulieren INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2012 Das Kunstgalerie-Problem Aufgabe: Installiere ein Kamerasystem

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und

Mehr

Algorithmische Geometrie: Schnittpunkte von Strecken

Algorithmische Geometrie: Schnittpunkte von Strecken Algorithmische Geometrie: Schnittpunkte von Strecken Nico Düvelmeyer WS 2009/2010, 3.11.2009 3 Phasen im Algorithmenentwurf 1. Konzentration auf das Hauptproblem 2. Verallgemeinerung auf entartete Eingaben

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 011 Übungsblatt 30. Mai 011 Grundlagen: Algorithmen und Datenstrukturen

Mehr

Quad-trees. Benjamin Niedermann Übung Algorithmische Geometrie

Quad-trees. Benjamin Niedermann Übung Algorithmische Geometrie Übung Algorithmische Geometrie Quad-trees LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 02.07.2014 Übersicht Übungsblatt 11 - Quadtrees Motivation:

Mehr

Copyright, Page 1 of 8 AVL-Baum

Copyright, Page 1 of 8 AVL-Baum www.mathematik-netz.de Copyright, Page 1 of 8 AVL-Baum 1. Motivation und Einleitung Das Suchen, Einfügen und entfernen eines Schlüssels in einem zufällige erzeugten binären Suchbaum mit N Schlüsseln ist

Mehr

Sortieren & Co. KIT Institut für Theoretische Informatik

Sortieren & Co. KIT Institut für Theoretische Informatik Sortieren & Co KIT Institut für Theoretische Informatik 1 Formaler Gegeben: Elementfolge s = e 1,...,e n Gesucht: s = e 1,...,e n mit s ist Permutation von s e e 1 n für eine Totalordnung ` ' KIT Institut

Mehr

Kap. 4.7 Skiplisten. 15./16. VO DAP2 SS /10. Juni 2008

Kap. 4.7 Skiplisten. 15./16. VO DAP2 SS /10. Juni 2008 Kap. 4.7 Skiplisten Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 15./16. VO DAP2 SS 2008 5./10. Juni 2008 1 Proseminare WS 2008/09 Anmeldefrist: Montag 16.06.

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

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

Liniensegmentschnitt. Doppelt verkettete Kantenliste. Überlagerung von 2 ebenen Graphen. Boolsche Operatoren für einfache Polygone (LEDA)

Liniensegmentschnitt. Doppelt verkettete Kantenliste. Überlagerung von 2 ebenen Graphen. Boolsche Operatoren für einfache Polygone (LEDA) Liniensegmentschnitt Motivation, Überlagerung von Karten, Problemformulierung Ein einfaches Problem und dessen Lösung mit Hilfe des Sweep-Line Prinzips Output-sensitiver Liniensegmentschnittalgorithmus

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

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

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

Wiederholung. Divide & Conquer Strategie

Wiederholung. Divide & Conquer Strategie Wiederholung Divide & Conquer Strategie Binäre Suche O(log n) Rekursives Suchen im linken oder rechten Teilintervall Insertion-Sort O(n 2 ) Rekursives Sortieren von a[1..n-1], a[n] Einfügen von a[n] in

Mehr

Uberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski Summen 5. Pseudo-Scheiben 6. Bewegungsplanung

Uberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski Summen 5. Pseudo-Scheiben 6. Bewegungsplanung Vorlesung Geometrische Algorithmen Bewegungsplanung fur Roboter (Robot Motion Planning) Sven Schuierer Uberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski

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

Ü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

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

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017 2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel

Mehr

Algorithmische Geometrie: Lineare Optimierung (I)

Algorithmische Geometrie: Lineare Optimierung (I) Algorithmische Geometrie: Lineare Optimierung (I) Nico Düvelmeyer WS 2009/2010, 17.11.2009 Überblick 1 Geometrie von Gießformen 2 Durchschnitte von Halbebenen 3 Inkrementeller Algorithmus Überblick 1 Geometrie

Mehr

9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion

9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion Experiment: Die Türme von Hanoi. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration Links Mitte Rechts Mathematische Rekursion Viele mathematische Funktionen

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda Amortisierte Analyse Suche in sortierten Arrays Heaps Vorstellen des fünften Übungsblatts

Mehr

Erweiterter Euklidischer Algorithmus

Erweiterter Euklidischer Algorithmus Erweiterter Euklidischer Algorithmus Algorithmus ERWEITERTER EUKLIDISCHER ALG. (EEA) EINGABE: a, b N 1 If (b = 0) then return (a, 1, 0); 2 (d, x, y) EEA(b, a mod b); 3 (d, x, y) (d, y, x a b y); AUSGABE:

Mehr

Punkt-in-Polygon-Suche Übersicht

Punkt-in-Polygon-Suche Übersicht Folie 1 von 19 Punkt-in-Polygon-Suche Übersicht Praxisbeispiel/Problemstellung Zählen von Schnittpunkten Schnitt einer Halbgerade mit der Masche Aufwandsbetrachtung Streifenkarte Vorgehen und Eigenschaften

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

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Die Forschungsuniversität Meyerhenke, in der Institut für Theoretische Informatik

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Motivation Binäre Suchbäume

Motivation Binäre Suchbäume Kap..: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Zusätzliche Lernraumbetreuung Morteza Monemizadeh: Jeden Montag von :00 Uhr-:00 Uhr in

Mehr

Informatik II: Algorithmen und Datenstrukturen SS 2015

Informatik II: Algorithmen und Datenstrukturen SS 2015 Informatik II: Algorithmen und Datenstrukturen SS 2015 Vorlesung 8b, Mittwoch, 17. Juni 2015 (Balancierte Suchbäume) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik

Mehr

Algorithmische Geometrie: Delaunay Triangulierung (Teil 1)

Algorithmische Geometrie: Delaunay Triangulierung (Teil 1) Algorithmische Geometrie: Delaunay Triangulierung (Teil 1) Nico Düvelmeyer WS 2009/2010, 26.1.2010 Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay

Mehr

12. Der Algorithmus von Dijkstra. Informatik II für Verkehrsingenieure

12. Der Algorithmus von Dijkstra. Informatik II für Verkehrsingenieure . Der Algorithmus von Dijkstra Informatik II für Verkehrsingenieure Problemstellung Gegeben: Graph G =(V, E, len) mit positiver Kantenfunktion len : E! R 0, Knoten s, t V Mögliche Aufgaben Berechne Distanz

Mehr