Problem des Handwerkers

Größe: px
Ab Seite anzeigen:

Download "Problem des Handwerkers"

Transkript

1 Rheinische Friedrich-Wilhelms-Universität Bonn Institut für Informatik I Jörg Simonsmeier Problem des Handwerkers 9. Januar 009 Seminararbeit im Wintersemester 008/009

2

3 Zusammenfassung Dieses Dokument ist eine Ausarbeitung zu der wissenschaftlichen Arbeit On Approximating A Geometric Prize-Collecting Traveling Salesman Problem With Time Windows, veröffentlicht in November 00 von den Autoren Reuven Bar-Yehuda, Guy Even und Shimon (Moni) Shahar. Das Problem TW-TSP, TimeWindow-TravelingSalesman- Problem, wird vorgestellt, und es werden mehrere approximative Algorithmen zu zwei verschiedenen Problemklassen präsentiert. Inhaltsverzeichnis Einleitung Problembeschreibung Der allgemeine Fall: Asymmetrisches TW-TSP. Asymmetrisches TW-TSP ist NP-Hart Das asymmetrische TW-TSP lösen Keine zick-zack s, keine Bearbeitungszeit und Einheitsprofit. 6.4 Beliebige Instanz-Dichte, keine Bearbeitungszeit und Einheitsprofit Bearbeitungszeiten Eine geometrische Interpretation: TW-TSP On A Line 0 4. Einheitszeitfenster und 8-Approximation Approximationsgüte Die Suche: Schwach/Stark polynomiell abhängig von der Eingabe Beliebige Zeitfenster und O(log L) Approximation Vorsortierung und O(log n) Approximation Literatur 5

4 Einleitung Behandelt wird das alltägliche Problem eines Handwerkers: Bestimmen einer Route mit maximalem Profit. Dazu seien gegeben eine bekannte Menge an verfügbaren Aufträgen, die jeweils an verschiedenen Orten liegen und vielleicht auch nach Bearbeitung unterschiedlich entlohnt werden. Hinzu kommen noch die individuellen Kunden-Zeitfenster, in denen der jeweilige Auftrag bearbeitet werden kann, und die Bearbeitungszeit des Auftrags. Gesucht ist nun eine Tagesroute für den Handwerker, der die Kombination aus Reisezeit, Zeitfenstern, Bearbeitungszeit und möglichem Profit so nutzt, dass der gesamte Verdienst des Handwerkers maximiert wird. Wegen der Ähnlichkeit zu TSP wird das Problem mit TW-TSP bezeichnet, Time Window - Traveling Salesman Problem. Es werden zwei verschiedene Varianten des TW-TSP betrachtet: Asymmetric TW-TSP und TW-TSP On A Line. Problembeschreibung Gegeben: Eine Menge V, in der jedes v V einen Ort/Job repräsentiert. Eine Liste l(v i, v j ), die Auskunft über die kürzeste Reisezeit von Ort v i zu Ort v j gibt, für alle v i, v j V disjunkt. Zu jedem Job v V vier Zuweisungen: release(v), deadline(v), handle(v) und prof it(v) Ein spezielles v 0 V, den Startpunkt. Dabei beschreibt release(v) den Beginn des Zeitfensters von v und deadline sein Ende. Daher wird im weiteren das Intervall I v = [release(v), deadline(v)] auch als das Zeitfenster von v bezeichnet, und es muss immer gelten: release(v) deadline(v). Die Länge des Zeitfensters von v lässt sich bezeichnen als der Betrag I v. Der Wert handle(v) entspricht der Bearbeitungszeit von v, und prof it(v) ist der Lohn, der nach Bearbeitung gezahlt wird. Für einen Ort/Job v gilt immer, dass sein Lohn prof it(v) höchstens ein einziges Mal gezahlt werden kann. Da v 0, der Startpunkt, keinen verfügbaren Auftrag beschreiben soll, sei immer release(v 0 ) = deadline(v 0 ) = handle(v 0 ) = profit(v 0 ) = 0.

5 Gesucht: Eine optimale Sequenz {(v i, t i )} k 0 mit 0 i k. Dabei beschreibt jedes (v i, t i ) einen Job der bearbeitet wird, wobei t i der Zeitpunkt ist, an dem der Handwerker an dem Ort v i eintrifft. Es muss also t i im Zeitfenster von v i liegen, und da der Handwerker an dem jeweiligen Ort bleiben muss, bis er den Auftrag beendet hat, gilt: t i + handle(v i ) t i+. Jede Instanz beginnt am Ort v 0 zum Zeitpunkt t 0 = 0, d.h. das erste Tupel der Sequenz muss immer sein: (v 0, 0) Als optimal wird eine Sequenz bezeichnet, wenn die Summe der erhaltenen Entlohnungen, k i=0 profit(v i ), maximal ist, verglichen mit allen anderen möglichen Sequenzen. Der allgemeine Fall: Asymmetrisches TW-TSP Die Liste l(, ) der Reisezeiten und die Menge V der Orte/Jobs lassen sich graphisch darstellen als ein vollständiger, gewichteter, gerichteter Graph, wobei V die Menge der Knoten ist und l(v i, v j ) das Gewicht der gerichteten Kante von v i nach v j angibt, für v i, v j V disjunkt. Dabei lassen sich im ganz allgemeinen Fall die Entfernungen so beliebig definieren, dass eine metrische Ordnung nicht möglich ist. Z.B. könnte man für drei Knoten v, v, v V definieren: l(v, v ) = 0 l(v, v ) = 0 l(v, v ) = 5 Diese Definition ist so allerdings noch unvollständig, da es sich um gerichtete Kanten handelt. Um die Möglichkeiten ganz auszunutzen definieren wir weiter: l(v, v ) = 7 l(v, v ) = 8 l(v, v ) = 9 Die einzige Einschränkung, die gemacht werden muss, ist, dass für alle v i, v j V gilt: l(v i, v j ) 0. Der Handwerker kann nicht rückwärts durch die Zeit reisen.

