Diskrete Mathematik II

Slides:



Advertisements
Ähnliche Präsentationen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Advertisements

WS 03/041 Algorithmentheorie 01 - Einleitung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. Th. Ottmann.
Algorithmen und Datenstrukturen
Geometrisches Divide and Conquer
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung Foliendesign: cand. geod. Jörg Steinrücken.
Geoinformation II Vorlesung
Diskrete Mathematik I Vorlesung Arrays-
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Übung Diskrete Mathematik SS 2003 Segmentschnitt I.
Institut für Kartographie und Geoinformation Dipl.-Ing. J. Schmittwilken Diskrete Mathe II Übung
Institut für Kartographie und Geoinformation Dipl.-Ing. J. Schmittwilken Diskrete Mathe II Übung
Klausur „Diskrete Mathematik II“
Institut für Kartographie und Geoinformation Dipl.-Ing. J. Schmittwilken Diskrete Mathe II Übung
Diskrete Mathematik I Vorlesung 6 Binärer Suchbaum II.
Geoinformation II Vorlesung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Institut für Kartographie und Geoinformation Diskrete Mathematik I Vorlesung Bäume-
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Diskrete Mathe 9 Vorlesung 9 SS 2001
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Rekursion mit Listen: Quicksort
Jurisdiktion: Rechtspflege und Rechtsdatenbanken Großbritannien und Irland.
Datenstrukturen für Landkarten
Geometrische Netzwerke mit Fluss
Geoinformation I Vorlesung 8 WS 2000/2001 Graphen.
Diskrete Mathematik II
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 8 SS 2000 Punkt-in-Polygon-Verfahren II (Trapezkarte)
Geoinformation II Vorlesung 2 SS 2001 AVL-Bäume.
Geoinformation II Vorlesung 4 SS 2001 Voronoi-Diagramme.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
Konstruktion der Voronoi-Diagramme II
Geoinformation II (6. Semester)
Geoinformation II Vorlesung 3 SS 2001 Polygon Overlay.
Diskrete Mathematik II
Diskrete Mathematik II
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 5 SS 2001 Segmentschnitt II (n Segmente)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Konstruktion der Voronoi-Diagramme I
Vorlesung Binärer Suchbaum II-
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Diskrete Mathematik II
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 6 SS 2001 Segmentschnitt III.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
Diskrete Mathe II Übung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
Vorlesung Einführendes Beispiel-
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung der Algorithmus von Floyd Foliendesign:
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung April 2000 AVL-Bäume.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Rekursion-
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
Diskrete Mathe II Übung IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 2 Übung5 Prüft, ob sich folgende Segmente schneiden: –P1(1/7) P2(3/1)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 4 WS 01/02 Quadtrees.
Binärer Suchbaum IV AVL-Baum I
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Binärer Suchbaum III- -AVL-Baum-
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Voronoi-Diagramme.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung der Algorithmus von Floyd.
Binärer Baum, Binärer Suchbaum I
Geoinformation II 6. Sem. Vorlesung April 2000 Geometrische Algorithmen - ein einführendes, größeres Beispiel für ein Semester-begleitendes Programmier.
Institut für Kartographie und Geoinformation Dipl.-Ing. J. Schmittwilken Diskrete Mathe II Übung
Institut für Kartographie und Geoinformation Diskrete Mathematik I Vorlesung Binärer Suchbaum I-
Diskrete Mathematik I Vorlesung 7 Binärer Suchbaum III.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung 4 4. Mai 2000 Voronoi-Diagramm.
Diskrete Mathematik II
 Präsentation transkript:

Diskrete Mathematik II Vorlesung 4 04.05.00 Tiefen- und Breitendurchlauf geometrische Algorithmen, Segmentschnitt

