Quantas maneiras diferentes existem para dar xeque-mate no início do jogo?

15

Todos nós sabemos que o menor xeque-mate possível é 4 dobras:

  1. f3 e5

  2. g4 Qh5 #

Esta não é a única ordem de movimentação possível. De fato, existem 8, dependendo se o branco move o peão f ou g primeiro, se ele move o peão f para f3 ou f4 e se o preto joga e6 ou e5. Obviamente, isso representa apenas uma pequena fração das possíveis sequências de movimentos de quatro camadas, mas essas são as únicas que terminam o jogo.

O que estou procurando é, para um pequeno número de dobras, quantas seqüências de movimentos terminam em xeque-mate versus não terminam em xeque-mate. Idealmente, o que eu gostaria é algo ao longo das linhas de

  • 4 dobras: X sequências não-xeque-mate, 8 xemas-xeque-mate
  • 5 dobras: sequências Y não-xeque-mate, 8 xeitas-xeque-mate, N 5-dobras-xeque-mate
  • 6 dobras: Z sequências não-xeque-mate, 8 xeques-mate de 4 dobras, N 5-dobras de xadrez, M 6-dobras de xadrez

e assim por diante, por mais profundo que isso seja razoável.

Isso é inspirado em uma pergunta do Math.SE sobre a probabilidade de dois jogadores fazerem movimentos aleatórios, resultando no mesmo jogo de xadrez. Suspeito que os jogos curtos dominem fortemente essa probabilidade, o que deve facilitar a aproximação, mas seria bom ter números reais para trabalhar.

globo ocular
fonte
1
Pergunta relacionada (mas não idêntica) que você pode achar de interesse: chess.stackexchange.com/questions/24359/…
itub
2
Com base no contexto da sua pergunta, você também pode estar interessado em saber que um jogo pode terminar empatado devido à repetição em cerca de 8 dobras.
DM
1
Não acho que os dados que você está solicitando aqui sejam suficientes para fornecer limites precisos para as probabilidades da pergunta Math.SE. Você precisa de mais informações sobre a estrutura da árvore do jogo. (Para um contra-exemplo ilustrativo, considere um jogo em que há duas opções possíveis para o primeiro movimento: A e B. Se o primeiro movimento for A, existem 1 milhão de opções possíveis distintas para o segundo movimento, enquanto que se for B, o único possível segundo movimento é C. Agora, o jogo tem 1.000.001 possíveis duas sequências de se mover, mas a probabilidade de um jogador que joga aleatório terminando a sequência B, C é 50%).
Ilmari Karonen
@IlmariKaronen Isso é verdade e pensei nisso desde que postei a pergunta. No entanto, não acho que a propagação na taxa de ramificação da árvore do jogo aumente tão rapidamente, com exceção das linhas que contêm uma verificação. Se a contribuição total para a probabilidade cair rapidamente com a dobra, a aproximação ainda funcionará razoavelmente bem.
eyeballfrog

Respostas:

26

Não há checkmates de 0 a 3 dobras.

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

"xeque-mate" é o número de movimentos de xeque-mate feitos na dobra final. Portanto, para 5 dobras, existem 347 sequências de verificação de tamanho exatamente 5.

Esses valores são de: https://www.chessprogramming.org/Perft_Results

Atualmente, não há dados de xeque-mate para 10 camadas ou mais, provavelmente devido aos recursos computacionais necessários.

Para obter dados mais específicos (por exemplo, as próprias linhas), você precisará escrever seu próprio programa de aperfeiçoamento, que salva as linhas que terminam em xeque-mate.

konsolas
fonte
13

Essa sequência de números inteiros é conhecida como A079485 na Enciclopédia on-line de sequências inteiras (OEIS) e números de até 13 dobras, inclusive, são conhecidos com várias referências disponíveis.

orlp
fonte
REFERENCES Homer Simpson, Chess Review, Jan-Feb 1982. Ok, eu fiz parte disso, mas que seria engraçado ...
Michael
OEIS realmente tem tudo, não é?
Eyeballfrog 13/08/19
8

Aqui está um programa simples em Python que responde à pergunta, mas é lento, levando 40 minutos para executar 5 camadas no meu laptop (e aumentando pelo menos 30 vezes por camada adicional). Uma coisa boa é que ela imprime os jogos, se você precisar. Eu poderia postar a saída aqui, mas não queria fazer uma resposta de 347 linhas ... :-)

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
fonte
Para referência futura, você pode lançar coisas como essa em pastebin.com; a escolha nunca expira.
Jason C
Os comentários acima sugerem que a exploração da árvore do jogo real pode ser necessária para esse cálculo, portanto esse programa pode ser bastante útil. Obrigado.
eyeballfrog
7

A principal pessoa que conheço para esse tipo de análise é François Labelle, que calculou muitos números associados ao xadrez (incluindo uma estimativa da taxa máxima de crescimento do número de jogos de xadrez em função da dobra) e, em particular, calculou o número de xeque-mate até dobras 13. Para valores até dobras 12, consulte a figura em http://wismuth.com/chess/chess.html .

Então, em http://wismuth.com/chess/statistics-games.html , ele fornece números específicos até a dobra 13, que tem 346.742.245.764.219 jogos de xeque-mate aparentemente.

Para o número total de jogos, ele cita resultados de outros que subiram para 15 (!), Mas acho que eles não acompanharam xeque-mate.

Das dobras 5 a 13, há cerca de 1 chance em 10.000 de que um lance ofereça companheiro. Mas parece ser significativamente mais fácil de acasalar como as brancas comparadas às pretas:

gráfico de dobra versus chance de acasalamento

A taxa de crescimento do número de jogos também é maior para jogadas brancas sobre jogadas pretas, mas isso é apenas cerca de 1%, muito mais fraco que o padrão identificado aqui.

Eu gosto de jogos aleatórios de xadrez. Em algum momento, seria bom vincular isso a um gerador de números aleatórios quânticos on-line, para ter um programa que esteja jogando todos os jogos de xadrez, se a hipótese de múltiplos mundos se mantiver.

Laska
fonte