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:kartenfaerben:start [06.12.2022 12:26] – [Weiterführende Fragen & Aufgaben] Frank Schiebel | faecher:informatik:oberstufe:graphen:zpg:kartenfaerben:start [06.12.2022 12:56] (aktuell) – [Weiterführende Fragen & Aufgaben] Frank Schiebel | ||
---|---|---|---|
Zeile 23: | Zeile 23: | ||
* Verwende dabei möglichst wenige Farben. | * Verwende dabei möglichst wenige Farben. | ||
* Ist es möglich, den Graphen mit k Farben zu färben? | * Ist es möglich, den Graphen mit k Farben zu färben? | ||
+ | |||
+ | ===== Beschreibung eines Greedy-Algorithmus ====== | ||
+ | |||
+ | |||
+ | Der hier beschriebene Algorithmus findet nicht die perfekte Lösung, d.h. die minimale Anzahl an Farben, aber eine gute Näherungslösung. Er arbeitet dabei nach dem Greedy-Verfahren, | ||
+ | |||
+ | Zunächst wird eine Reihenfolge festgelegt, in der die Farben verwendet werden sollen. | ||
+ | |||
+ | z.B. Rot - Blau - Grün - Gelb - Lila - Orange - Braun (es müssen ausreichend viele Farben sein) | ||
+ | {{: | ||
+ | Dann betrachtet man der Reihe nach alle Knoten. Für jeden Knoten wird dann Folgendes gemacht: Man schaut jeden der Nachbarknoten an und merkt sich, dass seine Farbe schon verwendet wurde. Dann wählt man aus der Liste der Farben die erste noch nicht benutzte Farbe aus und färbt den Knoten in dieser Farbe. | ||
+ | |||
+ | z.B. Der rot umrandete Knoten ist aktuell an der Reihe. Alle Nachbarknoten werden betrachtet und ihre Farben ermittelt. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Die erste noch nicht benutzte Farbe ist grün. Daher wird der Knoten grün gefärbt. | ||
===== Weiterführende Fragen & Aufgaben ===== | ===== Weiterführende Fragen & Aufgaben ===== | ||
Zeile 31: | Zeile 48: | ||
* Ein bipartiter((https:// | * Ein bipartiter((https:// | ||
* Ein vollständiger Graph mit n Knoten benötigt n Farben. | * Ein vollständiger Graph mit n Knoten benötigt n Farben. | ||
- | * Ein Graph mit einer Clique aus m Knoten benötigt mindestens m Farben. | + | * Ein Graph mit einer Clique(([[https:// |
</ | </ | ||
- | ===== Algorithmus ===== | + | ---- |
+ | {{: | ||
+ | === (A2) === | ||
+ | Begründe die obigen Aussagen. | ||
- | ==== Beschreibung ==== | + | ++++ Lösung | |
+ | * Sobald eine Kante vorhanden ist, sind zwei Knoten verbunden. Wenn dies verschiedene Knoten sind (also keine Schleife), dann dürfen diese nicht die selbe Farbe haben und es werden mindestens zwei Farben benötigt. | ||
+ | * Wenn der Graph bipartit ist, dann zerfällt er in zwei Teilmenge der Knoten, die untereinander überhaupt nicht verbunden sind. Damit kann jede Teilmenge in einer einzigen Farbe eingefärbt werden. | ||
+ | * Bei einem vollständigen Graphen ist jeder Knoten mit allen anderen verbunden. Daher muss jeder Knoten eine eigene Farbe haben. | ||
+ | * In einer Clique sind alle Knoten untereinander verbunden. Daher muss jeder Knoten der Clique eine eigene Farbe bekommen. | ||
+ | ++++ | ||
- | Der hier beschriebene Algorithmus findet nicht die perfekte Lösung, d.h. die minimale Anzahl an Farben, aber eine gute Näherungslösung. Er arbeitet dabei nach dem Greedy-Verfahren, er wählt für ein Land die momentan am besten erscheinende Lösung. | + | ---- |
+ | {{:aufgabe.png? | ||
+ | === (A3) === | ||
- | Zunächst wird eine Reihenfolge | + | Beschreibe |
- | z.B. Rot - Blau - Grün - Gelb - Lila - Orange | + | ++++ Lösungsvorschlag | |
- | {{: | + | {{ : |
- | Dann betrachtet man der Reihe nach alle Knoten. Für jeden Knoten | + | Werden die Knoten in der angegebenen Reihenfolge bearbeitet, findet der Greedy-Algorithmus (Farbreihenfolge: |
+ | ++++ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A4) === | ||
+ | |||
+ | Landkarten lassen sich immer mit vier Farben | ||
+ | |||
+ | ++++ Lösung | | ||
+ | Es gibt 4< | ||
+ | ++++ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A5) === | ||
+ | |||
+ | Für das Kartenfärbeproblem ist kein Algorithmus bekannt, der eine optimale Lösung bestimmt, ohne dabei alle Möglichkeiten auszuprobieren. Begründe die Notwendigkeit eines Näherungsalgorithmus. | ||
+ | |||
+ | ++++ Lösung | | ||
+ | Die Anzahl der Möglichkeiten steigt mit der Anzahl der Knoten exponentiell. Damit wird der Zeitbedarf schon bei relativ wenigen Knoten zu groß. Ein Näherungsalgorithmus arbeitet mit polynomieller Zeitbedart, liefert dafür allerdings nicht die optimale Lösung. | ||
+ | ++++ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A6) === | ||
+ | Erläutere, durch welche besondere Eigenschaft ein Graph, der eine Landkarte repräsentiert, | ||
+ | |||
+ | ++++ Lösung | | ||
+ | Der Graph eine Landkarte ist planar((https:// | ||
+ | ++++ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A7) === | ||
+ | |||
+ | **(A)** Eine Variante des Kartefärberoblems ist das **Kolonialproblem**: | ||
+ | |||
+ | ++++ Tipp: | | ||
+ | Stell dir folgende Situation vor: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * Können die Mutterländer mit 4 Farben gefärbt werden? | ||
+ | * Wie könnten eine Aufteilung | ||
+ | ++++ | ||
+ | |||
+ | ++++ Lösung | | ||
+ | {{ : | ||
+ | E kann nicht die Farbe von A,B oder D haben, da dies bei den Mutterländern nicht zulässig ist. Die Farbe von C ist auch nicht zulässig, da dies bei den Kolonien nicht erlaubt ist. Keines dieser vier Länder kann die gleiche Farbe haben, da sie oder ihre Kolonien untereinander benachbart sind. Daher wird eine 5. Farbe benötigt. | ||
+ | ++++ | ||
+ | |||
+ | **(B) Modellierung ** | ||
+ | |||
+ | * Überführe die Karte in den dazugehörigen Graphen. Erläutere, wie Du die Forderung modellierst, dass das Mutterland und seine Kolonien in der gleichen | ||
+ | * Begründe anhand des Graphen, warum die Obergrenze von vier Farben | ||
+ | |||
+ | ++++ Tipp | | ||
+ | Die Mutterländer | ||
+ | ++++ | ||
+ | |||
+ | ++++ Lösung | | ||
+ | {{ : | ||
+ | |||
+ | Der Graph ist nicht mehr planar, also reichen 4 Farben nicht mehr aus. | ||
+ | ++++ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A8) === | ||
+ | |||
+ | Notiere den beschriebenen Algorithmus als Pseudocode und implementiere ihn selbst im Graphentester. Hinweise und Lösungsvorschläge findest du unten. | ||
+ | ===== Algorithmus: | ||
- | z.B. Der rot umrandete Knoten ist aktuell an der Reihe. Alle Nachbarknoten werden betrachtet und ihre Farben ermittelt. | ||
- | {{ : | ||
- | Die erste noch nicht benutzte Farbe ist grün. Daher wird der Knoten grün gefärbt. | ||
==== Pseudocode ==== | ==== Pseudocode ==== |