The weighted farthest color Voronoi diagram on trees and graphs

Größe: px
Ab Seite anzeigen:

Download "The weighted farthest color Voronoi diagram on trees and graphs"

Transkript

1 The weighted farthest color Voronoi diagram on trees and graphs Torsten Baumgartner 6. September 004 Zusammenfassung Ausarbeitung zu einem gleichnamigen Vortrag im Rahmen des Informatik-Seminars Algorithmische Geometrie und Bewegungsplanung, abgehalten im SS004 an der Universität Bonn. Es wird ein effizienter Algorithmus vorgestellt, welcher das Farthest color Voronoi-Diagramm auf einem Baum mit Sites mit multiplikativen Gewichten berechnet. Spezielle Algorithmen werden vorgestellt für den Fall, daß alle Gewichte gleich groß sind, daß alle Farben gleich sind, oder beides. Abschließend wird ein effizienter Algorithmus zur Berechnung des Standard-Voronoi-Diagramm auf Graphen vorgestellt. Teilweise werden obere und untere Schranken für die Platz- und Laufzeitkomplexitäten der Algorithmen hergeleitet.

2 Inhaltsverzeichnis 1 Einleitung 3 Voronoi-Diagramme auf Bäumen 4.1 Voronoi-Diagramme mit multiplikativen Gewichten Farthest color Voronoi-Diagramme Farthest color Voronoi-Diagramme mit multiplikativen Gewichten Voronoi-Diagramme auf Graphen 10 4 Zusammenfassung 10 A Anhang 10

3 1 Einleitung Eine der interessantesten Strukturen in der algorithmischen Geometrie ist das Voronoi-Diagramm. Es existieren viele verschiedene Varianten des Diagramms sowie unterschiedliche Anwendungsgebiete und Fragestellungen, in denen Voronoi-Diagramme zum Einsatz kommen. Einige bekannte Problemstellungen, bei denen Voronoi-Diagramme nützlich sind, sind z.b. das nearest neighbor-problem, das closest pair-problem und das post office-problem. Im Allgemeinen wird ein Raum G betrachtet, eine Punktemenge S von Punkten aus G sowie eine Distanzfunktion d auf G. Oft ist G zweidimensional. Zu einem Punkt p i ɛ S, im Englischen Site genannt, wird seine Voronoi-Region definiert als V R(p i) = {x ɛ G d(x, p i) d(x, p j) i j} Ein Voronoi-Diagramm zerlegt den Raum G gemäß der Punktemenge S also in Voronoi-Regionen. Für p i, p j ɛ S sei B(p i, p j) = {x d(x, p i) = d(x, p j)} der Bisektor von p i und p j. Im Folgenden werden einige der Varianten von Voronoi-Diagrammen kurz vorgestellt. Das Standard-Voronoi-Diagramm Ist der Raum G der zweidimensionale reele Raum R und ist d die euklidische Distanz im R, erhält man das Standard-Voronoi-Diagramm. Bisektoren sind hier entweder Liniensegmente oder Halbgeraden. Das Voronoi-Diagramm mit multiplikativen Gewichten Bei dieser Variante erhält jedes p i ɛ S ein Gewicht w j. Zu einem Punkt p i ɛ S wird die Voronoi- Region definiert als V R(p i) = {x ɛ G w i d(x, p i) w j d(x, p j) i j} Sein Gewicht kann als Bedeutung des Punktes p i im Kontext der Aufgabenstellung interpretiert werden. Bisektoren sind bei dieser Variante keine Liniensegmente mehr. Das Farthest color Voronoi-Diagramm Hier gibt es k unterschiedliche Typen von p i, wobei jedes p i je nach Typ eine Farbe zugewiesen bekommt. Für x ɛ G sei c(i,x) die bezüglich der Distanzfunktion d nächste Site der Farbe i. Dann liegt x in der Voronoi-Region derjenigen Site aus der Menge {c(0, x)... c(k, x)}, welche von x am weitesten entfernt ist. Vorstellen kann man sich das Farthest color Voronoi-Diagramm am Beispiel einer Stadt. Die k unterschiedlichen Typen von Sites entsprechen k unterschiedlichen Typen von Einrichtungen wie Schulen, Krankenhäusern etc. Zu einer Adresse x geben die c(0, x)... c(k, x) die der Adresse jeweils nächsten Einrichtungen jeden Typs an. Diejenige Voronoi-Region in welcher x liegt gehört zu der Einrichtung, die von der Heimadresse am weitesten entfernt liegt.

