Quad-trees. Benjamin Niedermann Übung Algorithmische Geometrie

Größe: px
Ab Seite anzeigen:

Download "Quad-trees. Benjamin Niedermann Übung Algorithmische Geometrie"

Transkript

1 Übung Algorithmische Geometrie Quad-trees LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann

2 Übersicht Übungsblatt 11 - Quadtrees

3 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung auf Platinen kann man die finite Elemente Methode (FEM) einsetzen: zerlege die Platine in kleine homogene Elemente (z.b. Dreiecke) Mesh eigene Hitzeentwicklung und Einfluss auf Nachbarn je Element bekannt approximiere numerisch die gesamte Hitzeentwicklung der Platine

4 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung auf Platinen kann man die finite Elemente Methode (FEM) einsetzen: zerlege die Platine in kleine homogene Elemente (z.b. Dreiecke) Mesh eigene Hitzeentwicklung und Einfluss auf Nachbarn je Element bekannt approximiere numerisch die gesamte Hitzeentwicklung der Platine Qualitätseigenschaften von FEM: je feiner das Mesh desto besser die Approximation je gröber das Mesh desto schneller die Berechnung je kompakter die Elemente desto schneller die Konvergenz

5 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung auf Platinen kann man die finite Elemente Methode (FEM) einsetzen: zerlege die Platine in kleine homogene Elemente (z.b. Dreiecke) Mesh eigene Hitzeentwicklung und Einfluss auf Nachbarn je Element bekannt approximiere numerisch die gesamte Hitzeentwicklung der Platine Qualitätseigenschaften von FEM: je feiner das Mesh desto besser die Approximation je gröber das Mesh desto schneller die Berechnung je kompakter die Elemente desto schneller die Konvergenz Ziel: adaptive Meshgröße (klein an Materialgrenzen, sonst gröber) wohlgeformte Dreiecke (nicht zu schmal)

6 Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U] [0, U] für Zweierpotenz U = 2 j mit oktilinearen, ganzzahligen Polygonen im Inneren. Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften

7 Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U] [0, U] für Zweierpotenz U = 2 j mit oktilinearen, ganzzahligen Polygonen im Inneren. unzulässige Dreiecksknoten Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften keine Dreiecksknoten im Inneren von Dreieckskanten

8 Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U] [0, U] für Zweierpotenz U = 2 j mit oktilinearen, ganzzahligen Polygonen im Inneren. nicht Teil des Dreiecksnetzes Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften keine Dreiecksknoten im Inneren von Dreieckskanten Eingabekanten müssen Teil des Dreiecksnetzes sein

