Algorithmische Geometrie 7. Punktsuche (Teil 2)
|
|
|
- Reiner Hartmann
- vor 9 Jahren
- Abrufe
Transkript
1 Algorithmische Geometrie 7. Punktsuche (Teil 2) JProf. Dr. Heike Leitte Computergraphik und Visualisierung
2 Inhaltsverzeichnis 1. Einführung 2. Konvexe Hülle 3. Schnitte von Liniensegmenten 4. Schnitte planarer Unterteilungen 5. Triangulierung von Polygonen 6. Lineare Programme 7. Punktsuche 8. Voronoidiagramme und Delaunay-Triangulierung 9. Allgemeine Suchstrukturen Algorithmische Geometrie 7. Punktsuche 2
3 Punktsuche in planarer Unterteilung Algorithmische Geometrie 7. Punktsuche 3
4 Punktsuche in planarer Unterteilung Erste Idee Wir haben bisher nur Punkte in unserer Datenstruktur abgelegt und dann Exact Match Query und Range Query durchgeführt. Eine typische Aufgabe ist jedoch insbesondere, eine Point Query auf einer planaren Unterteilung durchzuführen. Dazu dienen unter anderem Trapezkarten (engl. trapezoidal maps). Um auf den richtigen Weg zu gelangen, führen wir senkrechte Linien durch jeden Eckpunkt der planaren Unterteilung ein. Es entstehen Scheiben aus Stücken, die alle trapezförmig sind, da keine Schnittpunkte oder Eckpunkte zwischen den senkrechten Linien liegen. Man kann nun die Trapeze zwischen zwei Linien von oben nach unten ordnen und in O(log n) das richtige Stück zu einem Punkt ermitteln. Die gesamte Suche erfordert O(log 2n) Schritte für die Suche der richtigen beiden Linien und O(log n) für das richtige Stück, falls n die Anzahl der Karten in der Unterteilung ist. Algorithmische Geometrie 7. Punktsuche 4
5 Streifenansatz Algorithmische Geometrie 7. Punktsuche 5
6 Streifenansatz Komplexität Algorithmische Geometrie 7. Punktsuche 6
7 Speicherbedarf Leider benötigt man ein nach den x-koordinaten sortiertes Array der Punkte mit O(n) Speicher und n Arrays für die Scheiben (Bereich zwischen zwei Linien), die jeweils auch O(n) Speicher benötigen können. Ein Beispiel mit n/4 Streifen mit jeweils n/4 Elementen pro Streifen ist unten skizziert. Also ist O(n 2 ) Speicher nötig und unsere Idee benötigt deutliche Verbesserungen. Algorithmische Geometrie 7. Punktsuche 7
8 Trapezkarte Wir formulieren nun trapezkarten als Lösung. Dazu definieren wir ein alle Eckpunkte enthaltendes Rechteck R, so dass wir nur diesen Bereich untersuchen müssen und keine unbeschränkten Stücke behandeln. Ferner nehmen wir zunächst an, dass zwei Eckpunkte verschiedene x-koordinaten haben. Dies korrigieren wir später. Eine solche planare Unterteilung heißt planare Unterteilung in allgemeiner Lage. Definition 3.9 (vertikale Verlängerung): Sei S eine planare Unterteilung in allgemeiner Lage. Die Trapezkarte T(S) von S entsteht, indem man zwei vertikale Verlängerungen jedes Endpunktes P durch die benachbarten Facetten zeichnet. Die Verlängerung in positiver y-richtung heißt obere vertikale Verlängerung, die andere (in negativer y-richtung) untere vertikale Verlängerung. Algorithmische Geometrie 7. Punktsuche 8
9 Seiten von Facetten Lemma 3.10: Eine Facette von T(S) hat eine oder zwei vertikale Seiten und genau zwei nicht-vertikale Seiten. Beweis: Sei f eine Facette von T(S). Wir zeigen zunächst, dass f konvex ist. Da sich die Liniensegmente von S nicht schneiden, sind die Ecken von f entweder Eckpunkte von S oder R oder sie sind Schnitte vertikaler Verlängerungen mit Kanten von S oder R. Wegen der vertikalen Verlängerungen können an den Vertices keine Innenwinkel größer 180 o auftreten. Die Ecken von R sind rechtwinklig (=90 ). Winkel zwischen Liniensegment und vertikaler Verlängerung sind ebenfalls kleiner 180. Alle Innenwinkel sind kleiner 180. Also ist f konvex. Nun zeigen wir die Aussagen des Lemmas. (i) Aufgrund der Konvexität kann f nicht mehr als zwei vertikale Seiten haben. (ii) Für einen Widerspruchsbeweis nehmen wir an, f hat mehr als zwei nicht-vertikale Seiten. Zwei davon müssen benachbart sein und f von oben oder unten begrenzen. Die Seiten ergeben sich aus den Liniensegmenten von S und R, welche sich nach Definition nicht schneiden. Somit treffen sich die beiden nicht-vertikalen Seiten in einem Vertex von S oder R. Hier starten aber vert. Verlängerungen, wodurch die beiden Seiten nicht mehr benachbart sind. Widerspruch zur Annahme. Es gibt maximal zwei nicht-vertikale Seiten. (iii) Schließlich, da f beschränkt ist, muss f mind. eine vertikale und zwei nicht-vertikale Seiten haben (mind. drei Seiten). QED Algorithmische Geometrie 7. Punktsuche 9
10 Seiten der Trapeze Alle Facetten in der Trapezkarte sind also auch wirklich Trapeze (Dreiecke sind degenerierte Trapeze). Wir bezeichnen die obere Seite des Trapez mit top( ) und die untere mit bottom( ). Die vertikalen Seiten stammen entweder von einer Verlängerung oder von R. Es gibt 5 Fälle für die linke Seite: (a) Die Seite besteht aus einem Punkt, dem Eckpunkt zwischen top( ) und bottom( ). (b) Die Seite ist die untere Verlängerung des linken Eckpunktes von top( ), die bottom( ) schneidet und im Schnittpunkt endet. (c) Die Seite ist die obere Verlängerung des linken Eckpunktes von bottom ( ), die top( ) schneidet und im Schnittpunkt endet. (d) Die Seite besteht aus der oberen und unteren Verlängerung des rechten Eckpunktes eines weiteren Segmentes s. (e) Die Seite ist der linke Rand von R. Dieser Fall tritt genau einmal auf. Algorithmische Geometrie 7. Punktsuche 10
11 Komplexität der Trapezkarte Da die linke Seite außer in (e) stets durch einen Endpunkt definiert wird, nennen wir diesen leftp( ). Analog gibt es ein rightp( ). ist dann durch top( ), bottom( ), leftp( ) und rightp( ) definiert. Lemma 3.11: Die Trapezkarte T(S) einer planaren Unterteilung S in allgemeiner Lage enthält maximal 6n + 4 Eckpunkte und 3n +1 Trapeze. Beweis: Ein Eckpunkt von T(S) ist entweder ein Eckpunkt von S bzw. R oder ein Schnitt einer vertikalen Verlängerung mit einer Kante von S bzw. R. Zu jedem Eckpunkt von S gibt es zwei Verlängerungen, also insgesamt maximal 4 + 2n + 2(2n) = 6n + 4 Eckpunkte in T(S). Neben der Eulerformel lassen sich die Trapeze auch direkt zählen: Jedes Trapez hat einen Punkt leftp( ). Die untere linke Ecke von R ergibt ein leftp( ). Ein rechter Endpunkt eines Segmentes tritt als maximal ein leftp( ) auf. Ein linker Endpunkt kann leftp( ) für maximal zwei Trapeze sein. (Dabei zählen wir die Segmente bottom( ), top( ) und nicht die Eckpunkte in S, da diese leftp( ) für viele sein können, wenn mehrere Segmente dort zusammentreffen.) Es gibt n Segmente, also max. 3n + 1 Trapeze. QED Algorithmische Geometrie 7. Punktsuche 11
12 Benachbarte Trapeze Wir nennen Trapeze benachbart (inzident), falls sie sich entlang einer vertikalen Kante treffen. Wenn S in allgemeiner Lage ist (links), gibt es maximal 4 benachbarte Trapeze für ein ausgewähltes Trapez. Wenn benachbarte Trapeze das gleiche Segment von S als top( ) haben, sprechen wir von upper left neighbor, falls das andere Trapez links liegt. Analog gibt es lower left neighbor, upper right neighbor und lower right neighbor. Algorithmische Geometrie 7. Punktsuche 12
13 Überlegungen Datenstruktur Als Datenstruktur verwenden wir nicht die doppelt verknüpfte Kantenliste aus 2.3. Stattdessen legen wir Felder der Eckpunkte und der Segmente von S an und ein Feld der Trapeze, wobei ein Trapez leftp( ), rightp( ), bottom( ), top( ) und Zeiger auf die vier Nachbarn enthält. Der Aufbau der Datenstruktur erfolgt auch nicht durch einen Plane Sweep, damit wir eine gute Suchstruktur für Point Queries erhalten. Diese Suchstruktur ist ein gerichteter azyklischer Graph mit genau einem Blatt für jedes Trapez. Die inneren Knoten haben stets zwei wegführende Kanten. Es gibt zwei Typen innerer Knoten: x-knoten, die auf einen Eckpunkt in S verweisen, y-knoten, die auf ein Segment in S verweisen. Algorithmische Geometrie 7. Punktsuche 13
14 Suchstruktur für Trapezkarten Die Point Query nach einem Punkt q beginnt an der Wurzel und läuft zu einem Blatt. Dieses Blatt gehört zu dem Trapez, das q enthält. Bei x-knoten wird gefragt, ob q links oder rechts der vertikalen Linie durch diesen Punkt liegt. Bei y-knoten wird gefragt, ob q oberhalb oder unterhalb des Segmentes liegt. Dabei stellen wir sicher, dass bei einem y- Knoten die vertikale Linie durch q das Segment schneidet. Falls q direkt auf der vertikalen Linie oder dem Segment liegt, haben wir ein kleines Problem, das wir später lösen werden. Algorithmische Geometrie 7. Punktsuche 14
15 Algorithmus I Aufbau Trapezkarte Der Aufbau von D und (über die Blätter) T(S) erfolgt inkrementell, indem wir ein Segment nach dem anderen einfügen. Ferner sortieren wir die Segmente zufällig, um zu einer effektiven Suchstruktur zu gelangen. (Die Effektivität zeigen wir anschließend.) Algorithmische Geometrie 7. Punktsuche 15
16 Algorithmus II Einfügen neues Segment Es sei S i :={ s 1,, s i } die Menge der ersten i Segmente. Die Invariante am Ende der Schleife ist, dass T die Trapezkarte zu S i und D eine zulässige Suchstruktur für T ist. Am Anfang ist S 0 leer und R bildet das einzige Trapez. Für die Aktualisierung müssen wir wissen, welche Veränderung es durch s i gibt. Dies sind die Trapeze, die von s i geschnitten werden. Seien 0,, k diese Trapeze von links nach rechts. Dann ist j+1 rechter Nachbar von j und zwar upper right neighbor, falls rightp( j ) unterhalb s i liegt und lower right neighbor, falls rightp( j ) oberhalb s i liegt. Also können wir ausgehend von 0 1,..., k finden. Um 0 zu finden, führen wir eine Point Query nach dem linken Startpunkt p von S i in T(S i-1 ) durch. Wenn p noch nicht in S i-1 liegt, erhalten wir 0. Andernfalls kann p auf der vertikalen Linie in einem x-knoten liegen. Dann laufen wir stets rechts weiter (alle interessierenden Segmente s und s i haben p als linken Endpunkt), vergleichen die Steigung von s und die Steigung von s i. Wenn die Steigung von s i größer ist, liegt p oberhalb von s, sonst darunter. Algorithmische Geometrie 7. Punktsuche 16
17 Algorithmus III Suche geschnittene Trapeze Algorithmische Geometrie 7. Punktsuche 17
18 Algorithmus IV Aktualisierung Datenstruktur Nun ist die Aktualisierung von T und D zu bestimmen. Im einfachen Fall mit s i in = 0 ergibt sich folgendes Bild Algorithmische Geometrie 7. Punktsuche 18
19 Algorithmus V Aktualisierung Datenstruktur Wenn s i mehrere Trapeze unterteilt, ist die Suchstrukturänderung etwas komplizierter, aber noch immer gut durchführbar. (i) Wir erzeugen vertikale Verlängerungen der Endpunkte von s i in 0 und k, sofern die Endpunkte nicht bereits in s i-1 liegen, wodurch je 3 Trapeze erzeugt werden (oberes Bild). (ii) Außerdem kürzen wir die bereits existierenden Verlängerungen. Hierdurch verschmelzen einige der Trapeze (unteres Bild). Aktualisierung von D: Wenn 0 den linken Endpunkt von s i im Inneren hat, wird das Blatt zu 0 durch einen x-knoten mit dem Endpunkt ersetzt. Wenn nicht, dann durch einen y- Konten für s i. Analog wird das Blatt zu k, sofern der rechte Endpunkt von s i im Inneren von k liegt, durch einen x- Knoten für 1 bis k-1 werden dann durch y-knoten für s i ersetzt. Algorithmische Geometrie 7. Punktsuche 19
20 Trapezkarte Komplexität Analyse Die Analyse des randomisierten, inkrementellen Algorithmus erfolgt über eine mit Auftrittswahrscheinlichkeit gewichtete Summe des jeweiligen Zeit- und Platzbedarfs. Wir studieren also hier den erwarteten Aufwand des Algorithmus. Eine Analyse des erwarteten worst case Aufwands der Suche findet sich in [de Berg, van Kreveld, Overmars, Schwarzkopf, Computational Geometry, Springer, Berlin, 2000, S ]. Theorem 3.12: Der Algorithmus TRAPEZOIDALMAP berechnet die Trapezkarte T(S) einer planaren Unterteilung S in allgemeiner Lage und eine Suchstruktur für T(S) in O(n log n) erwarteter Zeit. Die erwartete Größe der Suchstruktur ist O(n) und für jeden Suchpunkt q liegt die erwartete Suchzeit bei O(log n). Algorithmische Geometrie 7. Punktsuche 20
21 Erwartete Laufzeit Beweis: Die Korrektheit folgt aus der Invariante. Wir beginnen mit der Suchzeit. Da der Baum um bis zu 3 Stufen tiefer wird, ergibt sich 3n als worst case Aufwand. Für die erwartete durchschnittliche Zeit sei X i,1 i n, die Anzahl der Knoten aus Schritt i des Algorithmus entlang des Suchpfades für einen Punkt q. Für den Erwartungswert gilt E i=1 Da maximal drei Knoten eingefügt werden, gilt dass der Pfad in der i-ten Interation länger wird, so gilt n X i n = i=1 E X i X i 3. Ist P i die Wahrscheinlichkeit, E X i 3 P i. Nun verändert der i-te Schritt den Pfad für q genau dann, wenn das Trapez D q (S i ) dasjenige ist, das q in T(S i ) enthält: P i =P [ q S i q S i 1 ] Die neuen Trapeze in S i gegenüber S i-1 sind alle zu s i, dem neuen Segment, inzident, also top(d), bottom(d) gleich s i oder leftp(d), rightp(d) ein Endpunkt von s i. Algorithmische Geometrie 7. Punktsuche 21
22 Erwartete Laufzeit Sei nun ein festes S i S gegeben. Dann ist D q (S i ) ein bestimmtes Trapez unabhängig von der Reihenfolge s 1,..., s i. Wir nutzen eine Rückwärts-betrachtung, um zu ermitteln, wie wahrscheinlich D q nicht in S i-1 ist. D q (S i ) verschwindet falls top(d q (s i )), bottom(d q (s i )), leftp(d q (s i )) oder rightp(d q (s i )) mit s i verschwindet. Mit welcher Wahrscheinlichkeit verschwindet top(d q (s i ))? Da alle i Segmente s 1,..., s i gleich wahrscheinlich das letzte sind, ist dies 1/i. Analog bottom(d q (s i )). Ferner ergibt sich für leftp( q (s i )) ebenfalls maximal 1/i, da der Punkt nur verschwindet, wenn s i das einzige Segment mit diesem Eckpunkt ist. Analog, 1/i für rightp(d q (s i )). P i =P [ q S i q S i ]=P [ q S i T S i 1 ] 4 i Algorithmische Geometrie 7. Punktsuche 22
23 Erwartete Laufzeit Insgesamt folgt n E i=1 X i n i=1 n 3 P i i=1 n 12 i =12 i=1 1 i =12 H n Da In n < H n < In n + 1 gilt, folgt O(log n). [Diese Schranke ergibt sich an dem Integral mit dem Integral der Treppenfunktion t : 1, R, t x 1 ]. n 1 1 x dx=l n n x durch Vergleich Algorithmische Geometrie 7. Punktsuche 23
24 Erwartete Laufzeit Um die Größe von D zu bestimmen, müssen wir die Knoten zählen. Die Blätter sind die Trapeze in T, also maximal 3n +1. Es gilt n Anzahl der Knoten in D =3 n 1 Anzahl innere Knoten erzeugt in Iteration i=1 Sei k i die Anzahl neuer Trapeze im Interationsschritt i. Die Anzahl der neuen inneren Knoten ist k i -1. Als worst case ergibt sich n O n i=1 O i =O n 2 Für den erwarteten Aufwand gilt jedoch n O n E i=1 n k i 1 O n i=1 E k i Algorithmische Geometrie 7. Punktsuche 24
25 Erwartete Laufzeit Die Analyse ähnelt der Frage nach der Anzahl der Suchschritte. Für T(S i ), s S i, sei, s :={ 1 falls aus T S i verschwindet, wenn s entfernt wird } 0 sonst Es gibt maximal 4 Segmente, die D verschwinden lassen, also s S i, s 4 S i =O i T S i Da k i die Anzahl der Segmente ist, die durch s i entstehen, ist es auch die Anzahl die verschwindet, wenn s i entfernt wird. Da s i zufällig ist, kann es auch jedes andere s sein. Also E k i = 1 i s S i T S i, s O i =O 1. i Es folgt O(n) als erwarteter Speicherbedarf. Algorithmische Geometrie 7. Punktsuche 25
26 Erwartete Laufzeit Die Laufzeit des Algorithmus ergibt sich nun schnell. Das Einfügen von s i dauert O(k i ) Schritte und die Zeit zum Finden des linken Endpunktes in T(S i-1 ), also O(log (i 1)) = O(log i). Es ergibt sich QED. n O 1 i=1 [O logi O E k i ]=O n log n Es ist wichtig zu sehen, dass die Analyse nur die Zufälligkeit im Algorithmus selbst betrachtet, nicht jedoch bei der Eingabe der Suchpunkte. Algorithmische Geometrie 7. Punktsuche 26
27 Trapezkarten für planare Unterteilungen Um das Ausgangsproblem, nämlich Point Query in einer planaren Unterteilung zu lösen, nutzen wir D um das Trapez D zu finden und geben die unterhalb von top(d) liegende Facette aus. Korollar 3.13: Sei S eine planare Unterteilung mit n Kanten. In O(n log n) erwarteter Zeit, kann man eine Datenstruktur mit O(n) Speicher konstruieren, so dass für jeden Punkt q die erwartete Suchzeit O(log n) ist. Algorithmische Geometrie 7. Punktsuche 27
28 Degenerierte Fälle Wir haben bislang vorausgesetzt, dass die Segmente in allgemeiner Lage sind, also zwei verschiedene Endpunkte verschiedene x-koordinaten haben. Ferner durfte ein gesuchter Punkt kein Endpunkt sein und nicht auf einem Segment liegen. Die eigentliche Idee zu den Eckpunkten mit verschiedener x-koordinate ist eine geringfügige Rotation aller Punkte. Da dies numerische Probleme verursacht, werden wir sie nur symbolisch durchführen und geometrisch interpretieren. Statt einer Rotation kann man auch eine Scherung verwenden, ϕ : ( x y ) ( x+ε y y ) wobei ein ausreichend kleines ε die Reihenfolge der Punkte nicht ändert. Algorithmische Geometrie 7. Punktsuche 28
29 Degenerierte Fälle Die Berechnung von ϕ(x) wird nie ausgeführt. Bei Berechnungen wird lediglich geprüft, ob sich Veränderungen durch ε ergeben. Da unser Algorithmus keine geometrischen Berechnungen durchführt, sondern nur relative Lagen bestimmt, lässt sich dies einfach bewerkstelligen. Es gibt zwei Operationen (a) Liegt q rechts oder links von p? (b) Liegt q oberhalb oder unterhalb von S (wobei die x-koordinate von q im Intervall der x-koordinaten der beiden Endpunkte liegt)? Zu (a): Die beiden Punkte haben Koordinaten x p y p, y p und x q y q, y q. Für x p x q entscheidet dies den Test wegen des ausreichend klein gewählten Wertes von ε (Die Ordnung der Punkte wird durch ε nicht verändert). Bei gleichem x entscheidet der y- Wert, was genau den Anforderungen enspricht. Algorithmische Geometrie 7. Punktsuche 29
30 Degenerierte Fälle Zu (b): Wir haben das Segment ϕ(s) mit Endpunkten (x 1 + ε y 1, y 1 ), (x 2 + ε y 2, y 2 ), und wollen von ϕ(q) = (x + ε y, y) wissen, ob er oberhalb oder unterhalb von s liegt. Dabei gilt durch den Algorithmus (vert. Verlängerung von p schneidt s) stets und somit x 1 x x 2. Ferner gilt x = x 1 => y >= y 1 und x = x 2 => y <= y 2. Für x 1 = x 2 haben wir ein vertikales Segment und der Algorithmus liefert x 1 = x = x 2, y 1 <= y <= y 2, also q S x 1 y 1 x y x 2 y 2 und wegen der Scherung ϕ(q) ϕ( s). Für x 1 < x 2 nutzen wir, dass die Scherung die Relation zwischen Punkten und Linien erhält, also für einen Punkt oberhalb s (bzw. der Geraden durch s) das Bild auch oberhalb von ϕ(s) liegt. Wir brauchen also die Punkte lediglich lexikographisch ordnen, um unsere symbolische Behandlung des Problems zu erreichen. Dabei lösen wir auch das Problem mit den Punkten auf einem Segment oder Eckpunkt beim Suchen. Bei x-knoten kann der Punkt symbolisch auf der Linie liegen, falls es der Endpunkt ist, wodurch die Point Query schnell zu beantworten ist. Bei y-knoten ergibt sich wieder, dass der Punkt auf dem Segment liegt. Auch dies kann man als Resultat zurückgeben. Algorithmische Geometrie 7. Punktsuche 30
31 Trapezkarten für planare Unterteilungen Theorem 3.14: Der Algorithmus TRAPEZOIDALMAP berechnet die Trapezkarte T(S) einer planaren Überlagerung S und eine Suchstruktur D für T(S) in O(n log n) erwarteter Zeit. Die erwartete Größe der Suchstruktur ist O(n) und für jeden Suchpunkt ist die erwartete Suchzeit O(log n). Algorithmische Geometrie 7. Punktsuche 31
32 Literatur Zur Punktsuche findet man eine ordentliche Übersicht bei Preparta und Shamos [F. P. Preparta and M. I. Shamos. Computational Geometry: An Introduction. Springer-Verlag. 1985] und für out-of-core Methoden mit weiteren Suchen bei Gaede und Günther [Gaede und Günther. Multidimensional Access, Methods, TU-Berlin]. Es gibt vier verschiedene Lösungsansätze mit O(log n) Suchzeit und O(n) Speicher: Die chain method von Edelsbrunner et al [H. Edelbrunner. L. J. Guibas, and J. Stolfi. Optimal point location in a monotone subdivision. SIAM J. Comput. 15: ,1986], die triangulation refinement method von Kirkpatrick [D. G. Kirkpatrick, Optimal search in planar subdivisions. SIAM J. Comput. 12:28-35,1983], die persistency method von Sarnack und Tarjan [N. Sarnak, and R. E. Tarjan. Planar point location using persistent search trees. Commun. ACM, 29: , 1986] und die randomisierte, inkrementelle Methode von Mulmuley [K. Mulmuley. A fast planar partition algorithm, I. Journal of Symbolic Computation, , 1990]. Letztere diente mit Analyse von Seidel [R. Seidel. A simple and fast incremental randomized algorithm for computing trapezoidal decompositions and for triangulating polygons. Comput. Geom. Theory Appl., 1:51-64, 1991] als Grundlage dieses Abschnittes. Algorithmische Geometrie 7. Punktsuche 32
33 Literatur Das dynamische Problem mit Einfügen und Löschen von Segmenten stellt eine zusätzliche Herausforderung dar. Chiang und Tamassia [Y.-J. Chiang and R. Tamassia. Dynamic algoirthms in computational geometry. Proc. IEEE, 80: , September 1992] geben einen Überblick. Algorithmische Geometrie 7. Punktsuche 33
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.
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
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
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
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
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:
Algorithmische Geometrie 5. Triangulierung von Polygonen
Algorithmische Geometrie 5. Triangulierung von Polygonen JProf. Dr. Heike Leitte Computergraphik und Visualisierung Inhaltsverzeichnis 1. Einführung 2. Konvexe Hülle 3. Schnitte von Liniensegmenten 4.
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
2.4. Triangulierung von Polygonen
Als drittes Problem haben wir in Kapitel 1 die Triangulierung von Polygonen identifiziert, die etwa bei der Überwachung eines Museums durch Kameras auftritt. F70 F71 Definition und Theorie: Definition
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
Algorithmische Geometrie 4. Schnitte planarer Unterteilungen
Algorithmische Geometrie 4. Schnitte planarer Unterteilungen JProf. Dr. Heike Leitte Computergraphik und Visualisierung Inhaltsverzeichnis 1. Einführung 2. Konvexe Hülle 3. Schnitte von Liniensegmenten
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
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
Algorithmische Geometrie 1. Einführung
Algorithmische Geometrie 1. Einführung JProf. Dr. Heike Leitte Computergraphik und Visualisierung Algorithmische Geometrie Veranstaltung: 2 SWS Vorlesung: Mi, 9:15 10:45 1 SWS Übung: Do 14:00 16:00 Übungen:
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
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
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
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
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
Triangulierung von einfachen Polygonen
Triangulierung von einfachen Polygonen - Seminarvortrag von Tobias Kyrion - Inhalt: 1.1 Die Problemstellung Quellenangabe 1.1 Die Problemstellung Definition Polygon: endlich viele paarweise verschiedene
Algorithmische Geometrie 8. Voronoidiagramme und Delaunaytriangulierung
Algorithmische Geometrie 8. Voronoidiagramme und Delaunaytriangulierung JProf. Dr. Heike Leitte Computergraphik und Visualisierung Inhaltsverzeichnis 1. Einführung 2. Konvexe Hülle 3. Schnitte von Liniensegmenten
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
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
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
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
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:
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
Die Geometrie der Tischlerei
- Sommersemester 2009 Benjamin Bortfeldt Die Geometrie der Tischlerei 1 Worum geht es? Problem: Wir wollen ein einfaches Polygon P aus einer oder mehreren Holzplatten aussägen und dürfen dazu nur eine
Ü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)
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
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.
Triangulierung von einfachen Polygonen
Triangulierung von einfachen Polygonen Tobias Kyrion Inhaltsverzeichnis 1.1 Die Problemstellung....................... 1 2.1 Ein naiver Algorithmus...................... 2 3.1 Zerlegung in monotone Teilpolygone..............
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
Parallele Algorithmen in der Bildverarbeitung
Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren
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).
Die Berechnung der Triangulation eines Polygons in fast-linearer Zeit.
Die Berechnung der Triangulation eines Polygons in fast-linearer Zeit. Ausarbeitung zum Vortrag von Adrian Polko Anhand des Papers von Raimund Seidel: A Simple and Fast Incremental Randomized Algorithm
2.7.1 Inside-Test Konvexe Hülle Nachbarschaften Schnittprobleme
2.7 Geometrische Algorithmen 2.7.1 Inside-Test 2.7.2 Konvexe Hülle 2.7.3 Nachbarschaften 2.7.4 Schnittprobleme 1 2.7 Geometrische Algorithmen 2.7.1 Inside-Test 2.7.2 Konvexe Hülle 2.7.3 Nachbarschaften
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:
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
Datenstrukturen und Algorithmen D-INFK
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
Das Voronoi Diagramm. 1. Definition. 2. Eigenschaften. 3. Größe und Speicherung. 4. Konstruktion. 5. Verwendung
Das Voronoi Diagramm 1. Definition 2. Eigenschaften 3. Größe und Speicherung 4. Konstruktion 5. Verwendung Das Voronoi- Diagramm Voronoi Regionen Euklidische Distanz: d(p,q) = (px-qx)^2+(py-qy)^2 Das Voronoi-Diagramm
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
Geometrie I. Sebastian Redinger Informatik 2 Programmiersysteme Martensstraße Erlangen
Geometrie I Sebastian Redinger 01.07.2015 Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Grundlagen CCW Polygone Picks Theorem Konvexe Hülle - Graham Scan - Jarvis March 2 Gliederung
Geometrie 1. Christian Bay Christian Bay Geometrie / 46
Geometrie 1 Christian Bay 02.07.2013 Christian Bay Geometrie 1 02.07.2013 1 / 46 Inhaltsverzeichnis Grundlagen CCW Polygone Picks Theorem Konvexe Hülle Christian Bay Geometrie 1 02.07.2013 2 / 46 Geometrie
Algorithmische Geometrie
Algorithmische Geometrie 1-1 Inhaltsverzeichnis 1. Einführung 2. Basiskonzepte 3. Punktsuche 4. Voronoidiagramme und Delaunaytriangulierung 5. Allgemeine Suchstrukturen 1-2 1.1. Was ist? (Computational
Kanonische Ordnungen und die Mondshein-Sequenz
Kanonische Ordnungen und die Mondshein-Sequenz a.k.a. (2,)-Order 2 8 0 9 5 7 6 2 Überblick Geradlinige Zeichnungen Kanonische Ordnungen + Shift-Algorithmus Erweiterungen durch Ohrendekompositionen Mondshein-Sequenz
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
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
Geometrische Algorithmen Segmentschnitt
Folie 1 von 36 Geometrische Algorithmen Segmentschnitt Folie 2 von 36 Segmentschnitt Übersicht Zwei Segmente Lage zweier Segmente Prüfung auf Schnittfreiheit Formeln zum Geradenschnitt Feststellen des
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
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
Polygon Triangulation. robot.scr. "Art Gallery Problem" Sichtbarkeitspolygon. Algorithmische Geometrie - SS 99 - Th. Ottmann
Polygon Triangulation "Art Gallery Problem" Sichtbarkeitspolygon robot.scr Triangulation simpler Polygone P w v u Satz: Triangulation existiert und besitzt n-2 Dreiecke Bew.: Induktion über n> 3. Suche
Das Falten-und-Schneiden Problem
Das Falten-und-Schneiden Problem Kristian Bredies Uttendorf, 14. Februar 2005 Inhalt Einleitung Origami Das Falten-und-Schneiden Problem Mathematische Analyse Flaches Origami Lokale Eigenschaften Faltbarkeit
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
7. Sortieren Lernziele. 7. Sortieren
7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche
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
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,
5. Bäume und Minimalgerüste
5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein
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
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
Geometrische Algorithmen
Geometrische Algorithmen Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich für Algorithmen und Datenstrukturen Institut für Computergraphik und Algorithmen Technische Universität Wien Einführung
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
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
Algorithmen und Datenstrukturen I AVL-Bäume
Algorithmen und Datenstrukturen I AVL-Bäume Prof. Dr. Oliver Braun Letzte Änderung: 01.12.2017 14:42 Algorithmen und Datenstrukturen I, AVL-Bäume 1/38 Balancierte Bäume in einem zufällig erzeugten Binärbaum
Vorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 Bruder-Bäume, B-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei Wörterbuchoperationen
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/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
Informatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo [email protected] 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest
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
13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)
AVL-Bäume: Ausgabe aller Elemente in O(n) Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) Frage: Kann man Einfügen, Löschen und Suchen in O(1) Zeit? 1 Hashing einfache Methode
KARL-FRANZENS-UNIVERSITÄT GRAZ. Seminar aus Reiner Mathematik. Die Museumswächter. Krupic Mustafa Wintersemester 2013/14
KARL-FRANZENS-UNIVERSITÄT GRAZ Seminar aus Reiner Mathematik Die Museumswächter Krupic Mustafa Wintersemester 2013/14 Inhaltsverzeichnis 2 Inhaltsverzeichnis 1 Einleitung 3 2 Museumswächter-Satz 6 2.1
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
Algorithmische Geometrie. Prof. Dr. Thomas Ottmann. Mitarbeit: PD Dr. Sven Schuierer Dr. Stefan Edelkamp
Algorithmische Geometrie Prof. Dr. Thomas Ottmann Mitarbeit: PD Dr. Sven Schuierer Dr. Stefan Edelkamp Literatur: M. de Berg, M. van Krefeld, M. Overmars O. Schwarzkopf: Computational Geometry (Algorithms
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.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - Balancierte Bäume, AVL-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei
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
Abschnitt 18: Effizientes Suchen in Mengen
Abschnitt 18: Effizientes Suchen in Mengen 18. Effizientes Suchen in Mengen 18.1 Vollständig ausgeglichene binäre Suchbäume 18.2 AVL-Bäume 18.3 Operationen auf AVL-Bäumen 18.4 Zusammenfassung 18 Effizientes
12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.
Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen
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
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
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
Triangulierung von Polygonen und das Museumsproblem
Triangulierung von Polygonen und das Museumsproblem (Literatur: deberg et al., Kapitel 3) 1 Motivation: Das Museumsproblem ein Museum soll durch Kameras überwacht werden wie viele Kameras werden benötigt?
Die Determinante eines Friesmuster
Die Determinante eines Friesmuster Die Determinante eines Friesmuster von Hannah Vogel,??? Einleitung Friesmuster (engl. Frieze Pattern ) gab es schon lange bevor sie in der Mathematik diskutiert wurden.
2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}
1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n
Definition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen:
HeapSort Allgemeines Sortieralgorithmen gehören zu den am häufigsten angewendeten Algorithmen in der Datenverarbeitung. Man hatte daher bereits früh ein großes Interesse an der Entwicklung möglichst effizienter
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
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
M. Pester 29. Ein konvexes d-polytop ist eine begrenzte d-dimensionale polyedrale Menge. (d = 3 Polyeder, d = 2 Polygon)
M. Pester 29 6 Konvexe Hülle 6.1 Begriffe Per Definition ist die konvexe Hülle für eine Menge S von lich vielen Punkten die kleinste konvexe Menge, die S enthölt (z.b. in der Ebene durch ein umspannes