4 Voronoi-Diagramme auf Bäumen In diesem Kapitel werden verschiedene Varianten von Voronoi-Diagrammen auf Bäumen betrachtet. Zugrunde liegt jedesmal ein Baum T = (V,E) mit Knotenmenge V, Kantenmenge E und Größe m = V = E + 1. Als Distanzfunktion dient die euklidische Distanz d(x,y) entlang des eindeutigen Pfades zwischen den beiden Punkten x und y. S = {p 1... p n} sei die Menge der Sites. Die Voronoi- Region zur Site p i wird auf Bäumen definiert als V R T (p i) = {x auf T d(x, p i) d(x, p j) i j} Das Voronoi-Diagramm auf Baum T kann aufgefasst werden als V D T (S) = {V R T (p 1),..., V R T (p n)} Interne Darstellung Zur internen Darstellung von Voronoi-Diagrammen auf Bäumen kann der folgende Ansatz benutzt werden. Gespeichert werden die Menge der Bisektoren. Ein Bisektor entspricht dem Grenzpunkt auf T zwischen zwei Voronoi- Regionen je Bisektor seine Position im Baum, Sites benachbarter Voronoi-Regionen sowie Distanzen zu diesen je Baumknoten nächste Sites und Distanzen zu diesen Diese Darstellung enthält die Voronoi-Regionen nur indirekt, allerdings können alle Regionen in Zeit O(n) aus der internen Darstellung gewonnen werden. Kontraktion eines Baumes Die Kontraktion eines Baumes dient im nachfolgenden Beweis von Theorem 1 der Komplexitätsreduzierung des Baumes. Um einen Baum T der Größe m mit n Sites zu kontrahieren, werden im ersten Schritt alle Sites kantenweise sortiert. Gibt es auf einer Baumkante mehr als zwei Sites, werden ausschließlich die beiden extremen Sites behalten und innere entfernt. Anschließend wird der minimale Spannbaum der O(m) übriggebliebenen Sites berechnet, dies kann zum Beispiel mit DFS geschehen. Teilbäume u i von T, welche keine Sites enthalten, werden dabei abgeschnitten. Dann werden maximale Folgen von Kanten, die nur Grad--Knoten enthalten, durch eine einzelne Kante der gleichen Länge ersetzt. Gibt es Sites auf einer maximalen Kantenfolge, dann werden statt dessen Abkürzungen von Site zu Site benutzt. So erhalten wir zu Baum T den kontrahierten Baum S T. Abbildung 1: Die Kontraktion löscht innere Sites, schneidet maximale leere Teilbäume u i ab und ersetzt Ketten von Grad -Knoten durch einzelne Kanten. Theorem 1. Das Voronoi-Diagramm einer Menge von n Sites auf einem Baum der Größe m hat die Komplexität n + m - 1 und läßt sich in Zeit O(m + n log n) berechnen. Beweis. Wählt man obige interne Darstellung eines Voronoi-Diagramm, dann verbrauchen Baumknoten und Bisektoren jeweils O(1) Platz. Per Definition existieren m Baumknoten. Per Induktion zeigen wir jetzt, daß ein Baum mit n Sites genau n - 1 Bisektoren impliziert. Jeder Bisektor teilt einen

5 Baum mit n Sites in zwei disjunkte Teilbäume mit o und l Sites, wobei n = o + l. Durch rekursive Anwendung dieser Annahme auf die Teilbäume erhält man genau o l = n -1 Sites. Es ergibt sich die Platzkomplexität von n + m - 1 zur Darstellung eines Voronoi-Diagramm. Für den Beweis der unteren Zeitschranke wird das sogenannte ɛ-closeness-problem auf die Berechnung eines Voronoi-Diagramms reduziert: jeder Algorithmus zur Berechnung des Voronoi-Diagramms von n Sites auf einem Liniensegment löst auch das ɛ-closeness-problem, denn die berechneten Bisektoren liefern die Nachbarschaftsbeziehungen der Sites auf dem Liniensegment und ɛ-closeness kann damit in linearer Zeit gelöst werden. ɛ-closeness liegt nachweislich in Θ(n log n). Um jedem der m Baumknoten die jeweils nächste Site und Distanz zuzuweisen, ist ein zusätzlicher Aufwand von O(m) nicht vermeidbar. Wir erhalten die untere Schranke Ω(n log n + m) für die Laufzeit. Der Beweis der oberen Schranke der Zeitkomplexität geschieht konstruktiv durch Angabe eines konkreten Algorithmus zur Berechnung des Voronoi-Diagramms mit Laufzeit O(n log n + m). Der Algorithmus sieht dabei wie folgt aus: Im ersten Schritt wird der Baum T mit dem oben beschriebenen Verfahren in Zeit O(m) kontrahiert, wobei die Komplexität des resultierenden Baums S T auf O(n) reduziert wird. Dann wird das Voronoi-Diagramm des kontrahierten Baums in Zeit O(n log n) berechnet. Hierzu kann ein Simultaneous Dijkstra-Ansatz benutzt werden. Durch Einsatz von Fibonacci Heaps ist eine Laufzeit von O(n log n) möglich. Schließlich wird das Voronoi-Diagramm auf den Originalbaum T übertragen. Dabei wird jedem Knoten von T die jeweils nächste Site und die entsprechende Distanz zugewiesen, anschließend werden die übrigen inneren Sites und entsprechenden Bisektoren wieder eingefügt. Dies ist insgesamt in Zeit O(m) möglich..1 Voronoi-Diagramme mit multiplikativen Gewichten Jede Site p i ɛ S besitzt nun ein multiplikatives Gewicht w j. Entsprechend werden je Site gewichtete Voronoi-Regionen definiert als W V R T (p i) = {x auf T w i d(x, p i) w j d(x, p j) i j} Je Kante werden Bisektoren gemäß ihrer Reihenfolge auf der Kante sortiert. Das folgende Lemma sei als Vorarbeit zum Beweis des nachfolgenden Theorem ohne Beweis erwähnt: Lemma. Das Voronoi-Diagramm mit multiplikativen Gewichten auf einer Linie ist äquivalent zur unteren Kontur der gewichteten Distanzfunktionen f i, welche an den Sites p i starten und Steigung ± w j besitzen. Bisektoren korrespondieren dabei zu den Schnittpunkten von Liniensegmenten der unteren Kontur. Abbildung : Das Voronoi-Diagramm mit multiplikativen Gewichten auf einem Liniensegment ist äquivalent zur unteren Kontur der gewichteten Distanzfunktionen. Theorem. Das Voronoi-Diagramm einer Menge von n Sites mit multiplikativen Gewichten auf einem Baum der Größe m hat die Komplexität Θ(nm) und läßt sich in Zeit Θ(nm + n log n) berechnen. Beweis. Zum Beweis der Platzkomplexität werden zunächst die Distanzfunktionen f i auf einer Kante betrachtet. Je zwei f i können sich höchstens zweimal schneiden. Nach den Resultaten von Sharir und Agarwal [] liegt die Komplexität der unteren Kontur von n Funktionen, welche sich höchstens zweimal schneiden in O(n). Andererseits können Gewichte und Sites so festgelegt werden, daß pro Kante Ω(n) Bisektoren möglich sind (siehe Abbildung 3). Überschreitet eine Distanzfunktion einer Baumkante einen Baumknoten, so wird sie entsprechend dem Grad des Knotens in mehrere neue Liniensegmente aufgeteilt, welche mit unterschiedlichen Winkeln weiterlaufen. Im Bereich benachbarter

