abstrakte spiele. hackenbush definiert
This commit is contained in:
parent
5295b646ed
commit
7fddf878c9
2 changed files with 214 additions and 29 deletions
|
@ -4,11 +4,13 @@
|
|||
%General setup
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage{csquotes}
|
||||
\usepackage{bm}
|
||||
|
||||
|
||||
%% Custom packages
|
||||
\usepackage{mkessler-vocab}
|
||||
\usepackage{mkessler-math}
|
||||
\usepackage{mkessler-enumerate}
|
||||
|
||||
%%% Environment setup
|
||||
\usepackage[number in = chapter]{fancythm}
|
||||
|
@ -21,3 +23,13 @@
|
|||
\NewDocumentCommand\nimber{m}{\star#1}
|
||||
\NewDocumentCommand\nimsum{}{\oplus}
|
||||
\NewDocumentCommand\gm{m}{\textsc{#1}}
|
||||
\NewDocumentCommand\Dim{m}{\bm{#1}}
|
||||
\NewDocumentCommand\fuzzy{}{\parallel}
|
||||
|
||||
\NewDocumentCommand\DeclareGame{m}{
|
||||
\expandafter\NewDocumentCommand\csname #1\endcsname{}{\mathrm{#1}}
|
||||
}
|
||||
|
||||
\DeclareGame{on}
|
||||
\DeclareGame{off}
|
||||
\DeclareGame{dud}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
\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
|
||||
|
@ -25,8 +26,16 @@ Eigentlich sollte man auch fordern, dass es kein \enquote{Unentschieden} in den
|
|||
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
|
||||
|
@ -39,7 +48,7 @@ Gewinnstrategie:
|
|||
\end{game}
|
||||
|
||||
\begin{talk}
|
||||
test
|
||||
Hier das ganze mit den Schüler:innen ausprobieren und auf die Strategie kommen lassen.
|
||||
\end{talk}
|
||||
|
||||
\begin{theorem}
|
||||
|
@ -62,6 +71,13 @@ Man kann das ganze aber auch schwerer gestalten:
|
|||
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.
|
||||
|
@ -101,8 +117,62 @@ Man kann das ganze aber auch schwerer gestalten:
|
|||
|
||||
\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
|
||||
|
@ -167,43 +237,87 @@ Hierzu benötigen wir:
|
|||
Damit ist $x \nimsum a_i < a_i$ wie gewünscht.
|
||||
\end{proof}
|
||||
|
||||
\subsection{DIM}
|
||||
\section{Hackenbush}
|
||||
|
||||
\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.
|
||||
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}
|
||||
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.
|
||||
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{theorem}
|
||||
In \gm{Dim} sind genau die geraden Zahlen Gewinnstellungen.
|
||||
\end{theorem}
|
||||
\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{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}
|
||||
\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.
|
||||
|
||||
\subsection{\gm{Prim}}
|
||||
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{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{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},
|
||||
|
@ -211,3 +325,62 @@ Hierzu benötigen wir:
|
|||
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}
|
||||
|
|
Loading…
Reference in a new issue