faecher:informatik:oberstufe:graphen:zpg:kartenfaerben:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
faecher:informatik:oberstufe:graphen:zpg:kartenfaerben:start [30.11.2022 21:53] Frank Schiebelfaecher:informatik:oberstufe:graphen:zpg:kartenfaerben:start [06.12.2022 12:25] – [Modellierung] 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?
 +
 +===== Weiterführende Fragen & Aufgaben =====
 +
 +<WRAP center round tip 95%>
 +Für die Kolorierung von Graphen gelten folgende Sätze:
 +  * Graphen, die sich mit einer Farbe färben lassen, haben keine Kante außer Schleifen. 
 +  * Ein bipartiter Graph lässt sich mit zwei Farben färben. 
 +  * Ein vollständiger Graph mit n Knoten benötigt n Farben.
 +  * Ein Graph mit einer Clique aus m Knoten benötigt mindestens m Farben. 
 +
 +</WRAP>
  
 ===== Algorithmus ===== ===== Algorithmus =====
Zeile 43: Zeile 54:
  
 Die erste noch nicht benutzte Farbe ist grün. Daher wird der Knoten grün gefärbt. Die erste noch nicht benutzte Farbe ist grün. Daher wird der Knoten grün gefärbt.
 +
 +==== Pseudocode ====
 +
 +
 +
 +++++ Pseudocode |
 +
 +<code>
 +Kartenfärbung:
 +Wiederhole für jeden Knoten k des Graphen
 +  
 +  Wiederhole für jede Farbe der Farbliste
 +     Setze die Farbe auf "unbenutzt"
 +  Ende-Wiederhole
 +  
 +  Wiederhole für jeden Nachbarknoten n von k
 +     Betrachte die Farbe des Knoten n
 +     Setze diese Farbe auf "benutzt"
 +  Ende-Wiederhole
 +  
 +  Wiederhole für jede Farbe der Farbliste
 +     Falls die Farbe "unbenutzt" ist
 +       Färbe den Knoten k mit dieser Farbe
 +       Brich die Schleife ab
 +     Ende-Falls
 +  Ende-Wiederhole
 +
 +Ende-Wiederhole
 +</code>
 +++++
 +==== Beispielimplementation im Graphentester ====
 +
 +++++ Beispielimplementation |
 +<code java>
 +List<Knoten> knoten = g.getAlleKnoten();
 +for (Knoten aktuellerKnoten: knoten) {
 +  boolean[] farbenliste = new boolean[g.getAnzahlKnoten()+1];
 +  for (int i=0; i < farbenliste.length; i++){
 +    farbenliste[i]=false;
 +  }
 +
 +  List<Knoten> nachbarn = g.getNachbarknoten(aktuellerKnoten);
 +  for (Knoten k : nachbarn){
 +    farbenliste[k.getFarbe()]=true;
 +  }
 +
 +  for (int i=1; i<farbenliste.length; i++){
 +    if (!farbenliste[i]) {
 +      aktuellerKnoten.setFarbe(i);
 +      break;
 +    }
 +  }
 +
 +</code>
 +++++
 +
 +
 +
 +
  • faecher/informatik/oberstufe/graphen/zpg/kartenfaerben/start.txt
  • Zuletzt geändert: 06.12.2022 12:56
  • von Frank Schiebel