9 Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U] [0, U] für Zweierpotenz U = 2 j mit oktilinearen, ganzzahligen Polygonen im Inneren. unzulässige Winkel Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften gültig { keine Dreiecksknoten im Inneren von Dreieckskanten Eingabekanten müssen Teil des Dreiecksnetzes sein Dreieckswinkel zwischen 45 und 90

10 Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U] [0, U] für Zweierpotenz U = 2 j mit oktilinearen, ganzzahligen Polygonen im Inneren. uniformes Dreiecksnetz Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften gültig { keine Dreiecksknoten im Inneren von Dreieckskanten Eingabekanten müssen Teil des Dreiecksnetzes sein Dreieckswinkel zwischen 45 und 90 adaptiv, d.h. fein an den Polygonkanten, sonst gröber

11 Adaptive Dreiecksnetze Geg.: Quadrat Q = [0, U] [0, U] für Zweierpotenz U = 2 j mit oktilinearen, ganzzahligen Polygonen im Inneren. Ges.: Dreiecksnetz für Q mit folgenden Eigenschaften gültig { uniformes Dreiecksnetz keine Dreiecksknoten im Inneren von Dreieckskanten Eingabekanten müssen Teil des Dreiecksnetzes sein Dreieckswinkel zwischen 45 und 90 adaptiv, d.h. fein an den Polygonkanten, sonst gröber Kennen wir schon sinnvolle Triangulierungen für Q?

12 Aufgabe 1 Delaunay Triangulierung Meshing Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließich nicht-stumpfe Winkel besitzen, d.h., keinen Winkel > 90.

13 Aufgabe 1 Delaunay Triangulierung Meshing Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließich nicht-stumpfe Winkel besitzen, d.h., keinen Winkel > 90.

14 Aufgabe 1 Delaunay Triangulierung Meshing Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließich nicht-stumpfe Winkel besitzen, d.h., keinen Winkel > 90. Sei nun T eine Triangulierung einer endlichen Punktmenge P R 2, sodass jedes Dreieck nur nicht-stumpfe Winkel besitzt. Zeige, dass T eine Delaunay Triangulierung ist.

15 Charakterisierung Satz über Voronoi-Diagramme: Ein Punkt q ist ein Voronoi-Knoten C P (q) P 3, der Bisektor b(p i, p j ) definiert eine Voronoi-Kante q b(p i, p j ) mit C P (q) P = {p i, p j }. VL Satz 4: Sei P eine Menge von Punkten. Punkte p, q, r sind Knoten der gleichen Facette in DG(P ) Kreis durch p, q, r ist leer Kante pq ist in DG(P ) es gibt einen leeren Kreis C p,q durch p und q Satz 5: Sei P Punktmenge und T eine Triangulierung von P. T ist Delaunay-Triangulierung Umkreis jedes Dreiecks ist im Inneren leer.

16 Der Satz von Thales Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers und eines Halbkreispunktes sind rechtwinklig. Satz 2 : Alle Dreiecke aus den Endpunkten einer Sekante l = ab und eines Kreispunktes c auf der gleichen Seite von l haben den gleichen Winkel an c. Für Dreiecke abd mit d innerhalb des Kreises gilt adb > acd, für e außerhalb des Kreises gilt aeb < acd. e c c d a b VL a b aeb < acb = ac b < adb

17 Aufgabe 1 Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken, die keine Delaunay-Triangulierung ist.

18 Aufgabe 1 Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken, die keine Delaunay-Triangulierung ist. Es gibt Dreieck = (pqr) dessen Umkreis einen weiteren Punkt z enthält. C r m p q z

19 Aufgabe 1 Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken, die keine Delaunay-Triangulierung ist. Es gibt Dreieck = (pqr) dessen Umkreis einen weiteren Punkt z enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von verbunden. r C m p q z

20 Aufgabe 1 Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken, die keine Delaunay-Triangulierung ist. Es gibt Dreieck = (pqr) dessen Umkreis einen weiteren Punkt z enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von verbunden. 1. Fall: z liegt außerhalb von O.B.d.A. sei z mit p und q verbunden. C r m p q z

21 Aufgabe 1 Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken, die keine Delaunay-Triangulierung ist. Es gibt Dreieck = (pqr) dessen Umkreis einen weiteren Punkt z enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von verbunden. 1. Fall: z liegt außerhalb von O.B.d.A. sei z mit p und q verbunden. r Sei C Kreis durch p und q Mittelpunkt m auf Hälfte von pq C p m m q C z

22 Aufgabe 1 Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken, die keine Delaunay-Triangulierung ist. Es gibt Dreieck = (pqr) dessen Umkreis einen weiteren Punkt z enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von verbunden. 1. Fall: z liegt außerhalb von O.B.d.A. sei z mit p und q verbunden. r Sei C Kreis durch p und q Mittelpunkt m auf Hälfte von pq Nach Satz 2 liegt r nicht im Inneren von C Da z in C liegt, muss z auch in C liegen. C p m m q C z

23 Aufgabe 1 Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken, die keine Delaunay-Triangulierung ist. Es gibt Dreieck = (pqr) dessen Umkreis einen weiteren Punkt z enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von verbunden. 1. Fall: z liegt außerhalb von O.B.d.A. sei z mit p und q verbunden. r Sei C Kreis durch p und q Mittelpunkt m auf Hälfte von pq Nach Satz 2 liegt r nicht im Inneren von C Da z in C liegt, muss z auch in C liegen. Nach Satz 2 ist Winkel an z größer 90 C p C m m z q

24 Aufgabe 1 Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken, die keine Delaunay-Triangulierung ist. Es gibt Dreieck = (pqr) dessen Umkreis einen weiteren Punkt z enthält. z kann so gewählt werden, dass mit mind. zwei Punkten von verbunden. 1. Fall: z liegt außerhalb von O.B.d.A. sei z mit p und q verbunden. r Sei C Kreis durch p und q Mittelpunkt m auf Hälfte von pq C Nach Satz 2 liegt r nicht im Inneren von C Da z in C liegt, muss z auch in C liegen. Nach Satz 2 ist Winkel an z größer Fall: z liegt innerhalb von Ähnliche Argumentation. p C m m z q

25 Quadtrees Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innere Knoten vier Kinder hat. Jeder Knoten entspricht einem Quadrat und die Quadrate der Blätter bilden eine Unterteilung des Wurzelquadrats. NO NW SW SO

26 Quadtrees Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innere Knoten vier Kinder hat. Jeder Knoten entspricht einem Quadrat und die Quadrate der Blätter bilden eine Unterteilung des Wurzelquadrats. Kanten Seiten NO NW SW SO Ecken Nachbarn

27 Quadtrees Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innere Knoten vier Kinder hat. Jeder Knoten entspricht einem Quadrat und die Quadrate der Blätter bilden eine Unterteilung des Wurzelquadrats. Def.: Für eine Punktmenge P in einem Quadrat Q = [x Q, x Q ] [y Q, y Q ] gilt für den Quadtree T (P ) ist P 1, so ist T (P ) ein Blatt, das P und Q speichert sonst sei x mid = x Q+x Q und y 2 mid = y Q+y Q und 2 P NO := {p P p x > x mid and p y > y mid } P NW := {p P p x x mid and p y > y mid } P SW := {p P p x x mid and p y y mid } P SO := {p P p x > x mid and p y y mid } T (P ) besteht aus Wurzel v, die Q speichert, mit vier Kindern für P i und Q i (i {NO, NW, SW, SO}).

28 Beispiel

29 Beispiel

30 Beispiel

31 Beispiel

32 Beispiel

33 Beispiel

34 Quadtree Eigenschaften Die rekursive Definition eines Quadtrees lässt sich direkt in einen Algorithmus zur Konstruktion umsetzen. Welche Tiefe hat ein Quadtree für n Punkte? Lemma 1: Die Tiefe von T (P ) ist höchstens log(s/c) + 3/2, wobei c der kleinste Abstand in P ist und s die Seitenlänge des Wurzelquadrats Q. Satz 1: Ein Quadtree T (P ) für n Punkte und mit Tiefe d hat O((d + 1)n) Knoten und kann in O((d + 1)n) Zeit konstruiert werden.

35 Aufgabe 2 Komprimierte Quadtrees

36 Aufgabe 2 Komprimierte Quadtrees NO NW SW SO

37 Aufgabe 2 Komprimierte Quadtrees NO NW SW SO

38 Aufgabe 2 Komprimierte Quadtrees NO NW SW SO

39 Aufgabe 2 Komprimierte Quadtrees NO NW SW SO

40 Aufgabe 2 Komprimierte Quadtrees NO NW SW SO

41 Aufgabe 2 Komprimierte Quadtrees NO NW SW SO

42 Aufgabe 2 Komprimierte Quadtrees NO NW SW SO Anzahl der Knoten jetzt O(n) (statt O((d + 1)n)) Laufzeit für Umwandlung? Aufwand für Konstruktion verringern?

43 Aufgabe 3 Balancierte Quadtrees

44 Balancierte Quadtrees Def.: Ein Quadtree heißt balanciert, wenn die Seitenlänge von je zwei Nachbarquadraten in der zugeh. Unterteilung sich um einen Faktor von höchstens 2 unterscheidet. VL

45 Quadtrees balancieren BalanceQuadtree(T ) Input: Quadtree T Output: balancierter Quadtree T L Liste aller Blätter von T ; while L nicht leer do µ extrahiere Blatt aus L; if µ.q zu groß then Teile µ.q in vier Teile und lege vier Blätter in T an; füge neue Blätter zu L hinzu; if µ.q hat jetzt zu große Nachbarn then füge sie zu L hinzu; return T Satz 3: Sei T ein Quadtree mit m Knoten und Tiefe d. Die balancierte Version T B von T hat O(m) Knoten und kann in O((d + 1)m) Zeit konstruiert werden.

46 Aufgabe 3 Balancierte Quadtrees Abänderung: Alle Rechtecke gleich groß

47 Aufgabe 3 Balancierte Quadtrees Abänderung: Alle Rechtecke gleich groß Frage: Wie viele Blätter?

48 Wiederholung: Bereichsanfrage Szenario: großer Straßengraph zeige nur einen kleinen Ausschnitt Problem: Bereichsanfrage Gegeben eine Punktmenge P (die Knoten in dem Straßengraph) sowie ein Rechteck R, finde alle Punkte aus P die in R liegen. Einfache Lösung: Teste für jeden Punkt p P, ob p in R liegt. Laufzeit O( P ), dabei werden ggf. sehr viel weniger Punkte angezeigt.

49 Aufgabe 4 Quadtrees für Range Queries? Wie kann man Quadtrees für Bereichsanfragen nutzen?

50 Bereichsabfrage in einem kd-tree p 4 p 5 p 2 p 1 p 3 p 3 p 1 p 2 p 12 p 13 p 8 p 10 9 p 11 p 7 p 6 p 4 p 5 p 11 p 12 p 13 p 6 SearchKdTree(v, R) if v Blatt then prüfe Punkt p in v auf p R; else if region(lc(v)) R then ReportSubtree(lc(v)); else VL if region(lc(v)) R then SearchKdTree(lc(v), R); if region(rc(v)) R then ReportSubtree(rc(v)); else if region(rc(v)) R then SearchKdTree(rc(v), R); p 7 p 8 p 9 p 10

51 Bereichsabfrage P NW P NO P SW P SO R

52 Bereichsabfrage P NW P NO P SW P SO Starte mit der Wurzel R

53 Bereichsabfrage P NW P NO P SW P SO Starte mit der Wurzel Rekursionsaufruf für alle vier Kinder R

54 Bereichsabfrage P NW P NO P SW P SO R Starte mit der Wurzel Rekursionsaufruf für alle vier Kinder Süd-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenen Punkte

55 Bereichsabfrage P NW P NO P SW P SO R Starte mit der Wurzel Rekursionsaufruf für alle vier Kinder Süd-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenen Punkte Süd-West-Knoten: Rekursionsaufruf für zwei Kinder Nord-West-Knoten: Rekursionsaufruf für ein Kind

56 Bereichsabfrage P NW P NO P SW P SO Starte mit der Wurzel Rekursionsaufruf für alle vier Kinder Süd-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenen Punkte Süd-West-Knoten: Rekursionsaufruf für zwei Kinder Nord-West-Knoten: Rekursionsaufruf für ein Kind Rekursionsende (Blätter erreicht): gib resultierende Knoten aus R

57 Bereichsabfrage P NW P NO P SW P SO Starte mit der Wurzel Wie geht das schnell? Rekursionsaufruf für alle vier Kinder Süd-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenen Punkte Süd-West-Knoten: Rekursionsaufruf für zwei Kinder Nord-West-Knoten: Rekursionsaufruf für ein Kind Rekursionsende (Blätter erreicht): gib resultierende Knoten aus R

58 Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Gesucht: Punkte aller Nachfolgern von v v

59 Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Gesucht: Punkte aller Nachfolgern von v T v v Ansatz Laufzeit Speicher Vorverarbeitungszeit traversiere Teilbaum T v O( T v )

60 Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Gesucht: Punkte aller Nachfolgern von v T v v Ansatz Laufzeit Speicher Vorverarbeitungszeit traversiere Teilbaum T v speichere alle nachfolgenden Punkte O( T v )

61 Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Gesucht: Punkte aller Nachfolgern von v T v v Ansatz Laufzeit Speicher Vorverarbeitungszeit traversiere Teilbaum T v speichere alle nachfolgenden Punkte O( T v ) O(k) O(d P ) O(d P ) (k = Anzahl gefundener Punkte)

62 Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Gesucht: Punkte aller Nachfolgern von v T v v Ansatz Laufzeit Speicher Vorverarbeitungszeit traversiere Teilbaum T v speichere alle nachfolgenden Punkte speichere Start und Ende in Punktliste O( T v ) O(k) O(d P ) O(d P ) (k = Anzahl gefundener Punkte)

63 Problem 3(b) Gegeben: gewurzelter Baum T bis zu ein Punkt in jedem Blatt von T ein Knoten v in T Gesucht: Punkte aller Nachfolgern von v T v v Ansatz Laufzeit Speicher Vorverarbeitungszeit traversiere Teilbaum T v speichere alle nachfolgenden Punkte speichere Start und Ende in Punktliste O( T v ) O(k) O(d P ) O(d P ) (k = Anzahl gefundener Punkte) O(k) O( T ) O( T )

64 Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren?

65 Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren?

66 Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren?

67 Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren?

68 Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren?

69 Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren?

70 Aufgabe 4 Quadtrees für Range Queries? Welchen Aufwand hat das Verfahren?

71 Aufgabe 4 Was, wenn Anfragebereich eine durch eine vertikale Gerade begrenzte Halbebene ist?

72 Aufgabe 4 Was, wenn Anfragebereich eine durch eine vertikale Gerade begrenzte Halbebene ist?

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

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

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

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

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

Delaunay-Triangulierungen

Delaunay-Triangulierungen Vorlesung Algorithmische Geometrie Delaunay-Triangulierungen INSTITUT FU R THEORETISCHE INFORMATIK FAKULTA T FU R INFORMATIK Martin No llenburg 10.06.2014 Grafik c Rodrigo I. Silveira 1 Dr. Martin No llenburg

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

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

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

Algorithmische Geometrie

Algorithmische Geometrie Algorithmische Geometrie Martin Peternell TU Wien 31. Fortbildungstagung für Geometrie 2010, Strobl 1 Themen der Algorithmische Geometrie Entwurf von Algorithmen für geometrische Fragestellungen betreffend

Mehr

Distanzprobleme in der Ebene

Distanzprobleme in der Ebene Distanzprobleme in der Ebene (Literatur: deberg et al., Kapitel 7,9) Christian Knauer 1 Motivation: Alle nächsten Nachbarn Gegeben: Eine Menge von Punkten P in der Ebene Berechne: Zu jedem Punkt aus P

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

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

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

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

KD-Bäume. ein Vortrag von Jan Schaefer

KD-Bäume. ein Vortrag von Jan Schaefer ein Vortrag von Jan Schaefer Überblick - Kurzer Rückblick: Quad Trees - KD-Baum bauen - Effizienz des Konstruktionsalgorithmus - Regionen - Bereichssuche - Effizienz des Suchalgorithmus - Anwendungsgebiete

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

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

Lernmodul 2: Geoobjekte und ihre Modellierung - Dreiecksnetze

Lernmodul 2: Geoobjekte und ihre Modellierung - Dreiecksnetze Folie 1 von 16 Lernmodul 2 Dreiecksnetze Folie 2 von 16 Dreiecksnetze Übersicht Dreiecksnetze - Triangulated Irregular Networks - TINs Modellierung des Geländereliefs durch TINs Delaunay TINs: besonders

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

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

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

Mehr

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

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

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Übung zur Vorlesung Algorithmische Geometrie

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

Mehr

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

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

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

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

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

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge

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 und Datenstrukturen Bereichsbäume

Algorithmen und Datenstrukturen Bereichsbäume Algorithmen und Datenstrukturen Bereichsbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung k-d Baum BSP Baum R Baum Motivation

Mehr

13. Binäre Suchbäume

13. Binäre Suchbäume 1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),

Mehr

11.1 Grundlagen - Denitionen

11.1 Grundlagen - Denitionen 11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die

Mehr

Voronoi Diagrams. Christian Wellenbrock. December 1, 2009

Voronoi Diagrams. Christian Wellenbrock. December 1, 2009 December 1, 2009 Das Voronoi Diagramm Problemstellung Gegeben: Menge der Zentren P = {p 1,..., p n } R 2 Das Voronoi Diagramm Problemstellung Gegeben: Menge der Zentren P = {p 1,..., p n } R 2 Gesucht:

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

Algorithmische Geometrie: Rest Lokalisierung von Punkten; Voronoi Diagramme (1/2)

Algorithmische Geometrie: Rest Lokalisierung von Punkten; Voronoi Diagramme (1/2) Algorithmische Geometrie: Rest Lokalisierung von Punkten; Voronoi Diagramme (1/2) Nico Düvelmeyer WS 2009/2010, 22.12.2009 Überblick 1 Fertigstellung Kapitel 7 2 Definition Voronoi Diagramm 3 Grundlegende

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

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet

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

Relationen und DAGs, starker Zusammenhang

Relationen und DAGs, starker Zusammenhang Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind

Mehr

Quadtrees. Christian Höner zu Siederdissen

Quadtrees. Christian Höner zu Siederdissen Quadtrees Christian Höner zu Siederdissen Quadtrees Zum Verständnis benötigt... Was sind Quadtrees Datenstruktur Wofür Quadtrees Operationen auf dem Baum Vor- und Nachteile (spezialisierte Formen) Zum

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI

Mehr

Algorithmische Geometrie 7. Punktsuche

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

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Begriffsklärung: Dominanz

Begriffsklärung: Dominanz Einführung Begriffsklärung: Dominanz Gegeben: d-dimensionaler Raum, jeder Punkt p im Raum hat d Attribute: (p 1,,p d ) Definition Dominanz: 1 i d : p i p i und 1 i d : p i < p i Begriffsklärung: Dominanz

Mehr

Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE)

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

