Spiele und Gewinnstrategien - Informatik

Werbung
28. Bundeswettbewerb
Informatik 2009/2010
Endrunde 5.–8.10.2010
Spiele und Gewinnstrategien
Gruppenarbeit 2. Tag
In dieser Aufgabe betrachten wir gefärbte Graphen. Dabei sei F eine endliche Menge von Farben, wobei auf jeden Fall rot, blau und weiß Farben in F sind. Ein gefärbter Graph G besteht aus
einer Menge VG von Knoten, einer Menge EG von gerichteten Kanten (die in einer Zeichnung
des Graphen als Pfeile zwischen Knoten eingezeichnet werden) und einer Abbildung fG , die
jedem Knoten v von G eine Farbe fG (v) aus F zuordnet.
Im Folgenden betrachten wir ein Spiel, dessen Spielbrett aus zwei gefärbten Graphen G und
H besteht. Das Spiel wird von 2 Parteien gespielt, die Spieler 1 und Spieler 2 genannt werden.
Eine Partie des Spiels besteht aus einer vorher vorgegebenen Anzahl r von Runden.
Für jede Runde i (mit 1 6 i 6 r) gibt es zwei Spielsteine. In Runde i darf sich zunächst
Spieler 1 einen der beiden Spielsteine aussuchen und legt ihn auf einen beliebigen Knoten
eines der beiden Graphen. Spieler 2 darf als Reaktion darauf den zweiten Spielstein auf einen
beliebigen Knoten des anderen Graphen legen.
Nach Abschluss der r-ten Runde ist die Partie beendet und es wird der Gewinner ermittelt.
In den Graphen G und H befinden sich dann je r Spielsteine; wir bezeichnen den in Runde i
mit einem Spielstein belegten Knoten des Graphen G mit ai und den des Graphen H mit bi
(für 1 6 i 6 r). Spieler 1 hat gewonnen, wenn mindestens eine der folgenden drei Bedingungen
verletzt ist; Spieler 2 hat gewonnen, wenn jede der drei Bedingungen erfüllt ist:
(1) für jedes i mit 1 6 i 6 r gilt: fG (ai ) = fH (bi )
(d.h., in jeder Runde wurden die beiden Spielsteine auf gleich gefärbte Knoten gelegt);
(2) für alle i, j mit 1 6 i 6 r und 1 6 j 6 r gilt: ai = a j ⇐⇒ bi = b j
(d.h., in je zwei Runden i und j wurden die Spielsteine entweder auf die gleichen oder auf
völlig verschiedene Knoten gelegt);
(3) für alle i, j mit 1 6 i 6 r und 1 6 j 6 r gilt: (ai , a j ) ∈ EG ⇐⇒ (bi , b j ) ∈ EH
(d.h., in je zwei Runden i und j wurden die Spielsteine entweder in beiden Graphen auf
durch eine Kante verbundene Knoten gelegt oder in keinem der beiden Graphen).
1
Beispiel:
Seien G und H die gefärbten Graphen aus Abbildung 1 und sei r = 2. Spieler 1 gewinnt eine
Partie des 2-Runden Spiels auf G und H, indem er in der ersten Runde den Spielstein auf
denjenigen Knoten von G legt, der mit allen anderen Knoten durch eine Kante verbunden ist.
Spieler 2 muss in der ersten Runde den Spielstein dann auf irgendeinen Knoten in H legen.
Egal, welchen Knoten b1 er hierbei wählt, gibt es auf jeden Fall in H einen Knoten v, der durch
keine Kante mit dem Knoten b1 verbunden ist. In Runde 2 kann Spieler 1 dann den Spielstein
auf den Knoten v in H legen. Egal, auf welchen Knoten in G dann Spieler 2 seinen Spielstein
legt, wird auf jeden Fall die Bedingung (3) verletzt sein. Daher gewinnt Spieler 1 die Partie.
H:
G:
Abbildung 1: Zwei gefärbte Graphen G und H, bei denen jeder Knoten mit der Farbe weiß
gefärbt ist.
Aufgabe 1:
Betrachten Sie die beiden Graphen G und H aus Abbildung 2. Finden Sie eine Strategie, mit
der Spieler 1 das 3-Runden Spiel auf G und H gewinnt. Finden Sie außerdem eine Strategie,
mit der Spieler 2 das 2-Runden Spiel auf G und H gewinnt.
G:
H:
Abbildung 2: Zwei gefärbte Graphen G und H, bei denen jeder Knoten mit der Farbe weiß
gefärbt ist.
2
Aufgabe 2:
Für jede Zahl n > 2 sei Gn der gefärbte Graph mit Knotenmenge {1, . . . , n}, bei dem Knoten 1
rot, Knoten n blau und alle anderen Knoten weiß gefärbt sind und bei dem es genau dann eine
Kante von Knoten i zu Knoten j gibt, wenn i < j ist. In Abbildung 3 sind G4 und G5 dargestellt.
(a) Finden Sie die kleinste Zahl r, für die Spieler 1 eine Gewinnstrategie im r-Runden Spiel auf
G4 und G5 hat. Beschreiben Sie die Gewinnstrategie und begründen Sie, warum Spieler 1
keine Gewinnstrategie im r−1-Rundenspiel hat.
(b) Finden Sie ein Kriterium für gegebene Zahlen r, m, n, das besagt, welcher der beiden Spieler
eine Gewinnstrategie im r-Rundenspiel auf Gm und Gn hat. Begründen Sie, warum Ihre
Antwort korrekt ist.
G4 :
G5 :
Abbildung 3: Die gefärbten Graphen G4 und G5
Aufgabe 3:
Überlegen Sie, ob – unabhängig davon, wie r, G und H gewählt sind – stets einer der beiden
Spieler eine Gewinnstrategie besitzen muss. Begründen Sie, warum Ihre Antwort korrekt ist
(indem Sie entweder konkrete r, G, H angeben, für die Sie nachweisen können, dass keiner
der beiden Spieler eine Gewinnstrategie im r-Runden Spiel auf G und H hat; oder indem Sie
beweisen, dass für jedes r, G und H gilt: einer der beiden Spieler hat eine Gewinnstrategie im
r-Runden Spiel auf G und H).
Aufgabe 4:
Entwickeln Sie einen möglichst effizienten Algorithmus, der bei Eingabe zweier gefärbter Graphen G und H und einer Zahl r folgendes leistet: Er gibt an, ob einer der beiden Spieler eine
Gewinnstrategie hat – und falls dies der Fall ist, gibt er an, welcher der beiden Spieler dies ist.
Erweitern Sie Ihren Algorithmus so, dass er nicht nur sagt, welcher der beiden Spieler eine
Gewinnstrategie besitzt, sondern auch eine konkrete Gewinnstrategie für diesen Spieler ausgibt. Dazu sollten Sie zunächst eine geeignete Datenstruktur entwickeln, mit der Sie Strategien
einzelner Spieler repräsentieren können.
Analysieren Sie jeweils den Zeit- und Platzbedarf Ihres Algorithmus.
3
Wenn man fordert, dass die gefärbten Graphen G und H eine bestimmte Form haben müssen,
kann man oft effizientere Algorithmen als den in Aufgabe 4 entwickelten finden. Zwei solche
Fälle werden in den folgenden beiden Aufgaben betrachtet. Zum Lösen der Aufgaben ist es
jeweils hilfreich, zunächst ähnliche Überlegungen wie zur Lösung von Aufgabe 2 anzustellen.
Dabei kann es auch hilfreich sein, die Aufgabenstellung zunächst auf solche Graphen einzuschränken, deren Knoten alle mit derselben Farbe gefärbt sind. Wenn Sie dieses eingeschränkte
Problem gelöst haben, können Sie Graphen betrachten, bei denen es nur 2 verschiedene Farben gibt. Erst wenn Sie auch dieses Problem gelöst haben, sollten Sie den allgemeinen Fall
betrachten, in dem Graphen mit allen in F enthaltenen Farben gefärbt sein können.
Aufgabe 5:
Entwickeln Sie einen möglichst effizienten Algorithmus, der bei Eingabe einer Zahl r und zweier gefärbter Graphen G und H, die keine Kanten besitzen, ermittelt, ob bzw. welcher der beiden
Spieler eine Gewinnstrategie besitzt, und ggf. eine Gewinnstrategie für den entsprechenden
Spieler ausgibt.
Aufgabe 6:
In dieser Aufgabe geht es um gefärbte Graphen, die symmetrisch und transitiv sind. Symmetrisch bedeutet folgendes: Wenn es eine Kante von einem Knoten u zu einem Knoten v gibt,
so muss es auch die umgekehrte Kante von Knoten v zu Knoten u geben. Transitiv bedeutet
folgendes: Wenn es eine Kante von einem Knoten u zu einem Knoten v gibt und eine Kante von
v zu einem Knoten w, so muss es auch eine Kante von u zu w geben.
Entwickeln Sie einen möglichst effizienten Algorithmus, der bei Eingabe einer Zahl r und
zweier gefärbter Graphen G und H, die symmetrisch und transitiv sind, ermittelt, ob bzw. welcher der beiden Spieler eine Gewinnstrategie besitzt, und ggf. eine Gewinnstrategie für den
entsprechenden Spieler ausgibt.
Zum Schluss noch eine Bemerkung dazu, warum das hier beschriebene Spiel interessant für Informatiker/innen ist. Es gibt einen engen Zusammenhang zwischen der Existenz von Gewinnstrategien und der Beschreibbarkeit von Datenbankanfragen durch die Sprache SQL (genauer
gesagt: durch den relationalen Kern von SQL, der der Prädikatenlogik entspricht). Insbesondere
kann man durch Finden von Gewinnstrategien für Spieler 2 beweisen, dass bestimmte Datenbankanfragen nicht durch Anfragen des relationalen Kerns von SQL formuliert werden können.
4
Herunterladen