Graphen.

Slides:



Advertisements
Ähnliche Präsentationen
OASE Elektronische Antragstellung des Deutsch-Polnischen Jugendwerks.
Advertisements

Vortrag von Stephanie Weirauch Jens Pleger Peter Jancke Frank Wejmelka
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
Die Türme von Hanoi Die Lösungsfindung nach dem Prinzip der Rekursion wird noch einmal textuell und grafisch erläutert
Klausur „Diskrete Mathematik II“
Minimum Spanning Tree: MST
Die Steigung m In der allgemeinen Funktionsgleichung y=mx+b
Die Funktionsgleichung
Funktionsgraphen zeichnen
Kakuro Regeln und Strategien
Vortrag über Graphen Von Jörg Hendricks.
Wie man eine einfache Präsentation erstellt...
Willkommen bei Sycarus – dem Mathematikprogramm, das neue Wege geht.
Auf Wunsch einer einzelnen Dame
Arbeitsanweisungen.
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
2. Die rekursive Datenstruktur Baum 2
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hallo zusammen! hab ein -vermutlich- kleines problem: ich kann keine einzelnen wörter in meiner präsentation einblenden lassen. gegebenheit: ich hab ne.
Hallo Ich möchte einen Text einer Folie nicht einfach nur einfliegen lassen, sondern genau diesen Text, der schon an einer bestimmten Stelle steht, vergrößern.
wenn ich auf eine bestimmte Stelle auf einer Folie klicke
Wie man eine einfache Präsentation erstellt...
Bereit ???? Nimm dir 10 Minuten Zeit. Ich versuche es dir zu erklären.
Jamshid Azizi: Folie Isomorphietest Jamshid Azizi
Lernprogramm : „Quadratische Funktionen“
Informatik Datenstruktur Graph 3.3 Durchlaufen von Graphen
Lernprogramm : „Quadratische Funktionen“ von W. Liebisch
DSD I Trainingsstunde 1 LESEVERSTEHEN Teil 1.
Analyse der Laufzeit von Algorithmen
DSD I Trainingsstunde 4 LESEVERSTEHEN Teil 4.
Interview für einen Job
Grammatikalische Begriffe im Unterricht
Aufgaben zur Kombinatorik
Bildergeschichte – Warum Europa Europa heißt
Der A*-Algorithmus.
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Unterricht vorbereiten und durchführen
Binärbäume.
Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1.
ZAP 2014 Anleitung mit Lösungen
Programmiersprachen II Graph_Algorithmen Einführung Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Adiazenzmatrix des Graphen
BLITZKRIEGE Das lerne ich hier:
Eine Näherungslösung für das Problem des Handlungsreisenden
Wähle eine der Zahlen
Ein Sohn fragt den Vater
Laufzeitverhalten beim Sortieren
Projekt Graphentheorie Eulerpfad
Mareike Frey & Lena Oberhaus
Grundlagen und Grundbegriffe
Ein Sohn fragt den Vater
Ein Sohn fragt den Vater
Hallo, schön dass du mich in meinem Wald besuchen kommst. Ich bin Frida. - - © Marlitt Kaun Stella Hagemeyer.
Programmierung mit Scratch
Graphen.
Debugging.
Ein Sohn fragt den Vater
Leitfragen Leitfragen M9
Ein Sohn fragt den Vater
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
Schön, dass du da bist. Ich bin Kiki und brauche deine Hilfe, um an den Sack mit Körnern zu gelangen. Hinter jedem Korn verbirgt sich eine Aufgabe, löst.
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
3. Die Datenstruktur Graph 3.2 Repräsentation von Graphen
Bruchrechnen – Erläuterung Teil 1
Ein Sohn fragt den Vater
Wie bewerbe ich mich über diniLehr.ch?
 Präsentation transkript:

Graphen