6 Baumkanten entstehen daher weitere Bisektoren durch Sites benachbarter Kanten. Hierdurch sind weitere Ω(m) neue Bisektoren pro Site möglich, aber auch maximal O(m). Die Zahl n kann daher in beiden Fällen mit m multipliziert werden und wir erhalten die Platzkomplexität von Θ(nm). Abbildung 3: Es existieren Gewichte und Sites, so daß n lineare Distanzfunktionen n - 1 Schnittpunkte besitzen. Der Beweis der Zeitkomplexität wird durch Angabe eines Algorithmus zur Berechnung des Voronoi- Diagramms geführt. Zuerst sortiere die Sites nach aufsteigendem Gewicht. Dies ist in Zeit O(n log n) möglich. Füge die Sites gemäß ihrer Reihenfolge in den Baum ein. Zum Einfügen von Site p i lokalisiere p i und die entsprechende Baumkante in Zeit O(log n) und verfolge die Distanzfunktion, bis alle neuen Schnittpunkte (vorläufige Bisektoren) mit Distanzfunktionen bereits eingefügter Sites gefunden sind. Lösche dabei nicht mehr benötigte Bisektoren. Die Distanzfunktion einer neuen Site wird dabei von Distanzfunktionen bereits eingefügter Sites begrenzt (siehe Abbildung 4) und kann über den Schnittpunkt hinaus vernachlässigt werden. Beim Verfolgen der Distanzfunktionen werden ausschließlich bereits existente Bisektoren und Baumknoten besucht, aber keine weiteren Sites. Es reicht also, die Anzahl von Bisektoren und Baumknoten abzuschätzen. Sei k i die Anzahl der beim Einfügen von p i gelöschten Bisektoren, sei m i die Anzahl der besuchten Baumknoten und sei l i die Anzahl der neu eingefügten Bisektoren. Es gilt m i + l i m, es reicht die Summe n i=1 ki abzuschätzen. Insgesamt gibt es in dem Diagramm b = n i=1 li ki Bisektoren. Offensichtlich gilt b 0 und n i=1 li mn. Beachte, daß li m gilt, da pro Site maximal m neue Bisektoren eingefügt werden. Daher können wir n i=1 ki mn schließen. Insgesamt ergibt sich eine Laufzeit von O(nm + n log n) für den kompletten Algorithmus. Diese Grenze ist scharf, da die Komplexität des Voronoi-Diagramms mit multiplikativen Gewichten in Ω(nm) liegt. Abbildung 4: Die Distanzfunktion von s wird von den Distanzfunktionen von p und q geblockt.. Farthest color Voronoi-Diagramme Hier gibt es wie in der Einleitung beschrieben k unterschiedliche Typen von Sites, wobei jede Site je nach Typ eine Farbe zugewiesen bekommt. Für beliebiges x auf Baum T sei c(i,x) die bezüglich der Distanzfunktion d nächste Site der Farbe i. Dann liegt x in der Voronoi-Region derjenigen Site aus der Menge {c(0, x)... c(k, x)}, welche von x bezüglich d am weitesten entfernt ist. Theorem 3. Das Farthest color Voronoi-Diagramm einer Menge von n Sites mit k Farben auf einem Baum der Größe m hat die Komplexität (n - k) + m + 1 und läßt sich in Zeit O(km + n log n) berechnen.

