¿De cuántas maneras diferentes hay jaque mate en el juego inicial?

15

Todos sabemos que el jaque mate más corto posible es de 4 capas:

  1. f3 e5

  2. g4 Qh5 #

Este no es el único orden de movimiento posible. De hecho, hay 8, dependiendo de si el blanco mueve primero el peón f o g, si mueve el peón f a f3 o f4, y si el negro juega e6 o e5. Por supuesto, esto representa solo una pequeña fracción de las posibles secuencias de movimientos de 4 capas, pero estos son los únicos que finalizan el juego.

Lo que estoy buscando es, para un pequeño número de capas, cuántas secuencias de movimientos terminan en jaque mate versus no terminan en jaque mate. Idealmente, lo que me gustaría es algo similar a

  • 4 capas: X secuencias sin jaque mate, 8 jaque mate de 4 capas
  • 5 capas: Y secuencias sin jaque mate, 8 jaque mate de 4 capas, N jaque mate de 5 capas
  • 6 capas: Z secuencias sin jaque mate, 8 jaque mate de 4 capas, N jaque mate de 5 capas, M jaque mate de 6 capas

y así por lo más profundo que sea razonable hacerlo.

Esto está inspirado en una pregunta de Math.SE sobre la probabilidad de que dos jugadores realicen movimientos aleatorios que den como resultado el mismo juego de ajedrez. Sospecho que los juegos cortos dominan en gran medida esta probabilidad, lo que debería facilitar la aproximación de la probabilidad, pero sería bueno tener los números reales con los que trabajar.

rana globo ocular
fuente
1
Pregunta relacionada (pero no idéntica) que puede interesarle: chess.stackexchange.com/questions/24359/…
itub
2
Según el contexto de su pregunta, también puede interesarle saber que un juego puede terminar en un empate debido a la repetición de aproximadamente 8 capas.
DM
1
No creo que los datos que está solicitando aquí sean suficientes para proporcionar límites precisos para las probabilidades en la pregunta Math.SE. Necesitas más información sobre la estructura del árbol del juego. (Para un contraejemplo ilustrativo, considere un juego donde hay dos opciones posibles para el primer movimiento: A y B. Si el primer movimiento es A, hay 1 millón de opciones posibles distintas para el segundo movimiento, mientras que si es B, el único posible segundo movimiento es C. Ahora el juego tiene 1,000,001 posibles dos secuencias de movimiento, pero la probabilidad de que un jugador aleatorio termine jugando la secuencia B, C es 50%.)
Ilmari Karonen
@IlmariKaronen Eso es cierto y pensé en eso desde que publiqué la pregunta. Sin embargo, no creo que la extensión en la relación de ramificación del árbol del juego aumente tan rápido, con la excepción de las líneas que contienen un cheque. Si la contribución total a la probabilidad disminuye rápidamente con pliegue, la aproximación aún debería funcionar razonablemente bien.
eyeballfrog

Respuestas:

26

No hay jaque mate de 0-3 capas.

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

"jaque mate" es el número de movimientos de jaque mate realizados en la capa final. Entonces, para 5 capas, hay 347 secuencias de verificación de apareamiento de exactamente la longitud 5.

Estos valores son de: https://www.chessprogramming.org/Perft_Results

Actualmente no hay datos de jaque mate para 10 capas o más, presumiblemente debido a los recursos computacionales necesarios.

Para obtener datos más específicos (por ejemplo, las líneas mismas), necesitará escribir su propio programa perft que guarda las líneas que terminan en jaque mate.

konsolas
fuente
13

Esta secuencia de enteros se conoce como A079485 en la Enciclopedia en línea de secuencias enteras (OEIS) y se conocen números de hasta 13 capas con varias referencias disponibles.

orlp
fuente
REFERENCES Homer Simpson, Chess Review, Jan-Feb 1982. Ok, hice parte de eso, pero sería divertido ...
Michael
OEIS realmente tiene todo, ¿no?
eyeballfrog
8

Aquí hay un programa simple de Python que responde a la pregunta pero es lento, tarda 40 minutos en ejecutarse en 5 capas en mi computadora portátil (y aumenta al menos 30 veces por capa adicional). Lo bueno es que imprime los juegos, si lo necesitas. Podría publicar el resultado aquí, pero no quería hacer una respuesta larga de 347 líneas ... :-)

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
fuente
Para referencia futura, puede lanzar cosas como esa salida en pastebin.com; la selección nunca caduca.
Jason C
Los comentarios anteriores sugieren que explorar el árbol del juego real puede ser necesario para este cálculo, por lo que este programa puede resultar bastante útil. Gracias.
eyeballfrog
7

La persona más conocida que conozco para este tipo de análisis es François Labelle, quien ha calculado muchos números asociados con el ajedrez (incluida una estimación de la tasa de crecimiento máxima del número de partidas de ajedrez en función del juego) y, en particular, ha calculado el número de jaque mate hasta la capa 13. Para valores hasta la capa 12, vea la figura en http://wismuth.com/chess/chess.html .

Luego, en http://wismuth.com/chess/statistics-games.html , da cifras específicas hasta la capa 13, que aparentemente tiene 346,742,245,764,219 juegos de jaque mate.

Para el número total de juegos, cita los resultados de otros que han subido a la capa 15 (!) Pero creo que no rastrearon a los compañeros de jaque.

De las capas 5-13 hay aproximadamente 1 posibilidad en 10,000 de que un movimiento entregue mate. Pero parece ser significativamente más fácil aparearse ya que las Blancas en comparación con las Negras:

gráfico de la posibilidad de contraposición contra pareja

La tasa de crecimiento del número de juegos también es mayor para los movimientos blancos sobre los movimientos negros, pero eso es solo alrededor del 1%, mucho más débil que el patrón identificado aquí.

Disfruto de juegos aleatorios de ajedrez. En algún momento sería bueno vincular eso con un generador de números aleatorios cuánticos en línea, para tener un programa que esté jugando todos los juegos de ajedrez, si se cumple la hipótesis de mundos múltiples.

Laska
fuente