Wie viele verschiedene Möglichkeiten gibt es, um im frühen Spiel Schachmatt zu setzen?

15

Wir alle wissen, dass der kürzestmögliche Schachmatt 4-lagig ist:

  1. f3 e5

  2. g4 Qh5 #

Dies ist nicht die einzig mögliche Zugreihenfolge. Tatsächlich gibt es 8, je nachdem, ob Weiß zuerst den Bauern f oder g zieht, ob er den Bauern f nach f3 oder f4 zieht und ob Schwarz e6 oder e5 spielt. Natürlich macht dies nur einen winzigen Bruchteil der möglichen 4-lagigen Zugfolgen aus, aber dies sind die einzigen, die das Spiel beenden.

Was ich suche, ist, für kleine Zahlen von Lagen, wie viele Folgen von Zügen mit Schachmatt enden und nicht mit Schachmatt enden. Im Idealfall möchte ich etwas in der Art von

  • 4-lagig: X Nicht-Schachmatt-Sequenzen, 8 4-lagige Schachmatt-Sequenzen
  • 5-lagig: Y Nicht-Schachmatt-Sequenzen, 8 4-lagige Schachmatt-Sequenzen, N 5-lagige Schachmatt-Sequenzen
  • 6-lagig: Z Nicht-Schachmatt-Sequenzen, 8 4-lagige Schachmatt-Sequenzen, N 5-lagige Schachmatt-Sequenzen, M 6-lagige Schachmatt-Sequenzen

und so weiter, solange dies vernünftig ist.

Dies ist inspiriert von einer Math.SE- Frage über die Wahrscheinlichkeit, dass zwei Spieler zufällige Züge machen, die zum selben Schachspiel führen. Ich vermute, dass die kurzen Spiele diese Wahrscheinlichkeit stark dominieren, was die Wahrscheinlichkeit leicht annähern lässt, aber es wäre schön, wenn man die reellen Zahlen hätte, mit denen man arbeiten könnte.

Augapfelfrosch
quelle
1
Verwandte (aber nicht identische) Fragen, die Sie interessieren könnten
itub
2
Abhängig vom Kontext Ihrer Frage könnten Sie auch daran interessiert sein, dass ein Spiel aufgrund von Wiederholungen bei etwa 8 Lagen unentschieden enden kann.
DM
1
Ich denke nicht, dass die Daten, nach denen Sie hier fragen, ausreichen, um die Wahrscheinlichkeiten in der Math.SE-Frage genau einzugrenzen. Sie benötigen weitere Informationen zum Aufbau des Spielbaums. (Betrachten Sie als anschauliches Gegenbeispiel ein Spiel, bei dem es zwei Möglichkeiten für den ersten Zug gibt: A und B. Wenn der erste Zug A ist, gibt es 1 Million verschiedene Möglichkeiten für den zweiten Zug, wenn es B ist, die einzige möglicher zweiter Zug ist C. Jetzt hat das Spiel 1.000.001 mögliche Sequenzen mit zwei Zügen, aber die Wahrscheinlichkeit, dass ein zufälliger Spieler die Sequenz B, C spielt, beträgt 50%.)
Ilmari Karonen
@IlmariKaronen Das stimmt und daran habe ich gedacht, seit ich die Frage gestellt habe. Ich glaube jedoch nicht, dass sich die Streuung des Verzweigungsverhältnisses des Spielbaums so schnell erhöht, mit Ausnahme von Linien, die einen Scheck enthalten. Wenn der Gesamtbeitrag zur Wahrscheinlichkeit mit der Lage schnell abnimmt, sollte die Näherung noch einigermaßen gut funktionieren.
Augapfelfrosch

Antworten:

26

Es gibt keine Schachmatt von 0-3 Lagen.

4 ply: 8 checkmates, 197,281 total nodes
5 ply: 347 checkmates, 4,865,609 total nodes
6 ply: 10,828 checkmates, 119,060,324 total nodes
7 ply: 435,767 checkmates, 3,195,901,860 total nodes
8 ply: 9,852,036 checkmates, 84,998,978,956 total nodes
9 ply: 400,191,963 checkmates, 2,439,530,234,167 total nodes