6 . Asymmetrisches TW-TSP ist NP-Hart Um zu zeigen, dass die asymmetrische Variante NP-Hart ist, benutzen wir das Rucksack-Problem. Das Rucksack-Problem Gegeben: Eine Menge V an Objekten. Zu jedem v V zwei Zuweisungen: weight(v) und profit(v) Eine obere Schranke B, die das maximale Gewicht definiert, das der Rucksack halten kann Gesucht: Eine Teilmenge V V, so dass die Summe weight(v) kleiner ist als die obere Schranke B. v V die Summe profit(v) maximal ist, verglichen mit allen anderen Teilmengen für die die erste Bedingung v V gilt. Theorem Das Rucksack-Problem lässt sich in polynomiell beschränkter Zeit reduzieren auf das asymmetrische TW-TSP. Beweis. Sei (V, B, weight(), prof it()) eine Instanz des Rucksack-Problems. Dann lässt sich daraus wie folgt eine Instanz des TW-TSP beschreiben: Aus V wird das Set der Orte/Jobs V := V {v 0 }. profit(v) beschreibt nun den Lohn von Job v. Für alle u, v V mit u v sei l(u, v) := weight(v). Für alle v V mit v v 0 sei release(v) := 0, deadline(v) := B und handle(v) := 0. Für v 0 gilt wie immer release(v 0 ) = deadline(v 0 ) = profit(v 0 ) = handle(v 0 ) = 0. 4

7 Nun wird nach einer Sequenz gesucht, so dass der Handwerker bis zum Zeitpunkt B seinen Profit maximiert hat. Ist so eine Sequenz gefunden, beschreibt die Menge der erledigten Jobs gleichzeitig auch eine Lösung der Rucksack-Problem - Instanz. Die Konstruktion der TW-TSP - Instanz ist offensichtlich deterministisch und polynomiell von V abhängig.. Das asymmetrische TW-TSP lösen Zum besseren Verständnis sei der bereits definierte Graph aus Orte/Jobs und Reisezeiten l(, ) im weiteren als Landkarte bezeichnet. Der hier vorgestellte Lösungsweg hält sich an folgendes Konzept:. Definiere für jeden Ort eine Menge von möglichen Ankunftszeiten.. Konstruiere daraus einen neuen gewichteten gerichteten azyklischen Graphen zu allen Paaren (v, t), wobei v ein Ort und t eine mögliche Ankunftszeit zu v. Das Gewicht einer Kante (v, t) (v, t ) entspricht dem Profit von v.. Suche in diesem Graphen einen schwersten Pfad, indem alle möglichen Pfade betrachtet werden und ein schwerster davon als Ergebnis genommen wird. In diesem Lösungsweg tauchen folgende Probleme auf:. Zu viele Knoten. Genau genommen ergeben sich pro Ort unendlich viele mögliche Ankunftszeiten, sobald das Zeitfenster mehr beinhaltet als einen einzigen Zeitpunkt. Dieses Problem wird gelöst, indem man zunächst release(v) als t definiert, aus einem Ort/Job v also den Knoten (v, release(v)) erhält, und je nach Bedarf t noch einmal ändert.. Der Graph Landkarte ist immernoch vollständig, also insbesondere nicht azyklisch. Ohne eine weitere Datenstruktur und zusätzliche Rechenarbeit kann der Algorithmus nicht wissen, ob der Lohn eines Knotens schon einmal gezahlt wurde, oder nicht. D.h. wenn innerhalb des Zeitfensters [release(v), deadline(v)] von v nach v und wieder zurück nach v gegangen wird (im weiteren als zick-zack-weg bezeichnet), dann wird der Profit von v doppelt gezählt. Dieses Problem wird hier nicht 5

8 wirklich gelöst, es wird nur ein Dichte-Parameter definiert, der die obere Grenze der Anzahl der möglichen zick-zack-wege angibt. Der Dichte-Parameter: Orte/Jobs v V. Die Dichte σ(π) = max u,v Zunächst für den Fall: handle(v) = 0 für alle I u l(u,v)+l(v,u) gibt eine obere Grenze für die zickzack s in der TW-TSP-Instanz Π vor: Die Knoten u und v sind die beiden Orte/Jobs unserer Instanz Π, für die das Verhältnis Länge des Zeitfensters von u geteilt durch Reisezeit von u nach v und wieder zurück nach u maximal ist, verglichen mit allen anderen Orten. Befindet man sich also zu Anfang des Zeitfensters I u in u und reist dann immer zwischen u und v hin und her, so kann man sich sicher sein, dass man u öfter innerhalb seines Zeitfensters I u besucht, als es bei jedem anderen Orte-Paar möglich ist. Später mehr dazu. Wir betrachten zunächst Instanzen, die keine zick-zack-wege v v v innerhalb des Zeitfensters von v zulassen. Außerdem gelte Einheitsprofit und wieder handle(v) = 0 für alle Orte/Jobs v V.. Keine zick-zack s, keine Bearbeitungszeit und Einheitsprofit Der Algorithmus: Entsteht dynamisch. Bis zum Endergebnis werden sequenziell immer neue Layer definiert, und das Layer L i+ entsteht aus seinem Vorgänger L i. Zum intuitiven Verständnis betrachte man zunächst die Berechnung von L 0 bis L.. L 0 := (v 0, t 0 ) enthält nur den Startknoten, zusammengesetzt aus Start- Ort und Start-Zeit. (Im Falle des Handwerkers also z.b. seine Werkstatt um 8 uhr morgens.). L := (v, t neu),..., (v n, t nneu) mit den Eigenschaften für i n: v i ist ein anderer Ort als v 0. t ineu := max(l(v 0, v i ), release(v i )) ist kleiner als deadline(v i ) und minimal innerhalb der Menge aller t jneu mit j n. 6

9 L beschreibt also alle Orte um v 0 herum, deren Anreisezeit von v 0 aus minimal ist, und t repräsentiert den Zeitverlauf während der Reise. Analog geht es zu L, L,... Allgemein, für L j bereits bekannt: L j+ : Für Alle (v, t v ) L j Für Alle (u, t u ) mit: u V und u v t := max(release(u), (t v + l(v, u))) Wenn t deadline(u) und in L j+ existiert kein (u, t ) mit t < t Dann L j+ := L j+ (u, t ) EndFür EndFür Der Algorithmus stoppt, wenn das neu erstellte Layer L j+ leer ist. Also beschreibt L j eine Menge von Wegen, die außer dem Start-Ort noch j andere Orte während ihrer jeweiligen Zeitfenster passieren und, verglichen mit allen anderen möglichen Wegen der Länge j, minimale Reisezeit haben. Behauptung: Basierend auf dem Grundsatz, dass in jedem Szenario mindestens ein bester Pfad existieren muss, sei nun p ein bester Pfad, der die optimale Anzahl an Jobs k in kürzester Gesamtreisezeit erledigt, verglichen mit allen anderen besten Pfaden. Dann muss sich dieser Pfad in Layer L k befinden. Beweis. Durch induktive Betrachtung, beginnend beim Startpunkt: Pfadp startet in (v 0, t 0 ), dem einzigen Element von L 0. Sei p nun schon zur Zeit t an einem seiner Wegpunkte v angelangt, befinde sich also gerade an Knoten (v, t). Entsprechend Induktionsanfang gilt: (v, t) L j. Keine zick-zack-wege sind erlaubt, also kann man davon ausgehen, dass die optimale Tour direkt (über eine Kante in Landkarte) weitergeht zu Ort u, wo entweder das Zeitfenster von u sofort genutzt werden kann, oder nach der Anreise noch auf release(u) gewartet werden muss. Vor der Weiterreise befindet sich p also in Status (u, t ), an Ort u zu Zeitpunkt t, mit t = max(release(u), t + l(v, u)) - und natürlich t deadline(u), denn würde der optimale Pfad den Ort erst nach der deadline passieren, würde er überhaupt nicht über diesen Knoten verlaufen. Und so muss (u, t ) sicherlich in L j+ sein, denn die beschriebenen 7