Übersicht Abschluss Graph-Algorithmen Beginn Geo-Algorithmen Tiefendurchlauf Beispiel rekursiver Algorithmus Breitendurchlauf Beginn Geo-Algorithmen Prüfung auf Schnittfreiheit Heute: Schnitt zweier Segmente Nächste Woche: Schnitt von n Segmenten Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Was ist neu In einem binären Baum hat jeder Knoten höchstens zwei Nachfolger, in einem Graphen beliebig viele Ein Baum ist immer zyklenfrei, ein Graph kann Zyklen enthalten (z.B. Do – Du – D – W im Beispiel) In einem Zyklus kann man unendlich viel Zeit verbringen Lösung: Faden der Ariadne (Quelle: Sagen des klassischen Altertums) Moderne Version: ein Boolescher Array „besucht“ Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf aktuell Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf besucht Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf kein Nachfolger - backtracking Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf Do Du Ha D W Alle Nachfolger sind bereits besucht K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf Do Du Ha D W K Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Tiefendurchlauf als rekursiver Algorithmus tiefensuche(k) //Tíefendurchlauf vom Knoten k aus { if(besucht[k] == false) drucke k; besucht[k] = true; for(jeder Nachfolger ki von k) tiefensuche(ki); } Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Breitendurchlauf (binärer Suchbaum) class BST { ... void Breitendurchlauf() { SohnListe ws = new SohnListe(); Knoten aktuell; ws.FügeAn(wurzel); while ((aktuell = ws.Entferne()) != null) { System.out.println(aktuell.GibWert()); ws.FügeAn(aktuell.GibLinks()); ws.FügeAn(aktuell.GibRechts()); } Test auf Ende entferne Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Breitendurchlauf class BST { ... void Breitendurchlauf(k) { SohnListe ws = new SohnListe(); Knoten aktuell; ws.FügeAn(k); while ((aktuell = ws.Entferne()) != null) { System.out.println(aktuell.GibWert()); ws.FügeAn(aktuell.GibLinks()); ws.FügeAn(aktuell.GibRechts()); } besucht[k] = true; Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Breitendurchlauf class BST { ... void Breitendurchlauf(k) { SohnListe ws = new SohnListe(); Knoten aktuell; ws.FügeAn(k); besucht[k] = true; while ((aktuell = ws.Entferne()) != null) { System.out.println(aktuell.GibWert()); ws.FügeAn(aktuell.GibLinks()); ws.FügeAn(aktuell.GibRechts()); } Verarbeiten eines Knotens Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Breitendurchlauf class BST { ... void Breitendurchlauf(k) { SohnListe ws = new SohnListe(); Knoten aktuell; ws.FügeAn(k); besucht[k] = true; while ((aktuell = ws.Entferne()) != null) { System.out.println(aktuell.GibWert()); for(jeder Nachfolger ki von aktuell) { if(besucht[ki] == false) { ws.FügeAn(ki); besucht[ki] = true; } } } } ... Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Prüfung auf Schnittfreiheit 1. Idee Berechnung der Geradengleichungen g und g‘ der Segmente s und s‘ Schnittpunkt p von g und g‘ prüfe ob p in s und s‘ Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Schnittpunktberechnung Gegeben: Endpunkte der Segmente Geradengleichung für zwei Punkte: Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Prüfung auf Schnittfreiheit 1. Idee Berechnung der Geradengleichungen g und g‘ der Segmente s und s‘ Schnittpunkt p von g und g‘ prüfe ob p in s und s‘ Problem vertikale Segmente Vermeidung unangenehmer Sonderfälle Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Segmentschnitt I g1 g2 g1 g2 g2 g1 a) b) c) Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Segmentschnitt II y P2 P s P1 x Reduktion auf das Problem: D = 0 P1, P2 liegen auf der gleichen / verschiedenen Seiten der durch g induzierten Geraden Homogene Koordinaten: P1 = (x1,y1,w1) P2 = (x2,y2,w2) P = (x,y,w) w = w1 = w2 = 1 Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Was wird durch die Determinante berechnet? X Y Z Vektoren spannen Parallelepiped auf x y P2 P P1 1 Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Spatprodukt Das Spatprodukt ergibt einen Skalar, der zahlenmäßig gleich dem Volumen des von den drei Vektoren gebildeten Parallelepipeds ist; das Ergebnis ist positiv, falls , und ein Rechtssystem, negativ, falls sie ein Linkssystem bilden. Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Rechts- oder Linkssystem? X Y Z 1 Bilden ein Rechtssystem x y P2 P1 P Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Rechts- oder Linkssystem? X Y Z 1 bilden ein Rechtssystem D > 0 x y P2 P1 P Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Rechts- oder Linkssystem? X Y Z 1 x y P1 P2 P Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Rechts- oder Linkssystem? X Y Z 1 bilden ein Linkssystem D < 0 x y P1 P2 P Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Rechts- oder Linkssystem? Es wird kein Parallelepiped aufgespannt X Y Z 1 D = 0 x y P1 P2 P Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Einfacher Segmentschnitt I P2 P1 P3 P4 P2 P3 P4 P1 g g` P2 P1 P3 P4 S1 = det ( P1,P3,P4) Def.: Vor.: Alle Determinanten sind  0: S2 = det ( P2,P3,P4) g und g` schneiden sich genau dann, wenn S1, S2 S3 = det ( P3,P1,P2) sowie S3, S4 jeweils verschiedene Vorzeichen S4 = det ( P4,P1,P2) haben. Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00

Einfacher Segmentschnitt II Wenn alle Determinanten gleich Null sind, dann folgt daraus, daß alle vier Punkte kollinear sind. - eine Determinante ist Null: => Algorithmus: Einsparen von Multiplikationen Lutz Plümer - Diskrete Mathematik II - SS 2000 - Vorlesung 4 - 04.05.00 35