Analisando uma versão modificada do jogo de cartas "War"

13

Um jogo simples geralmente jogado por crianças, o jogo da Guerra é jogado por duas pessoas, usando um baralho padrão de 52 cartas. Inicialmente, o baralho é embaralhado e todas as cartas recebem dois dos dois jogadores, para que cada uma tenha 26 cartas aleatórias em uma ordem aleatória. Assumiremos que os jogadores têm permissão para examinar (mas não mudar) os dois baralhos, para que cada jogador conheça as cartas e as ordens dos dois baralhos. Isso normalmente é feito na prática, mas não muda nada sobre como o jogo é jogado, e ajuda a manter esta versão da pergunta completamente determinística.

Em seguida, os jogadores revelam as melhores cartas de seus respectivos decks. O jogador que revela a carta maior (de acordo com a ordem usual: 2, 3, 4, 5, 6, 7, 8, 9, 10, Valete, Rainha, Rei, Ás) vence a rodada, colocando primeiro a carta (a carta alta) na parte inferior do baralho e, em seguida, a carta do oponente (carta baixa) na parte inferior do baralho (normalmente, a ordem disso não é aplicada, mas para manter a primeira versão dessa pergunta determinista, como uma ordem será aplicada).

Em caso de empate, cada jogador revela quatro cartas adicionais do topo de seus decks. Se a quarta carta mostrada por um jogador for maior que a quarta carta mostrada por outro jogador, o jogador com a quarta carta mais alta ganhará todas as cartas jogadas durante o desempate; nesse caso, as cartas do vencedor serão colocadas primeiro na parte inferior do baralho do vencedor (na ordem do primeiro a entrar, primeiro a sair; em outras palavras, as cartas mais antigas são colocadas na parte inferior primeiro), seguidas pelas cartas do perdedor (na mesma ordem).

No caso de empates subsequentes, o processo é repetido até que um vencedor do empate seja determinado. Se um jogador ficar sem cartas e não puder continuar quebrando o empate, o jogador que ainda tiver cartas será declarado vencedor. Se ambos os jogadores ficarem sem cartas para jogar ao mesmo tempo, o jogo será declarado empate.

As rodadas são disputadas até que um jogador fique sem cartas (ou seja, não tenha mais cartas no seu baralho); nesse ponto, o jogador que ainda tiver cartas é declarado vencedor.

Como o jogo foi descrito até agora, nem habilidade nem sorte estão envolvidas na determinação do resultado. Como existe um número finito de permutações de 52 cartas, há um número finito de maneiras pelas quais os decks podem ser distribuídos inicialmente, e segue-se que (uma vez que a única informação de estado no jogo é o estado atual dos decks de ambos os jogadores ) o resultado de cada configuração do jogo pode ser decidido a priori. Certamente, é possível vencer o jogo da Guerra e, da mesma forma, perdê-lo. Também deixamos em aberto a possibilidade de um jogo de guerra resultar em empate ou em loop infinito; para a versão completamente determinística descrita acima, esse pode ou não ser o caso.

Várias variações do jogo que tentam torná-lo mais interessante (e não, nem todas envolvem torná-lo um jogo de bebida). Uma maneira que pensei para tornar o jogo mais interessante é permitir que os jogadores declarem "trunfos" automáticos em certas rodadas. Em cada rodada, qualquer jogador (ou ambos) pode declarar "trunfo". Se um jogador declarar "trunfo", esse jogador vence a rodada, independentemente das cartas que estão sendo jogadas. Se ambos os jogadores declararem "trunfo", a rodada será tratada como empate e o jogo continuará em conformidade.

Pode-se imaginar uma variedade de regras que limitam a capacidade dos jogadores de vencer (trunfo ilimitado sempre resultaria em um jogo de empate, pois os jogadores venciam a cada turno). Eu proponho duas versões (em cima da minha cabeça; versões mais interessantes nesse sentido provavelmente são possíveis) do War com base nessa idéia, mas usando diferentes mecanismos de limitação de trunfo:

  1. Guerra de Frequência: Os jogadores só podem vencer se não tiverem vencido nas rodadas anteriores .k
  2. Guerra de Vingança: Os jogadores só podem triunfar se não ganharem uma rodada nas rodadas anteriores .k

Agora, para as perguntas que se aplicam a cada uma das versões descritas acima:

  1. Existe uma estratégia de tal forma que, para algum conjunto de possíveis configurações iniciais do jogo, o jogador que a usa sempre vence (estratégia vencedora)? Se sim, qual é essa estratégia? Se não, por que não?
  2. Existe uma estratégia de tal forma que, para algum conjunto de possíveis configurações iniciais do jogo, o jogador que a usa sempre pode ganhar ou forçar um empate (estratégia vencedora)? Se sim, qual é essa estratégia? Se não, por que não?
  3. As configurações iniciais do jogo são tais que não há estratégia vencedora (ou seja, um jogador que usa qualquer estratégia fixa sempre pode ser derrotado por um jogador que usa a estratégia fixa )? Se sim, quais são eles e explique?SS