10 Eigenschaften sind genau die, die im Algorithmus gefordert werden. Also befindet sich jeder am Startpunkt beginnende Teil-Pfad von p in dem Layer, das der Anzahl seiner erledigten Jobs entspricht, und da k die größte Anzahl an jobs ist, befinden sich in Layer L k alle schnellsten besten Pfade, und sonst nichts..4 Beliebige Instanz-Dichte, keine Bearbeitungszeit und Einheitsprofit Der nächste Schritt ist die Aufhebung der keine-zick-zack s - Einschränkung. Dadurch verändern sich die Eigenschaften wie folgt: Sei k wieder die maximale Anzahl an erledigten Aufträgen pro Tag und p wieder eine optimale Route. Der von dem bereits bekannten Algorithmus berechnete Pfad p könnte sowohl mehr Orte als p passieren (d.h. mehr als k Layer konstruieren), als auch weniger (echten) Profit einbringen als k. Allerdings kann zu Pfad p eine Abschätzung genannt werden: Behauptung: Bei der Berechnung von p werden höchstens k ( σ(π) +) Layer konstruiert, und die Approximationsgüte des Algorithmus beträgt σ(π) +. Beweis. Dass die Differenz k(p) k nicht noch größer sein kann, lässt sich einfach verdeutlichen. Wie bereits erwähnt, beschreibt σ(π) die absolute obere Grenze der möglichen Doppelzählungen, allerdings nicht zwangsläufig als ganze Zahl. Daher die Abrundung; wenn beispielsweise σ(π) = max u,v I u l(u,v)+l(v,u) =, 8, dann ist in Szenario Π kein einziger Pfad möglich, der über mehr als zwei zick-zack-wege läuft. Nun verallgemeinernd angenommen, in Szenario Π sei σ(π) = m, m IN und der Handwerker befinde sich genau zu release(u) in u, und reise so schnell wie möglich immer von u nach v und wieder zurück nach u. Dann trifft er zu den Zeitpunkten (l(u, v) + l(v, u)), (l(u, v) + l(v, u)),..., m (l(u, v) + l(v, u)) wieder in u ein, wobei das m-te Mal genau zum Zeitpunkt deadline(u) passiert. Er ist also um release(u) in u gestartet, hat dann v genau m -mal besucht und u genau n-mal, und befindet sich am Ende in u, zum Zeitpunkt deadline(u). Der Profit eines einzigen Ortes kann also allerhöchstens m + -mal in die 8

11 Profit-Rechnung gelangen. Da für σ(π) = immer k(p) = k gilt, wie bereits behandelt, folgt: k k(p) (n + )k und die Approximationsgüte ist bewiesen..5 Bearbeitungszeiten Angenommen, es sei nun nicht der Fall, dass ein Job erledigt ist, sobald der Handwerker eintrifft. Statt dessen besitze nun jeder Job eine Bearbeitungszeit, zu jedem Ort v wird also noch der Parameter handle(v) definiert. Die Abreise verzögert sich also; kommt der Handwerker z.b. zum Zeitpunkt release(v) in Ort v an, so wird er erst zum Zeitpunkt release(v) +handle(v) abreisen. Der vorgestelle Algorithmus kann auch unter diesem Umstand verwendet werden, allerdings müssen ein paar Eigenschaften angepasst werden: Die Konstruktion von L j+ : Für Alle (v, t v ) L j Für Alle (u, t u ) mit: u V und u v t := max(release(u), (t v + l(v, u)+handle(v))) Wenn t deadline(u) und in L j+ existiert kein (u, t ) mit t < t Dann L j+ := L j+ (u, t ) EndFür EndFür Die Definition der Instanz-Dichte: σ(π) = max u,v I u l(u,v)+handle(u)+l(v,u)+handle(v) 9

12 4 Eine geometrische Interpretation: TW-TSP On A Line In dieser Variante werden zusätzliche Einschränkungen vorgegeben: Die Bearbeitung der Aufträge braucht keine Zeit, sobald der Handwerker eintrifft, ist der Auftrag erledigt und er kann direkt zum Nächsten fahren. Es gilt also handle(v) = 0 für alle Orte/Jobs v V. Die regionalen Gegebenheiten lassen sich durch eine spezielle Metrik beschreiben: Für alle v i, v j, v k V mit l(v i, v j ) < l(v i, v k ) gilt l(v i, v k ) = l(v i, v j ) + l(v j, v k ). Daraus ergibt sich ein angenehmer Effekt: Es genügt, die verschiedenen Orte als Punkte auf einer Geraden zu repräsentieren. v 0 a b c Lage Abb. : Beispiel, drei Orte/Jobs a, b und c mit l(v 0, b) = l(v 0, a) + l(a, b) usw. 0

13 Da die Zeit ohnehin als Punkte auf einer Geraden verstanden werden kann, wird noch eine Zeit-Achse hinzugefügt. Wir ordnen die beiden Achsen, indem wir festlegen: Die Achse der Orte/Jobs bzw. der Reisezeiten liege horizontal in der Ebene und die Zeit-Achse vertikal. Mit Hilfe dieser beiden Achsen lassen sich nun die Zeitfenster und die maximale Reisegeschwindigkeit geometrisch darstellen: Die Zeitfenster der jeweiligen Orte werden einfach eingetragen, und die Zeitachse so skaliert, dass die maximale Reisegeschwindigkeit einer Geraden mit Steigung entspricht. t v 0 a b c Lage Abb : Gleiches Beispiel wie in Abb., allerdings erweitert um Zeitfenster. Die Diagonale repräsentiert die maximale Reisegeschwindigkeit, und die gestrichelte Linie zeigt eine mögliche, optimale Tour. Um das Problem zu lösen, wird wie folgt vorgegangen: Zunächst () wird die gegebene TW-TSP-Instanz reduziert auf eine Instanz des LON- GEST MONOTONE SUBSEQUENCE - PROBLEM. Dann () wird die Instanz des LONGEST MONOTONE SUBSEQUENCE - PROBLEM mit einem Algorithmus approximativ gelöst in O(log n), wobei n die Anzahl der verfügbaren Aufträge ist. Die Approximationsgüte hängt von verschiedenen Eigenschaften der Problem-Instanz ab.

