"Nim" Spiel

Werbung
0.1
E: Das Nim Spiel
Es gibt n Haufen von Streichhölzern mit den Anzahlen x1 , . . . , xn . Der Spieler, der am Zug ist
darf beliebig viele (aber mindestens eins) Streichhölzer aus einem (und nur einem Haufen)
wegnehmen. Derjenige, der das letzte Streichholz nimmt hat gewonnen.
Definition: Die Nimsumme zweier Zahlen x, y ∈ N0 ist wie folgt definiert: Seien x = ∑in=0 ai · 2i
und x = ∑in=0 bi · 2i , ai , bi ∈ {0, 1} die Binärentwicklungen der beiden Zahlen (die kürzere
mit führenden Nullen aufgefüllt, so daß beide gleich lang sind). Wir definieren die folgende
Verknüpfung von Nullen und Einsen:
+
0
1
0
0
1
1
1
0
und x ⊕ y := ∑in=1 ( ai ⊕ bi ) · 2i .
Beispiel:
5
7
5+7
Dezimal
5
7
2
Binär
101
111
010
Satz (Eigenschaften von ⊕):
Seien x, y, z natürliche Zahlen (inklusive Null), und
n
x=
∑ a i · 2i , y =
i =0
n
∑ bi · 2 i , z =
i =0
n
∑ c i · 2i
i =0
die Binärentwicklungen.
Definition: Für x und y in der Binärentwicklung heißt
n
x ⊕ y :=
∑ ( a i + bi ) 2 i
i =0
die Nimsumme von x und y.
Eigenschaften
1) x ⊕ y = ∑in=0 ( ai + bi ) · 2i = ∑in=0 (bi + ai ) · 2i = y ⊕ x (⊕ ist kommutativ)
2)( x ⊕ y) ⊕ z = ∑in=0 [( ai + bi ) + ci ] · 2i = ∑in=0 [ ai + (bi + ci )] · 2i = x ⊕ (y ⊕ z)
(⊕ ist assoziativ)
3) x ⊕ x = ∑in=0 ( ai ⊕ ai ) · 2i = ∑in=0 0 · 2i = 0.
Es gilt auch umgekehrt: Ist x ⊕ y = 0, so ist x = y
4) 0 ist Neutralelement: 0 ⊕ x = ∑in=0 (0 + ai ) · 2i = x
Seien nun x1, , . . . , xn die Anzahlen vor dem Zug und y1 , . . . , yn die Anzahlen nach dem Zug.
Weiter seien
s = x1 ⊕ . . . ⊕ x n
1
und
t = y1 ⊕ . . . ⊕ y n
die Nimsummen der Anzahlen. Wenn der Zug im Haufen k erfolgt ist, gilt:
t = 0⊕t = s⊕s⊕t
= s ⊕ ( x1 ⊕ . . . ⊕ x n ) ⊕ ( y1 ⊕ . . . ⊕ y n )
= s ⊕ ( x1 ⊕ y1 ) ⊕ . . . ⊕ ( x n ⊕ y n )
= s ⊕ 0 ⊕ . . . ⊕ 0 ⊕ ( xk ⊕ yk ) ⊕ 0 ⊕ . . . ⊕ 0
= s ⊕ xk ⊕ yk
Also t = s ⊕ xk ⊕ yk (*).
Lemma 1: Ist s = 0, so ist t 6= 0 unabhängig von der Art des Zuges
Grund: t = 0 ⊕ xk ⊕ yk = xk ⊕ yk und xk 6= yk , also ist t 6= 0.
Lemma 2: Ist s 6= 0, dann gibt es einen Zug mit t = 0
Grund: Sei d die Position des höchsten Bits 6= 0 von s.
Wähle k, so daß das d−te Bit von xk ebenfalls 6= 0 ist .
So ein xk existiert: Wären alle d−ten Bits der xi = 0, so auch das d−te Bit der Nimsumme s.
Setze: yk := s ⊕ xk (**). Da xk die Anzahl der Hölzer vor dem Zug und yk die nach dem Zug ist,
muß noch sichergestellt werden,
daß der Spieler yk erreichen kann.
Behauptung: yk < xk
Grund:
Die Situation ist wie folgt: Sei
n
xk =
∑
a k 2k + 2d +
k = d +1
Stelle
s=
xk=
yk = s ⊕ xk
n
0
an
an
...
...
...
d+1
0
a d +1
a d +1
d
1
1
0
d−1
∗
∗
∗
Es ist:
...
...
...
...
∑
0
∗
∗
∗
k
ak 2 + 0 +
k = d +1
Es ist also
d −1
yk < xk ⇔
∑ a k 2k
k =0
n
yk =
d −1
∑
d −1
∑ bk 2 k
k =0
bk 2 k < 2 d +
k =0
d −1
∑ a k 2k
k =0
2
Nun gilt:
d −1
∑
bk 2 k ≤
k =0
d −1
∑
2k = 2d − 1 < 2d ≤ 2d +
k =0
d −1
∑ a k 2k
k =0
Hierbei haben wir verwendet:
d −1
∑ 2k = (2 − 1)(1 + 2 + . . . + 2d−1 )
k =0
= 2 + 22 + . . . + 2 d − ( 1 + 2 + . . . + 2 d − 1 ) = 2 d − 1
Fazit: Stellungen mit Nimsumme 0 sind für den Spieler, der an der Reihe ist, Verluststellungen.
Grund: Verloren hat der Spieler, der, wenn er an der Reihe ist, ein leeres Spielfeld (Nimsumme
0) vorfindet.
Sein Gegner kann in allen vorherigen Spielzügen ihm immer eine Situation mit Nimsumme 0
präsentieren, da er immer eine
Nimsumme 6= 0 vorfindet.
Beispiel: Das klassische Nimspiel startet mit 3 Haufen mit jeweils 3, 5 und 7 Streichhölzern
Analyse des ersten Zuges: Startnimsumme 011 ⊕ 101 ⊕ 111 = 001 6= 0
2
5
7
⊕
3
4
7
⊕
3
5
6
⊕
010
101
111
000
011
100
111
000
011
101
110
000
1
5
7
⊕
3
3
7
⊕
3
5
5
⊕
001
101
111
011
011
011
111
111
011
101
101
011
0
5
7
⊕
3
2
7
⊕
3
5
4
⊕
000
101
111
010
011
010
111
110
011
101
010
100
3
1
7
⊕
3
5
3
⊕
011
001
111
101
011
101
011
101
3
0
7
⊕
3
5
2
⊕
011
000
111
100
011
101
010
100
3
5
1
⊕
011
101
001
111
3
5
0
⊕
011
101
000
110
Für den ersten Spieler ist es also möglich, durch Wegnehmen eines einzigen Streichholzes aus
einem der drei Haufen, seinem Gegner eine Nimsumme 0 zu präsentieren. Der der anfängt,
gewinnt also (wenn er richtig spielt). Zum praktischen Spiel ist es nützlich zu wissen, daß
folgende Konstellationen Nimsumme 0 haben: zwei gleiche Reihen, 1-2-3, genau einer fehlt
(unabhängig von der Reihenfolge). Sind das alle?
Wir betrachten die Nimsumme von drei Zahlen:
0 a2 a3
b1 b2 b3
c1 c2 c3
3
In jedem Fall muß b1 = c1 sein.Ist a = 0, so muß b = c sein. Ist a = 3, so muß b1 = c1 , b2 6=
c2 , b3 6= c3 . Dies liefert die Zahlentripel (3,3,0),(3,1,2) und (3,4,7),(3,5,6), welche unter die beschriebenen Fälle fallen. Ist a = 2, erhalten wir (2,3,1),(2,0,2),(2,7,5),(2,4,6). Ist a = 1, erhalten
wir schließlich (1,1,0),(1,2,3),(1,5,4). Es fehlten also noch die Fälle (2,4,6) und (1,5,4).
4
Herunterladen