7 Beweis. Zum Beweis der Platzkomplexität wird das Farthest color Voronoi-Diagramm zuerst auf einer einzelnen Baumkante betrachtet. Es gelten die folgenden Feststellungen: Das Einzelfarben-Voronoi-Diagramm der Sites der Farbe i entspricht der unteren Kontur der Distanzfunktionen mit Steigung ± 1. Das Farthest color Voronoi-Diagramm aller Sites entspricht der oberen Kontur der k Einzelfarben- Diagramme, also der oberen Kontur von k unteren Konturen. Abbildung 5: Das Farthest color Voronoi-Diagramm ist äquivalent zur oberen Kontur der unteren Konturen der Einzelfarben-Distanzfunktionen. Sei n i die Anzahl der Sites mit Farbe i auf der Kante. Dann existieren im Einzelfarben-Diagramm der Farbe i genau n i 1 Gipfel. Im worst case gehört jeder dieser Gipfel als Bisektor zum Farthest color Voronoi-Diagramm der Kante. Zusätzlich erzeugt er jeweils rechts und links Bisektoren an den Schnittpunkten mit anderen Distanzfunktionen. Diese werden jeweils mit 1 gezählt. Zusammen ergibt das i (ni 1) = (n k) Bisektoren für alle Farben. Jetzt sind die beiden extremen Bisektoren rechts und links außen jeweils nur mit 1 gezählt, also wird noch ein Bisektor addiert und man erhält insgesamt (n - k) + 1 Bisektoren pro Kante. Betrachtet man den ganzen Baum, ist die Situation ähnlich. Man erhält auf obige Weise (n - k) Bisektoren für die Gipfel der k unteren Konturen. Um die zusätzlichen Werte von 1 zu ermitteln, startet man an einem Baumblatt und zählt dieses mit 1. Läuft man entlang der Kante bis zu einem verzweigenden Knoten n, gehört das zusätzlich nötige 1 entweder zu einem Gipfel auf einer der angrenzenden Kanten und wurde bereits gezählt, oder es existiert kein Gipfel auf den von n ausgehenden Kanten was bedeutet, daß ein weiteres 1 addiert werden muß. Im Ergebnis macht das (n - k) + 1 Bisektoren für den ganzen Baum. Da Baumkanten ebenfalls als Diagrammteil gewertet werden, ergibt sich die Platzkomplexität von (n - k) m. Zur effizienten Berechnung wird die Tatsache ausgenutzt, daß alle Distanzfunktionen die Steigungen ±1 besitzen. Der Algorithmus sieht wie folgt aus: Berechne kantenweise alle Einzelfarben-Voronoi-Diagramme und teile sie in die Menge der Rechtsabzweigungen mit Steigung +1 und der Linksabzweigungen mit Steigung -1. Beide Mengen sind schnittpunktsfrei. Berechne je Kante mit einem Sweep die obere Kontur der k Mengen der Rechtsabzweigungen, danach das gleiche für die Mengen der Linksabzweigungen. Im letzten Schritt führe einen Merge der beiden Mengen zum Endresultat aus. Sei x e die Anzahl aller Rechtsabzweigungen aller Einzelfarben-Voronoi-Diagramme auf der Kante e. Die Berechnung aller Einzelfarben-Voronoi-Diagramme erzeugt Kosten von O(km + n log n). Die Sweep Status Struktur enthält die aktuell von der Scanline geschnittenen Liniensegmente in sortierter Reihenfolge. Die Ereignisse des Sweeps sind die X-Koordinaten der Anfangs- und Endpunkte der Liniensegmente. Wird ein Anfangspunkt erreicht, kann das entsprechende Liniensegment in die Sweep Status Struktur aufgenommen werden. Sobald der Endpunkt erreicht wird, kann es wieder entfernt werden. Die obere Kontur der Liniensegmente besteht jeweils aus dem obersten Segment in der Struktur. Es treten O(x e) Events auf, und jedes Event braucht Zeit O(log k). Die Rechtsabzweigungen eines Einzelfarben-Voronoi-Diagrammes sind bereits sortiert. Die k Mengen der Rechtsabzweigungen können in Zeit O(x e log k) in eine einzelne Liste sortiert werden, die die Eventqueue des Sweeps für die Kante e darstellt. Pro Kante e braucht die Berechnung beider oberer Konturen Zeit O(x e log k), auf allen Kanten insgesamt O(n log k). Werden Liniensegmente an Baumknoten dupliziert, müssen diese in sortierter Reihenfolge an die angrenzenden Kanten übergeben werden. Dies geht in zusätzlicher Zeit O(km) anstatt O(km log k), da eine erneute Sortierung dieser Liniensegmente gespart wird. Also sind beide obere Konturen nach der Berechnung der Einzelfarben-Voronoi-Diagramme in Zeit O(km + n log k) berechenbar. Die oberen Konturen aller Kanten haben die Komplexität O(km + n), sie können kantenweise in Zeit O(km + n) zur oberen Kontur der unteren Konturen der Einzelfarben-Voronoi-Diagramme gemergt werden. Die Gesamtkosten für den Algorithmus betragen O(km + n log n).

