Vorkurs Informatik SoSe 14 Algorithmen 2

Größe: px
Ab Seite anzeigen:

Download "Vorkurs Informatik SoSe 14 Algorithmen 2"

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

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs 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

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs 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

Mehr

Konzepte der Informatik

Konzepte 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

Mehr

Konzepte der Informatik

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

Mehr

Vorkurs Informatik SoSe 15

Vorkurs 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

Mehr

Konzepte der Informatik

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

Mehr

GPS und Routenplaner

GPS 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

Mehr

Informatik im Alltag: Wie funktionieren Navis?

Informatik 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

Mehr

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

Routing 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

Mehr

Relationen und Graphentheorie

Relationen 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

Mehr

Lernmodul 7 Algorithmus von Dijkstra

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

Mehr

Kürzeste Wege in einem gewichteten Graphen. Anwendungen

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

Mehr

Routing Algorithmen. Begriffe, Definitionen

Routing 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

Mehr

Wie wird ein Graph dargestellt?

Wie 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

Mehr

Lehrerbildungszentrum Informatik an der Universität Göttingen

Lehrerbildungszentrum 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

Mehr

Algorithmen und Datenstrukturen 2-1. Seminar -

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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Kodieren Von Graphen

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

Mehr

3. Die Datenstruktur Graph

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

Mehr

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

Algorithmen 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

Mehr

Aufgaben zur Klausurvorbereitung

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

Mehr

Graphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke

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

Mehr

Datenstrukturen. einfach verkettete Liste

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

Mehr

Das Problem des Handlungsreisenden

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

Mehr

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

Mehr

Algorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012

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

Mehr

Algorithmische Graphentheorie

Algorithmische 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

Mehr

Datenstrukturen und Algorithmen 2. Klausur SS 2001

Datenstrukturen 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:...................................................

Mehr

Algorithmen und Datenstrukturen 13

Algorithmen 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

Mehr

f h c 7 a 1 b 1 g 2 2 d

f 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

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

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

Mehr

Hamiltonsche Graphen (2. Teil)

Hamiltonsche 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

Mehr

Konzepte der Informatik

Konzepte 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

Mehr

10. Übungsblatt zu Algorithmen I im SS 2010

10. Ü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

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)

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

Mehr

12. 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 12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen Graphen Graphenalgorithmen 2

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Dynamische 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

Mehr

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke

Theoretische 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

Mehr

15. Elementare Graphalgorithmen

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

Mehr

Algorithmen und Datenstrukturen

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

Mehr

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

Mehr

Anhang: Ungarische Methode

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

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen

Zentralü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:

Mehr

Vorlesung Datenstrukturen

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

Mehr

Algorithmen und Komplexität

Algorithmen 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

Mehr

12. AuD Tafelübung T-C3

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

Mehr

Programmiertechnik II

Programmiertechnik 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

Mehr

Vorlesung Datenstrukturen

Vorlesung 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

Mehr

Vorlesung Datenstrukturen

Vorlesung 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

Mehr

Programmiertechnik II

Programmiertechnik 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

Mehr

Graphdurchmusterung, Breiten- und Tiefensuche

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

Mehr

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

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

Mehr

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

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

Mehr

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

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

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

Klausur Informatik B April Teil I: Informatik 3

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

Mehr

Programmierkurs Python II

Programmierkurs 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

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

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

Mehr

Einführung in die Informatik 2

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

Mehr

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

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

Mehr

Prüfungsklausur Operations Research,

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

Mehr

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Aufgabe 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

Mehr

Graphenalgorithmen I

Graphenalgorithmen 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

Mehr

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 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

Mehr

Schnellste Wege Wie funktioniert ein Navi?

Schnellste 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

Mehr

Graphen. Graphen und ihre Darstellungen

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

Mehr

Programm 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) Ü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

Mehr

Informatik Abitur Bayern 2017 / II - Lösung

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

Mehr

Diskrete Mathematik. Hamiltonsche Graphen Teil I. Karina Arndt

Diskrete 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

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

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

Mehr

Graphen III- Kostennetz

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

Mehr

Graphentheorie. Vorkurs Informatik WS 2016/2017. Dennis Aumiller

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

Mehr

Bipartite Graphen. Beispiele

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

Mehr

Teil 2: Graphenalgorithmen

Teil 2: Graphenalgorithmen Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Problemstellung Ungewichtete Graphen Distanzgraphen Gewichtete

Mehr

Helmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2)

Helmut 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).

Mehr

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

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

Mehr

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.

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

Mehr

A2.3 Lineare Gleichungssysteme

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

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

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

Mehr

Kürzeste und Schnellste Wege

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

Mehr

Algorithmen & Datenstrukturen 2 Praktikum 3

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

Mehr

Rechnernetze Übung 10. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2011

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

Mehr

Minimal spannende Bäume

Minimal 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

Mehr

2. Repräsentationen von Graphen in Computern

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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen 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

Mehr

Algorithmen und Datenstrukturen 1 VL Übungstest SS Juni 2011

Algorithmen 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen 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

Mehr

Lernmodul 2 Graphen. Lernmodul 2: Geoobjekte und ihre Modellierung - Graphen

Lernmodul 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

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Diskrete 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

Mehr

Keller, Schlangen und Listen. Elementare Datenstrukturen Keller, Schlangen und Listen 1 / 14

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

Mehr

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Datenstrukturen. 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,

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45

Am 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

Mehr

Verzweigen und Beschränken

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

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik 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

Mehr

Paper Computer Science Experiment. Computation (NP-Vollständigkeit) Traveling Salesman

Paper 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