386 lines
15 KiB
TeX
386 lines
15 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{Neutrale Spiele}
|
|
|
|
\begin{talk}
|
|
Wir ignorieren erstmal, dass wir hier nur \vocab{neutrale Spiele} betrachten
|
|
und kommen später darauf zurück.
|
|
\end{talk}
|
|
|
|
\subsection{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}
|
|
|
|
|
|
\subsection{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}
|
|
|
|
\subsection{\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}
|
|
|
|
\subsection{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}
|
|
|
|
Wir wollen hier ein Spiel betrachten, das nicht mehr neutral ist.
|
|
|
|
\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 rot und blau (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}
|
|
|
|
\begin{talk}
|
|
Hier einige erste Positionen diskutieren und natürliche Zahlen motivieren.
|
|
\end{talk}
|
|
|
|
|
|
|
|
\section{Abstrakte Spiele}
|
|
|
|
\begin{definition}
|
|
Ein \vocab{Spiel} $G$ besteht aus einer Menge von Positionen
|
|
und einer ausgezeichneten Startposition.
|
|
Jeder Position $P$ des Spiels sind seine \vocab{linken Züge} und seine
|
|
\vocab{rechten Züge} zugeordnet, die ebenfalls Positionen von $G$ sind.
|
|
$2$ Spielerinnen sind abwechselnd an der Reihe und führen einen für sie legalen Zug aus
|
|
und überführen damit das Spiel in eine neue Position.
|
|
Mit der \vocab{Normalspielkonvention} sagen wir,
|
|
dass eine Spielerin verloren hat, wenn sie keinen legalen Zug mehr hat.
|
|
\end{definition}
|
|
|
|
\begin{remark}
|
|
Natürlich können wir aus jeder Position $P$ eines Spiels $G$ einfach ein (sehr ähnliches)
|
|
Spiel $G'$ machen, indem $G'$ in $P$ startet und nur noch die Positionen von $G$ enthält,
|
|
die man von $P'$ aus \enquote{erreichen} kann.
|
|
|
|
Deswegen werden wir meistens auch Spiele und Positionen einfach gleich behandeln.
|
|
Es sollte jedoch darauf Wert gelegt werden, dass die bloße Angabe von \gm{Prim} noch \emph{nicht}
|
|
ein Spiel darstellt, weil wir keine Startposition haben.
|
|
Eigentlich handelt es sich hier um eine Menge von Spielen, die über die jeweilige Startposition
|
|
charakterisiert werden.
|
|
|
|
Umgangssprachlich werden wir aber natürlich auch weiterhin sagen, dass \gm{Prim} ein Spiel ist.
|
|
\end{remark}
|
|
|
|
\begin{notation}
|
|
Für eine Position $P$ schreiben wir $P = \set{ L_1, L_2, \dotsc \suchthat R_2, R_2, \dotsc } $,
|
|
wenn die $L_i$ die Menge der linken Züge von $P$ und die $R_i$ die Menge der rechten
|
|
Positionen von $P$ aufzählen.
|
|
Oft schreiben wir auch $P = \set{ P^L \suchthat P^R } $ und meinen dann mit $P^L$ und $P^R$
|
|
wahlweise alle entsprechenden Züge oder einen \enquote{generischen} Zug für die entsprechende
|
|
Spielerin.
|
|
\end{notation}
|
|
|
|
\begin{remark}[Mengentheorie]
|
|
Wir wollen hier nicht zu genau mit den Begriffen Menge und Klasse umgehen,
|
|
weil diese meist nicht relevant für uns sind.
|
|
Eigentlich könnte man erlauben, dass ein Spiel aus einer \emph{Klasse} von Positionen
|
|
besteht, jede Position aber tatsächlich \emph{Mengen} an linken und rechten Positionen
|
|
hat.
|
|
|
|
Für die Notation $P = \set{ L_1, L_2, \dots \suchthat R_1, \dotsc } $ muss man natürlich
|
|
i.A.~dann auch eine beliebige Indexmenge für die Aufzählen zulassen, weil die Menge
|
|
der linken Züge natürlich keineswegs abzählbar sein muss.
|
|
Auch das ist aber für uns erstmal irrelevant.
|
|
\end{remark}
|
|
|
|
\begin{example}
|
|
Betrachten wir \gm{Dim} und bezeichnen die Spielzustände mit Zahlen $\Dim{n}$.
|
|
Dann ist z.B.
|
|
$\Dim{0} = \set{ \suchthat } $,
|
|
$\Dim 1 = \set{\suchthat } $,
|
|
$\Dim 2 = \set{ \Dim 1 \suchthat \Dim 1 } $,
|
|
$\Dim 3 = \set{ \Dim 2 \suchthat \Dim 2 } $,
|
|
$\Dim 4 = \set{ \Dim 2, \Dim 3 \suchthat \Dim 2, \Dim 3 } $,
|
|
$\Dim 5 = \set{ \Dim 4 \suchthat \Dim 4 } $,
|
|
\end{example}
|
|
|
|
Hierbei stellen wir folgendes fest:
|
|
|
|
\begin{definition}
|
|
Ein Spiel $G$ heißt \vocab{neutral},
|
|
wenn in jeder Position beide Spieler (sofern sie am Zug sind)
|
|
die gleichen legalen Züge haben.
|
|
Mit anderen Worten: Für jede Position $P = \set{ L \suchthat R } $ von $G$ ist $L = R$.
|
|
\end{definition}
|
|
|
|
\begin{example}
|
|
\gm{Subtraktion}, \gm{Dim}, \gm{Prim} und \gm{Nim} sind neutrale Spiele.
|
|
\end{example}
|
|
|
|
\begin{notation}
|
|
Ist $G$ ein neutrales Spiel, so schreiben wir für Positionen $P$ von $G$ im Folgenden nur noch
|
|
$P = \set{ Z_1, Z_2, \dotsc } $ und unterscheiden nicht zwischen $P^L$ und $P^R$.
|
|
\end{notation}
|
|
|
|
Wir wollen nun erste Schritte unternehmen, um Spiele ganz \emph{formal} zu klassifizieren:
|
|
|
|
\begin{definition}
|
|
Sei $G$ ein Spiel. Dann sagen wir, dass
|
|
\begin{enumerate}[p]
|
|
\item $G$ \vocab{positiv} ist, wenn die linke Spielerin eine Gewinnstrategie hat.
|
|
Wir schreiben hierbei $G>0$.
|
|
\item $G$ \vocab{negativ} ist, wenn die rechte Spielerin eine Gewinnstrategie hat.
|
|
Wir schreiben $G<0$.
|
|
\item $G$ \vocab{Null} ist, wenn es eine Gewinnstrategie für die zweite Spielerin gibt.
|
|
Wir schreiben $G=0$.
|
|
\item $G$ \vocab{fuzzy} ist, wenn es eine Gewinnstrategie für die erste Spielerin gibt.
|
|
Wir schreiben $G \fuzzy 0$.
|
|
\end{enumerate}
|
|
\end{definition}
|
|
|
|
Relevant ist nun Folgendes:
|
|
|
|
\begin{theorem}
|
|
Für jedes Spiel $G$ gilt genau eines von $G>0$, $G<0$, $G = 0$ und $G \fuzzy 0$.
|
|
\end{theorem}
|
|
|
|
\begin{proof}
|
|
Klarerweise können nicht zwei der vier Fälle gleichzeitig eintreten.
|
|
Wir gehen induktiv vor, sei $G$ also ein Spiel,
|
|
sodass wir die Aussage für alle linken und rechten Position von $G$ bereits kennen.
|
|
\end{proof}
|
|
|
|
\begin{talk}
|
|
Hier etwas darüber sagen, dass wir hier mengentheoretisch etwas gehackt haben,
|
|
dass das eigentlich formal transfinite Induktion ist, was wir hier brauchen,
|
|
und dass man etwas vorsichtig sein muss, was das definieren von Spielen angeht,
|
|
weil wir eigentlich darüber reden müssen, dass wir alle Spiele über ihre Geburtstage
|
|
\enquote{generieren}, oder zumindest, wie wir gedenken, die Rekursion aus der Definition
|
|
ein bisschen wegzubekommen.
|
|
|
|
Spezifisch sollte über die folgenden Spiele geredet werden:
|
|
\[
|
|
\on \coloneqq \set{ \on \suchthat },
|
|
\qquad
|
|
\off \coloneqq \set{ \suchthat \off },
|
|
\qquad
|
|
\dud \coloneqq \on + \off = \set{ \dud \suchthat \dud }
|
|
\]
|
|
Hierbei steht \enquote{$\dud$} für \enquote{deathless universal draw}.
|
|
\end{talk}
|
|
|
|
|
|
\subsection{Addition von Spielen}
|