14 () TW-TSP LONGEST MONOTONE SUBSEQUENCE - Problem Die Instanz-Grafik wird um 45 gedreht. Damit liegt die Gerade der maximalen Reisegeschwindigkeit nun genau auf der horizontalen Reisezeiten- Achse, nun auch als x-achse bezeichnet, wodurch jeder mögliche Weg eine x-monotone Kurve sein muss. t 45 b v0 a b c Lage v0 a c Abb : Drehung um 45. Nun liegt eine Instanz des LONGEST MONOTONE SUBSEQUENCE - Problem vor: Gegeben eine Menge von schrägen Segmenten mit Steigung 45, gesucht ein x-monotoner Weg, der so viele Segmente wie möglich schneidet. () Algorithmen zum LONGEST MONOTONE SUBSEQUENCE - Problem: 4. Einheitszeitfenster und 8-Approximation Für den Fall, dass alle Zeitfenster gleich groß sind (O.B.d.A hier auf den Wert gesetzt), kann folgende Prozedur angewandt werden: Schritt. Es wird ein Gitter über das gesamte Szenario gelegt. Dabei enthält jeder Gitter-Block die Fläche, und das Gitter wird so gelegt,

15 dass nirgendwo ein Eckpunkt eines Segments auf den Gitterlinien liegt. (*) Abb 4: Das vorherige Beispiel nun modifiziert zu Einheitszeitfenster und eingebettet in ein passendes Gitter. Wie in Abb. 4 zu sehen, folgt aus den vorgegeben Eigenschaften: ( ) + ( ) = + = =, also entspricht die Länge jedes Segments genau der Länge der Diagonalen eines Gitter-Blocks, woraus nach (*) folgt, dass ein Segment in jeder Lage genau eine Horizontale und eine Vertikale des Gitters schneidet.

16 Schritt. Das Gitter wird zu einem gerichteten gewichteten Graphen. Die Richtung der Kanten wird einheitlich ausgerichtet, die Horizontalen nach rechts und die Vertikalen nach oben, wodurch der Graph zusätzlich azyklisch wird. Die Gewichte der Kanten entsprechen der Anzahl an Segmenten, die die entsprechende Kante schneiden (bei Einheitsprofit. Variiert der Profit pro Segment, so ist es nicht die Anzahl der Segmente, sondern die Summe deren Profits). Abb 5: Vom Gitter zum Graphen. Schritt. In dem so erhaltenen Graphen wird ein Pfad mit maximalem Gewicht gesucht. Der Algorithmus: Schritt.. Topologische Vorsortierung der Gitter-Knoten: Je weniger Kanten der kürzeste Pfad v 0 v i besitzt, umso früher wird v i betrachtet. In unserem Graphen entspricht die Ordnung immer der Reihenfolge der Diagonalen, siehe Abb. 6.. Die Vorsortierung lässt sich direkt in die Konstruktion des Gitter-Graphen einbetten und benötigt daher insgesamt nur O(n) zusätzliche Kosten. Schritt.. Bestimmen aller schwersten Pfade. Ausgehend vom Startknoten werden entsprechend der Vorsortierung alle Knoten und alle Kanten nacheinander betrachtet - jede Kante und jeder 4

17 Knoten genau ein Mal. Dabei wird bei jedem Knoten die letzte Kante seines schwersten Pfades, also sein direkter Vorgänger, gespeichert. Siehe Beispiel: 0 Abb 6: Beispiel. Zunächst ist ein Graph gegeben. Der schwerste Pfad zum ersten Knoten ist immer 0. 0 Abb 6.: Topologische Vorsortierung. 5

18 Abb 6.: Als erstes werden die schwersten Pfade zur ersten Diagonalen bestimmt, dann zur zweiten, dann zur dritten, dann zum letzten Knoten Abb 6.: Der schwerste aller Pfade wird rückwärts laufend berechnet, anhand der gespeicherten Vorgänger. 6

19 Die Laufzeit liegt offensichtlich bei Θ( Knoten + Kanten ). Nach einem Durchlauf ist der schwerste Pfad vom Startknoten zum Endknoten bekannt. 4.. Approximationsgüte Theorem Der summierte Profit der von dem Algorithmus berechneten Tour entspricht mindestens einem Achtel des summierten Profits einer wirklich optimalen Tour. Beweis. Gegeben einen nach dem vorgestellten Verfahren berechneten Graphen- Pfad p, sei k(p) die Anzahl an Segmenten, die p schneidet. Da p nur ein Pfad mit maximalem Gewicht ist, sei p ein tatsächlich optimaler Pfad im Graphen, also k(p ) der maximal erreichbare Wert. Beide Pfade besitzen ein Gewicht w(), und da p ein Pfad mit maximalem Gewicht ist, kann man w(p) w(p ) voraussetzen. Das Gewicht der Pfade hängt von den geschnittenen Segmenten ab, mit der Eigenschaft: Ein Segment erhöht das Gewicht eines Pfades mindestens um 0 und höchstens um, da ein Segment den Graph höchstens an zwei Stellen schneidet - einmal eine horizontale und einmal eine vertikale Kante. Daraus folgt: Zusammen mit w(p) k(p) w(p). w(p) w(p ) also und aus der Umformung k(p) w(p) w(p ) folgt also w(p ) k(p ) w(p ) k(p ) k(p) w(p) w(p ) k(p ) 7