Mehr

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt: 3. Minimale Spannbäume Sei G = (V, E) ein einfacher ungerichteter Graph, der o.b.d.a. zusammenhängend ist. Sei weiter w : E R eine Gewichtsfunktion auf den Kanten von G. Wir setzen E E: w(e ) = e E w(e),

Mehr

4.4 Quadtrees. Literatur

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

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April

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

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung. Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 4 BETWEENNESS CENTRALITY Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/

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

5. Gitter, Gradienten, Interpolation Gitter. (Rezk-Salama, o.j.)

5. Gitter, Gradienten, Interpolation Gitter. (Rezk-Salama, o.j.) 5. Gitter, Gradienten, Interpolation 5.1. Gitter (Rezk-Salama, o.j.) Gitterklassifikation: (Bartz 2005) (Rezk-Salama, o.j.) (Bartz 2005) (Rezk-Salama, o.j.) Allgemeine Gitterstrukturen: (Rezk-Salama, o.j.)

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

Mergeable Heaps. C. Komusiewicz 7.1 Fibonacci-Heaps: Überblick 117

Mergeable Heaps. C. Komusiewicz 7.1 Fibonacci-Heaps: Überblick 117 C. Komusiewicz 7.1 Fibonacci-Heaps: Überblick 117 Mergeable Heaps Erweiterung von Standardheaps, die die folgenden fünf Operationen unterstützen. Make-Heappq liefert neuen, leeren Heap. InsertpH, xq fügt