"Schachmatt" ist die Anzahl der Schachmatt-Züge, die auf der letzten Lage ausgeführt wurden. Für 5 Lagen gibt es also 347 Schachmattfolgen mit genau 5 Lagen.

Diese Werte stammen von: https://www.chessprogramming.org/Perft_Results

Derzeit gibt es keine Schachmattdaten für 10 Lagen und mehr, vermutlich aufgrund der benötigten Rechenressourcen.

Um spezifischere Daten (z. B. die Zeilen selbst) zu erhalten, müssten Sie Ihr eigenes Perft-Programm schreiben, das Zeilen speichert, die mit Schachmatt enden.

konsolas
quelle
13

Diese Folge von ganzen Zahlen ist als A079485 in der Online -Encyclopedia of Integer Sequences (OEIS) bekannt, und Zahlen bis einschließlich 13 Ply sind mit verschiedenen verfügbaren Referenzen bekannt.

orlp
quelle
REFERENCES Homer Simpson, Chess Review, Jan-Feb 1982. Ok, ich habe einen Teil davon erfunden, aber es wäre lustig ...
Michael
OEIS hat wirklich alles, nicht wahr?
Augapfelfrosch
8

Hier ist ein einfaches Python-Programm, das die Frage beantwortet, aber langsam ist. Es dauert 40 Minuten, bis 5 Lagen auf meinem Laptop erreicht sind (und mindestens das 30-fache pro zusätzlicher Lage). Eine nette Sache ist, dass es die Spiele druckt, wenn Sie das brauchen. Ich konnte die Ausgabe hier posten, wollte aber keine 347 Zeilen lange Antwort geben ... :-)

import chess
from chess import pgn

def dfs(board, depth):
    global n
    result = board.result(claim_draw=True)
    if result != '*':
        game = pgn.Game.from_board(board)
        print(game.mainline())
    elif depth > 0:
        moves = list(board.legal_moves)
        for move in moves:
            n += 1
            board.push(move)
            dfs(board, depth-1)
            board.pop()

n = 0
try:
    board = chess.Board()
    dfs(board, 4)
except KeyboardInterrupt:
    pass
print(n, 'positions checked')
itub
quelle
Zum späteren Nachschlagen können Sie solche Ausgaben auf pastebin.com veröffentlichen. pick läuft nie ab.
Jason C
Die obigen Kommentare deuten darauf hin, dass für diese Berechnung möglicherweise eine Untersuchung des tatsächlichen Spielbaums erforderlich ist, sodass sich dieses Programm als sehr hilfreich erweisen kann. Vielen Dank.
Augapfelfrosch
7

Die beste Person, die ich für diese Art der Analyse kenne, ist François Labelle, der viele mit Schach verbundene Zahlen berechnet hat (einschließlich einer Schätzung der maximalen Wachstumsrate der Anzahl von Schachpartien in Abhängigkeit von der Lage) und insbesondere die berechnet hat Anzahl der Schachmatt bis zur Lage 13. Werte bis zur Lage 12 finden Sie in der Abbildung unter http://wismuth.com/chess/chess.html .

Dann gibt er unter http://wismuth.com/chess/statistics-games.html bestimmte Zahlen bis zur 13. Schicht an, die anscheinend 346.742.245.764.219 Schachmatt-Spiele enthält.

Für die Gesamtzahl der Spiele zitiert er Ergebnisse von anderen Spielern, die auf 15 (!) Gestiegen sind, aber ich denke, sie haben keine Schachmatt-Ergebnisse gefunden.

Von den Lagen 5-13 gibt es ungefähr 1 Chance in 10.000, dass ein Zug Kameraden liefert. Aber es scheint deutlich einfacher zu sein, sich als Weiß zu paaren als als Schwarz:

Diagramm der Lagen-gegen-Kumpel-Chance

Die Wachstumsrate der Anzahl der Spiele ist auch bei weißen Zügen höher als bei schwarzen Zügen, aber das ist nur etwa 1%, viel schwächer als das hier identifizierte Muster.

Ich mag zufällige Schachpartien. Irgendwann wäre es schön, das mit einem Online-Quanten-Zufallszahlengenerator zu verknüpfen, um ein Programm zu haben, das alle Schachpartien spielt, wenn die Hypothese mehrerer Welten zutrifft.

Laska
quelle