20 k(p) k(p ). Der gefundene Pfad p schneidet also mindestens halbsoviele Segmente, wie ein optimaler Pfad im Graphen. Das genügt allerdings noch nicht für eine Aussage über die tatsächliche Güte des Algorithmus, da ein optimaler Pfad in der Ebene (also dem eigentlichen Szenario) vielleicht mehr Segmente schneiden könnte, als ein optimaler Pfad im Graphen. Auch hier lässt sich eine untere Schranke finden: Sei p wieder ein optimaler Pfad innerhalb des Gitter-Graphen. Sei weiter nun p ein optimaler Pfad in der Ebene. Pfad p verläuft also innerhalb des Gitter-Graphen, allerdings nicht zwangsläufig entlang der Kanten. Dennoch kann man p in passend zugeschnittenen Gitter-Blöcken komplett erfassen: Betrachtet man die Flächen innerhalb des Gitters als Zellen C ij, wobei i der horizontale Index und j der vertikale sei, lässt sich ein Gitter-Block bzgl. p wie folgt definieren: Der erste horizontale Block sei die Vereinigung aller Zellen der ersten Zeile, C bis C y, die von p geschnitten werden. Da p monoton steigend sein muss, folgt sofort, dass die nächste geschnittene Zelle C y oder C y+ sein muss. Dort beginnt der erste vertikale Block, und geht so weit steil nach oben, bis p die y-te (bzw. y+-te) Spalte verlässt. Sei dieser erste vertikale Block nun die Vereinigung der Zellen C y bis C xy, dann ist C xy+ oder C x+y+ die nächste von p geschnittene Zelle, und dort beginnt der zweite horizontale Block; und so fort, bis die letzte Zelle des Graphen, also oben rechts, erreicht ist. v 0 Abb 7: Ein optimaler Pfad p, eingebettet in Gitter-Blöcke. 8

21 Entweder die horizontalen, oder die vertikalen Blöcke beinhalten mindestens die Hälfte aller Zellen, die von p geschnitten werden. Da sich die weitere Betrachtung analog auf den anderen Fall übertragen lässt, sei nun die Menge der horizontalen Blöcke die mit der Mehrheit der Zellen. Für jeden horizontalen Block gilt: (a) Noch immer gelten die zu Anfang gemachten Bedingungen, im Besonderen bedeutet das, dass jedes von p im Bereich des Blocks geschnittene Segment entweder die obere, oder die untere horizontale Linie des Blocks schneidet. (b) Es existieren mindestens zwei Graph-Pfade von der Block-Ecke unten links zur Ecke oben rechts: Der Eine beginnt mit einer vertikalen Kante und folgt dann der oberen horizontalen Begrenzung, der andere beginnt mit der unteren horizontalen Begrenzung und steigt am Ende die letzte vertikale Kante hinauf. Aus (a) und (b) folgt: Egal wie der optimale Pfad p innerhalb des Blocks verläuft, es existiert immer ein Pfad im Gitter-Graphen, der mindestens die Hälfte der Segmente schneidet, die p schneidet. Dieser Pfad ist einer der in (b) beschriebenen, und da der Algorithmus den Pfad mit dem größten Gewicht wählt, wird mit Sicherheit der bessere der beiden Pfade genommen - oder ein noch besserer. Für die Approximationsgüte ergibt sich also: Die horizontalen (bzw. vertikalen) Blöcke beinhalten mindestens die Hälfte der von p geschnittenen Zellen, und in jedem einzelnen horizontalen (bzw. vertikalen) Block schneidet der Graphen-Pfad mindestens die Hälfte der Segmente, die p schneidet. Ein optimaler Pfad im Graphen p schneidet mindestens 4 so viele Segmente, wie ein optimaler Pfad in der Ebene p. Es gilt Zusammen mit k(p ) k(p ) 4. k(p) k(p ) ergibt sich die Approximationsgüte 8: k(p) k(p ) 8 9

22 4.. Die Suche: Schwach/Stark polynomiell abhängig von der Eingabe Abb 8: Zusammenhang zwischen Segmente und der Größe des Gitters zunächst nur schwach polynomiell. Für die Laufzeit des Algorithmus ergibt sich zunächst nur eine schwache polynomielle Abhängigkeit von der Eingabegröße: Betrachtet man die beiden Eingabe-Sets in Abb. 8, so wird deutlich, dass die Berechnungszeit nicht direkt von der Anzahl der Segmente abhängt, sondern von deren Eigenschaften, den Minimum/Maximum - Differenzen auf den beiden Achsen. Allerdings kann man das Gitter, und damit den Graphen, auf einfache Weise dahin verändern, dass viele unnötige Berechnungen wegfallen. Dazu unterteilt man die Menge der Gitter-Linien in zwei Gruppen: Als interessant werden alle Linien bezeichnet, die ein oder mehr Segmente schneiden. Der Rest, also alle Linien die kein einziges Segment schneiden, wird als uninteressant bezeichnet. Vergleicht man nun das komplette Gitter mit dem Teil-Gitter bestehend nur aus den interessanten Linien, so lassen sich folgende Eigenschaften leicht zeigen:. Die Linien-Anzahl im interessanten Gitter hängt linear von der Anzahl der Segmente ab. Das folgt direkt aus der gegebenen Segment-Länge und den Gitter-Maßen. Oben wurde schon behandelt, dass ein Segment ein vollständiges Gitter immer nur einmal horizontal und einmal vertikal schneidet - für ein Teil-Gitter muss dies natürlich auch gelten, und damit existieren höchstens doppelt so viele interessante Linien wie Segmente.. Für zwei beliebige Segmente a und b gilt: Existiert im vollständigen 0

23 Gitter-Graphen ein Pfad von a nach b, so existiert auch im interessanten Gitter-Graphen ein Pfad von a nach b. Beweis. Es existiert eine horizontale Linie, die a schneidet, und eine Vertikale, die b schneidet. Diese beiden Linien haben einen gemeinsamen Schnittpunkt, da sie orthogonal zueinander verlaufen. Da der Pfad von a nach b im vollständigen Gitter-Graph existiert, und die Kanten im interessanten Gitter-Graph gleich ausgerichtet sind, muss auch dort ein Pfad von a nach b existieren. Das genügt, um sicher zu sein, dass der Algorithmus angewandt auf den interessanten Gitter-Graphen kein schlechteres Ergebnis bringen wird, als beim vollständigen Gitter-Graphen. Nur die Berechnungs-Komplexität verringert sich, da die Anzahl der Knoten und Kanten auf O(n) sinkt. (Die Konstruktion des interessanten Graphen verschlechtert diese Schranke nicht.) 4. Beliebige Zeitfenster und O(log L) - Approximation Dabei beschreibt L das Verhältnis des größten Zeitfensters zum kleinsten, L = Länge des größten Zeitfensters Länge des kleinsten Zeitfensters, und die genaue untere Schranke der Approximationsgüte beträgt 6 log L. Zur Verdeutlichung an dem noch begrenzten Zeitfenster [, ): Wendet man wieder den bereits vorgestellten Algorithmus an, so kann nun jedes Segment höchstens zwei vertikale und zwei horizontale Gitter-Linien schneiden. Ein Segment kann nun also das Gewicht des schwersten Pfades nicht nur um, sondern um 4 erhöhen - wodurch sich die untere Schranke noch einmal um den Faktor verschlechtert. Es ist also nicht mehr eine 8-, sondern eine 6-Approximation. Für beliebige Zeitfenster ändert sich nun folgendes: Man unterteilt die Segmente entsprechend der Größe ihrer Zeitfenster, und zwar in die Intervalle [ i, i+ ). Sei z.b. das kürzeste Segment von der Länge S kürzestes=, und das Längste von der Länge S längstes, dann werden alle Segmente auf die drei Intervalle [, 4 ), [ 4, 5 ) und [ 5, 6 ) verteilt. Die Anzahl der benötigten Intervalle hängt also logarithmisch von L ab, und bei insgesamt n Segmenten muss das Intervall mit den meisten Segmenten mindestens n + enthalten, bzw. allgemein n L +. Für jedes Intervall lässt man den Algorithmus einmal laufen, wobei die Größe des Gitters so skaliert wird, dass als untere Grenze der Approximationsgüte wieder 6 angegeben werden kann, d.h. die Gitter-fenster werden also jeweils

