Vorkurs Informatik SoSe 15
|
|
- Heike Egger
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmen 2 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit, Technische Universität Braunschweig, IPS
2 Inhaltsverzeichnis Vorüberlegungen Ameisen-Prinzip Dijkstra-Algorithmus Schilda-Rallye Was steckt dahinter? Darstellung von Graphen Zusammenfassung Datenstrukturen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 2
3 Einführung Routenplaner Wie finde ich den günstigsten Weg? Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 3
4 Einführung Routenplaner Wie finde ich den günstigsten Weg? Eine Möglichkeit: Alle Weg durchprobieren Kürzesten Weg wählen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 3
5 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 1000 Städten Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 3
6 Überblick Vorüberlegungen Ameisen-Prinzip Dijkstra-Algorithmus Schilda-Rallye Was steckt dahinter? Darstellung von Graphen Zusammenfassung Datenstrukturen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 4
7 Vorüberlegungen Methode der Abstraktion Wie kommt man in der Informatik zu einer besseren Lösung? Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 5
8 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 5
9 Vorüberlegungen Informationen der Karte Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 6
10 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 6
11 Vorüberlegungen Informationen der Karte Name 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... Wichtig! Wenn man nicht weiß, welche Stadt wie heißt, kann auch nicht der kürzeste Weg zwischen Imstadt und Oppenheim bestimmt werden. Unwichtig! Es ist uns egal, wo sich die Städte genau befinden. Relevant sind nur die Straßen zwischen den Städten. Unwichtig! Kommt in unserer Aufgabenstellung nirgendwo vor. Unwichtig! Es kommt nur auf die Länge der Strecke an, nicht auf den Verlauf. Wichtig! Um die Reisestrecke zu bestimmen, brauchen wir die einzelnen Strecken zwischen den Orten. Unwichtig! Zumindest zur Bestimmung der kürzesten Strecke irrelevant. Unwichtig! Da es nur auf die Entfernungen, nicht auf die Zeit ankommt, ist es egal, ob Autobahn oder Feldweg gefahren wird. Wichtig! Wir benötigen die Informationen, von welcher Stadt zu welcher anderen eine Straße führt.
12 Vorüberlegungen Informationen der Karte Name 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... Wichtig! Wenn man nicht weiß, welche Stadt wie heißt, kann auch nicht der kürzeste Weg zwischen Imstadt und Oppenheim bestimmt werden. Unwichtig! Es ist uns egal, wo sich die Städte genau befinden. Relevant sind nur die Straßen zwischen den Städten. Unwichtig! Kommt in unserer Aufgabenstellung nirgendwo vor. Unwichtig! Es kommt nur auf die Länge der Strecke an, nicht auf den Verlauf. Wichtig! Um die Reisestrecke zu bestimmen, brauchen wir die einzelnen Strecken zwischen den Orten. Unwichtig! Zumindest zur Bestimmung der kürzesten Strecke irrelevant. Unwichtig! Da es nur auf die Entfernungen, nicht auf die Zeit ankommt, ist es egal, ob Autobahn oder Feldweg gefahren wird. Wichtig! Wir benötigen die Informationen, von welcher Stadt zu welcher anderen eine Straße führt.
13 Vorüberlegungen Abstrakte Form der Landkarte Karte wurde anhand der relevanten Daten 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 8
14 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 9
15 Vorüberlegungen Anwendung der Gleichformung Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 10
16 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 10
17 Vorüberlegungen Anwendung der Gleichformung Sehen wir uns noch einmal die Tabelle mit den ursprünglich vorhandenen Informationen an Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 10
18 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 11
19 Vorüberlegungen Entzerrte Landkarte Es wurde lediglich die Darstellung geändert. Die Verbindungen zwischen den Städten und deren Längenangaben bleiben unverändert Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 12
20 Überblick Vorüberlegungen Ameisen-Prinzip Dijkstra-Algorithmus Schilda-Rallye Was steckt dahinter? Darstellung von Graphen Zusammenfassung Datenstrukturen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 13
21 Ameisen-Prinzip 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 (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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 14
22 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 15
23 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 16
24 Ameisen-Prinzip Ameisen auf Kollisionskurs Nach 40 Minuten kommt ein Trupp bei C an: Sie sind die Ersten. Daher: Strecke markieren, Entfernung notieren und auf die weiteren 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? Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 17
25 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 18
26 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 19
27 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 20
28 Ameisen-Prinzip 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 21
29 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 22
30 Ameisen-Prinzip Übertragung 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 Brute-Force-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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 23
31 Überblick Vorüberlegungen Ameisen-Prinzip Dijkstra-Algorithmus Schilda-Rallye Was steckt dahinter? Darstellung von Graphen Zusammenfassung Datenstrukturen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 24
32 Dijkstra-Algorithmus 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 25
33 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 26
34 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 27
35 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 28
36 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 29
37 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 30
38 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 31
39 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 32
40 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 33
41 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 34
42 Dijkstra-Algorithmus Fortsetzung (10) 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 35
43 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 36
44 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 37
45 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 38
46 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 39
47 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 40
48 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 41
49 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 42
50 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 43
51 Dijkstra-Algorithmus Edsger Wybe Dijkstra Geboren 1930 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 2002 in seiner Heimat Nuenen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 44
52 Dijkstra-Algorithmus Algorithmus Markiere die Startstadt rot, weise ihr die Kennzahl 0 zu. Bezeichne diese als aktuelle Stadt. Gehe von der aktuellen Stadt zu allen direkt erreichbaren Nachbarstädten... führe das Folgende fpr jede Nachbarstadt durch: Errechne die Summe aus der Kennzahl an der aktuellen Stadt und der Länge der Strecke dorthin - ist die Nachbarstadt bereits rot markiert, mache nichts. - hat die Nachbarstadt keine Kennzahl, weise ihr die Summe als Kennzahlzu. Markiere die Strecke zur aktuellen Stadt. - hat die Nachbarstadt eine Kennzahl kleiner der Summe, mache nichts. - hat die Nachbarstadt eine Kennzahl größer der Summe, streiche die dortige Kennzahl sowie die Markierung. Weise ihr danach die Summe als neue Kennzahl zu. Markiere die Strecke zur aktuellen Stadt Betrache alle Städte, die zwar eine Kennzahl haben, aber noch nicht rot markiert sind. Suche die Stadt mit der kleinsten Kennzahl. Bezeichne diese als aktuelle Stadt. Weisen mehrere Städte die kleinste Kennzahl auf, wähle eine beliebige davon als aktuelle Stadt. Markiere die aktielle Stadt rot, zeichne die dort markierte Strecke in rot ein. Falls es noch Städte gibt, die nicht rot marktiert sind weiter bei (1.) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 45
53 Überblick Vorüberlegungen Ameisen-Prinzip Dijkstra-Algorithmus Schilda-Rallye Was steckt dahinter? Darstellung von Graphen Zusammenfassung Datenstrukturen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 46
54 Schilda-Rallye Stadtplan Der Stadtrat hat vor kurzem beschlossen, alle Straßen zu Einbahnstraßen zu machen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 47
55 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 48
56 Schilda-Rallye Markierung der Kreuzungen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 49
57 Schilda-Rallye Abstrakte Stadtplan Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 50
58 Schilda-Rallye Erste Schritt Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 51
59 Schilda-Rallye Fortsetzung (1) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 52
60 Schilda-Rallye Fortsetzung (2) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 53
61 Schilda-Rallye Fortsetzung (3) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 54
62 Schilda-Rallye Fortsetzung (4) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 55
63 Schilda-Rallye Fortsetzung (5) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 56
64 Schilda-Rallye Fortsetzung (6) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 57
65 Schilda-Rallye Fortsetzung (7) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 58
66 Schilda-Rallye Fortsetzung (8) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 59
67 Schilda-Rallye Fortsetzung (9) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 60
68 Schilda-Rallye Fortsetzung (10) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 61
69 Schilda-Rallye Fortsetzung (11) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 62
70 Schilda-Rallye Fortsetzung (12) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 63
71 Schilda-Rallye Fortsetzung (13) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 64
72 Schilda-Rallye Fortsetzung (14) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 65
73 Schilda-Rallye Fortsetzung (16) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 66
74 Schilda-Rallye Fortsetzung (17) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 67
75 Schilda-Rallye Fortsetzung (18) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 68
76 Schilda-Rallye Fortsetzung (19) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 69
77 Schilda-Rallye Fortsetzung (20) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 70
78 Schilda-Rallye Fortsetzung (21) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 71
79 Schilda-Rallye Fortsetzung (22) Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 72
80 Schilda-Rallye End Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 73
81 Schilda-Rallye Entfernungstabelle Hotel Entfernung (km) Adler 0,0 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 10,7 Lundt 7, Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 74
82 Überblick Vorüberlegungen Ameisen-Prinzip Dijkstra-Algorithmus Schilda-Rallye Was steckt dahinter? Darstellung von Graphen Zusammenfassung Datenstrukturen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 75
83 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 (Vertices) werden oft als Kreise und die Kanten (Edges) 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 76
84 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 77
85 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 78
86 Was steckt dahinter? 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 79
87 Was steckt dahinter? 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 80
88 Was steckt dahinter? 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 81
89 Was steckt dahinter? Brute-Force-Methode # Knoten Schritte Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 82
90 Was steckt dahinter? Brute-Force-Methode Für 100 Knoten sind im schlimmsten Fall bereits Berechnungen nötig. Wenn auch nur alle Gemeinden Deutschlands als Knoten in die Suche einbezogen werden, sind 9, Berechnungen nötig Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 83
91 Überblick Vorüberlegungen Ameisen-Prinzip Dijkstra-Algorithmus Schilda-Rallye Was steckt dahinter? Darstellung von Graphen Zusammenfassung Datenstrukturen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 84
92 Darstellung von Graphen Überlegung Computer kennt keine graphische Darstellung Insbesondere keine Kanten und Knoten Abstraktion notwendig Überführung der graphischen Darstellung in eine Datenstruktur Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 85
93 Darstellung von Graphen Adjazenzmatrix Idee für ungerichtete Graphen: Sei n die Anzahl der Knoten. Benutze eine n n Matrix. Wenn eine Kante zwischen Knoten a und b existiert, dann trage in Zeile a und Spalte b eine 1 ein, andernfalls eine 0. Verfahre ebenso mit Zeile b und Spalte a Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 86
94 Darstellung von Graphen Adjazenzmatrix Beispiel für ungerichteten Graphen mit Gewichten: Symmetrie bleibt erhalten. Anstelle von einer 1 trage das Kantengewicht ein Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 87
95 Darstellung von Graphen Adjazenzmatrix Beispiel für gerichteten Graphen mit Gewichten: Keine Symmetrie mehr Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 88
96 Darstellung von Graphen Adjazenzmatrix 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 89
97 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 Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 90
98 Überblick Vorüberlegungen Ameisen-Prinzip Dijkstra-Algorithmus Schilda-Rallye Was steckt dahinter? Darstellung von Graphen Zusammenfassung Datenstrukturen Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 91
99 Zusammenfassung Datenstrukturen Listen Array s (zusammenhängender Speicher) (doppelt) Verkettete Listen Stapel Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 92
100 Zusammenfassung Datenstrukturen Graphen Bäume Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 93
101 Danke Vielen Dank für Ihre Aufmerksamkeit! Dr. Werner Struckmann / Stephan Mielke, Marvin Priedigkeit Seite 94
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 Kapitel 1 aus "Abenteuer Informatik" von Jens
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
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
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
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
MehrAusarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme
Universität Hamburg Fachbereich Mathematik Seminar: Proseminar Graphentheorie Dozentin: Haibo Ruan Sommersemester 2011 Ausarbeitung zum Modulabschluss Graphentheorie spannende Bäume, bewertete Graphen,
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
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.
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
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
MehrVorkurs Informatik WiSe 15/16
Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner
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
MehrUniversität des Saarlandes
Universität des Saarlandes FR 6.2 Informatik Prof. Dr. Kurt Mehlhorn WiSe 2015/2016 Übungen zu Ideen der Informatik http://www.mpi-inf.mpg.de/departments/algorithms-complexity/teaching/winter15/ideen/
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
MehrKürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik
Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus
MehrGibt es in Königsberg einen Spaziergang, bei dem man jede der. Pregelbrücken. überquert?
Graphentheorie Gibt es in Königsberg einen Spaziergang, bei dem man jede der sieben Pregelbrücken genau einmal überquert? 1 Königsberger Brückenproblem Im Jahre 1736 Leonhard Euler löste das Problem allgemein
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,
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
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
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche
MehrGraphen: Datenstrukturen und Algorithmen
Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.
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.
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
MehrAngewandte Informatik
Angewandte Informatik Analyse des Graphs G zur Bestimmung von Parallel- undreihenschaltung Prof. Dr. Nikolaus Wulff Gewichteter Multigraph Die Adjazenzmatrix eines Graphen eignet sich auch zur Analyse
MehrWestfä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
MehrTechnische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt
Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik Prof. Dr. A. Taraz, Dipl-Math. A. Würfl, Dipl-Math. S. König Weihnachtsblatt Aufgabe W.1 Untersuchen Sie nachstehenden
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
MehrAm Dienstag, den 16. Dezember, ist Eulenfest. 1/48
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
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
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon
MehrDiskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie
Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 6: Graphentheorie Lang 6 Beutelspacher 8.1-8.5 Meinel 11 zur Vertiefung: Aigner 6, 7 (7.4: Algorithmus von Dijkstra) Matousek
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrDynaTraffic Modelle und mathematische Prognosen. Simulation der Verteilung des Verkehrs mit Hilfe von Markov-Ketten
DynaTraffic Modelle und mathematische Prognosen Simulation der Verteilung des Verkehrs mit Hilfe von Markov-Ketten Worum geht es? Modelle von Verkehrssituationen Graphen: Kanten, Knoten Matrixdarstellung
MehrVery simple methods for all pairs network flow analysis
Very simple methods for all pairs network flow analysis Tobias Ludes 02.07.07 Inhalt Einführung Algorithmen Modifikation der Gomory-Hu Methode Einführung Nach Gomory-Hu nur n-1 Netzwerk-Fluss- Berechnungen
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei
MehrAnwendungshinweise zur Anwendung der Soziometrie
Anwendungshinweise zur Anwendung der Soziometrie Einführung Die Soziometrie ist ein Verfahren, welches sich besonders gut dafür eignet, Beziehungen zwischen Mitgliedern einer Gruppe darzustellen. Das Verfahren
MehrOberstufe (11, 12, 13)
Department Mathematik Tag der Mathematik 1. Oktober 009 Oberstufe (11, 1, 1) Aufgabe 1 (8+7 Punkte). (a) Die dänische Flagge besteht aus einem weißen Kreuz auf rotem Untergrund, vgl. die (nicht maßstabsgerechte)
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
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
Mehr6. Übung zur Linearen Optimierung SS08
6 Übung zur Linearen Optimierung SS08 1 Sei G = (V, E) ein schlichter ungerichteter Graph mit n Ecken und m Kanten Für eine Ecke v V heißt die Zahl der Kanten (u, v) E Grad der Ecke (a) Ist die Anzahl
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.
Mehr1 Vektorrechnung als Teil der Linearen Algebra - Einleitung
Vektorrechnung als Teil der Linearen Algebra - Einleitung www.mathebaustelle.de. Einführungsbeispiel Archäologen untersuchen eine neu entdeckte Grabanlage aus der ägyptischen Frühgeschichte. Damit jeder
MehrPrüfungsklausur Operations Research,
HTWD, FB Informatik/Mathematik Prof. Dr. M. Voigt Prüfungsklausur Operations Research, 10.7.2008 A Name, Vorname Matr. Nr. Aufgabe 1 : In drei Porzellanwerken W 1, W 2 und W 3 werden Speiseservice hergestellt,
MehrNichtdeterministische Platzklassen
Sommerakademie 2010 Rot an der Rot AG 1: Wieviel Platz brauchen Algorithmen wirklich? Nichtdeterministische Platzklassen Ulf Kulau August 23, 2010 1 Contents 1 Einführung 3 2 Nichtdeterminismus allgemein
MehrKombinatorische 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 4 Programm des
MehrGraphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011
Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.
MehrGuten Morgen und Willkommen zur Saalübung!
Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei
MehrM. Anderegg, E. Müller Graphentheorie
Graphentheorie In den nächsten zwei Doppellektion lernen Sie ein Gebiet der Mathematik kennen, dass sich komplett von allem bisher Gehörten unterscheidet: Die Graphentheorie. Sie wurde vom Schweizer Mathematiker
MehrGrundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen
. Graphen viele praktische (Optimierungs-)Probleme sind als graphentheoretische Probleme formulierbar z.b. in Produktionsplanung, Personaleinsatzplanung,.... Grundlagen gerichteter, ungerichteter und gewichteter
MehrGeometrische Algorithmen
Geometrische Algorithmen Thomas Röfer Motivation Scan-line-Prinzip Konvexe Hülle Distanzprobleme Voronoi-Diagramm Rückblick Manipulation von Mengen Vorrangwarteschlange Heap HeapSort swap(a, 0, 4) 1 5
MehrBerechne schriftlich: a) b) Bilde selbst ähnliche Beispiele.
Basiswissen Mathematik Klasse 5 / 6 Seite 1 von 12 1 Berechne schriftlich: a) 538 + 28 b) 23 439 Bilde selbst ähnliche Beispiele. 2 Berechne schriftlich: a) 36 23 b) 989: 43 Bilde selbst ähnliche Beispiele.
MehrGraphen. Formale Methoden der Informatik WiSe 2010/2011 teil 2, folie 1 (von 60)
Graphen Formale Methoden der Informatik WiSe 2010/2011 teil 2, folie 1 (von 60) Teil II: Graphen 1. Einführung 2. Wege und Kreise in Graphen, Bäume 3. Planare Graphen / Traveling Salesman Problem 4. Transportnetzwerke
Mehr6 Bestimmung linearer Funktionen
1 Bestimmung linearer Funktionen Um die Funktionsvorschrift einer linearen Funktion zu bestimmen, muss man ihre Steigung ermitteln. Dazu sind entweder Punkte gegeben oder man wählt zwei Punkte P 1 ( 1
MehrAlgorithmische 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
MehrGraphen. Leonhard Euler ( )
Graphen Leonhard Euler (1707-1783) 2 Graph Ein Graph besteht aus Knoten (nodes, vertices) die durch Kanten (edges) miteinander verbunden sind. 3 Nachbarschaftsbeziehungen Zwei Knoten heissen adjazent (adjacent),
Mehr03 Brüche und gemischte Zahlen
Brüche 7 0 Brüche und gemischte Zahlen A5 Stelle eines der beiden Tiere selbst her. (Welches Tier du herstellen sollst, erkennst du an der Farbe des Papiers, das du von deinem Lehrer oder deiner Lehrerin
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University
MehrSchnelle und genaue Routenplanung
Sanders/Schultes: Routenplanung 1 Schnelle und genaue Routenplanung Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe Uni für Einsteiger, 22. November
MehrLineare Gleichungssysteme mit zwei Variablen, lineare Funktionen. Zeit-Weg-Diagramme, Textgleichungen
MATHEMATIK Unterrichtsfach Themenbereich/e Schulstufe (Klasse) Fachliche Vorkenntnisse Sprachliche Kompetenzen Zeitbedarf Material- und Medienbedarf Sozialform/en Methodische Tools Hinweise zur Durchführung
Mehr37 Gauß-Algorithmus und lineare Gleichungssysteme
37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Motivation Lineare Gleichungssysteme treten in einer Vielzahl von Anwendungen auf und müssen gelöst werden In Abschnitt 355 haben wir gesehen, dass
MehrKAPITEL III DAS InFORMATIK- KOCHSTUDIO
Das Informatik- Kochstudio KAPITEL III 48 Das Informatik-Kochstudio Algorithmen Algorithmen III Sortieren Ordnung ist das halbe Leben. Mit diesem Spruch nerven seit Generationen Eltern ihre Kinder. Aber
MehrInformatik 11 Kapitel 2 - Rekursive Datenstrukturen
Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange
MehrAlgorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer
Algorithmen und Datenstrukturen Große Übung vom 29.10.09 Nils Schweer Diese Folien Braucht man nicht abzuschreiben Stehen im Netz unter www.ibr.cs.tu-bs.de/courses/ws0910/aud/index.html Kleine Übungen
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrAnwendungen des Fréchet-Abstandes Das Constrained Free Space Diagram zur Analyse von Körperbewegungen
Anwendungen des Fréchet-Abstandes Das Constrained Free Space Diagram zur Analyse von Körperbewegungen David Knötel Freie Universität Berlin, Institut für Informatik Seminar über Algorithmen Leitfaden Wiederholung
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der
MehrVollständige Induktion
Schweizer Mathematik-Olympiade smo osm Vollständige Induktion Aktualisiert: 1 Dezember 01 vers 100 Eine der wichtigsten Beweistechniken der Mathematik überhaupt ist die (vollständige) Induktion Wir nehmen
MehrKapitel 5: Minimale spannende Bäume Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken
Mehr3 Mit Programmen und Fenstern
34 MIT PROGRAMMEN UND FENSTERN ARBEITEN 3 Mit Programmen und Fenstern arbeiten In dieser Lektion lernen Sie wie Sie Programme starten und wieder beenden wie Sie mit Fenstern arbeiten Ein Programm starten
MehrWie löst man Treffpunktaufgaben?
Wie löst man Treffpunktaufgaben? Grundsätzlich gibt es zwei Typen von Treffpunktaufgaben. Beim ersten Typ fahren die Personen vom gleichen Startpunkt los, aber dann meist zeitverzögert und mit unterschiedlichen
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrMinimal spannender Baum
Minimal spannender Baum 16 1 2 21 5 11 19 6 6 3 14 33 10 5 4 18 Die Kreise zeigen die vorgesehenen Standorte neu zu errichtender Filialen einer Bank. Entlang der bestehenden Straßen sollen Telefonleitungen
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
Mehr1. Beispiel 1, die Tabelle Daten 1
Nachdem ich im letzten Newsletter einige Funktionen vorgestellt habe, biete ich im Newsletter vom März praktische Anwendungsbeispiele dazu an. Im ersten Beispiel in der Tabelle Daten1 geht es darum, gezielt
MehrKoordinatensystem, Strecken, Geraden
Koordinatensystem, Strecken, Geraden Zeichne eine Rechts- und eine Hochachse und trage folgende Punkte ein: P(2 1), Q(10 1), R(10 9), S(2 9), T(4 3), U(8 3), V(8 7), W(4 7). Zeichne die Strecken PQ QR
MehrErkunden - Prozentrechnung
Erkunden - Prozentrechnung Ziel: Sich praktisch mit den Begriffen der Prozentrechnung vertraut machen und schon erste Rechnungen damit durchführen. Du hast dich mit den grundlegenden Begriffen der Prozentrechnung
MehrTutorübung zur Vorlesung Grundlagen Rechnernetze und Verteilte Systeme Übungsblatt 7 (3. Juni 7. Juni 2013)
Technische Universität München Lehrstuhl Informatik VIII Prof Dr-Ing Georg Carle Dipl-Ing Stephan Günther, MSc Nadine Herold, MSc Dipl-Inf Stephan Posselt Tutorübung zur Vorlesung Grundlagen Rechnernetze
MehrVorlesung Diskrete Strukturen Graphen: Wieviele Bäume?
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrSchwierige Probleme in der Informatik Informationen für die Lehrperson
Schwierige Probleme in der Informatik Informationen für die Lehrperson Thema, Adressaten,... Das Thema dieses Moduls sind NP-vollständige Probleme, also schwierige Probleme in der Informatik. GraphBench
MehrAnhang 6. Eingangstest II. 1. Berechnen Sie den Durchschnitt von 6 + 3,9 + 12, 0 = 2. Berechnen Sie: : = 3. Berechnen Sie: = 3 und 6
Anhang 6 Eingangstest II 1. Berechnen Sie den Durchschnitt von 6 + 3,9 + 12, 0 = 8 4 2. Berechnen Sie: : = 3 1 2x x 3. Berechnen Sie: = 9 9 4. Wie groß ist die Summe von 4 3 und 6?. Berechnen Sie: 3 (
Mehr3. Musterlösung. Problem 1: Boruvka MST
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines
MehrArbeitsblatt Mathematik: Bewegungsaufgaben
Arbeitsblatt Mathematik: Bewegungsaufgaben Seite 1 von 12 Arbeitsblatt Mathematik: Bewegungsaufgaben Bewegungsaufgaben enthalten Angaben zu mindestens einem Objekt, das entlang einer Bahn bewegt wird bzw.
MehrUninformierte Suche in Java Informierte Suchverfahren
Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen
MehrIn diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1)
34 Determinanten In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N Wenn (mit einem n > 1) a 11 a 12 a 1n a 21 a 22 a 2n A =, (1)
MehrAufgabe 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.
MehrInstitut für Mathematik Geometrie und Lineare Algebra J. Schönenberger-Deuel. Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien.
Lösungen Übung 13 Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien. a) Strategie 1 (nächster Nachbar): Jedes Mal reist der Reisende vom Punkt, wo er gerade ist, zur nächstgelegenen Stadt,
MehrGraphenalgorithmen I
enalgorithmen I Tobias Pröger 21. Dezember 2016 Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch auf Vollständigkeit und Korrektheit. Wir sind froh über
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
MehrDynamische Geometrie
Dynamische Geometrie 1) Die Mittelsenkrechten, die Seitenhalbierenden, die Höhen und die Winkelhalbierenden eines beliebigen Dreiecks schneiden sich jeweils in einem Punkt. a) Untersuchen Sie die Lage
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
MehrKombinatorische Optimierung
Kombinatorische Optimierung Zuweisungsprobleme 2 1 3 5 4 Kombinatorische Optimierung Rucksackpackproblem 1 10 2 4 6 3 5 8 6 Aufspannende Bäume Travelling Salesman VLSI Design C. Kanzow, M. Gerdts Kombinatorische
MehrInstitut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
MehrWas 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
MehrLösen von linearen Gleichungen und Gleichungssystemen
- 1 - VB 2004 Lösen von linearen Gleichungen und Gleichungssystemen Inhaltsverzeichnis Lösen von linearen Gleichungen und Gleichungssystemen... 1 Inhaltsverzeichnis... 1 Einführung... 2 Lösen einfacher
MehrGraphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik
Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes
Mehr1. Einleitung wichtige Begriffe
1. Einleitung wichtige Begriffe Da sich meine besondere Lernleistung mit dem graziösen Färben (bzw. Nummerieren) von Graphen (speziell von Bäumen), einem Teilgebiet der Graphentheorie, beschäftigt, und
Mehr