Mehr

Delaunay-Zerlegungen und Voronoi-Diagramme

Delaunay-Zerlegungen und Voronoi-Diagramme KAPITEL 4 Delaunay-Zerlegungen und Voronoi-Diagramme 1. Definitionen und Eigenschaften Wir betrachten im Folgenden immer eine endliche Menge S von Punkte in der Ebene, deren Elemente wir zur Unterscheidung

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

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

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 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/ws1314

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

Lösungen zu Kapitel 5

Lösungen zu Kapitel 5 Lösungen zu Kapitel 5 Lösung zu Aufgabe : (a) Es gibt derartige Graphen: (b) Offensichtlich besitzen 0 der Graphen einen solchen Teilgraphen. Lösung zu Aufgabe : Es sei G = (V, E) zusammenhängend und V

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung III: D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009,

Mehr

Übung 13 Algorithmen II

Übung 13 Algorithmen II Michael Axtmann michael.axtmann@kit.edu http://algo2.iti.kit.edu/algorithmenii_ws16.php - 0 Axtmann: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

pue08 December 9, 2016

pue08 December 9, 2016 pue08 December 9, 2016 1 Aufgabe 1: Ein einfaches Zeichenprogramm 1.1 a) Erstellen Sie eine Klasse Square mit den folgenden Eigenschaften: Objektvariablen: - width: Seitenlänge (default: 0) - color: Füllfarbe

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