Para ser claro, estou pensando em uma "estratégia" como um algoritmo fixo que determina em que rondas o jogador que usa a estratégia deve vencer. Por exemplo, o algoritmo "trunfo sempre que possível" é uma estratégia e um algoritmo (um algoritmo heurístico). Outra maneira do que estou perguntando é:

Existem boas (ou comprovadamente ótimas) heurísticas para jogar esses jogos?

Referências a análises de tais jogos são apreciadas (não conheço nenhuma análise desta versão do War ou de jogos essencialmente equivalentes). Os resultados para qualquer são interessantes e apreciados (observe que, em ambos os casos, leva a um número ilimitado de trunfos, que eu já discuti).kk=0 0

Patrick87
fonte
Existe também uma versão alternativa: se os dois jogadores jogam trunfo, as regras são as normais (ou seja, as vitórias mais altas).
31512 Joe
@ Joe Excelente sugestão! De fato, de maneira mais geral, versões alternativas podem ser obtidas não apenas mudando a maneira como os jogadores podem ganhar a capacidade de vencer, mas também mudando a maneira como os trunfos de ambos os jogadores são manipulados durante o mesmo turno. Sinta-se à vontade para fornecer uma análise da situação que você apresenta, pois essa análise quase certamente facilitaria a análise de versões semelhantes.
Patrick87

Respostas:

7

Se bem entendi, todas as informações sobre o jogo estão disponíveis para ambos os jogadores. Ou seja, a configuração inicial e todos os movimentos possíveis são conhecidos pelos dois jogadores (principalmente porque os dois jogadores podem olhar as cartas do outro jogador). Isso faz com que o jogo seja um jogo de soma zero de informações perfeitas. Portanto, existe uma estratégia perfeita disponível para ambos os jogadores que alcançaria o melhor resultado em cada jogo para esse jogador. Isso foi comprovado em 1912 pelo matemático alemão Ernst Zermelo.

Não sei qual é a estratégia, mas pode-se imaginar a construção de uma grande árvore de jogos e a obtenção de um computador para encontrar a estratégia para mim usando o algoritmo min-max .

A árvore de cada jogo teria como raiz as mãos dos dois jogadores. Os galhos da árvore correspondem aos movimentos dos jogadores. No caso mais simples, consistem em simplesmente depositar os cartões necessários. Nos casos mais avançados, a mudança 'trunfo' pode ser feita. Os nós internos da árvore registram qual é a configuração atual dos cartões, além de qualquer informação sobre o estado wrt 'trumps'. As folhas da árvore correspondem às posições finais do jogo, que serão marcadas com, digamos, +1 para uma vitória no Jogador 1, 0 para um empate e -1 para uma vitória no Jogador 2. Ignore os jogos em loop por enquanto.

Agora, o algoritmo min-max funcionará da seguinte maneira (da perspectiva do jogador 1). Suponha que ele analise um nó no qual o Jogador 1 faça uma movimentação e que os nós abaixo sejam anotados com +1, 0 ou -1 (a recompensa) junto com as escolhas que o jogador precisa fazer para obter o resultado fornecido. O jogador 1 simplesmente seleciona o nó com o maior retorno, registra esse retorno e a opção necessária para obtê-lo. Para o nó em que o Jogador 2 está fazendo a movimentação, o nó com o pagamento mínimo é escolhido e a escolha é registrada. Isso reflete que o jogador 2 está buscando a menor pontuação para vencer. Isso é propagado para o da árvore. As escolhas registradas em cada nó correspondem à melhor estratégia que um jogador pode fazer. O pagamento final determina quem ganha. Essa é, em última análise, uma função em termos de pagamento, embora a escolha exata dos movimentos possa variar.

Configurações em loop potencialmente podem ser incorporadas à árvore do jogo simplesmente adicionando loops que retornam a uma configuração já vista (ao computar a partir do topo). Para esses nós, você obtém o maior ponto fixo se for um nó no qual o Jogador 1 é reproduzido e o ponto menos fixo quando o Jogador 2 é reproduzido.

Note que, se você não assumiu que os dois jogadores poderiam examinar os dois decks, essa abordagem não se aplicaria. O jogo envolveria o acaso e a estratégia selecionada seria específica do jogo.

A existência ou não de uma estratégia de vitória forte ou fraca para um dos jogadores depende do resultado do algoritmo min-max aplicado a todas as árvores. Mas com certeza existem muitos deles .... Provavelmente é fácil calcular a árvore para uma, já que não há muitas escolhas feitas no jogo.

Dave Clarke
fonte
Depois de fazer algumas tentativas de responder a isso, eu logo percebi o que você apontou, ou seja, que deve haver necessariamente uma estratégia ideal, mas que realisticamente, declarar as regras para tal estratégia pode ser incrivelmente complexo. Também parece que é possível que os jogadores cheguem a um impasse em algumas versões desses jogos ... onde ambos são capazes de vencer, mas não conseguem concordar com o que a configuração de trunfo deve ser (um trunfo se o outro não e um trunfaria se o outro). Muito interessante.
precisa saber é o seguinte