8 Abbildung 6: Die oberen Konturen der Links- und Rechtsabzweigungen und ihr Merge..3 Farthest color Voronoi-Diagramme mit multiplikativen Gewichten Jetzt betrachten wir eine Verallgemeinerung des Farthest color Voronoi-Diagramm, wobei jetzt jede Site ein multiplikatives Gewicht w j besitzt. Theorem 4. Die Komplexität des Farthest color Voronoi-Diagramm einer Menge von n Sites mit multiplikativen Gewichten und mit k Farben auf einem Baum der Größe m ist nach oben beschränkt durch O(mnα(k)), wobei α(k) die inverse Funktion der Ackermann-Funktion beschreibt, und von unten durch Ω(mn). Es kann in Zeit O(mn α(k) log k + n log n) berechnet werden. Beweis. Zuerst soll die untere Komplexitätsschranke bewiesen werden. Für beliebige Werte m, n und k kann ein Baum der Größe m konstruiert werden mit einer Menge von n Sites und k Farben, so daß die Komplexität des Diagramms in Ω(mn) liegt (siehe Abbildung 7). Die Kante e enthält dabei lk = n Sites mit gewichteten Distanzfunktionen, welche ausserhalb von e Parabelgestalt haben. Jedes innere Segment auf der Parabel produziert zwei Schnitte. Für jede der m - 1 weiteren Kanten existiert eine verschobene Parabel, da Distanzfunktionen ausserhalb ihrer Startkante aufgeteilt werden. Man erhält die Platzkomplexität Ω(mn). Abbildung 7: Konstruktion eines Farthest color Voronoi-Diagramm mit multiplikativen Gewichten der Komplexität Ω(lkm). Zum Beweis der oberen Komplexitätsschranke wird wieder die Äquivalenz des Diagramms zur oberen Kontur der unteren Konturen der Distanzfunktionen benutzt (siehe Kapitel.). Sei n i die Anzahl der Sites mit Farbe i. Die untere Kontur der Distanzfunktionen der Farbe i auf einer Baumkante hat

9 die Komplexität O(n i) (vergleiche Beweis zu Theorem ). Für eine Kante ist das gesuchte Diagramm also die obere Kontur von k stückweise linearen Funktionen der Komplexität i ni = O(n). Durch Anwendung von Korollar 6.3 des Papers von Sharir und Agarwal [] erhalten wir die Komplexität O(nα(k)) für eine einzelne Kante und O(mnα(k)) für den ganzen Baum. Es folgt der Beweis der Zeitkomplexität. Nach Theorem lassen sich alle Einzelfarben-Voronoi- Diagramme mit multiplikativen Gewichten in Zeit i mni + ni log ni = O(mn + log n) berechnen. Die untere Kontur von k stückweise linearen Funktionen mit maximal l Segmenten kann nach Sharir und Agarwal [] in Zeit O(lα(k) log k) berechnet werden. In unserem Fall ist l = n und pro Kante ergibt sich eine Laufzeit von O(nα(k) log k) und für alle Kanten zusammen O(mnα(k) log k). Die Berechnung des Diagramms ist also insgesamt in Zeit O(mnα(k) log k + n log n) möglich.