Breitensuche BFS (Breadth First Search)

Breitensuche BFS (Breadth First Search) Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;

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

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..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

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

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

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Sortierte Folgen Maike Buchin 30.5., 1.6., 13.6.2017 Sortierte Folgen Häufiges Szenario: in einer Menge von Objekten mit Schlüsseln (aus geordnetem Universum) sollen Elemente

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

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

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. (a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,

Mehr

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben

Mehr

Musterlösung Datenstrukturen und Algorithmen

Musterlösung Datenstrukturen und Algorithmen Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik Peter Widmayer

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

durch Einfügen von Knoten konstruiert werden kann.

durch Einfügen von Knoten konstruiert werden kann. Satz von Kuratowski Definition Unterteilung eines Graphen Sei G = (V, E) und e = {u, v} E. 1 Das Einfügen eines neuen Knoten w in die Kante e führt zum Graphen G = (V {w}, E \ e {{u, w}, {w, v}}). 2 Der

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

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

Aufgabensammlung zur algorithmischen Geometrie

Aufgabensammlung zur algorithmischen Geometrie 1 Aufgabensammlung zur algorithmischen Geometrie 2012WS Andreas Kriegl 1. Konvexe Hülle als Durchschnitt. Zeige, daß der Durchschnitt konvexer Mengen wieder konvex ist und somit die konvexe Hülle einer

Mehr

40. Österreichische Mathematik-Olympiade Kurswettbewerb Lösungen

40. Österreichische Mathematik-Olympiade Kurswettbewerb Lösungen 40. Österreichische Mathematik-Olympiade Kurswettbewerb Lösungen TU Graz, 29. Mai 2009 1. Für welche Primzahlen p ist 2p + 1 die dritte Potenz einer natürlichen Zahl? Lösung. Es soll also gelten 2p + 1

Mehr

2.5. Aufgaben zu Dreieckskonstruktionen

2.5. Aufgaben zu Dreieckskonstruktionen 2.5. Aufgaben zu Dreieckskonstruktionen Aufgabe 1 Zeichne das Dreieck AC mit A( 1 2), (5 0) und C(3 6) und konstruiere seinen Umkreis. Gib den Radius und den Mittelpunkt des Umkreises an. Aufgabe 2 Konstruiere

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe

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

Informatik II Übung 2

Informatik II Übung 2 Informatik II Übung 2 Florian Scheidegger florsche@student.ethz.ch Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer gabor.soros@inf.ethz.ch, simon.mayer@inf.ethz.ch 7.3.2013

Mehr

Ebene Elementargeometrie

Ebene Elementargeometrie Ebene Elementargeometrie Im Folgenden unterscheiden wir neben Definitionen (Namensgebung) und Sätzen (nachweisbaren Aussagen) so genannte Axiome. Axiome stellen der Anschauung entnommene Aussagen dar,

Mehr

6.1.2 Bem.: Für Vierecke ist der Begriff Innenwinkel im allgemeinen nicht sinnvoll. Skizze.

6.1.2 Bem.: Für Vierecke ist der Begriff Innenwinkel im allgemeinen nicht sinnvoll. Skizze. 6 Flächeninhalt 6.1 Vierecke 6.1.1 Def.: Seien A, B, C, D vier verschiedene Punkte in E, keine drei auf einer Geraden, so dass AB, BC, CD, DA einander höchstens in Endpunkten treffen. Dann bilden diese

Mehr

14. Rot-Schwarz-Bäume

14. Rot-Schwarz-Bäume Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische

Mehr