Kombinatorische-Spieltheorie/inputs/einige_spiele.tex

265 lines
10 KiB
TeX

\vocab{Kombinatorische Spieltheorie} beschäftigt sich mit einer spezifischen Sorte an Spielen.
Etwas informell meinen wir mit \vocab{Spiel} im Folgenden immer Folgendes:
\begin{itemize}
\item Es spielen zwei Parteien. Meistens heißen diese rot und blau
\item Die Parteien sind abwechselnd am Zug und müssen einen der für sie legalen Züge ausführen
\item Beide Parteien verfügen über absolutes Wissen über den Zustand und die Regeln des Spiels
\item Das Spiel enthält keinen Zufall
\end{itemize}
Aus was ein \vocab{Zug} besteht, hängt natürlich davon ab, welches Spiel gerade gespielt wird.
Meistens verliert diejenige Partei, die zuerst nicht mehr ziehen kann.
Das nennt man dann \vocab{Normalspiel}, es gibt aber auch andere Varianten, wie wir sehen werden.
\begin{example}
\gm{Schach}, \gm{Go}, \gm{Dame} und \gm{Mühle} sind kombinatorische Spiele.
\gm{Uno} oder \gm{Schafkopf} sind keine kombinatorischen Spiele, denn sie enthalten Zufall.
\gm{Wer bin ich?} ist kein kombinatorisches Spiel.
Sieht man davon ab, dass es vermutlich schwer wäre,
genau zu definieren, welche Fragen mit \enquote{ja} und \enquote{nein} beantwortet werden
müssen, so gibt es in diesem Spiel keine absoluten Informationen für die Spieler:innen.
\end{example}
Eigentlich sollte man auch fordern, dass es kein \enquote{Unentschieden} in den Spielen gibt.
Das kann man aber dadurch umgehen, indem wir z.B.~einfach sagen, dass bei einem klassischen
\enquote{Unentschieden} eine vorher gewählte der beiden Parteien gewinnt.
\section{Subtraktionsspiel}
Folgendes Spiel scheint recht verbreitet zu sein und hat eine nicht allzu schwere
Gewinnstrategie:
\begin{game}[\gm{Subtraktion}]
Gegeben ist eine natürliche Zahl $n$.
Ein Zug besteht daraus, von $n$ eine Zahl von $1$ bis $10$ abzuziehen.
Wer nicht mehr ziehen kann, hat verloren.
\end{game}
\begin{talk}
Hier das ganze mit den Schüler:innen ausprobieren und auf die Strategie kommen lassen.
\end{talk}
\begin{theorem}
In \gm{Subtraktion} sind genau die durch $11$ teilbaren Zahlen die Verluststellungen.
\end{theorem}
\begin{proof}
Ist eine Zahl durch $11$ teilbar, so führt jeder Zug zu einer Zahl,
die nicht durch $11$ teilbar ist, weil $1, \dotsc, 10$ nicht durch $11$ teilbar sind.
Ist eine Zahl $n$ nicht durch $11$ teilbar, so ist es eine der Zahlen
$n-1, \dotsc, n-10$, weil unter den $11$ aufeinanderfolgenden Zahlen $n, n-1, \dotsc, n-10$
ja eine durch $11$ teilbar ist.
Es gibt also einen legalen Zug, der auf eine durch $11$ teilbare Zahl verkürzt.
\end{proof}
Man kann das ganze aber auch schwerer gestalten:
\begin{game}[Variante von \gm{Subtraktion}]
Gegeben ist wieder eine natürliche Zahl $n$.
In einem Zug darf man $2$, $3$ oder $5$ von ihr subtrahieren.
\end{game}
\begin{talk}
Hier wieder viel ausprobieren lassen.
Dann backtracking erklären und wie man das mit Tabellen hinbekommen kann.
Vermutlich will man hier auch einmal die $8$-piece table von Schach als prominentes
Beispiel nennen.
\end{talk}
\begin{remark}
Diese Aufgabe wurde mal bei einer Bundesrunde der MO gestellt,
allerdings weiß ich gerade nicht, welche das war.
Ich vermute aber, dass das Klasse 9/10 war und eher eine der einfachen Aufgaben.
\end{remark}
\begin{theorem}
In dieser Variante von \gm{Subtraktion} sind genau die Zahlen $\equiv 0,1 \mod 7$
die Verluststellungen.
\end{theorem}
\begin{proof}
Sei $n \not \equiv 0,1 \mod 7$.
Dann können wir nach folgendem Schema subtrahieren, um in eine Verluststellung zu
überführen:
\begin{center}
\begin{tabular}{c | c | c | c | c | c }
$n \mod 7$ & 2 & 3 & 4 & 5 & 6 \\
\hline
Zug & 2 & 3 & 3 & 5 & 5
\end{tabular}
\end{center}
Außerdem erkennen wir gleichzeitig, dass wir stets weniger abziehen als der Siebenerrest der
aktuellen Zahl, also gelangen wir auch nicht unter Null und all diese angegeben Züge sind legal.
Ist umgekehrt $n \equiv 0,1 \mod 7$, so unterscheiden wir zwei Fälle:
Für $n=0,1$ gibt es keine legalen Züge, das sind also Verluststellungen.
Für alle größeren $n$ sind alle $3$ potenziellen Züge legal,
allerdings führen diese wegen $0 - 5 \equiv 2 \mod 7$ und $1 - 2 \equiv 6 \mod 7$
immer zu einem neuen Siebenerrest zwischen einschließlich $2$ und $6$,
also genau zu den behaupteten Verluststellungen.
\end{proof}
\begin{proof}
\end{proof}
\section{\gm{Dim}}
\begin{game}[\gm{Dim}]
Ein Spielzustand besteht aus einer natürlichen Zahl $n$.
Ein Zug besteht daraus, von $n$ einen seiner Teiler zu subtrahieren.
Wer auf $0$ subtrahiert, verliert.
\end{game}
\begin{remark}
Das ist nicht die von Conway gegebene Definition von \gm{Dim},
weil wir hier eigentlich die misère Konvention anwenden.
Wenn man wie üblich Normalform des Spiels will,
dürfte man durchaus auf $0$ subtrahieren und die jeweils andere Person
verliert, weil sie nicht mehr ziehen kann.
Dann ist aber trivialerweise jede Stellung außer $0$ eine Gewinnstellung
und das Spiel für uns (erstmal) uninteressant.
Wir kommen später darauf zurück.
\end{remark}
\begin{theorem}
In \gm{Dim} sind genau die geraden Zahlen Gewinnstellungen.
\end{theorem}
\begin{proof}
Ungerade Zahlen haben nur ungerade Teiler.
Jede ungerade Stellung führt also zu einer geraden.
Potenziell führt diese zu Null, dann endet das Spiel entsprechend sofort.
In jeder geraden Stellung subtrahieren wir $1$ und gelangen zu einer ungeraden.
Insbesondere haben wir damit noch nicht verloren, weil $0$ gerade ist.
\end{proof}
\section{\gm{Prim}}
\begin{game}{\gm{Prim}}
Eine Stellung besteht wieder aus einer natürlichen Zahl $n$.
In einem Zug darf man eine zu $n$ teilerfremde Zahl von $n$ subtrahieren.
\end{game}
\begin{theorem}
In \gm{Prim} sind die Gewinnstellungen genau die ungeraden Zahlen.
\end{theorem}
\begin{proof}
Wir verfahren analog wie im Fall von \gm{Dim}:
Ist $n$ ungerade, so können wir von $n$ einfach $1$ subtrahieren und landen
bei einem geraden Zustand, insbesondere hatten wir noch einen legalen Zug.
Ist $n$ gerade, so ist jede Zahl, die zu $n$ teilerfremd ist, ungerade
und jeder Zug führt somit zu einer ungeraden Zahl.
\end{proof}
\section{Nim}
\gm{Nim} ist vermutlich eines der bekanntesten Spiele der kombinatorischen Spieltheorie.
Auch hier wollen wir zunächst ein bisschen selber spielen und dann eine allgemeine Theorie aufbauen.
\begin{game}[Nim]
Gespielt wird mit einer Menge an (nicht zwingend gleich großen) Stapeln von Münzen.
Ein Zug besteht daraus, von einem der Stapel eine beliebige, positive Anzahl an Münzen
zu entfernen (potenziell alle).
Verloren hat, wer keinen Zug mehr ausführen kann.
\end{game}
Wir versuchen nun, für eine beliebige Position zu klären, wer den Sieg erzwingen kann.
Hierzu benötigen wir:
\begin{definition}
Die \vocab{Nim-Summe} von zwei natürlichen Zahlen $a$ und $b$ ist definiert als die
Summe ohne Übertrag der beiden Zahlen $a$ und $b$ in ihrer Binärdarstellung.
\end{definition}
\begin{example}
Es ist $3 \nimsum 7 = 11_{(2)} \nimsum 111_{(2)} = 100_{(2)} = 4$.
\end{example}
\begin{fact}
$(\mathbb{N}, \nimsum)$ ist eine abelsche Gruppe.
Insbesondere ist $\nimsum$ kommutativ und assoziativ.
\end{fact}
\begin{theorem}
In Nim sind genau diejenigen Positionen Gewinnpositionen,
bei denen die Nimsumme der Anzahl der Münzen in den einzelnen Stapeln \emph{nicht}
Null ist.
\end{theorem}
\begin{proof}
Umgekehrt behaupten wir natürlich, dass genau diejenigen Positionen Verluststellungen
sind, bei denen die entsprechende Nimsumme Null \emph{ist}.
Wie immer zeigen wir, dass jede Verlustposition zwangsweise in eine Gewinnposition übergeht
und dass es in jeder Gewinnposition einen Zug gibt, der in eine Verluststellung führt.
Sei zunächst eine Verluststellung gegeben, d.h.~$a_1 \nimsum a_2 \nimsum \dotsb \nimsum a_n = 0$.
Ein beliebiger Zug ändert nur einen der Summanden, OBdA $a_1$ zu $a_1'$.
Wäre die Summe danach immer noch $0$, so würde $a_1 = a_1'$ folgen, das ist aber kein legaler Zug.
Sei nun $a_1 \nimsum \dotsb \nimsum a_n = x \neq 0$.
Es genügt ein $i$ zu finden mit $a_i \nimsum x < a_i$,
solch einen Stapel nennen wir dann \vocab{aktiv}:
Dann können wir vom Stapel $a_i$ so viele Münzen wegnehmen,
dass $a_i \nimsum x$ viele übrig bleiben.
Die neue Nimsumme ist dann
\[
a_1 \nimsum \dotsb (a_i \nimsum x) \dotsb a_n
=
a_1 \nimsum \dotsb a_n \nimsum x
=
x \nimsum x
=
0
.
\]
Hierzu betrachte die vorderste Stelle $j$ von $x$ in der Binärdarstellung.
Weil $x\neq 0$ ist, handelt es sich um eine $1$.
Es gibt dann mindestens ein $a_i$, das an Stelle $j$ ebenfalls eine $1$ hat.
Dann stimmt aber $x \nimsum a_i$ mit $a_i$ in allen Stellen $>j$ überein
und hat an Stelle $j$ eine $0$ statt einer $1$.
Damit ist $x \nimsum a_i < a_i$ wie gewünscht.
\end{proof}
\section{Hackenbush}
\begin{game}[\gm{Hackenbush (beherrscht)}]
Gespielt wird mit einer Anordnung von \vocab{Stäben} (Kanten),
die an ihren Enden miteinander verbunden sein können.
Jeder Stab ist (direkt oder indirekt) mit dem \vocab{Boden} verbunden und trägt
eine der Farben blau und rot (korrespondierend zu den beiden Spielerinnen).
Ein Zug besteht darin, eine Kante der eigenen Farbe zu entfernen.
Alle Kanten, die danach nicht mehr mit dem Boden verbunden sind, werden ebenfalls entfernt.
Wie immer verliert diejenige, die nicht mehr ziehen kann.
\end{game}
Wir werden hier (erstmal) nicht das Ziel haben, alle Positionen von Hackenbush zu klassifizieren.
\begin{talk}
Hier einige erste Positionen diskutieren und darüber
\begin{itemize}
\item ganze Zahlen motivieren
\item Addition von Hackenbush-Positionen
\item Dyadische Zahlen
\end{itemize}
\end{talk}
\begin{game}[\gm{Hackenbush (Mischmasch)}]
Dieses Spiel verhält sich grundsätzlich wie Hackenbush,
allerdings gibt es jetzt auch grüne Stäbe,
die von beiden Spielerinnen entfernt werden dürfen.
\end{game}
\begin{talk}
Jetzt darüber diskutieren, dass wir \enquote{komische} Positionen erhalten werden:
\begin{itemize}
\item $\nimber 1 \fuzzy 0$
\end{itemize}
\end{talk}