Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:graphen:zpg:minimalspanningtree:start [06.12.2022 12:06] – Frank Schiebel | faecher:informatik:oberstufe:graphen:zpg:minimalspanningtree:start [27.09.2024 13:58] (aktuell) – [Vertiefung: Fragen & Aufgaben] Marco Kuemmel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Minimalspannende Bäume ====== | ====== Minimalspannende Bäume ====== | ||
+ | |||
+ | ===== Muddy-City ===== | ||
+ | |||
Vor langer Zeit gab es eine Stadt, die keine Straßen hatte. Sich in dieser Stadt zu bewegen war insbesondere dann schwierig, wenn der Regen nach starken Gewittern die Wege sehr matschig machte. Fahrzeuge blieben stecken und jeder hatte ziemlich dreckige Schuhe. Daher entschied der Bürgermeister, | Vor langer Zeit gab es eine Stadt, die keine Straßen hatte. Sich in dieser Stadt zu bewegen war insbesondere dann schwierig, wenn der Regen nach starken Gewittern die Wege sehr matschig machte. Fahrzeuge blieben stecken und jeder hatte ziemlich dreckige Schuhe. Daher entschied der Bürgermeister, | ||
Zeile 9: | Zeile 12: | ||
* Es müssen ausreichend Straßen asphaltiert werden, damit jeder von seinem Haus jedes andere Haus trockenen Fußes erreichen kann. | * Es müssen ausreichend Straßen asphaltiert werden, damit jeder von seinem Haus jedes andere Haus trockenen Fußes erreichen kann. | ||
* Das Asphaltieren soll so wenig kosten wie möglich. Die Anzahl der Pflastersteine ist das Maß für die Kosten. | * Das Asphaltieren soll so wenig kosten wie möglich. Die Anzahl der Pflastersteine ist das Maß für die Kosten. | ||
+ | |||
+ | ===== Aufgaben zum Muddy-City-Problem ===== | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A1) === | ||
+ | |||
+ | Finde die Wege, die alle Häuser miteinander verbinden und deren Asphaltierung am wenigsten kostet (=Pflastersteine beinhaltet). | ||
+ | |||
+ | ++++ Tipp | | ||
+ | Die optimale Lösung besteht aus 23 Pflastersteinen. | ||
+ | ++++ | ||
+ | |||
+ | |||
+ | ++++ Lösung | | ||
+ | {{ : | ||
+ | ++++ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A2) === | ||
+ | |||
+ | Welche Strategien hast du genutzt, um das Problem zu lösen? | ||
+ | |||
+ | ===== Das Minimaler Spannbaum Problem (Minimal spanning tree) ===== | ||
+ | |||
+ | <WRAP center round info 95%> | ||
+ | Gegeben ist ein zusammenhängender, | ||
+ | |||
+ | Gesucht ist die Teilmenge der Kanten, so dass der Graph zusammenhängend bleibt und die Summe der Kantengewichte möglichst klein ist. | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Vertiefung: Fragen & Aufgaben ===== | ||
+ | |||
+ | {{: | ||
+ | === (A3) === | ||
+ | |||
+ | Wende den Algorithmus "MST (Prim)" | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A4) === | ||
+ | |||
+ | Öffne den Stadtplan von Baden-Baden ('' | ||
+ | |||
+ | Anders ausgedrückt: | ||
+ | |||
+ | ++++ Lösungsvorschläge | | ||
+ | * Stadtplan: z. B. Wasserrohre, | ||
+ | * Inselkarte: Beschränkung auf Fährverbindungen mit einer möglichst kurzen Gesamtstrecke, | ||
+ | ++++ | ||
+ | |||
+ | ===== Zwei Algorithmen ===== | ||
+ | |||
+ | Wir betrachten zwei Algorithmen zur Lösung des Problems des minimal spannenden Baums: | ||
+ | * [[.kruskal: | ||
+ | * [[.prim: | ||
+ | |||
+ | ===== Weitere Fragen und Aufgaben ===== | ||
+ | |||
+ | {{: | ||
+ | === (A5) === | ||
+ | |||
+ | Untersuche, ob die Algorithmen zur Bestimmung des minimalen Spannbaums auch mit negativen Kantengewichten zurechtkommen. | ||
+ | |||
+ | ++++ Lösung | | ||
+ | Negative Kantengewichte stellen kein Problem dar, da es beim Algorithmus nur auf die Sortierreihenfolge der Kanten ankommt und nicht auf den Wert des Gewichts. Diese Sortierung funktioniert auch bei negativen Kantengewichten. | ||
+ | ++++ | ||
+ | ---- | ||
+ | {{: | ||
+ | === (A6) === | ||
+ | |||
+ | Begründe, warum es sich bei den Algorithmen zur Bestimmung des minimalen Spannbaums um Greedy-Algorithmen handelt. | ||
+ | ++++ Lösung | | ||
+ | Kruskal ist ein Greedy-Algorithmus, | ||
+ | |||
+ | Prim ist ein Greedy-Algorithmus, | ||
+ | ++++ | ||
+ | |||
+ | |||
+ | ===== Näherungslösung für das TSP mit MST Algorithmen ===== | ||
+ | |||
+ | |||
+ | {{: | ||
+ | === (A7) === | ||
+ | |||
+ | Beim Traveling Salesman Problem (TSP) sucht man nach der kürzesten Route durch eine gegebene Liste von Städten, die ein Handlungsreisender besuchen muss. Am Ende soll er wieder zu Hause ankommen. | ||
+ | |||
+ | Für dieses Problem kennt man keinen effizienten Algorithmus. Man kann aber die Algorithmen zur Bestimmung eines MST abändern, so dass sie eine Näherungslösung für das TSP darstellen. | ||
+ | |||
+ | Beschreibe die Veränderungen die am Algorithmus für den MST notwendig sind, um das TSP zu lösen. Du kannst dazu im Graphentester die Algorithmen '' | ||
+ | |||
+ | ++++ Erläuterung zur Lösung | | ||
+ | Der Prim-Algorithmus vereinfacht sich, da die kürzeste Kante von einem markierten zu einem unmarkierten Knoten für das TSP nicht im ganzen bisherigen Baum gesucht werden muss, sondern am Ende der Route liegen muss. Man muss also nur die ausgehenden Kanten des Routenendes zu allen noch nicht markierten Knoten betrachten (vgl. TSP-Greedy im Graphentester). Am Ende wird die Rundreise durch eine Kanten zwischen den beiden Blättern des Baums geschlossen. | ||
+ | |||
+ | Der Kruskal-Algorithmus wird etwas komplizierter, | ||
+ | ++++ |