24 so groß gemacht, dass ein längestes Segment des aktuell betrachteten Intervalls das Gitter auch wirklich nur an höchstens 4 Stellen schneiden kann. Ist der Algorithmus schließlich einmal pro Längen-Intervall gelaufen, wird das beste Ergebnis aller Berechnungen als Endergebnis genommen. Insgesamt liegt die Approximationsgüte also in O(log L). 4. Vorsortierung und O(log n) - Approximation Nun wird ein anderer Ansatz betrachtet, wobei der Unterschied einzig in der Entwicklung des Gitters besteht. Ist das Gitter dann fertig, wird der gleiche Pfad-Such-Algorithmus wie bisher verwendet. Das Gitter: Gegeben sei ein Startpunkt und ein Set von Segmenten, die wie bisher mit 45 Neigung in der Ebene liegen. Zunächst wird eine Vertikale durch den Startpunkt gelegt, und die weiteren Vertikalen des Gitters werden rekursiv wie folgt eingefügt: Eine vertikale Linie werde so eingefügt, dass der Raum der Segmente in zwei Teile unterteilt wird. Dabei wird die Vertikale entweder so gelegt, dass sie alle Segmente schneidet, oder, falls das nicht möglich ist (und es ist natürlich nur sehr selten möglich), die Vertikale ein paar Segmente schneidet und sich die Menge der nicht geschnittenen Segmente relativ gleichmäßig auf die beiden Teilgebiete verteilt. Für die beiden Teilgebiete wiederholt man die Prozedur mit neuen Vertikalen, und so fort bis jedes Segment von einer Vertikalen geschnitten wird. Dann hat man die Menge der Segmente durch die Binärbaum-Struktur der Vertikalen geordnet, wobei natürlich die erste eingefüge Vertikale die Wurzel des Baumes ist, die beiden gleich danach eingefügten Vertikalen deren Söhne sind, und so weiter. Es kann natürlich (oft) vorkommen, dass ein Segment von mehreren Vertikalen geschnitten wird, zugeordnet ist es aber immer nur der einen Vertikalen, die das Segment bei der Entstehung des Baumes als erste geschnitten hat. Es ist klar, dass der Baum bei n Segmenten die Tiefe log n erreicht. Die Menge der Gitter-Horizontalen entsteht, indem man horizontale Linien durch jeden Endpunkt jedes Segmentes legt, also zwei Horizontale pro Segment.

25 Der Algorithmus: Der Rest ist schon bekannt: Die Gitter-Kreuze werden zu Knoten, die Gitter-Linien dazwischen zu Kanten, die Horizontalen wieder nach rechts gerichtet und die Vertikalen nach oben. Jeder Kante wird das Gewicht zugewiesen, das der Anzahl der geschnittenen Segmente entspricht (bzw. die Summe der Profite, wenn unterschiedliche Profite existieren). Dabei darf die Baum-Struktur allerdings nicht vergessen werden, da der Algorithmus nur für Segment-Mengen mit einer besonderen zusätzlichen Eigenschaft ausgelegt ist: Ist das Set der vertikalen Linien (und damit die Baum-Struktur) bestimmt, so muss gelten: Jedes Segment wird nur von genau einer Vertikalen geschnitten. Um das zu erreichen, und außerdem auch noch eine gute Route als Ergebnis zu erhalten, lässt man den Algorithmus wieder auf verschiedenen Teilmengen der Menge aller Segmente laufen. Dabei entspricht eine solche Teilmenge immer der Menge der Segmente, die von allen Vertikalen einer bestimmten Tiefe geschnitten werden. Eine solche Teilmenge ist also die Menge der Segmente, die von der ersten Vertikalen, der Wurzel des Baumes, geschnitten werden. Eine weitere Teilmenge ergibt sich durch die beiden Söhne der Wurzel, und so fort. Daraus folgt sofort, dass es log n Teilmengen gibt, der Algorithmus also log n mal laufen muss, und zwar immer auf einem anderen Gitter; einer anderen Einschränkung des gesamten Gitters. Demnach müsste Approximationsgüte also mindestens O(log n) liegen. Dass die Approximationsgüte tatsächlich in O(log n) liegt, zeigt sich bei Betrachtung der anderen Komponente, der oben beschriebenen Gitter-Konstruktion. Dazu betrachtet man, wie schon in.., die Werte k(p), k(p ) und k(p ). Wieder ist p der vom Algorithmus berechnete Pfad, p ein optimaler Pfad im Graphen und p ein optimaler Pfad in der Ebene. Es wurde schon vermerkt, dass jedes Segment nur von einer einzigen Vertikalen geschnitten wird. Betrachtet man die Räume zwischen den Vertikalen, so kann man also festhalten, dass sich jedes Segment höchstens in der linken und rechten Spalte seiner zugewiesenen Vertikalen befindet. Bedenkt man die azyklische Ausrichtung der Kanten, insbesondere die Rechtsausrichtung der Horizontalen, so ist auch klar: Jede Spalte kann nur ein einziges Mal von einem Pfad passiert werden. Daraus folgt, dass ein Segment das Gewicht des Pfades p höchstens um erhöhen kann (bei Einheitsprofit). Nämlich, wenn der Pfad das Segment einmal in der linken Spalte und einmal in der rechten Spalte der zugehörigen Vertikalen schneidet, und noch ein drittes Mal während er die Vertikale hochläuft.

