From 9bf3e0a3d5e53275704ba566f59401bd2876e1b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Thu, 18 Aug 2022 12:30:10 +0200 Subject: [PATCH] erste Inhalte --- 2022_Kombinatorische_Spieltheorie.tex | 12 +- combinatorial-game-theory.sty | 22 +++ inputs/einleitung.tex | 213 ++++++++++++++++++++++++++ inputs/themen.tex | 21 +++ 4 files changed, 264 insertions(+), 4 deletions(-) create mode 100644 inputs/einleitung.tex create mode 100644 inputs/themen.tex diff --git a/2022_Kombinatorische_Spieltheorie.tex b/2022_Kombinatorische_Spieltheorie.tex index 02f0cd1..dc24ceb 100644 --- a/2022_Kombinatorische_Spieltheorie.tex +++ b/2022_Kombinatorische_Spieltheorie.tex @@ -1,8 +1,7 @@ -\documentclass[10pt,ngerman,a4paper, fancyfoot, git]{mkessler-script} +\documentclass[10pt,ngerman]{scrbook} -\course{Kombinatorische Spieltheorie} -\lecturer{} -\author{} +\title{Kombinatorische Spieltheorie} +\author{Maximilian Keßler} \usepackage{combinatorial-game-theory} @@ -14,5 +13,10 @@ \tableofcontents \cleardoublepage +\input{inputs/themen} + +\chapter{Einführung} +\input{inputs/einleitung} + \end{document} diff --git a/combinatorial-game-theory.sty b/combinatorial-game-theory.sty index 655612e..459fb70 100644 --- a/combinatorial-game-theory.sty +++ b/combinatorial-game-theory.sty @@ -1 +1,23 @@ \ProvidesPackage{combinatorial-game-theory}[2022/02/10 - Style file for notes of Kombinatorische Spieltheorie] + + +%General setup +\usepackage[ngerman]{babel} +\usepackage{csquotes} + + +%% Custom packages +\usepackage{mkessler-vocab} +\usepackage{mkessler-math} + +%%% Environment setup +\usepackage[number in = chapter]{fancythm} +\NewFancyTheorem[style = thmgreenmarginandfill, group = big]{game} +\NewFancyTheorem[style = thmvioletmargin, group = big]{talk} + + +%%% Custom macros for this project + +\NewDocumentCommand\nimber{m}{\star#1} +\NewDocumentCommand\nimsum{}{\oplus} +\NewDocumentCommand\gm{m}{\textsc{#1}} diff --git a/inputs/einleitung.tex b/inputs/einleitung.tex new file mode 100644 index 0000000..33c12a1 --- /dev/null +++ b/inputs/einleitung.tex @@ -0,0 +1,213 @@ +\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} + +\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} + test +\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{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{Nim} + +\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} + +\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{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} diff --git a/inputs/themen.tex b/inputs/themen.tex new file mode 100644 index 0000000..c10bd9b --- /dev/null +++ b/inputs/themen.tex @@ -0,0 +1,21 @@ +Themen: + +\begin{itemize} + \item Nim + \item Hackenbush + \item snort? Col? + \item Surreale Zahlen + \item silver dollar game + \begin{itemize} + \item geburtstage + \end{itemize} + \item arbitrary games + \item sprague grundy numbers/theorem + \item temperature theory +\end{itemize} + +Eigenschaften von games: +\begin{itemize} + \item short: endlich viele zustände + \item tame +\end{itemize}