10 3 Voronoi-Diagramme auf Graphen Ist der zugrundeliegende Raum G kein Baum sondern allgemein ein Graph, ergeben sich einige Änderungen. Zum Beispiel ist der kürzeste Pfad zwischen zwei Punkten im Allgemeinen nicht eindeutig bestimmt. Abgesehen von derartigen Auswirkungen können aber ähnliche Argumente wie auf Bäumen zum Beweis von Komplexitätsresultaten angewendet werden. Exemplarisch wird dies nun am Beispiel von Standard Voronoi-Diagrammen auf Graphen gezeigt. Theorem 5. Das Voronoi-Diagramm von n Sites auf einem Graph G=(V,E) mit Knotenanzahl V = m und Kantenanzahl E = e hat die Komplexität Θ(e + n) und kann in Zeit O(e + m log m + n log n) berechnet werden. Beweis. Zuerst wird die Platzkomplexität gezeigt. Sei n e die Anzahl der Sites auf Kante e. Es liegen höchstens n e + 1 Bisektoren auf e, n e 1 Bisektoren für die Gipfel und zwei Bisektoren, welche durch äußere Sites entstehen. Durch Aufsummieren kommt man auf maximal e ne + 1 = n + e Bisektoren für den gesamten Graph. Betrachtet man einen Graph mit zwei Knoten, der eine Site auf jedem Knoten hat und dessen beide Knoten mit beliebig vielen Kanten verbunden sind, dann enthält jede Kante einen Bisektor. Also ist die Zahl e relevant für die untere Grenze der Platzkomplexität. Betrachtet man einen Graph mit einer Kante e und n Sites auf dieser Kante, wobei n beliebig ist, dann liegen Ω(n) Bisektoren auf der Kante e. Daher ist auch die Zahl n relevant für die untere Grenze. Das Diagramm hat die Komplexität Ω(e + n) und es folgt auch Θ(e + n). Zur Berechnung des Voronoi-Diagramms sortiert man die Sites kantenweise und löscht innere Sites in Zeit O(n log n), genau wie man das bei Bäumen macht. Man kann im Falle eines allgemeinen Graphen allerdings keinen Gebrauch vom minimalen Spannbaum machen. Trotzdem kommt wieder der Simultaneous Dijkstra-Ansatz zum Einsatz, welcher Zeit O(e + m log m) braucht. Zum Schluß müssen die übrigen Sites und die entsprechenden Bisektoren wieder in den Graphen eingefügt werden. Dies geht in Zeit O(e). Zusammen ergibt das eine Zeitkomplexität für das Standard Voronoi-Diagramm auf Graphen von O(e + m log m + n log n). 4 Zusammenfassung Es wurde ein effizienter Algorithmus vorgestellt, welcher das Farthest color Voronoi-Diagramm auf einem Baum mit Sites mit multiplikativen Gewichten berechnet. Spezielle Algorithmen wurden vorgestellt für den Fall, daß alle Gewichte gleich groß sind, daß alle Farben gleich sind, oder beides. Abschließend wurde ein effizienter Algorithmus zur Berechnung des Standard-Voronoi-Diagramm auf Graphen vorgestellt. Teilweise wurden obere und untere Schranken für die Platz- und Laufzeitkomplexitäten der Algorithmen hergeleitet. A Anhang Literatur [1] Ferran Hurtado, Rolf Klein, Elmar Langetepe, Vera Sacristan : The weighted farthest color Voronoi diagram on trees and graphs, erhältlich unter [] M. Sharir, P.K. Agarwal : Davenport-Schinzel Sequences and Their Geometric Applications, Cambridge University Press, New York, 1995

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

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :

Mehr

Zusammenfassung Voronoi Diagramme

Zusammenfassung Voronoi Diagramme Zusammenfassung Voronoi Diagramme Elmar Langetepe University of Bonn Algorithmische Geometrie Voronoi Diagramme 03.06.11 c Elmar Langetepe SS 15 1 Kap. 5: Voronoi Diagramme Zerlegung der Ebene in Zellen

Mehr

2.2. Schnitte von Liniensegmenten

2.2. Schnitte von Liniensegmenten Wir wenden uns nun dem Problem (2) aus 1 zu. F15 Aus zwei Mengen S1, S2 von Liniensegmenten möchten wir alle Schnittpunkte der Segmente aus S1 mit denen aus S2 ermitteln. Wir legen fest, dass sich zwei

Mehr

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

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x

Mehr

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

Durchschnitte und Sichtbarkeit

Durchschnitte und Sichtbarkeit Durchschnitte und Sichtbarkeit Elmar Langetepe University of Bonn Algorithmische Geometrie Durchschnitte 11.05.15 c Elmar Langetepe SS 15 1 Durchschnitt von Halbgeraden/Konvexe Hülle Algorithmische Geometrie

Mehr

Übungsblatt 7 - Voronoi Diagramme

Übungsblatt 7 - Voronoi Diagramme Karlsruher Institut für Technologie Algorithmische Geometrie Fakultät für Informatik Sommersemester 2012 ITI Wagner Martin Nöllenburg/Andreas Gemsa Übungsblatt 7 - Voronoi Diagramme 1 Voronoi-Zellen Sei

Mehr

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

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

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:

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

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

3.2 Generischer minimaler Spannbaum-Algorithmus

3.2 Generischer minimaler Spannbaum-Algorithmus 3.2 Generischer minimaler Spannbaum-Algorithmus Initialisiere Wald F von Bäumen, jeder Baum ist ein singulärer Knoten (jedes v V bildet einen Baum) while Wald F mehr als einen Baum enthält do wähle einen

Mehr

Algorithmische Geometrie: Schnittpunkte von Strecken

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

Mehr

Algorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS Oktober 2014

Algorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS Oktober 2014 Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.813 Algorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS 2014 22. Oktober

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 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 14. Mai

Mehr

Satz 172 Jedes vergleichsbasierte Sortierverfahren benötigt im worst-case mindestens n ld n + O(n) Vergleiche und hat damit Laufzeit Ω(n log n).

Satz 172 Jedes vergleichsbasierte Sortierverfahren benötigt im worst-case mindestens n ld n + O(n) Vergleiche und hat damit Laufzeit Ω(n log n). 2.6 Vergleichsbasierte Sortierverfahren Alle bisher betrachteten Sortierverfahren sind vergleichsbasiert, d.h. sie greifen auf Schlüssel k, k (außer in Zuweisungen) nur in Vergleichsoperationen der Form