Erarbeite dir das folgende Kapitel allein. Beachte dabei Folge Schritt für Schritt den Anweisungen. Lies genau (vielleicht auch 2 Mal) und lass dir Zeit. Nach jeder Frage kann die zugehörige Lösung per Klick angezeigt werden. Lies die Lösung erst, nachdem du selber eingehend überlegt hast. Denn: alles, was du dir selbst herausfindest, bleibt (leichter) im Gedächtnis. Nimm ein Blatt Papier für den Hefteintrag und lasse 5 Zeilen für die Überschrift frei. Notiere die eingerahmten Kästen als Hefteintrag.

München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Du bist Vertreter bei der Firma „Klump&Klump“ und musst alle Städte, die dein Chef dir aufträgt, abfahren. Um dein Gehirn in Zukunft zu schonen, möchtest du einen Algorithmus schreiben, der bei einem gegebenen Graphen alle Knoten (hier: Städte) systematisch besucht. Da es ja nicht „dein Benzin ist“ und du nach Stunden bezahlt wirst, ist dir die Route egal: das heißt, Kanten und Knoten dürfen auch doppelt angefahren. Die Hauptsache ist, dass angefangen bei einem gegebenen Startknoten am Ende alle Knoten erreicht wurden. Das folgende Bild ist nur ein Beispiel für einen Graphen. Das heißt dein Algorithmus muss natürlich allgemein sein. Die folgenden Folien helfen dir bei der Entwicklung von Strategien für deinen Algorithmus. Schreibe den Inhalt der eingerahmten Kästen jeweils als Hefteintrag sauber ab. Lasse 5 Zeilen Platz für die Überschrift. München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Du beginnst deine Fahrt in München. Mach dir zunächst klar, welche Möglichkeiten du nun hast. Ein Algorithmus darf jedoch keine „Wahlmöglichkeit“ haben, sondern man muss eindeutig angeben, was „gemacht“ werden soll, falls es mehrere Möglichkeiten gibt. Strategie „Alphabet“: Wenn mehrere Wege möglich sind, dann werden die Orte immer dem Alphabet nach besucht. Nächster besuchter Ort ist also … München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm …Augsburg. Warum ist die vorherige Strategie „Alphabet“ (für sich allein genommen) bereits jetzt nicht mehr brauchbar? Grund: Du würdest als nächstes wieder nach München fahren und dann wieder nach Augsburg usw. Ergänze nun die Strategie „Alphabet“ um eine weitere Strategie, so dass das obige Problem nicht mehr auftritt. Überlege gut bevor du dir die Lösung anzeigen lässt. Strategie „Markierung“: Jeder besuchte Ort wird markiert und Wege zu bereits markierten Orten werden bei der Auswahl der Verbindungen nicht berücksichtigt. München und Augsburg wurden also besucht und werden daher markiert (ein grüner Haken). München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Kombiniere die beiden Strategien. Welche sind die nächsten Orte, die besucht werden und warum geht es dann mit den beiden ersten Strategien an einem Ort nicht mehr weiter? Die beiden nächsten Orte, die nun besucht werden sind Ulm und Lindau. Von Augsburg aus wurden alle Orte schon besucht. Augsburg ist daher abgearbeitet (daher 2 Haken) In Lindau kann man nur zurück nach Ulm, jedoch war man dort schon. Überlege dir nun eine dritte Strategie, für diesen „Problemfall“. Strategie „Zurück“: Wenn es an einem Ort nicht weitergeht, dann kehre zu dem Nachbarort zurück, von dem aus dieser Ort besucht wurde. München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Kombiniere die beiden Strategien. Welche sind die nächsten Orte, die besucht werden und warum geht es dann mit den beiden ersten Strategien an einem Ort nicht mehr weiter? Die beiden nächsten Orte, die nun besucht werden sind Ulm und Lindau. In Lindau kann man nur zurück nach Ulm, jedoch war man dort schon. Überlege dir nun eine dritte Strategie, für diesen „Problemfall“. Strategie „Zurück“: Wenn es an einem Ort nicht weitergeht, dann kehre zu dem Nachbarort zurück, von dem aus dieser Ort besucht wurde. Du musst also nach Ulm zurückkehren. Lindau ist nun besucht und keine unbesuchten Orte sind mehr von da aus erreichbar (daher zwei Haken). Finde nun heraus, in welcher Reihenfolge die Orte besucht werden, wenn du alle drei Strategien anwendest. Ergänze also: München, Augsburg, Ulm, Lindau, … (Notiere die Lösung auf ein Schmierblatt!) München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