26 Daraus folgt k(p) w(p ), und zusammen mit der trivialen Eigenschaft w(p ) k(p ) ergibt sich k(p) k(p ). Für p und p gilt immernoch k(p ) k(p ) 4, woraus sich also O(), ergibt. k(p) k(p ), Damit ist gezeigt, dass die Approximationsgüte tatsächlich bei O(log n) liegt. 4

27 5 Literatur Reuven Bar-Yehuda, Guy Even, Shimon (Moni) Shahar: On Approximating A Geometric Prize-Collecting Traveling Salesman Problem With Time Windows, 00 Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest: Introduction to Algorithms, MIT Press/McGraw Hill, 990 5

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

Approximationsalgorithmen

Approximationsalgorithmen Effiziente Algorithmen Lösen NP-vollständiger Probleme 320 Approximationsalgorithmen In polynomieller Zeit lässen sich nicht exakte Lösungen von NP-harten Problemen berechnen. Approximationsalgorithmen

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

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

Effiziente Algorithmen (SS2015)

Effiziente Algorithmen (SS2015) Effiziente Algorithmen (SS205) Kapitel 5 Approximation II Walter Unger Lehrstuhl für Informatik 2.06.205 07:59 5 Inhaltsverzeichnis < > Walter Unger 5.7.205 :3 SS205 Z Inhalt I Set Cover Einleitung Approximation

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

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 4. Januar 2011 Berthold Vöcking, Informatik 1 () Vorlesung

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

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

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

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

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 5 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 20. Dezember 2017 Abgabe 16. Januar 2018, 11:00 Uhr

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 16.12.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche Optimierung Institut für Statistik und OR Uni Graz 1 Approximationsalgorithmen auf metrischen Instanzen Minimum Spanning Tree Definition (Spannbaum) Ein Spannbaum in einem Graphen G = (V,E) ist ein kreisfreier Teilgraph

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Kürzeste-Wege-Algorithmen und Datenstrukturen

Kürzeste-Wege-Algorithmen und Datenstrukturen Kürzeste-Wege-Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teil 1 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................ 2 1.2

Mehr

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016 Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithms and Complexity Group 186.815 Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS 2016 5. Oktober 2016 Machen Sie

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 21 1 Approximationsalgorithmen auf

Mehr

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Approximationsalgorithmen. 19. Dezember / 28

Approximationsalgorithmen. 19. Dezember / 28 Approximationsalgorithmen 19. Dezember 2017 1 / 28 Optimierungsprobleme Das Ziel: Bearbeite schwierige Optimierungsprobleme der Form opt y f (x, y) so dass L(x, y). Die Zielfunktion f (x, y) ist zu minimieren

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

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1

Mehr

Approximationsschemata

Approximationsschemata Effiziente Algorithmen Aproximationsalgorithmen 312 Definition Approximationsschemata Sei A(ǫ) ein Approximationsalgorithmus mit einem Parameter ǫ. 1. A(ǫ) ist ein PTAS (polynomial time approximation scheme),

Mehr

Algorithmen II Vorlesung am

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

Mehr

Algorithmen zur Visualisierung von Graphen

Algorithmen zur Visualisierung von Graphen Algorithmen zur Visualisierung von Graphen Teile & Herrsche-Algorithmen: Bäume und serien-parallele Graphen Vorlesung im Wintersemester 20/202..202 Algorithmen zum Zeichnen von Bäumen Anwendbarkeit Gut

Mehr

Tutoraufgabe 1 (Suchen in Graphen):

Tutoraufgabe 1 (Suchen in Graphen): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS14 F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe 1 (Suchen in Graphen): a) Geben Sie die Reihenfolge an, in der die Knoten besucht werden, wenn

Mehr

Übung zur Vorlesung Diskrete Strukturen I

Übung zur Vorlesung Diskrete Strukturen I Technische Universität München WS 00/03 Institut für Informatik Aufgabenblatt 6 Prof. Dr. J. Csirik 18. November 00 Brandt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am

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

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7 Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt

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

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

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

Mehr

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!

Mehr

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 02.07.2015 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 11. Dezember 2007 1 / 47 2 / 47 wir wenden uns jetzt einem weiteren Optimierungsproblem zu Gliederung Matchings in bipartiten Graphen

Mehr

Algorithmen und Datenstrukturen SS09. Foliensatz 17. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 17. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 17 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 69 TU Ilmenau Seite 2 / 69 Graphtraverse Wie bei Bäumen, ist

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

Das Problem des Handlungsreisenden

Das Problem des Handlungsreisenden Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 22.12.2011 INSTITUT FÜR THEORETISCHE 0 KIT 09.01.2012 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 03.12.2013 Algorithmische Geometrie: Schnitte von Strecken Sweep-Line INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Das Rucksackproblem: schwache NP-Härte und Approximation

Das Rucksackproblem: schwache NP-Härte und Approximation Das Rucksackproblem: schwache NP-Härte und Approximation Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1. Februar 2010 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

Die Klasse NP und die polynomielle Reduktion

Die Klasse NP und die polynomielle Reduktion Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { }

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { } Zur Einleitung: Lineare Gleichungssysteme Wir untersuchen zunächst mit Methoden, die Sie vermutlich aus der Schule kennen, explizit einige kleine lineare Gleichungssysteme. Das Gleichungssystem I wird

Mehr

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 26 Optimierungsprobleme und ihre Entscheidungsvariante Beim Rucksackproblem

Mehr

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

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

Mehr

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { }

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { } Zur Einleitung: Lineare Gleichungssysteme Wir untersuchen zunächst mit Methoden, die Sie vermutlich aus der Schule kennen, explizit einige kleine lineare Gleichungssysteme. Das Gleichungssystem I wird

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15 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 18. März

Mehr

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Bäume und Wälder Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Ida Feldmann 2-Fach Bachelor Mathematik und Biologie 6. Fachsemester Inhaltsverzeichnis Einleitung 1 1. Bäume

Mehr

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009 Theoretische Informatik Rainer Schrader nichtdeterministische Turingmaschinen Zentrum für Angewandte Informatik Köln 29. April 2009 1 / 33 2 / 33 Turingmaschinen das Konzept des Nichtdeterminismus nahm

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008 Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 9

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

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

n A n = A ist nun folgendermaßen:

n A n = A ist nun folgendermaßen: Aufgabe 3. Sei (X, d) ein beschränkter metrischer Raum, d.h. es gibt ein c > 0 mit d(x, y) c für alle x, y X. Bezeichne T (X) die Menge aller abgeschlossenen nichtleeren Teilmengen von X. Für A, B T (X)

Mehr

Aufgaben zur Klausurvorbereitung

Aufgaben zur Klausurvorbereitung Vorlesung Graphen und Optimierung Sommersemester 2013/14 Prof. S. Lange Aufgaben zur Klausurvorbereitung Hier finden Sie eine Reihe von Übungsaufgaben, die wir an den beiden Vorlesungsterminen am 29.01.2014

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 16 Programm: Einführung

Mehr

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt.

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Abschätzung für die Rekursion von SELECT Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Wir nehmen erst einmal an, dass eine Konstante d existiert,

Mehr

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5) Praktikum Diskrete Optimierung (Teil 5) 6.05.009 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen

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

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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,

Mehr

6. Texterkennung in Videos Videoanalyse

6. Texterkennung in Videos Videoanalyse 6. Texterkennung in Videos Videoanalyse Dr. Stephan Kopf 1 Übersicht Motivation Texterkennung in Videos 1. Erkennung von Textregionen/Textzeilen 2. Segmentierung einzelner Buchstaben 3. Auswahl der Buchstabenpixel

Mehr

Weitere NP-vollständige Probleme

Weitere NP-vollständige Probleme Weitere NP-vollständige Probleme Wir betrachten nun folgende Reduktionskette und weisen dadurch nach, daß alle diese Probleme NP-hart sind (sie sind auch in NP und damit NP-vollständig). SAT p 3-SAT p

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Vollständigkeit 1 David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 20.05.2016 Übersicht Schwere Definition CIRCUIT-VALUE ist P-schwer

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

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

Mehr

Effizienter Planaritätstest Vorlesung am

Effizienter Planaritätstest Vorlesung am Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit

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

Bipartite Graphen. Beispiele

Bipartite Graphen. Beispiele Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 1/1 Datenstrukturen und Algorithmen Vorlesung 14: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/

Mehr

Algorithmische Bioinformatik 1

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

Mehr

Rundreiseproblem und Stabilität von Approximationsalg.

Rundreiseproblem und Stabilität von Approximationsalg. Das Rundreiseproblem und Stabilität von Approximationsalgorithmen Friedrich Alexander Universität Erlangen-Nürnberg Seminar Perlen der theoretischen Informatik, 2008-01-19 http://verplant.org/uni/perlen/

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

Ü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

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

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme 10 Matching-Probleme 10.1 Definition von Matching-Probleme Definition 21 [2-dimensionales Matching] Sei G = (V, E) ein ungerichteter Graph und E E. E ist ein Matching, wenn für alle Kantenpaare e 1, e

Mehr

Intervallaustauschtransformationen, Flüsse und das Lemma von Masur

Intervallaustauschtransformationen, Flüsse und das Lemma von Masur Intervallaustauschtransformationen, Flüsse und das Lemma von Masur Gregor Bethlen 1 Intervallaustauschtransformationen Stets sei in diesem Abschnitt I := [a, b] ein Intervall und a = a 0 < a 1

Mehr

Nash-Gleichgewichte in 2-Spieler Systemen. Katharina Klost Freie Universität Berlin

Nash-Gleichgewichte in 2-Spieler Systemen. Katharina Klost Freie Universität Berlin Nash-Gleichgewichte in 2-Spieler Systemen Katharina Klost Freie Universität Berlin Seminar über Algorithmen, 29.10.2013 Grundlegende Definitionen A Gewinnmatrix für Spieler 1, B Gewinnmatrix für Spieler

Mehr

Algorithmen II Vorlesung am

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

Mehr

10 Kürzeste Pfade SSSP-Problem

10 Kürzeste Pfade SSSP-Problem In diesem Kapitel setzen wir uns mit der Berechnung von kürzesten Pfaden in einem Graphen auseinander. Definition 10.1 (Pfadgewichte). i) Das Gewicht eines Pfades p = (v 0, v 1,..., v k ) ist die Summe

Mehr

1 Pfade in azyklischen Graphen

1 Pfade in azyklischen Graphen Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 1 1 Pfade in azyklischen Graphen Sei wieder ein gerichteter Graph mit Kantengewichten gegeben, der diesmal aber keine Kreise enthält, also azyklisch ist.

Mehr

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld Westfählische Wilhelms-Universität Eulersche Graphen Autor: 21. Mai 2015 Inhaltsverzeichnis 1 Das Königsberger Brückenproblem 1 2 Eulertouren und Eulersche Graphen 2 3 Auffinden eines eulerschen Zyklus

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

Algorithmen und Datenstrukturen 2 VU 3.0 Übungstest SS Juni 2013

Algorithmen und Datenstrukturen 2 VU 3.0 Übungstest SS Juni 2013 Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.815 Algorithmen und Datenstrukturen 2 VU 3.0 Übungstest SS 2013 27. Juni

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

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

BERGISCHE UNIVERSITÄT WUPPERTAL FB B: SCHUMPETER SCHOOL OF BUSINESS AND ECONOMICS. Master of Science

BERGISCHE UNIVERSITÄT WUPPERTAL FB B: SCHUMPETER SCHOOL OF BUSINESS AND ECONOMICS. Master of Science Name: Vorname: Matrikel-Nr.: BERGISCHE UNIVERSITÄT WUPPERTAL FB B: SCHUMPETER SCHOOL OF BUSINESS AND ECONOMICS Master of Science Wintersemester 2014/2015 Prüfungsgebiet: MWiWi 4.1 Advanced OR methods in

Mehr

Grundlagen: Algorithmen und Datenstrukturen

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Map Labeling INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Praktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit

Praktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit Praktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit Team A blau Martin Herfurth 11043831 Markus Wagner 11043447 5. Februar 2007 1 1 Untere Schranke für Vergleichsbasierte Algorithmen

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,

Mehr

Distributed Algorithms. Image and Video Processing

Distributed Algorithms. Image and Video Processing Chapter 6 Optical Character Recognition Distributed Algorithms for Übersicht Motivation Texterkennung in Bildern und Videos 1. Erkennung von Textregionen/Textzeilen 2. Segmentierung einzelner Buchstaben

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

Effiziente Algorithmen II

Effiziente Algorithmen II 10. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 19.01.2015 Aufgabe Q Betrachten Sie das Knapsackpolytop P = conv(v ) mit V = {x n i=1 a ix i α} {0, 1} n für gegebenes α und a i 0 (insbesondere ist

Mehr