Mehr

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005

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

Mehr

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

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

Algorithmische Methoden für schwere Optimierungsprobleme

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

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

Übungsblatt 2 - Lösung

Übungsblatt 2 - Lösung Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

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

ÜBUNGSKLAUSUR Studienhalbjahr: 2. Semester. Datum: 20. Juli 2016 Bearbeitungszeit: 90 Minuten. Modul: T2INF Dozent: Stephan Schulz

ÜBUNGSKLAUSUR Studienhalbjahr: 2. Semester. Datum: 20. Juli 2016 Bearbeitungszeit: 90 Minuten. Modul: T2INF Dozent: Stephan Schulz Matrikelnummer: Fakultät Studiengang: Jahrgang / Kurs : Technik Angewandte Informatik 01 B/C/K ÜBUNGSKLAUSUR Studienhalbjahr:. Semester Datum: 0. Juli 01 Bearbeitungszeit: 90 Minuten Modul: TINF100.1 Dozent:

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

Mehr

Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Hilfssatz: Zu jedem einfachen Polygon mit mehr als 3 Ecken existiert eine Diagonale.

Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Hilfssatz: Zu jedem einfachen Polygon mit mehr als 3 Ecken existiert eine Diagonale. 6. Polygontriangulierung: Wie bewacht man eine Kunstgalerie? 6.1. Grundlegendes zu Polygonen Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Definition: Hilfssatz: Zu jedem einfachen Polygon

Mehr

2.4. Triangulierung von Polygonen

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

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

5. Vorrangwarteschlangen - Priority Queues

5. Vorrangwarteschlangen - Priority Queues 5. Vorrangwarteschlangen - Priority Queues Priority Queues unterstützen die Operationen Insert(), Delete(), ExtractMin(), FindMin(), DecreaseKey(), Merge(). Priority Queues per se sind nicht für IsElement()-Anfragen,

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

Very simple methods for all pairs network flow analysis

Very simple methods for all pairs network flow analysis Very simple methods for all pairs network flow analysis obias Ludes 0.0.0. Einführung Um den maximalen Flusswert zwischen allen Knoten eines ungerichteten Graphen zu berechnen sind nach Gomory und Hu nur

Mehr

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2)

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2) Algorithmische Geometrie: Delaunay Triangulierung (Teil 2) Nico Düvelmeyer WS 2009/2010, 2.2.2010 Überblick 1 Delaunay Triangulierungen 2 Berechnung der Delaunay Triangulierung Randomisiert inkrementeller

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 16 (2.7.2014) Graphtraversierung II, Minimale Spannbäume I Algorithmen und Komplexität Tiefensuche: Pseusocode DFS Traversal: for all u in

Mehr

Dies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen.

Dies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen. Linken von Bäumen: Zwei Bäume desselben Wurzel-Rangs werden unter Einhaltung der Heap-Bedingung verbunden. Sind k 1 und k 2 die Wurzeln der zwei zu linkenden Bäume, so wird ein neuer Baum aufgebaut, dessen

Mehr

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.

Mehr

Datenstrukturen und Algorithmen D-INFK

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

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

Algorithmische Techniken für Geometrische Probleme

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

Mehr

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

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

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

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 13: Flüsse und Zuordnungen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 9. Juni 2017 DURCHSATZ D(e) ist die maximale Flussmenge,

Mehr

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 13 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite Aufgabe. / 6 P Instruktionen: ) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern Sie

Mehr

2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus

2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus 2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus {0, 1,..., B 1} d in Zeit O(d(n + B)) sortiert werden, indem sie zuerst gemäß dem letzten

Mehr

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

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

Mehr

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

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

Mehr

5. Bäume und Minimalgerüste

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

Mehr

Geometrische Spannbäume minimalen Durchmessers

Geometrische Spannbäume minimalen Durchmessers Aroximationsschemata in Ablauflanung, Grahentheorie und Geometrie (engl.: Geometric Minimum-Diameter Sanning Tree, GMDST) SS 2004 Überblick Begriffsdefinitionen Eigenschaften von GMDSTs Exakter Algorithmus

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.

Mehr

Algorithmische Geometrie: Lineare Optimierung (I)

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

Mehr

Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer

Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer Uberblick 1. Anwendung 2. Anforderungen an Netze 3. Quadrantenbaume Quadrantenbaume fur Punktemengen Bestimmung

Mehr

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

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

Mehr

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

3. Musterlösung. Problem 1: Boruvka MST

3. Musterlösung. Problem 1: Boruvka MST Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines

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 Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 7 und 8: Euler- und Hamilton-Graphen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 17. April 2018 1/96 WIEDERHOLUNG Eulersche

Mehr

Geradenarrangements und Dualität von Punkten und Geraden

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

Mehr

1 Kürzeste Pfade in Graphen

