Ich poste ein Update nur als Selbstantwort, um es von der noch offenen Frage zu unterscheiden .
Wie in den Kommentaren gezeigt (dank Tsuyoshi Ito), ist das Problem in der Polynomzeit für Pfade lösbar:
Win(Pn)=1 iif(nmod34)∈{3,7,23,27}
Ab 0 ist die (berechnete) Folge der Nim-Werte periodisch:
0,1,1,0,2,1,3,0,1,1,3,2,2,3,4,1,5,3,2,2,3,1,1,0,3,1,2,0,1,1,4,4,2,6,
4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6,
4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6,
...
the subsequence rseq of length 34:
4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6
is repeated
Ich habe nicht an einem strengen mathematischen Beweis gearbeitet, aber die Idee ist:
Angenommen, wir wollen das Element berechnen , dann kann die erste Bewegung (eine Kante auswählen) den Pfad auf verschiedene Arten (n-2,0), (n-3, 1), (n-4,2), ...). Der neue Nim-Wert ist gleich:Win(Pn),n=k∗34+x(k≥4,0≤x<34)⌈n/2⌉
mex{Pn−2+P0,Pn−3+P1,...,P⌈n/2⌉+Pn−⌈n/2⌉}
Die ersten 34 Elemente der Menge werden durch die erste nicht wiederholte Sequenz (0,1,1,0, ...) (nim) erzeugt, die mit den Elementen der sich wiederholenden Sequenz in umgekehrter Reihenfolge beginnend mit Element .(34−2−x)mod34
Zum Beispiel: für :x=0
0,1,1,0,2,1,3,0,1,1,3,2,2,3,4,1,5,3,2,2,3,1,1,0,3,1,2,0,1,1,4,4,2,6 +
3,4,4,1,1,0,2,1,3,0,1,1,3,2,2,7,5,4,4,3,2,2,3,1,1,0,3,1,2,0,1,1,4,6 =
mex{ 3,5,5,1,3,1,1,1,2,1,2,3,1,1,6,6,0,7,6,1,1,3,2,1,2,1,1,1,3,1,5,5,6,0 } = 4
Für x = 0..33 ist die resultierende mex-Sequenz gleich der sich wiederholenden Sequenz:
4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6
Die verbleibenden Elemente der Menge werden nur für die Wiederholungssequenz (en) : (für die Paare also wiederholt Sie ändern das mex-Ergebnis nicht. Die resultierende mex-Sequenz für x = 0..33 lautet:rseq[jmod34]+rseq[(34−2−x−j)mod34]j≥34
4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,4,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,4,
Welches ist gleich der Wiederholungssequenz mit Ausnahme von und ; aber die Werte sind niedriger als das entsprechende mex in der nicht wiederholenden Sequenz, also:x=16x=33
mex{Pn−2+P0,Pn−3+P1,...,P⌈n/2⌉+Pn−⌈n/2⌉} =mex{Pn−2+P0,Pn−3+P1,...,Pn−2−33+P33}
und für ist(k≥4,0≤x<34)Win(Pk∗34+x)=Win(P34+x)=Win(Px)