LÖSUNG SCHRITT FÜR SCHRITT Überlege noch einmal bei jedem Schritt, aufgrund welcher Strategie ein Schritt ausgeführt wird! München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof WICHTIG! Nun geht´s nicht weiter, weil alle umliegenden Ort bereits besucht wurden. Das heißt Strategie „zurück“ muss nun angewendet werden. Nach Regensburg kam man von Nürnberg aus: also zurück nach Nürnberg!

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof Auch in Nürnberg geht es nicht weiter. Daher zurück nach Hof usw. Zurück in München muss jetzt noch Rosenheim besucht werden.

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Lösung Schritt für Schritt München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof Nun wieder zurück nach München. Hat München noch weitere Ort, die erreicht werden könnten und nicht besucht sind? Nein! Das heißt: München ist nun – wie alle anderen Knoten auch – komplett abgearbeitet. Fertig!

Zeichne nun den graphen ausschließlich mit den beim durchlauf verwendeten Kanten auf. München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Lösung Überlege, welcher besondere Graph nun vorliegt. München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof Überlege, welcher besondere Graph nun vorliegt.

Lösung: Es ist ein Baum (aber kein Binärbaum) mit der Wurzel „München“ Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof

Ergänze nun deinen Hefteintrag um folgende Überschrift und folgenden Text! Graphendurchlauf Oft müssen alle Knoten eines Graphen „besucht“ werden. Dies nennt man Graphendurchlauf. Tiefensuche – ein möglicher Algorithmus für einen Graphendurchlauf Hier drunter folgen die von dir notierten Strategien!

Übungsaufgabe: Gib nun die Reihenfolge an, nach der die Orte des folgenden Graphen mit unserem Verfahren besucht werden. Du startest in Vilshofen. Notiere den genauen Weg; auch wie du jeweils zurückgehst. Vilshofen Aicha Sandbach Ortenburg Passau Neustift Die Aufgabe wird gemeinsam besprochen und verbessert!

Von der Idee zum Programm Tiefensuche

Mache dir den Ablauf der tiefensuche noch einmal an folgendem Beispiel klar München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof Notiere die Orte in der Reihenfolge, in der sie bei der Tiefensuche besucht werden. Startpunkt ist in München.

Lösung München Rosenheim Augsburg Lindau Stuttgart Würzburg Nürnberg Ulm Regensb. Hof München, Augsburg, Ulm, Lindau, Stuttgart, Würzburg, Hof, Nürnberg, Regensburg, Rosenheim

Nun zur Programmierung

Jeder Knoten Muss wissen, ob er schon besucht wurde Wie kann die Klasse KNOTEN dazu erweitert werden? Die Klasse KNOTEN muss um ein Attribut markierung erweitert werden. Vergiss beim Programmieren später nicht die zugehörigen Methoden (markierungGeben und markierungSetzen)

Bevor die Tiefensuche begonnen werden kann, müssen zunächst die Markierungen sämtlicher Knoten auf false gesetzt werden. Dann kann die eigentliche Tiefensuche beginnen. Ergänze die folgende Methode.

Nun muss noch die „eigentliche“ Methode TiefensucheStarten(int startknoten) implementiert werden.

Kopiere dir vorher jedoch das Paket GraphOhneTiefensucheVorlage (im Austauschorder) in deinen Ordner und arbeite dann an diesem weiter. Die Methode Tiefensuche ist bereits enthalten und die Methode TiefensucheStarten(int startknoten) muss ergänzt werden. Viel Erfolg!