1 Kürzeste Pfade in Graphen Praktikum Algorithmen-Entwurf (Teil 3) 03.11.2011 1 1 Kürzeste Pfade in Graphen Es sei ein gerichteter Graph G = (V, E) mit V = n Knoten, E = m Kanten und Kantengewichten c : E R gegeben. Ein Pfad in G

Mehr

Graphalgorithmen Minimale Spannbäume. Kruskal: Minimaler Spannbaum

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

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,

Mehr

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen Praktikum Algorithmen-Entwurf (Teil 3) 06.11.2006 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet

Mehr

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen Praktikum Algorithmen-Entwurf (Teil 3) 31.10.2005 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet

Mehr

Zusammenfassung Verallgemeinerungen VD Segmente/Pledge Algorithmus

Zusammenfassung Verallgemeinerungen VD Segmente/Pledge Algorithmus Zusammenfassung Verallgemeinerungen VD Segmente/Pledge Algorithmus Elmar Langetepe University of Bonn Algorithmische Geometrie VD Segmente/Pledge 29.06.11 c Elmar Langetepe SS 11 1 Voronoi Diagramm von

Mehr

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

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

Mehr

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

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.04.2014 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und

Mehr

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )

Mehr

Das EM-Modell. Vorlesung 3: Lubys Algorithmus. Graphenalgorithmen und lineare Algebra Hand in Hand

Das EM-Modell. Vorlesung 3: Lubys Algorithmus. Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung 3: Lubys Algorithmus Das EM-Modell 85 Nachsatz: Halbringnotation! Auch Bücher enthalten Fehler...! A op 1.op 2 v: Abkürzung für Matrix-Vektor-Multiplikation! Vereinbarung für Reihenfolge: A +.*

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2017/2018 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Christian Rieck Arne Schmidt Klausur Algorithmen

Mehr

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1 Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau

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

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Geometrie II Benjamin Zenke Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Closest Pair Divide & Conquer Bereichssuche Gitterverfahren k-d-tree Sweep-Line-Algorithmen

Mehr

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

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

Mehr

Greedy Algorithms - Gierige Algorithmen

Greedy Algorithms - Gierige Algorithmen Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2

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

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

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 15 P Hinweise: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 13 (6.6.2018) Graphenalgorithmen II Yannic Maus Algorithmen und Komplexität Repräsentation von Graphen Zwei klassische Arten, einen Graphen

Mehr

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 23. November 2011 Betweenness Centrality Closeness Centrality H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 Betweenness Centrality Grundlegende Idee: Ein Knoten ist wichtig, wenn er auf

Mehr

7. Sortieren Lernziele. 7. Sortieren

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

Mehr

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,... Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2014/2015 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen

Mehr

Quicksort ist ein Divide-and-Conquer-Verfahren.

Quicksort ist ein Divide-and-Conquer-Verfahren. . Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.

Mehr

Kapitel IV Minimale Spannbäume

Kapitel IV Minimale Spannbäume Kapitel IV Minimale Spannbäume 1. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,

Mehr

Kürzeste Wege in einfachen Polygonen. Sofiya Scheuermann 28. Januar 2008

Kürzeste Wege in einfachen Polygonen. Sofiya Scheuermann 28. Januar 2008 Kürzeste Wege in einfachen Polygonen Sofiya Scheuermann 28. Januar 2008 1 Inhaltsverzeichnis 1 Motivation 3 2 Grundlagen 3 3 Algorithmus 3 3.1 Zerlegung............................... 4 3.2 Zusammensetzung..........................

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

Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.

Kurs 1663 Datenstrukturen Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom 15.08.98 Seite 1 Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. August 1998 Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur

Mehr

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 12 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

Definition 14 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt:

Definition 14 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt: 2.1.2 Rot-Schwarz-Bäume Definition 14 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt: 1 alle Blätter hängen an schwarzen Kanten

Mehr

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität)

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität) Über-/Rückblick Algorithmenbegriff: Berechenbarkeit Turing-Maschine RAM µ-rekursive Funktionen Zeit Platz Komplexität Algorithmentechniken Algorithmenanalyse (Berechnung der Komplexität) Rekursion Iteration

Mehr

Algorithmen und Datenstrukturen 2-1. Seminar -

Algorithmen und Datenstrukturen 2-1. Seminar - Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8

Mehr

Kap. 6.5: Minimale Spannbäume

Kap. 6.5: Minimale Spannbäume Kap. 6.5: Minimale Spannbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 19./20. VO DAP2 SS 2009 30.6./2.7.2009 1 Anmeldung zur Klausur 31.07.2009 um 10:15

Mehr

für n-elementige Punktmenge jedenfalls Ω(n log n), da mit VD die konvexe Hülle in linearer Zeit bestimmbar.

für n-elementige Punktmenge jedenfalls Ω(n log n), da mit VD die konvexe Hülle in linearer Zeit bestimmbar. Konstruktion des Voronoi-Diagramms Untere Schranke für den Zeitaufwand: für n-elementige Punktmenge jedenfalls Ω(n log n), da mit VD die konvexe Hülle in linearer Zeit bestimmbar. Wenn man die n Punkte

Mehr