Vorkurs Informatik SoSe 14 Algorithmen 2
|
|
- Ilse Ritter
- vor 6 Jahren
- Abrufe
Transkript
1 Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Vorkurs Informatik SoSe 14 Algorithmen Dr. Werner Struckmann / Markus Reschke Stark angelehnt an "Abenteuer Informatik" von Jens Gallenbacher 1. April 21 Referent Kurztitel der Präsentation (bitte im Master einfügen) Seite 1
2 Einführung Routenplaner Wie finde ich den günstigsten Weg? Vorkurs Informatik Algorithmen 2 Seite 2
3 Einführung Routenplaner Wie finde ich den günstigsten Weg? Eine Möglichkeit: Alle Weg durchprobieren Kürzesten Weg wählen Bei Computern heißt dieser Ansatz Brute-Force : Rechner haben keine Intelligenz Müssen alle Möglichkeiten durchprobieren Menschen können absurde und unwahrscheinliche Möglichkeiten verwerfen Hier schon viele Möglichkeiten, man denke an Karten mit 1 Städten Vorkurs Informatik Algorithmen 2 Seite 3
4 Vorüberlegungen Methode der Abstraktion Wie kommt man in der Informatik zu einer besseren Lösung? Vorkurs Informatik Algorithmen 2 Seite 4
5 Vorüberlegungen Methode der Abstraktion Wie kommt man in der Informatik zu einer besseren Lösung? In zur Verfügung stehender Informationen stecken sowohl relevante als auch unwesentliche Anteile. Durch Abstraktion reduzieren Sie die Informationen auf das für die aktuelle Problemlösung Wesentliche: Dadurch können Sie sich besser auf die Aufgabe konzentrieren Vorkurs Informatik Algorithmen 2 Seite 5
6 Vorüberlegungen Informationen der Karte Vorkurs Informatik Algorithmen 2 Seite 6
7 Vorüberlegungen Informationen der Karte Namen der Städte Position der Städte Größe der Städte Verlauf der Straßen Länge der Straßen Namen und Nummern der Straßen Straßentyp Straße führt von nach Vorkurs Informatik Algorithmen 2 Seite 7
8 Vorüberlegungen Welche Informationen werden benötigt? Name der Städte WICHTIG! Wenn man nicht weiß, welche Stadt wie heißt, kann auch nicht der kürzeste Weg zwischen Imstadt und Oppenheim bestimmt werden. Position der Städte NICHT WICHTIG! Es ist uns egal, wo sich die Städte genau befinden. Relevant sind nur die Straßen zwischen den Städten. Größe der Städte NICHT WICHTIG! Kommt in unserer Aufgabenstellung nirgendwo vor. Verlauf der Straßen NICHT WICHTIG! Es kommt nur auf die Länge der Strecke an, nicht auf den Verlauf. Länge der Straßen WICHTIG! Um die Reisestrecke zu bestimmen, brauchen wir die einzelnen Strecken zwischen den Orten. Namen und Nummern der Straßen NICHT WICHTIG! Zumindest zur Bestimmung der kürzesten Strecke irrelevant. Straßentyp NICHT WICHTIG! Da es nur auf die Entfernungen, nicht auf die Zeit ankommt, ist es egal, ob Autobahn oder Feldweg gefahren wird. Straße führt von nach WICHTG! Wir benötigen die Informationen, von welcher Stadt zu welcher anderen eine Straße führt Vorkurs Informatik Algorithmen 2 Seite 8
9 Vorüberlegungen Abstrakte Form der Landkarte Karte wurde auf Basis der Tabelle neu gezeichnet. Die Städte wurden der Übersicht wegen durch deren Anfangsbuchstaben ersetzt. Jedoch noch Spezialitäten vorhanden: An vier Stellen kreuzen sich die Straßen, ohne Auf- und Abfahrten (Bogen) An drei Stellen schneiden sich die Straßen mit Auf- und Abfahrten (Punkt) Ein Problem sollte möglichst gleichförmig sein, um das Denken zu erleichtern Vorkurs Informatik Algorithmen 2 Seite 9
10 Vorüberlegungen Methode der Gleichformung Versuchen Sie, die verschiedenen Facetten eines Problems auf die gleichen Grundelemente zurückzuführen. Dadurch wird einerseits das Problem übersichtlicher und andererseits benötigt man weniger Lösungsansätze: Für gleichförmige Teilprobleme kann der gleiche Lösungsansatz verwendet werden Vorkurs Informatik Algorithmen 2 Seite 1
11 Vorüberlegungen Anwendung der Gleichformung Vorkurs Informatik Algorithmen 2 Seite 11
12 Vorüberlegungen Anwendung der Gleichformung Auf der Karte sind Städte als Kreise eingezeichnet. Hier kann man offenbar problemlos von einer Straße auf eine angrenzende Straße wechseln. Genau das soll auch an den mit einem Punkt gekennzeichneten Stellen möglich sein. Also tun wir einfach so, als wenn sich dort auch Städte befinden. Um eine Verwechselung mit den anderen Städten zu vermeiden, kennzeichnen wir sie mit X, Y und Z. An allen anderen Stellen ist ein Wechsel nicht möglich, daher kann auch die Kennzeichnung durch einen Bogen entfallen Vorkurs Informatik Algorithmen 2 Seite 12
13 Vorüberlegungen Anwendung der Gleichformung Sehen wir uns noch einmal die Tabelle mit den ursprünglich vorhandenen Informationen an Vorkurs Informatik Algorithmen 2 Seite 13
14 Vorüberlegungen Welche Informationen werden benötigt? Name der Städte WICHTIG! Wenn man nicht weiß, welche Stadt wie heißt, kann auch nicht der kürzeste Weg zwischen Imstadt und Oppenheim bestimmt werden. Position der Städte NICHT WICHTIG! Es ist uns egal, wo sich die Städte genau befinden. Relevant sind nur die Straßen zwischen den Städten. Größe der Städte NICHT WICHTIG! Kommt in unserer Aufgabenstellung nirgendwo vor. Verlauf der Straßen NICHT WICHTIG! Es kommt nur auf die Länge der Strecke an, nicht auf den Verlauf. Länge der Straßen WICHTIG! Um die Reisestrecke zu bestimmen, brauchen wir die einzelnen Strecken zwischen den Orten. Namen und Nummern der Straßen NICHT WICHTIG! Zumindest zur Bestimmung der kürzesten Strecke irrelevant. Straßentyp NICHT WICHTIG! Da es nur auf die Entfernungen, nicht auf die Zeit ankommt, ist es egal, ob Autobahn oder Feldweg gefahren wird. Straße führt von nach WICHTG! Wir benötigen die Informationen, von welcher Stadt zu welcher anderen eine Straße führt Vorkurs Informatik Algorithmen 2 Seite 14
15 Vorüberlegungen Anwendung der Gleichformung Die Städte sind immer noch an ihrer geographischen Position eingezeichnet: Ballungszentren vorhanden Straßenführung wird unübersichtlich Wir haben die Position der Städte jedoch als irrelevant eingestuft: Karte kann daher entzerrt werden Vorkurs Informatik Algorithmen 2 Seite 15
16 Vorüberlegungen Entzerrte Landkarte Es wurde lediglich die Darstellung geändert. Die Verbindungen zwischen den Städten und deren Längenangaben bleiben unverändert Vorkurs Informatik Algorithmen 2 Seite 16
17 Vorüberlegungen Lernen von der Natur Wie kommen wir denn nun zum kürzesten Weg von Imstadt nach Oppenheim? Der direkte Ansatz, alle vollständigen Wege zu betrachten, ist ja bereits gescheitert. Vielleicht können wir von der Natur lernen: Ein Stamm Ameisen hat auf der Suche nach Futter ein ähnliches Problem: Eine Kundschafterin findet ein großes Stück Fleisch. Welchen Weg sollen die Arbeiterinnen nehmen, um die Beute am schnellsten zu sichern? Setzen wir also den Stamm Ameisen auf unseren Ausgangspunkt Imstadt bzw. I: Fünf Wege führen von dort weg, also teilen sich unzählige Ameisen auf, um diese zu erkunden Wir nehmen an, dass alle Ameisen gleich schnell sind: Gedopt schaffen sie einen km pro Minute Vorkurs Informatik Algorithmen 2 Seite 17
18 Das Ameisen-Prinzip Der Aufbruch Auf der Landkarte verfolgen wir den Weg der Ameisen: Nach 34 Minuten haben sie B erreicht. Was haben wir dadurch gelernt? Um von I nach B zu kommen, gibt es garantiert keinen günstigeren Weg als den mit 34 km. Denn die Ameisen haben ja sämtliche bisher für sie möglichen Wege ausprobiert und sind nach 34 km zuerst bei B angekommen Vorkurs Informatik Algorithmen 2 Seite 18
19 Das Ameisen-Prinzip Die Erkundung geht weiter Wie geht es jetzt weiter? Die Ameisen, die bisher nirgendwo angekommen sind, setzen ihren Weg fort. Die Ameisen bei B teilen sich erneut auf: wieder sind fünf Wege möglich. Den Erfolg dokumentieren sie, indem sie den bisherigen Weg markieren und die Entfernung notieren Vorkurs Informatik Algorithmen 2 Seite 19
20 Das Ameisen-Prinzip Ameisen auf Kollisionskurs Nach 4 Minuten kommt ein Trupp bei C an: Sie sind die Ersten. Daher: Strecke markieren, Entfernung notieren und auf die weitern Wege aufteilen. In der 43. Minute kommt der Trupp auch als Erster bei M an: Somit stehen die kürzesten Strecken zu B, C und M fest. Die Ameisen sind sowohl von M als auch von C unterwegs und somit auf Kollisionskurs. Bringt ihnen das etwas für ihr Ziel, das Gelände zu erkunden? Vorkurs Informatik Algorithmen 2 Seite 2
21 Das Ameisen-Prinzip Erste Trupps kehren zurück Der Trupp von C weiß, dass dieses Ziel bereits erreicht ist, die kürzeste Strecke also schon feststeht. Der Trupp von M weiß das Gleiche von seinem Ausgangspunkt zu berichten: Also wird die Strecke als unbrauchbar markiert. Die Ameisen können zurück zu ihrem Stamm, da es sinnlos wäre noch weiter zu marschieren Vorkurs Informatik Algorithmen 2 Seite 21
22 Das Ameisen-Prinzip Und es geht weiter Als nächstes kommen zwei Trupps gleichzeitig an: In der 55. Minute erreichen sie P und X: Wieder teilen sie sich auf. Von X gibt es nur einen Erfolg versprechenden Weg. Bei den anderen Treffen sie recht schnell auf Kameraden. Die von P ausgehenden Strecken sind alle noch nicht als unbrauchbar markiert Vorkurs Informatik Algorithmen 2 Seite 22
23 Das Ameisen-Prinzip Idee Statt immer nur einen Weg auszuprobieren und wieder zu verwerfen, wenn sich ein besserer gefunden hat, erkunden die Ameisen gleichzeitig alle sich bietenden Möglichkeiten. Kommen sie bei einer Stadt als Erste an, wissen sie, dass der genommene Weg der kürzeste ist, denn sonst wäre ja schon ein anderer Trupp da. Treffen die Ameisen irgendwo auf Artgenossen, wissen sie, dass ihre Reise zu Ende ist. Andere haben also das Ziel früher erreicht. Am Ende des Verfahrens erhalten wir die folgende Karte Vorkurs Informatik Algorithmen 2 Seite 23
24 Das Ameisen-Prinzip Die vollständig erschlossene Karte Was für Informationen haben wir dadurch eigentlich gewonnen? Um von Imstadt zu einem beliebigen anderen Ort zu kommen, folgen sie dem Pfad der Ameisen. Von Imstadt nach Oppenheim kommt man so am günstigsten über Pappstadt, Krupsing und Flughafen (123km). Es wurde nicht nur die ursprüngliche Aufgabe gelöst, sondern auch die kürzesten Wege von Imstadt zu allen anderen Städten ermittelt Vorkurs Informatik Algorithmen 2 Seite 24
25 Das Ameisen-Prinzip Zusammenfassung Warum ist das Ameisen-Prinzip für einen Informatiker interessant? Es führt in absehbarer Zeit zum Ziel. Da die Ameisen ständig in Bewegung sind und keine Wege doppelt gehen, müssen sie recht bald alle Wege erkundet haben (maximal nach der Zeit, die dem kürzesten Weg zur am weitesten entfernten Stadt entspricht) Es werden immer wieder die gleichen, sehr einfachen Anweisungen benutzt, um die Ameisen zu steuern: 1. Teile den Trupp auf und folge allen Routen 2. Wenn ein Ort erreicht wird: günstigste Strecke dorthin gefunden, weiter bei Wenn man einem anderen Trupp begegnet: Strecke verwerfen. Ende Vorkurs Informatik Algorithmen 2 Seite 25
26 Das Ameisen-Prinzip Übertragung des Ameisen-Prinzips auf den Computer Wie könnten also unsere Routenplaner im Auto das Problem des kürzesten Weges lösen? Ein Simulieren der vorgestellten Vorgehensweise wäre gegenüber der BruteForce-Methode von Vorteil. Trotzdem ist der Informatiker hier gefragt, das gefundene Verfahren für den Computer zu optimieren. Überlegen Sie, welche Teile des Ameisenprinzips für die Problemlösung relevant sind Vorkurs Informatik Algorithmen 2 Seite 26
27 Der Dijkstra-Algorithmus Der erste Schritt Die Ameisen liefen in alle direkt erreichbaren Städte, um zu ermitteln, wie lange sie unterwegs sind: Ein Computer muss diese Zeiten nicht ermitteln. Er kennt sie bereits, da die Längen zwischen den Strecken an den Pfaden verzeichnet sind. Um die Entfernung zuordnen zu können, wird die dazugehörige Strecke markiert. Die Ameisen, die zuerst bei einer Stadt ankamen, markierten die Strecke als günstig und teilten sich auf: Der Computer muss nur die Stadt mit der kleinsten Zahl bestimmen Vorkurs Informatik Algorithmen 2 Seite 27
28 Der Dijkstra-Algorithmus Fortsetzung (1) In diesem Beispiel also B: Von B aus werden alle Entfernungen zu allen Nachbarn bestimmt. Über B wurden schon 34 km zurückgelegt, daher müssen diese dazu addiert werden. Bei H steht schon ein Wert. Von I direkt sind es 65, über B jedoch nur 64 km. Der Ameisen Trupp über B würde also zuerst ankommen. Daher gilt für das Dijkstra-Verfahren: Wenn die neue Zahl kleiner ist, wird die alte durch diese ersetzt und der Weg entsprechend markiert. Wenn die neue Zahl größer ist, passiert nichts Vorkurs Informatik Algorithmen 2 Seite 28
29 Der Dijkstra-Algorithmus Fortsetzung (2) Wie geht es nun weiter? Prinzipiell wie am Anfang: Aus allen mit Zahlen markierten Städten, die noch nicht von Ameisen besucht wurden, wird die mit der kleinsten Zahl herausgesucht. Dort kommen die Ameisen als Nächstes an. In diesem Fall ist das C Vorkurs Informatik Algorithmen 2 Seite 29
30 Der Dijkstra-Algorithmus Fortsetzung (3) Von C werden wieder alle benachbarten Städte betrachtet: Nach M käme man in 71 km, nach X in 63 km. Beides wird jedoch von der bereits vorhandenen Zahl unterboten, also passiert nichts Die nächste nicht markierte Stadt mit der kleinsten Zahl wird gesucht Vorkurs Informatik Algorithmen 2 Seite 3
31 Der Dijkstra-Algorithmus Fortsetzung (4) Jetzt also M: Es werden wieder alle benachbarten Städte betrachtet. Hier zeigt sich, dass sowohl die Strecke zu A als auch zu X kürzer ist. Die alten Markierungen und Entfernungen werden gestrichen. Die neuen Wege und Entfernungen markiert bzw. notiert Vorkurs Informatik Algorithmen 2 Seite 31
32 Der Dijkstra-Algorithmus Fortsetzung (5) Die Stadt mit der kleinsten Zahl ist jetzt P: Es gibt Verbindungen zu H, K, F und O. Bei K, F und O wird jeweils wieder die Summe der Entfernungen notiert und die Strecke markiert. Bei H steht schon eine Entfernung kleiner der Summe von I zu P zu H. Daher passiert hier nichts Vorkurs Informatik Algorithmen 2 Seite 32
33 Der Dijkstra-Algorithmus Fortsetzung (6) Nun ist X die Stadt mit der kleinsten Zahl: Wieder werden die Entfernungen zu den Nachbarstädten ermittelt. C und B sind bereits markiert, die kürzesten Wege dorthin sind also bereits gefunden. Strecke zu N wird markiert und die Entfernung notiert Vorkurs Informatik Algorithmen 2 Seite 33
34 Der Dijkstra-Algorithmus Fortsetzung (7) Die noch nicht markierte Stadt mit der kleinsten Zahl ist jetzt H: Nachbarstädte I und P sind bereits markiert. Die Zahl an K ist kleiner als die Summe der Entfernungen von B aus. Die Strecken L und Z werden markiert und die Entfernung notiert Vorkurs Informatik Algorithmen 2 Seite 34
35 Der Dijkstra-Algorithmus Fortsetzung (8) Jetzt folgt Y: Die Summe der Entfernungen zu L und Z sind kleiner als die bisherigen. Daher Streichung der bisherigen Markierungen und Zahlen. Neue Strecken werden markiert bzw. deren Entfernungen notiert. Da die bisherige Summe bei N kleiner ist, passiert hier nichts Vorkurs Informatik Algorithmen 2 Seite 35
36 Der Dijkstra-Algorithmus Fortsetzung (9) Die nächste nicht markierte Stadt mit der kleinsten Zahl ist A: Die Nachbarstadt B ist schon markiert. Stadt D und N haben kleinere Zahlen, hier passiert nichts Vorkurs Informatik Algorithmen 2 Seite 36
37 Der Dijkstra-Algorithmus Fortsetzung (1) Nun wird K markiert: Summe der Entfernungen über K zu F ist kleiner als die bisherige. Strecke zu F wird markiert und die neue Zahl notiert. Strecken zu den Nachbarstädten G und E werden markiert und deren Zahlen zugewiesen. Nachbarstadt Z hat schon eine Zahl kleiner der Summe der Entfernungen über K, daher passiert hier nichts Vorkurs Informatik Algorithmen 2 Seite 37
38 Der Dijkstra-Algorithmus Fortsetzung (11) Jetzt ist N die Stadt mit der kleinsten Zahl: Nachbarstädte A und Y sind bereits markiert. Zahl von D ist kleiner als die Summe der Entfernungen über N Vorkurs Informatik Algorithmen 2 Seite 38
39 Der Dijkstra-Algorithmus Fortsetzung (12) Als nächstes folgt Z: H und K sind schon markiert. Summe der Entfernungen über Z zu G ist jedoch kleiner als die bisherige. Strecke wird markiert und die neue Zahl notiert Vorkurs Informatik Algorithmen 2 Seite 39
40 Der Dijkstra-Algorithmus Fortsetzung (13) Nun wird die Stadt D markiert: Nachbarstädte A und N sind bereits markiert. L hat eine kleinere Zahl als die von D aus berechnete Entfernung Vorkurs Informatik Algorithmen 2 Seite 4
41 Der Dijkstra-Algorithmus Fortsetzung (14) Die nächste noch unmarkierte Stadt mit der kleinsten Zahl ist L: Nachbarstädte D, H und Y sind bereits markiert. Summe der Entfernungen zu G ist jedoch größer als die bisher notierte Summe Vorkurs Informatik Algorithmen 2 Seite 41
42 Der Dijkstra-Algorithmus Fortsetzung (15) Nun kommt F an die Reihe: Nachbarstadt P ist schon markiert. bei E ist die bisherige Summe kleiner. bei O ist die Summe der Entfernungen kleiner als die bisherige und wird daher ersetzt und die Strecke zu O markiert Vorkurs Informatik Algorithmen 2 Seite 42
43 Der Dijkstra-Algorithmus Fortsetzung (16) Jetzt ist E die noch nicht markierte Stadt mit der kleinsten Summe: In diesem Schritt ändert sich nichts. F ist schon markiert. Summe der Entfernungen von G und O ist kleiner Vorkurs Informatik Algorithmen 2 Seite 43
44 Der Dijkstra-Algorithmus Fortsetzung (17) Die noch nicht markierte Stadt mit der kleinsten Summe ist G: Alle Nachbarstädte sind schon markiert. Hier passiert nichts weiter Vorkurs Informatik Algorithmen 2 Seite 44
45 Der Dijkstra-Algorithmus Ende Die letzte unmarkierte Stadt ist O: Alle Nachbarstädte sind schon markiert Hier passiert also nichts mehr Und da es keine verbliebenen Städte mehr gibt, ist hier der Algorithmus zu Ende. Der kürzeste Weg von Imstadt nach Oppenheim führt also über Pappheim, Krupsing und Flughafen und ist 123 km lang Vorkurs Informatik Algorithmen 2 Seite 45
46 Der Dijkstra-Algorithmus Edsger Wybe Dijkstra Geboren 193 in Rotterdam Professor an der Universität in Eindhoven Vorstellung des Algorithmus zur Berechnung des kürzesten Weges in einem Graphen im Jahr 1959 Wechsel an die Universität von Texas im Jahr 1984 Beitrag zur Einführung der strukturierten Programmierung Erhielt den Turing-Preis 1972 Verstarb 22 in seiner Heimat Nuenen Vorkurs Informatik Algorithmen 2 Seite 46
47 Der Dijkstra-Algorithmus Der Algorithmus Vorkurs Informatik Algorithmen 2 Seite 47
48 Die Schilda-Rallye Der Stadtplan von Schilda Der Stadtrat hat vor kurzem beschlossen, alle Straßen zu Einbahnstraßen zu machen Vorkurs Informatik Algorithmen 2 Seite 48
49 Die Schilda-Rallye Problemstellung Die Fahrzeuge von Schilda-Taxi warten auf den Hotels Adler und Gozo sowie auf dem Parkplatz der Pension Kapitol: Aufgrund der neuen Verkehrsführung benötigen die Fahrer einen Plan, wie sie auf dem kürzesten Weg von ihrem Standort zu allen anderen Hotels kommen. Eine Entfernungstabelle ist auch zur Berechnung der neuen Tarife notwendig Vorkurs Informatik Algorithmen 2 Seite 49
50 Die Schilda-Rallye Markierung aller Straßenkreuzungen Vorkurs Informatik Algorithmen 2 Seite 5
51 Die Schilda-Rallye Der abstrakte Stadtplan Vorkurs Informatik Algorithmen 2 Seite 51
52 Die Schilda-Rallye Der erste Schritt Vorkurs Informatik Algorithmen 2 Seite 52
53 Die Schilda-Rallye Fortsetzung (1) Vorkurs Informatik Algorithmen 2 Seite 53
54 Die Schilda-Rallye Fortsetzung (2) Vorkurs Informatik Algorithmen 2 Seite 54
55 Die Schilda-Rallye Fortsetzung (3) Vorkurs Informatik Algorithmen 2 Seite 55
56 Die Schilda-Rallye Fortsetzung (4) Vorkurs Informatik Algorithmen 2 Seite 56
57 Die Schilda-Rallye Fortsetzung (5) Vorkurs Informatik Algorithmen 2 Seite 57
58 Die Schilda-Rallye Fortsetzung (6) Vorkurs Informatik Algorithmen 2 Seite 58
59 Die Schilda-Rallye Fortsetzung (7) Vorkurs Informatik Algorithmen 2 Seite 59
60 Die Schilda-Rallye Fortsetzung (8) Vorkurs Informatik Algorithmen 2 Seite 6
61 Die Schilda-Rallye Fortsetzung (9) Vorkurs Informatik Algorithmen 2 Seite 61
62 Die Schilda-Rallye Fortsetzung (1) Vorkurs Informatik Algorithmen 2 Seite 62
63 Die Schilda-Rallye Fortsetzung (11) Vorkurs Informatik Algorithmen 2 Seite 63
64 Die Schilda-Rallye Fortsetzung (12) Vorkurs Informatik Algorithmen 2 Seite 64
65 Die Schilda-Rallye Fortsetzung (13) Vorkurs Informatik Algorithmen 2 Seite 65
66 Die Schilda-Rallye Fortsetzung (14) Vorkurs Informatik Algorithmen 2 Seite 66
67 Die Schilda-Rallye Fortsetzung (15) Vorkurs Informatik Algorithmen 2 Seite 67
68 Die Schilda-Rallye Fortsetzung (16) Vorkurs Informatik Algorithmen 2 Seite 68
69 Die Schilda-Rallye Fortsetzung (17) Vorkurs Informatik Algorithmen 2 Seite 69
70 Die Schilda-Rallye Fortsetzung (18) Vorkurs Informatik Algorithmen 2 Seite 7
71 Die Schilda-Rallye Fortsetzung (19) Vorkurs Informatik Algorithmen 2 Seite 71
72 Die Schilda-Rallye Fortsetzung (2) Vorkurs Informatik Algorithmen 2 Seite 72
73 Die Schilda-Rallye Fortsetzung (21) Vorkurs Informatik Algorithmen 2 Seite 73
74 Die Schilda-Rallye Fortsetzung (22) Vorkurs Informatik Algorithmen 2 Seite 74
75 Die Schilda-Rallye Ende Vorkurs Informatik Algorithmen 2 Seite 75
76 Die Schilda-Rallye Entfernungstabelle Hotel Entfernung (km) Adler, Bogart 11,5 Club 9,7 Doge 8,1 Emilio 3,7 Fromm 6,5 Gozo 6,2 Holunder 7,6 Iliona 11,4 Jorge 9,8 Kapitol 1,7 Lundt 7, Vorkurs Informatik Algorithmen 2 Seite 76
77 Was steckt dahinter? Einleitung Die besprochenen Probleme gehören in das Umfeld der so genannten Graphenalgorithmen. Ein Graph besteht hierbei aus einer Menge von Knoten und einer Menge von Kanten, die zwischen den Knoten verlaufen. Die Knoten werden oft als Kringel und die Kanten als Linien oder Pfeile dazwischen dargestellt. Man unterscheidet ungerichtete Graphen (ohne Pfeil), bei denen die Verbindung zweier Konten in beide Richtungen geht und gerichtete Graphen (mit Pfeil). Wozu ist aber ein Graph gut? Wie andere Modelle in der Informatik kann er ein Ausschnitt der Wirklichkeit modellieren, um diese einfacher zu verstehen und zu analysieren Vorkurs Informatik Algorithmen 2 Seite 77
78 Was steckt dahinter? Anforderungen an Algorithmen Aufgrund der vielfältigen Anwendungen gibt es auch eine Menge von Algorithmen auf Graphen. Der Dijkstra-Algorithmus ist hier ein sehr bekannter Vertreter. Was zeichnet einen guten Algorithmus aus? Er muss zuerst einmal die gestellte Aufgabe lösen. Wichtiges Kriterium ist außerdem, dass dieser die Aufgabe möglichst schnell löst und auch bei großen Problemen nicht in die Knie geht Vorkurs Informatik Algorithmen 2 Seite 78
79 Was steckt dahinter? Berechnung des Zeitbedarfs Wir betrachten wie stark der Zeitbedarf mit der Problemgröße ansteigt. Am Beispiel der Landkarte kann dies sehr gut demonstriert werden. Eine Problemgröße ist zum Beispiel die Anzahl der Städte auf der Landkarte. Betrachten wir jetzt noch einmal den Brute-Force-Ansatz zur Bestimmung des kürzesten Weges: Bestimme alle möglichen Wege vom Start zum Ziel und suche davon den kürzesten Vorkurs Informatik Algorithmen 2 Seite 79
80 Was steckt dahinter? Beispiel: Brute-Force-Methode Im schlechtesten Fall müssen also alle von einem Punkt ausgehenden Wege bestimmt werden. Außerdem sind im schlechtesten Fall alle Knoten mit allen anderen Knoten verbunden (vollständiger Graph). Für drei Knoten ist es noch kein Problem, die Anzahl möglicher Wege vom Startpunkt S aus zu bestimmen Vorkurs Informatik Algorithmen 2 Seite 8
81 Was steckt dahinter? Beispiel: Brute-Force-Methode Mit jedem zusätzlichen Knoten steigt die Anzahl der möglichen Wege stark an. Zeichnerisch die Lösung zu bestimmen ist dann nicht mehr praktikabel. Man kann die Anzahl der Knoten auch rechnerisch bestimmen. Für den Graphen mit vier Knoten gilt, dass man ihn aus zwei Komponenten zusammensetzen kann: ein einzelner Knoten S plus ein Graph mit drei Knoten. Da der bekannte Graph drei Knoten besitzt, kann vom neuen Knoten S auf drei Arten ein Weg zum bekannten Graphen begonnen werden Vorkurs Informatik Algorithmen 2 Seite 81
82 Was steckt dahinter? Beispiel: Brute-Force-Methode Im 3er Graphen wird dann auf die bereits ermittelte Weise ein Weg gesucht. Daher ist die Anzahl möglicher Wege im 4er-Graphen 3 * 2 = 6. Für einen 5er-Graphen gibt es vier Möglichkeiten, Wege vom neuen Knoten zum 4er-Graphen zu beginnen. Die Anzahl der Wege beträgt daher 4*6 = 24. Auf diese Weise kann man ableiten, dass in einem vollständigen Graphen mit n Knoten (n-1)! verschiedene Wege von einem gesetzten Startpunkt ausgehen. Da für jeden der Wege n-1 Streckenabschnitte eingerechnet werden müssen, bedarf es für die Brute-Force-Methode ungefähr (n-1)(n-1)! Berechnungen, um den kürzesten Weg zu finden Vorkurs Informatik Algorithmen 2 Seite 82
83 Was steckt dahinter? Beispiel: Brute-Force-Methode # Knoten Schritte Vorkurs Informatik Algorithmen 2 Seite 83
84 Was steckt dahinter? Beispiel: Brute-Force-Methode Für 1 Knoten sind im schlimmsten Fall bereits Berechnungen nötig. Wenn auch nur alle Gemeinden Deutschlands als Knoten in die Suche einbezogen werden, sind 9,88 * Berechnungen nötig Vorkurs Informatik Algorithmen 2 Seite 84
85 Darstellung von Graphen Überlegung Computer kennt keine graphische Darstellung Insbesondere keine Kanten und Knoten Abstraktion notwendig Überführung der graphischen Darstellung in eine Datenstruktur Vorkurs Informatik Algorithmen 2 Seite 85
86 Darstellung von Graphen Adjazenzmatrix Idee für ungerichtete Graphen: Sei n die Anzahl der Knoten. Benutze eine n x n Matrix. Wenn eine Kante zwischen Knoten a und b existiert, dann trage in Zeile a und Spalte b eine 1 ein, andernfalls eine. Verfahre ebenso mit Zeile b und Spalte a Vorkurs Informatik Algorithmen 2 Seite 86
87 Darstellung von Graphen Adjazenzmatrix Beispiel für ungerichteten Graphen mit Gewichten: Symmetrie bleibt erhalten. Anstelle von einer 1 trage das Kantengewicht ein Vorkurs Informatik Algorithmen 2 Seite 87
88 Darstellung von Graphen Adjazenzmatrix Beispiel für gerichteten Graphen mit Gewichten: Keine Symmetrie mehr Vorkurs Informatik Algorithmen 2 Seite 88
89 Darstellung von Graphen Adjazenzliste Anstatt einer Matrix wird eine verkettete Liste benutzt. Besonders geeignet für gerichtete Graphen Die Basisstruktur bildet die Liste aller Knoten. Für jeden Knoten wird eine Liste der Nachfolger entlang gerichteter Kanten abgespeichert Vorkurs Informatik Algorithmen 2 Seite 89
90 Darstellung von Graphen Inzidenzmatrix Anstatt Verbindungen von Knoten zu Knoten darzustellen, wird hier die Nachbarschaft der Kanten zu den Knoten dargestellt. Jede Spalte enthält 2 von Null verschiedene Einträge e1 e2 e3 e4 e5 e6 e Vorkurs Informatik Algorithmen 2 Seite 9
91 Zusammenfassung Datenstrukturen Listen Array's (zusammenhängender Speicher) n (doppelt) Verkettete Listen Stapel Vorkurs Informatik Algorithmen 2 Seite
92 Zusammenfassung Datenstrukturen Graphen Bäume Vorkurs Informatik Algorithmen 2 Seite
93 Vielen Dank für Ihre Aufmerksamkeit! Vorkurs Informatik Algorithmen 2 Seite 93
Konzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel1 aus "Abenteuer Informatik" von Jens
MehrVorkurs Informatik WiSe 16/17
Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 11.10.2016 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Vorüberlegungen Ameisen-Prinzip Dijkstra-Algorithmus
MehrVorkurs Informatik WiSe 16/17
Institut für Programmierung Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2016 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Schilda-Rallye Was steckt
MehrKonzepte der Informatik
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Konzepte der Informatik Vorkurs Informatik zum WS 2012/2013 01.10. - 12.10.2012 Dr. Werner Struckmann / Tim Winkelmann Stark angelehnt
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
MehrVorkurs Informatik SoSe 15
Algorithmen 2 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit, 9.04.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Vorüberlegungen Ameisen-Prinzip Dijkstra-Algorithmus Schilda-Rallye
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
MehrGPS und Routenplaner
GPS und Routenplaner Sag' mir wohin... Einführung Routenplaner gehören heute schon fast zum Alltag: Viele Autos haben sie bereits eingebaut, wer keinen im Fahrzeug hat, lässt sich den günstigsten Weg zu
MehrInformatik im Alltag: Wie funktionieren Navis?
Informatik im Alltag: Wie funktionieren Navis? Thema: Wegeprobleme (aus Algorithmen und Datenstrukturen) Dr. Guido Rößling TU Darmstadt Angelehnt an Material von Dr. Jens Gallenbacher Problemlösen für
MehrRouting A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
MehrRelationen und Graphentheorie
Seite Graphentheorie- Relationen und Graphentheorie Grundbegriffe. Relationen- und Graphentheorie gehören zu den wichtigsten Hilfsmitteln der Informatik, die aus der diskretenmathematik stammen. Ein Graph
MehrLernmodul 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
MehrKürzeste Wege in einem gewichteten Graphen. Anwendungen
Kürzeste Wege in einem gewichteten Graphen Dazu werden die Gewichte als Weglängen interpretiert. Der kürzeste Weg zwischen zwei Knoten in einem zusammenhängenden Graphen ist derjenige, bei dem die Summe
MehrRouting Algorithmen. Begriffe, Definitionen
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
MehrWie wird ein Graph dargestellt?
Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet
MehrLehrerbildungszentrum Informatik an der Universität Göttingen
Lehrerbildungszentrum Informatik an der Universität Göttingen Lehrermaterial: Graphen zum Themenschwerpunkt 2, Zentralabitur Niedersachsen 2010 / 2011 1. Graphen als Modellierungswerkzeug Im ersten Beispiel
MehrAlgorithmen 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
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Tutorium 24-6. Sitzung Marcus Georgi tutorium@marcusgeorgi.de 04.12.2009 1 Repräsentation von Graphen im Rechner Adjazenzlisten Adjazenzmatrizen Wegematrizen 2 Erreichbarkeitsrelationen
MehrKodieren Von Graphen
Kodieren Von Graphen Allgemeine Anwendungen: Routenplaner Netzpläne Elektrische Schaltungen Gebäudeerkennung aus Luftaufnahmen Definitionen:? Graph Ein Graph G besteht aus einem geordneten Paar G = (V,E)
Mehr3. Die Datenstruktur Graph
3. Die Datenstruktur Graph 3.1 Einleitung: Das Königsberger Brückenproblem Das Königsberger Brückenproblem ist eine mathematische Fragestellung des frühen 18. Jahrhunderts, die anhand von sieben Brücken
MehrAlgorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8
MehrAufgaben 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
MehrGraphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke
Graphen Graphentheorie Graphentheorie Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke 2 Was ist ein Graph? Ein Graph ist in der Graphentheorie eine abstrakte Struktur,
MehrDatenstrukturen. einfach verkettete Liste
einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten
MehrDas 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
MehrWie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung
Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung Teilnehmer/innen: Markus Dahinten, Graf Münster Gymnasium Bayreuth Robert Fay, Herder Gymnasium Berlin Falko
MehrAlgorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012
Algorithmen und Datenstrukturen Tafelübung 14 Jens Wetzl 8. Februar 2012 Folien Keine Garantie für Vollständigkeit und/oder Richtigkeit Keine offizielle Informationsquelle LS2-Webseite Abrufbar unter:
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES
MehrDatenstrukturen und Algorithmen 2. Klausur SS 2001
UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................
MehrAlgorithmen und Datenstrukturen 13
19. Juli 2012 1 Besprechung Blatt 12 Fragen 2 Bäume AVL-Bäume 3 Graphen Allgemein Matrixdarstellung 4 Graphalgorithmen Dijkstra Prim Kruskal Fragen Fragen zu Blatt 12? AVL-Bäume AVL-Bäume ein AVL-Baum
Mehrf h c 7 a 1 b 1 g 2 2 d
) Man bestimme mit Hilfe des Dijkstra-Algorithmus einen kürzesten Weg von a nach h: c 7 a b f 5 h 3 4 5 i e 6 g 2 2 d Beim Dijkstra-Algorithmus wird in jedem Schritt von den noch unmarkierten Knoten jener
MehrZentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)
WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 22. Januar 2014 ZÜ DS ZÜ XIII
MehrHamiltonsche Graphen (2. Teil)
Hamiltonsche Graphen (2. Teil) Themen des Vortrages Für Schachspieler Hamiltons Spiel Sitzordnungen Eine billige Rundreise Ein vielleicht unlösbares Problem Bäcker mit Kenntnissen in Graphentheorie Fazit
MehrKonzepte der Informatik
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Konzepte der Informatik Vorkurs Informatik zum WS 2013/2014 16.09. - 27.09.2013 Dr. Werner Struckmann / Hendrik Freytag 1. April 2010
Mehr10. Übungsblatt zu Algorithmen I im SS 2010
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php
MehrZentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)
WS 2011/12 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2011ws/ds/uebung/ 25. Januar 2012 ZÜ DS ZÜ XIII
Mehr12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013
12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen Graphen Graphenalgorithmen 2
MehrDynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
MehrTheoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke
Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
MehrVorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq
Vorlesung 3: Graphenalgorithmen Markus Püschel David Steurer Peter Widmayer PDF download goo.gl/ym3spq Algorithmen und Datenstrukturen, Herbstsemester 2017, ETH Zürich Gerichtete Graphen und Abhängigkeiten
MehrAnhang: Ungarische Methode
Ungarische Methode 107 Anhang: Ungarische Methode Zum Schluss des Kurses soll noch der Algorithmus der Ungarischen Methode beschrieben werden. Wir lehnen uns hierbei eng an der Darstellung von DOMSCHKE
MehrZentralübung zur Vorlesung Diskrete Strukturen
WS 2010/11 Zentralübung zur Vorlesung Diskrete Strukturen Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2010ws/ds/uebung/ 2. Februar 2011 ZÜ DS ZÜ XIII 1. Übungsbetrieb:
MehrVorlesung 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)
MehrAlgorithmen und Komplexität
Algorithmen und Komplexität Dynamische Programmierung Markus Ullrich Norbert Baum Fachbereich Informatik - IIb07 Hochschule Zittau/Görlitz 28. Mai 2009 1 / 29 Wie sieht es mit langen Ketten aus? A 1 A
Mehr12. AuD Tafelübung T-C3
12. AuD Tafelübung T-C3 Simon Ruderich 2. Februar 2011 Kollisionen (Primär)Kollision Stelle mit normal eingefügtem Element schon belegt (gleicher Hashwert) tritt bei verketteten Listen und Sondierung auf
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (2) Spannbäume Kürzeste Wege Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 455 Wiederholung Traversierung eines Graphen via Tiefendurchlaufs
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdarstellungen Maike Buchin 0.6.017 Graphen Motivation: Graphen treten häufig als Abstraktion von Objekten (Knoten) und ihren Beziehungen (Kanten) auf. Beispiele: soziale
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrGraphdurchmusterung, Breiten- und Tiefensuche
Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,
MehrTechnische 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
MehrDefinition 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.
MehrAlgo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7
1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten
MehrFortgeschrittene 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
MehrKlausur Informatik B April Teil I: Informatik 3
Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.
MehrProgrammierkurs Python II
Programmierkurs Python II Stefan Thater & Michaela Regneri Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Übersicht Topologische Sortierung (einfach) Kürzeste Wege finden
MehrStud.-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
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester
MehrGraphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 25. Oktober 2007 1 / 20 2 / 20 Wir werden Optimierungsprobleme vom folgenden Typ betrachten: gegeben eine Menge X und eine Funktion
MehrPrüfungsklausur Operations Research,
HTWD, Fakultät Informatik/Mathematik Prof. Dr. M. Voigt Prüfungsklausur Operations Research, 20..206 A Name, Vorname Matr. Nr. Aufgabe 2 3a 3b 4 5 6 gesamt erreichbare P. 2+(5) 2+(4) 5 8 4 65+(9) erreichte
MehrAufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1
Lösungen zu den Übungsaufgaben im Kapitel 4 des Lehrbuches Operations Research Deterministische Modelle und Methoden von Stephan Dempe und Heiner Schreier Aufgabe 1: Berechnen Sie für den in Abbildung
MehrGraphenalgorithmen I
Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket
MehrKapitel 6: Graphalgorithmen Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrSchnellste Wege Wie funktioniert ein Navi?
Schnellste Wege Wie funktioniert ein Navi? Kurt Mehlhorn und Adrian Neumann Max-Planck-Institut für Informatik Vorlesung Ideen der Informatik Schnellste Wege Routenfinden im Navi Karten und Graphen Algorithmen
MehrGraphen. Graphen und ihre Darstellungen
Graphen Graphen und ihre Darstellungen Ein Graph beschreibt Beziehungen zwischen den Elementen einer Menge von Objekten. Die Objekte werden als Knoten des Graphen bezeichnet; besteht zwischen zwei Knoten
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen
MehrInformatik Abitur Bayern 2017 / II - Lösung
Informatik Abitur Bayern 2017 / II - Lösung Autoren: Wolf (1) Wagner (2) Scharnagl (3-5) 1a 5 1b Diese Methode vergleicht den Namen des Interpreten eines jeden Elements der Liste mit dem gegebenen Namen.
MehrDiskrete Mathematik. Hamiltonsche Graphen Teil I. Karina Arndt
Diskrete Mathematik Hamiltonsche Graphen Teil I Karina Arndt 21.06.2006 Übersicht Einleitung Hamiltonsch und eulersch Hamiltonsche Kreise Hamiltonsche Graphen neu zeichnen Kreise und Wege Reguläre Graphen
MehrProseminar 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
MehrGraphen III- Kostennetz
Graphen III- Kostennetz Beim nächsten Besuch wird Aloysius auch schon mit dem nächsten Problem betraut: Die fünf Orte in den schweizerischen Alpen sollen mit neuen elektrischen Leitungen verbunden werden.
MehrGraphentheorie. Vorkurs Informatik WS 2016/2017. Dennis Aumiller
Vorkurs Informatik WS 2016/2017 Dennis Aumiller Aumiller@stud.uni-heidelberg.de 14.10.2016 Über das Thema Wo alles begann Leider keine gesonderte Vorlesung dafür oft als Teilthema in anderen Vorlesungen
MehrBipartite 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
MehrTeil 2: Graphenalgorithmen
Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Problemstellung Ungewichtete Graphen Distanzgraphen Gewichtete
MehrHelmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2)
Graphen (2) 1 Topologisches Sortieren (1) Die Kanten eines gerichteten zyklenfreien Graphen bilden eine Halbordnung (die Ordnungsrelation ist nur für solche Knoten definiert die am gleichen Pfad liegen).
MehrPerlen 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
MehrEin Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.
Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten
MehrA2.3 Lineare Gleichungssysteme
A2.3 Lineare Gleichungssysteme Schnittpunkte von Graphen Bereits weiter oben wurden die Schnittpunkte von Funktionsgraphen mit den Koordinatenachsen besprochen. Wenn sich zwei Geraden schneiden, dann müssen
MehrTECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,
MehrKürzeste und Schnellste Wege
Ideen und Konzepte der Informatik Kürzeste und Schnellste Wege Wie funktioniert ein Navi? Kurt Mehlhorn Schnellste Wege Routen finden im Navi Karten und Graphen Schnellste und kürzeste Wege sind das gleiche
MehrAlgorithmen & Datenstrukturen 2 Praktikum 3
Algorithmen & Datenstrukturen 2 Praktikum 3 Thema: Graphalgorithmen Sommersemester 2016 Prof. Dr. Christoph Karg Hochschule Aalen Dieses Praktikum widmet sich dem Thema Graphalgorithmen. Ziel ist die Implementierung
MehrRechnernetze Übung 10. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2011
Rechnernetze Übung 10 rank Weinhold Professur VSR akultät für Informatik TU hemnitz Juni 2011 Das Weiterleiten (Routing) erfüllt die wichtige ufgabe, einzelne Teilstrecken des Kommunikationsnetzes so zu
MehrMinimal spannende Bäume
http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen
Mehr2. Repräsentationen von Graphen in Computern
2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/42 Graphische Darstellung von Zusammenhängen schon an vielen Stellen
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe
MehrAlgorithmen und Datenstrukturen 1 VL Übungstest SS Juni 2011
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 86.72 Algorithmen und Datenstrukturen VL 4.0 2. Übungstest SS 20 0. Juni 20 Machen
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 16: Erste Algorithmen in Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen
MehrLernmodul 2 Graphen. Lernmodul 2: Geoobjekte und ihre Modellierung - Graphen
Folie 1 von 20 Lernmodul 2 Graphen Folie 2 von 20 Graphen Übersicht Motivation Ungerichteter Graph Gerichteter Graph Inzidenz, Adjazenz, Grad Pfad, Zyklus Zusammenhang, Trennende Kante, Trennender Knoten
MehrDiskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)
WS 2015/16 Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15
MehrKeller, Schlangen und Listen. Elementare Datenstrukturen Keller, Schlangen und Listen 1 / 14
Keller, Schlangen und Listen Elementare Datenstrukturen Keller, Schlangen und Listen 1 / 14 Listen Listen unterstützen die Operationen Lookup, Insert, Remove. + Listen passen sich der Größe der zu speichernden
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Tiefensuche: Die globale Struktur Der gerichtete oder ungerichtete Graph G werde durch seine Adjazenzliste A repräsentiert. Im Array besucht wird vermerkt,
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrAm Dienstag, den 16. Dezember, ist Eulenfest. 1/45
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
MehrVerzweigen und Beschränken
Verzweigen und Beschränken Branch and Bound Sarah Bertulat, Jens Weber 27. November 2014 Gliederung Allgemeines Funktionsprinzip Rucksackproblem Das Rundreiseproblem Fragen? Sarah Bertulat, Jens Weber:
MehrInformatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest
MehrPaper Computer Science Experiment. Computation (NP-Vollständigkeit) Traveling Salesman
Paper Computer Science Experiment Great Principles of Computing Computation (NP-Vollständigkeit) Thema Traveling Salesman Unterrichtsform Lernen am Modell Voraussetzung Wahrscheinlich kennen viele Schüler/innen
Mehr