Jogos e busca adversária

Aprenda como programas escolhem jogadas em jogos contra oponentes. Modele um jogo como um problema de busca e desenhe sua árvore de jogo, encontre a melhor jogada com minimax e acelere a busca com poda alfa-beta e uma boa ordenação de jogadas. Elabore funções de avaliação para buscas que precisam parar antes do fim, lide com dados e oponentes imprevisíveis usando expectimax, atribua a cada jogador sua própria utilidade em jogos com vários jogadores e estime o valor de jogadas a partir de partidas simuladas com busca em árvore de Monte Carlo e UCB1.

IntermediárioAula 4 de 10 do curso Curso de Inteligência artificial

O que você vai aprender

  1. Formule com precisão um jogo de turnos, classifique-o pelas propriedades que determinam o método de busca adequado e represente suas partidas possíveis como uma árvore de jogo.
    • Formule um jogo e classifique seu tipo
      Registre os componentes que definem um jogo e diferencie jogos determinísticos, estocásticos, de informação perfeita, de informação imperfeita, de soma zero e de soma geral.
    • Construa e interprete uma árvore de jogo
      Desenhe a árvore de jogadas de um jogo, use corretamente meias-jogadas, profundidade e fator de ramificação e estime o tamanho de uma árvore de jogo completa.
  2. Calcule valores minimax para encontrar a melhor jogada contra um oponente que joga perfeitamente, implemente o algoritmo e estenda a ideia a jogos com vários jogadores e utilidades individuais.
    • Calcule os valores minimax e a decisão minimax
      Propague valores das folhas de uma árvore de jogo para encontrar o valor minimax de cada posição e a jogada que MAX deve fazer.
    • Implemente a busca minimax
      Transforme a definição de minimax em um algoritmo recursivo de busca em profundidade, indique seu custo de tempo e espaço e evite os erros comuns de implementação.
    • Faça buscas em jogos com vários jogadores e utilidades individuais
      Use vetores de utilidades para escolher jogadas quando participam mais de dois jogadores ou quando os interesses dos jogadores não são estritamente opostos.
  3. Ignore partes da árvore de jogo que não podem alterar a decisão, acompanhe a poda alfa-beta à mão e ordene as jogadas para que a poda economize o máximo de trabalho possível.
    • Acompanhe a poda alfa-beta passo a passo
      Acompanhe alfa e beta durante a busca, reconheça quando uma subárvore pode ser podada e explique por que o resultado coincide com o minimax.
    • Ordene as jogadas para tornar a poda eficaz
      Explique como a ordem das jogadas determina a economia obtida pela poda alfa-beta e use heurísticas de ordenação, aprofundamento iterativo e tabelas de transposições.
  4. Pare a busca antes do fim do jogo, estime o valor de posições não terminadas com uma função de avaliação e lide com os erros introduzidos por um limite de profundidade.
    • Elabore uma função de avaliação
      Construa uma função de avaliação a partir das características de uma posição, calcule-a para posições concretas e verifique se ela atende aos requisitos de uma boa avaliação.
    • Interrompa a busca com segurança
      Substitua o teste de término por um teste de corte, busque mais profundamente dentro de um limite de tempo e reconheça e reduza o efeito horizonte e outros erros de um limite de profundidade.
  5. Acrescente nós de acaso às árvores de jogo, calcule valores expectiminimax e expectimax e elabore funções de avaliação que mantenham seu significado quando os resultados são calculados pela média.
    • Faça buscas em árvores com nós de acaso
      Modele lançamentos de dados e oponentes aleatórios com nós de acaso, calcule valores expectiminimax passo a passo e saiba quando a poda ainda é possível.
    • Ajuste a escala das avaliações e escolha entre minimax e expectimax
      Explique por que os valores esperados exigem avaliações com escala correta, teste quais transformações preservam as decisões e escolha um modelo do oponente adequado à situação.
  6. Estime valores de jogadas a partir de partidas simuladas, equilibre a exploração de novas jogadas com a explotação das boas usando UCB1 e avalie quando a busca em árvore de Monte Carlo ou a poda alfa-beta é mais adequada a um jogo.
    • Execute as quatro fases da busca em árvore de Monte Carlo
      Expanda uma árvore de busca por seleção, expansão, simulação e retropropagação de resultados, atualize as contagens de visitas e vitórias e escolha a jogada final.
    • Equilibre exploração e explotação com UCB1
      Aplique a fórmula UCB1 durante a seleção, calcule-a para contagens concretas e veja como a constante de exploração altera a escolha.
    • Compare MCTS com poda alfa-beta e escolha um método
      Pondere os pontos fortes e fracos da poda alfa-beta e da busca em árvore de Monte Carlo, relacione-os a programas de jogos marcantes e escolha um método a partir das propriedades de um jogo.

Guia de estudo de Busca adversária

6 capítulos

1

Transforme um jogo em um problema de busca

Um programa precisa de uma descrição precisa de um jogo antes de poder escolher uma jogada. A descrição deve indicar quem age, o que pode acontecer em seguida e como uma partida terminada é pontuada. A árvore de jogo apresenta então as continuações possíveis. Interpretar essa árvore significa acompanhar os turnos, a profundidade e as posições repetidas, lembrando que um oponente controla alguns dos ramos.

1.1 Estados, regras e jogadores

Uma busca em jogo começa com um estado: informação suficiente para determinar o que pode acontecer em seguida. No jogo da velha, isso significa o tabuleiro e o jogador da vez. O tabuleiro sozinho está incompleto porque a próxima marca depende de quem joga.

Defina os seis componentes

Um modelo de jogo fornece:

  • Um estado inicial, S0.
  • Uma função, Jogador-da-vez(s), que indica o jogador que age no estado s.
  • As jogadas permitidas, Ac¸o˜es(s).
  • Um modelo de transição, Resultado(s,a), que fornece o estado após a ação a.
  • Um teste de término, Eˊ-terminal(s), que detecta o fim do jogo.
  • Uma função de utilidade, Utilidade(s,p), que fornece ao jogador p um ganho numérico em um estado terminal.

No jogo da velha, comece com um tabuleiro vazio de 3 por 3 e X na vez. Uma ação escolhe uma casa vazia. A transição coloca a marca do jogador atual e muda a vez. O jogo termina assim que alguém forma uma linha, coluna ou diagonal de três marcas, ou quando o tabuleiro cheio resulta em empate. Do ponto de vista de X, atribua +1 à vitória, 0 ao empate e −1 à derrota. O teste de término deve ser executado antes de outra marca ser colocada: o jogo não continua após uma vitória.

Classifique o jogo em eixos separados
PropriedadeSignificadoExemplo
DeterminísticoUm estado e uma jogada determinam o próximo estado sem um evento aleatório.Xadrez
EstocásticoEventos aleatórios ajudam a determinar o que acontece.Gamão
Informação perfeitaTodos os jogadores podem observar o estado completo do jogo.Go
Informação imperfeitaParte do estado relevante está oculta.Pôquer
Dois ou vários jogadoresO número de jogadores determina quantos interesses devem ser modelados.Xadrez ou um jogo com três jogadores
Soma zero ou soma geralOs interesses são estritamente opostos, ou os jogadores podem ganhar juntos.Jogo com vitória e derrota ou recompensas compartilhadas

Esses eixos são independentes. Os dados tornam o gamão estocástico, embora seu tabuleiro seja visível. Cartas ocultas dizem respeito à informação, não ao fato de uma ação ser aleatória. Em um jogo com informação oculta, o jogador raciocina sobre os estados possíveis compatíveis com suas observações, chamados de estado de crença.

Mantenha fixo o ponto de vista do ganho

Em um jogo de soma zero com dois jogadores, o ganho de um jogador é a perda do outro. Pontuações de soma constante se comportam da mesma forma: vitória 1, derrota 0 e empate ½ para cada um sempre somam 1. Um número basta para expressar a oposição. Chame o jogador que quer aumentá-lo de MAX, e o jogador que quer diminuí-lo de MIN. Esses são papéis; MAX não precisa ser sempre as brancas ou X.

Em uma busca comum, é possível escolher todas as ações ao longo de um caminho. Um agente que joga deve responder a jogadas que não controla. Sua solução é uma estratégia, que especifica o que fazer em cada situação que possa enfrentar. Um plano que só funciona se o oponente der uma resposta favorável não basta.

Principais conclusões

  • Registre o jogador da vez como parte do estado.
  • Defina ações permitidas, transições, término e utilidades antes da busca.
  • Acaso e informação oculta são propriedades distintas.
  • MAX e MIN comparam uma única utilidade medida do ponto de vista de MAX.
  • Uma estratégia deve lidar com as respostas possíveis do oponente.

1.2 Interprete o tamanho e a forma de uma árvore de jogo

Uma árvore de jogo começa no estado atual. Cada aresta de saída representa uma jogada permitida, e seu filho é o estado resultante. Identifique cada nó não terminal pelo jogador que age nele. Em um jogo alternado com dois jogadores, os níveis de MAX e MIN se alternam.

Conte turnos individuais

Uma meia-jogada é uma jogada de um jogador. No xadrez, uma jogada completa geralmente inclui um turno das brancas e um das pretas, portanto abrange duas meias-jogadas. Uma busca de profundidade 4 a partir da vez das brancas alcança posições após as brancas, as pretas, as brancas e as pretas terem agido. Conte as arestas a partir da raiz, cuja profundidade é zero.

Seja b o fator de ramificação e m a profundidade máxima. Uma árvore uniforme tem bd nós na profundidade d e bm folhas. Seu número total de nós é:

1+b+b2+⋯+bm.

Para b>1, os níveis mais profundos predominam, resultando em crescimento exponencial. Com quatro jogadas por posição, a profundidade 3 tem 64 folhas; a profundidade 4 tem 256. Uma meia-jogada adicional multiplica a contagem de folhas por quatro, não por um.

Diferencie partidas de posições

O jogo da velha tem no máximo 9!=362.880 ordens para preencher o tabuleiro. Muitas ordens continuariam após uma vitória anterior e não são partidas completas permitidas. Parar imediatamente nas vitórias resulta em 255.168 partidas completas: 131.184 vitórias de X, 77.904 vitórias de O e 46.080 empates. Ao longo das partidas permitidas, há apenas 5.478 posições distintas do tabuleiro, incluindo o tabuleiro vazio.

A diferença vem em parte das transposições: ordens de jogadas diferentes que chegam ao mesmo estado. X pode jogar em um canto, O no centro e X no canto oposto, ou X pode jogar nesses dois cantos na ordem inversa. Ambos os caminhos terminam no mesmo tabuleiro e com o mesmo jogador da vez. Uma árvore mantém os dois caminhos; um grafo de jogo pode armazenar o estado compartilhado uma vez. Reutilizar trabalho exige identificar estados completos, não apenas tabuleiros visualmente semelhantes.

Veja por que a busca completa se torna inviável

O xadrez é frequentemente modelado com cerca de 35 jogadas permitidas por posição e uma partida de 100 meias-jogadas, ou 50 jogadas de cada jogador. Isso fornece a escala aproximada:

35100≈10154.

Ramos reais terminam em profundidades diferentes e têm números diferentes de jogadas, mas essa estimativa já explica por que enumerar uma árvore de jogo completa de xadrez é impraticável. Em um tabuleiro vazio de Go de 19 por 19, só a primeira pedra tem 361 pontos possíveis.

A árvore de busca é o que um algoritmo de fato gera. O minimax simples gera a árvore de jogo completa abaixo do estado em um jogo finito que ele busca até o fim. Poda, limites de profundidade e simulação seletiva geram menos. Uma folha de corte pode, portanto, ser uma posição não terminada, embora uma folha da árvore de jogo completa seja terminal.

Visualize uma estratégia dentro da árvore

Uma subárvore de estratégia para MAX mantém uma aresta selecionada em cada nó MAX e todas as arestas permitidas em cada nó MIN. MAX escolhe sua própria ação, mas deve manter uma resposta para qualquer jogada do oponente. Um único caminho da raiz a uma folha descreve apenas uma partida possível. Ele não consegue mostrar que o plano escolhido resiste às outras respostas.

Principais conclusões

  • Uma meia-jogada é a jogada de um jogador; a profundidade da raiz é zero.
  • Uma árvore uniforme tem cerca de b elevado a m folhas.
  • Transposições repetem estados alcançados por diferentes ordens de jogadas.
  • Uma estratégia mantém uma resposta para cada jogada possível do oponente.
2

Escolha jogadas contra um oponente

O desfecho que parece melhor pode ser inalcançável porque um oponente pode escolher outra resposta. O minimax trabalha de trás para frente a partir dos resultados para descobrir o que cada jogador pode garantir. Sua forma recursiva transforma esse raciocínio em um programa. Quando os jogadores têm interesses diferentes, o mesmo processo de trás para frente deve levar um ganho para cada jogador e usar a preferência de quem age em seguida.

2.1 Propague valores minimax

O minimax escolhe o melhor resultado que MAX pode garantir contra um oponente que joga de modo ótimo. Toda utilidade de folha é medida para MAX. Um número grande favorece MAX mesmo quando o nó avaliado pertence a MIN.

Trabalhe das folhas em direção à raiz

Em um nó terminal, retorne sua utilidade. Em um nó MAX, retorne o maior valor dos filhos. Em um nó MIN, retorne o menor. Continue até que a raiz receba um valor:

V(s)={Utilidade(s,MAX)se s eˊ terminalmaxaV(Resultado(s,a))se MAX ageminaV(Resultado(s,a))se MIN age.

O valor de um filho já resume a continuação ótima a partir dele. Por isso, um nó pai compara os valores retornados em vez de reabrir todas as folhas abaixo deles. A recursão funciona com qualquer número de níveis alternados.

Acompanhe uma decisão de duas meias-jogadas

MAX tem três jogadas, cada uma levando a um nó MIN:

Jogada de MAXUtilidades terminais disponíveis para MINValor propagado
A4, 9, 64
B2, 15, 132
C5, 8, 105

Primeiro, tome o mínimo em cada linha. MIN pode fazer A valer 4, B valer 2 e C valer 5. Em seguida, MAX toma o máximo desses três resultados:

max⁡(4,2,5)=5.

O valor minimax é 5. A decisão minimax é a jogada para C. Um é um número que descreve a posição; a outra é uma ação que o programa pode executar.

A maior folha, 15, está sob B, mas MAX não controla a resposta que chega a ela. MIN escolheria 2. A média das folhas de B é 10, o que também parece atraente, mas a média modela uma escolha aleatória com probabilidades adequadas. Um oponente que joga de modo ótimo exige um mínimo.

Interprete a variante principal

A variante principal é a sequência seguida quando os jogadores escolhem jogadas ótimas. Aqui, MAX joga C e MIN escolhe sua folha de valor 5. Em uma árvore mais profunda, siga o máximo ou mínimo escolhido em cada nível. A utilidade terminal nessa sequência corresponde ao valor da raiz. Se várias jogadas empatam, pode existir mais de uma sequência ótima.

Entenda a garantia

Em um jogo finito determinístico de soma zero com dois jogadores e informação perfeita, seguir a estratégia minimax garante pelo menos o valor da raiz. Um oponente que joga de modo ótimo limita MAX a esse valor. Um erro do oponente pode permitir um resultado melhor, portanto 5 é um limite inferior, não uma previsão de que toda partida deve terminar exatamente em 5.

Um programa pode aproveitar uma fraqueza preservando esse limite. Se duas jogadas têm valor minimax 5, ele pode preferir aquela que oferece mais oportunidades para o oponente cometer um erro. Escolher uma jogada de valor minimax 2 porque ela contém um tentador 15 abandona a garantia de 5. A diferença está em a jogada preservar ou não o melhor valor no pior caso.

Principais conclusões

  • Propague um mínimo nos nós MIN e um máximo nos nós MAX.
  • O valor minimax é um número; a decisão é uma jogada.
  • A maior folha, por si só, não identifica a melhor jogada.
  • Uma variante principal segue escolhas ótimas em cada nível.
  • O minimax completo garante seu valor contra um oponente que joga de modo ótimo.
  • Um oponente mais fraco pode permitir um resultado acima dessa garantia.

2.2 Escreva um programa minimax recursivo

A definição de minimax já é um programa recursivo. Uma função de valor recebe um estado e retorna um número. Uma função de busca compara as primeiras jogadas possíveis e retorna a ação a ser executada.

Separe a escolha da jogada do cálculo do valor

O pseudocódigo a seguir pressupõe que MAX age na raiz e que os turnos se alternam:

MINIMAX-SEARCH(s):
    if Is-Terminal(s): return no action
    bestMove = no action
    bestValue = -infinity
    for a in Actions(s):
        value = MIN-VALUE(Result(s, a))
        if value > bestValue:
            bestValue = value
            bestMove = a
    return bestMove

MAX-VALUE(s):
    if Is-Terminal(s): return Utility(s, MAX)
    v = -infinity
    for a in Actions(s):
        v = max(v, MIN-VALUE(Result(s, a)))
    return v

MIN-VALUE(s):
    if Is-Terminal(s): return Utility(s, MAX)
    v = +infinity
    for a in Actions(s):
        v = min(v, MAX-VALUE(Result(s, a)))
    return v

Inicialize MAX com infinito negativo para que qualquer filho o melhore; inicialize MIN com infinito positivo. Verifique o término antes de gerar sucessores. Um tabuleiro de jogo da velha cheio sem uma linha vencedora é um empate, não uma posição não terminal cuja melhor jogada deve ser selecionada de uma lista vazia.

Acompanhe o que a recursão descobre

Considere este tabuleiro de jogo da velha, com X na vez e um ponto para cada casa vazia:

X O X
. O .
. . .

O ameaça completar a coluna do meio. Se X jogar em qualquer lugar exceto na casa inferior central, O poderá vencer no próximo turno. Essas jogadas têm valor −1 para X. Jogar na casa inferior central bloqueia a vitória imediata e permite um empate com jogo ótimo, resultando em valor 0. A raiz retorna a casa inferior central. O algoritmo não precisa de uma instrução separada que identifique essa ameaça: os resultados terminais determinam os valores.

Calcule os custos de tempo e memória

O minimax em profundidade examina O(bm) nós para fator de ramificação b e profundidade máxima m. Armazenar todos os irmãos gerados em cada nível ativo exige memória O(bm). Gerar sucessores um por vez reduz o armazenamento da busca ativa para O(m), além da representação do estado. O tempo exponencial, não a pilha de recursão, geralmente é o principal obstáculo.

Preserve a convenção de pontuação

No código MAX/MIN, toda chamada retorna a utilidade de MAX. Não inverta seu sinal apenas porque MIN age em seguida. O negamax usa uma convenção diferente: cada valor é do ponto de vista do jogador atual, portanto o valor de um filho é negado antes de o pai maximizá-lo:

V(s)=max⁡a(−V(Resultado(s,a))).

Para um jogo que termina em menos de 100 meias-jogadas, o tempo pode ser incluído atribuindo-se a uma vitória de MAX na profundidade d a pontuação 100−d, a uma derrota −100+d e a um empate 0. Vitórias mais rápidas recebem então pontuações maiores e derrotas adiadas são menos negativas. O limite estrito de profundidade mantém toda vitória positiva e toda derrota negativa.

Por exemplo, vitórias nas meias-jogadas 3 e 7 recebem 97 e 93 pontos, portanto a vitória mais rápida é preferida. Derrotas nessas profundidades recebem −97 e −93, tornando a derrota mais tardia preferível, embora ambas continuem piores que um empate.

Principais conclusões

  • Verifique os estados terminais antes de expandir jogadas.
  • Retorne ações da função de busca e números das funções de valor.
  • O minimax em profundidade leva tempo exponencial.
  • Todas as utilidades MAX/MIN mantêm o ponto de vista de MAX.
  • O negamax muda o ponto de vista e nega cada valor retornado por um filho.

2.3 Mantenha um ganho para cada jogador

Uma única utilidade de MAX funciona quando os interesses de dois jogadores são estritamente opostos. Com vários jogadores ou interesses que coincidem, mantenha um vetor de utilidades. Para os jogadores A, B e C, o vetor (1, 2, 6) fornece seus ganhos nessa ordem.

Selecione pela entrada do jogador ativo

Em um nó em que C age, compare as terceiras entradas dos vetores dos filhos. Retorne o vetor inteiro do filho preferido por C. Em um nó de B, compare as segundas entradas desses vetores retornados; em um nó de A, compare as primeiras.

Não maximize cada entrada independentemente. Se os resultados disponíveis forem (1, 2, 6) e (4, 2, 3), C escolhe (1, 2, 6). A combinação (4, 2, 6) não é um resultado disponível e não pode ser propagada.

Trabalhe de trás para frente com três jogadores

A joga primeiro, depois B e depois C. Na jogada de A à esquerda, B escolhe entre dois nós de C:

  • O primeiro tem folhas (1, 2, 6) e (4, 2, 3). C escolhe (1, 2, 6).
  • O segundo tem folhas (6, 1, 2) e (7, 4, 1). C escolhe (6, 1, 2).

B compara as segundas entradas 2 e 1, portanto o ramo esquerdo retorna (1, 2, 6).

Na jogada de A à direita:

  • C escolhe (5, 4, 5) em vez de (2, 5, 4), porque 5 é maior que 4 na terceira entrada.
  • C escolhe (5, 2, 4) em vez de (7, 7, 1), porque 4 é maior que 1 na terceira entrada.

B compara as segundas entradas 4 e 2, portanto o ramo direito retorna (5, 4, 5). Por fim, A compara as primeiras entradas 1 e 5 e escolhe a direita. A raiz recebe o vetor inteiro (5, 4, 5).

Indique como os empates são resolvidos

Se C puder escolher (2, 3, 4) ou (6, 1, 4), ambos darão 4 a C. O ganho final de A poderá ser 2 ou 6. Uma previsão precisa de uma regra de desempate ou de um modelo da escolha de C. A indiferença de outro jogador não é necessariamente inofensiva para o jogador da raiz.

ModeloO que cada outro jogador prefere
Propagação de vetores de utilidadesUm valor maior na própria entrada do vetor
Vários adversários MINUm valor menor da única utilidade de MAX
Busca paranoicaCada outro jogador é modelado como parte de uma coalizão contra o jogador da raiz

Se dois perseguidores querem capturar MAX, uma rodada tem uma camada MAX e uma camada MIN para cada perseguidor. Com dois perseguidores, uma rodada tem três meias-jogadas. Esse modelo difere de três jogadores independentes que buscam suas próprias recompensas.

Permita que os interesses coincidam

Em um jogo de soma geral, ambos os jogadores podem preferir (100, 100) a ganhos conjuntos menores. Os jogadores também podem se beneficiar temporariamente ao atacar um líder comum. Esse comportamento semelhante a uma aliança pode resultar de suas próprias preferências e mudar quando a posição muda.

Os cortes comuns da poda alfa-beta dependem de interesses opostos e não se transferem diretamente para vetores de utilidades. O modelo paranoico restaura uma oposição entre dois jogadores, permitindo a busca alfa-beta, mas pode prever uma hostilidade coordenada que os outros jogadores não escolheriam de fato.

Principais conclusões

  • Um vetor de utilidades mantém um ganho por jogador.
  • O jogador ativo escolhe pela própria entrada e retorna o vetor inteiro.
  • Empates exigem uma regra quando as escolhas empatadas afetam os outros jogadores de modo diferente.
  • Várias camadas MIN são adequadas a adversários que compartilham o objetivo de reduzir a utilidade de MAX.
  • O modelo paranoico pressupõe uma coalizão contra o jogador da raiz.
3

Ignore ramos que não podem mudar a escolha

O minimax pode passar a maior parte do tempo confirmando escolhas que um jogador nunca permitiria. A poda alfa-beta leva limites ao longo do caminho atual para poder interromper essas buscas mais cedo. A ordem das jogadas determina quando surgem limites úteis. O aprofundamento iterativo e os resultados armazenados ajudam um programa a encontrar essa ordem e reutilizar trabalho anterior sem confundir uma estimativa incompleta com um valor exato.

3.1 Acompanhe alfa e beta pela árvore

A poda alfa-beta fornece o mesmo valor da raiz que o minimax na mesma árvore com os mesmos valores nas folhas. Ela economiza trabalho ao demonstrar que alguns ramos não podem melhorar a escolha. Jogadas ótimas empatadas podem ser retornadas em outra ordem.

Passe uma janela de busca pelo caminho

Dois limites descrevem as escolhas disponíveis acima do nó atual:

  • α é o melhor valor disponível para MAX ao longo do caminho: MAX já pode obter pelo menos esse valor.
  • β é o melhor valor disponível para MIN ao longo do caminho: MIN já pode limitar MAX a no máximo esse valor.

Inicie a raiz com infinito negativo e positivo. Cada filho recursivo recebe os limites atuais. Eles são argumentos locais, não números globais compartilhados entre buscas em irmãos não relacionados.

Em um nó MAX, mantenha o maior valor de filho visto. Pare quando ele atingir ou superar beta: MIN acima já tem uma alternativa que não é maior que beta. Caso contrário, aumente alfa quando MAX encontrar uma melhora. Em um nó MIN, mantenha o menor valor de filho visto. Pare quando ele atingir alfa ou ficar abaixo dele: MAX acima já tem uma alternativa pelo menos tão boa. Caso contrário, reduza beta.

MAX-VALUE(s, alpha, beta):
    if Is-Terminal(s): return Utility(s, MAX)
    v = -infinity
    for a in Actions(s):
        v = max(v, MIN-VALUE(Result(s, a), alpha, beta))
        if v >= beta: return v
        alpha = max(alpha, v)
    return v

MIN-VALUE(s, alpha, beta):
    if Is-Terminal(s): return Utility(s, MAX)
    v = +infinity
    for a in Actions(s):
        v = min(v, MAX-VALUE(Result(s, a), alpha, beta))
        if v <= alpha: return v
        beta = min(beta, v)
    return v

A raiz compara ações e mantém alfa entre elas:

ALPHA-BETA-SEARCH(s):
    if Is-Terminal(s): return no action
    alpha = -infinity
    beta = +infinity
    bestMove = no action
    for a in Actions(s):
        v = MIN-VALUE(Result(s, a), alpha, beta)
        if v > alpha:
            alpha = v
            bestMove = a
    return bestMove
Acompanhe um corte em MIN

Pesquise os ramos MIN A = (4, 9, 6), B = (2, 15, 13) e C = (5, 8, 10), da esquerda para a direita. A precisa examinar as três folhas e retorna 4. A raiz agora tem alfa 4. A primeira folha de B é 2. Seu mínimo final só pode permanecer em 2 ou diminuir, portanto B não pode superar A. Ignore as duas folhas restantes de B. C examina as três folhas e retorna 5. A raiz escolhe C após examinar sete das nove folhas.

Acompanhe um corte em MAX

Suponha que um pai MIN já tenha um filho de valor 3, definindo beta como 3. Seu próximo filho MAX encontra uma folha de valor 6. O valor desse filho é pelo menos 6, portanto MIN preferirá seu 3 já existente. Ignore os filhos restantes desse nó MAX. O raciocínio do corte usa a alternativa de MIN, embora o nó atual seja MAX.

Um nó MIN podado pode retornar um limite superior; um nó MAX podado pode retornar um limite inferior. Seus valores exatos permanecem desconhecidos. O valor final da raiz é exato para a árvore pesquisada. A igualdade também permite um corte porque um ramo que só pode empatar não pode melhorar o melhor valor atual.

Principais conclusões

  • Alfa é o limite inferior disponível para MAX; beta é o limite superior disponível para MIN.
  • MAX aumenta alfa e corta em beta.
  • MIN reduz beta e corta em alfa.
  • Passe os limites para baixo como argumentos locais.
  • O resultado de um corte pode ser um limite em vez do valor exato de um nó.
  • A poda preserva o valor minimax da raiz, inclusive com cortes na igualdade.

3.2 Encontre limites úteis cedo e reutilize buscas

A poda alfa-beta economiza mais trabalho quando jogadas fortes são pesquisadas cedo. Os valores não mudam com a ordem das jogadas; o que muda é o momento em que a busca consegue demonstrar um corte.

Compare duas ordens

Para os três ramos MIN A = (4, 9, 6), B = (2, 15, 13) e C = (5, 8, 10), começar por A exige examinar sete folhas. Comece por C. Suas três folhas estabelecem alfa 5. A encontra 4 imediatamente e sofre um corte; B encontra 2 imediatamente e sofre um corte. Apenas cinco folhas são avaliadas, e a resposta continua sendo C com valor 5.

Para uma árvore uniforme com ordenação perfeita, a contagem de folhas é:

b⌈m/2⌉+b⌊m/2⌋−1.

Isso é cerca de O(bm/2) em vez de O(bm) do minimax. O fator de ramificação efetivo cai para cerca de b, permitindo aproximadamente o dobro da profundidade com recursos comparáveis. Com b=35, a profundidade 8 com ordenação perfeita avalia 3.001.249 folhas; o minimax comum de profundidade 4 tem 1.500.625 folhas. A comparação diz respeito à escala, não a tempos de execução idênticos.

OrdenaçãoCusto aproximado em folhas
PerfeitaO(bm/2)
Aleatória, para fatores de ramificação moderadosCerca de O(b3m/4)
Pior casoO(bm)

Na pior ordem, a poda alfa-beta pode examinar todas as folhas do minimax. Suas verificações adicionais de limites acrescentam custo mesmo quando não economizam folhas.

Use pistas de ordenação baratas

A melhor jogada exata é desconhecida antes da busca. Os programas usam estimativas rápidas. No xadrez, podem testar capturas, depois ameaças e depois jogadas tranquilas. Uma jogada matadora causou um corte em outro ponto na mesma profundidade de busca e é testada cedo em outra posição. Essas pistas afetam a eficiência; elas não justificam descartar as outras jogadas permitidas.

O aprofundamento iterativo busca até a profundidade 1, depois 2, depois 3 e assim por diante. Uma jogada forte da iteração anterior se torna uma candidata inicial na próxima. O resultado mais profundo concluído também fica pronto caso o tempo acabe.

O trabalho repetido tem custos diferentes dependendo da poda. Para uma busca uniforme sem poda com fator de ramificação 35, todas as iterações menos profundas acrescentam cerca de 1/(35−1)≈2,9% à busca final. Para a poda alfa-beta com ordenação perfeita, as profundidades 1 a 7 juntas avaliam 1.677.159 folhas, cerca de 56% da contagem da profundidade 8. Uma ordenação melhor ainda pode fazer o processo completo valer a pena.

Armazene posições com seu significado

Uma tabela de transposições armazena resultados indexados pelo estado completo do jogo. Se outra ordem de jogadas alcançar esse estado, o programa poderá reutilizar uma entrada adequada. Armazene a profundidade pesquisada e se o resultado é exato, um limite inferior ou um limite superior. Uma entrada rasa não substitui a informação exigida por uma busca mais profunda. Um limite pode estreitar uma janela ou justificar um corte, mas não deve ser tratado como um valor exato.

Principais conclusões

  • A ordem das jogadas altera o trabalho da poda alfa-beta, não seu valor na raiz.
  • A ordenação perfeita reduz o custo exponencial para cerca de b elevado a m/2.
  • O aprofundamento iterativo fornece uma jogada já calculada e melhora a ordenação.
  • Uma entrada de transposição precisa da profundidade e de uma indicação de valor exato, limite inferior ou superior.
4

Avalie posições não terminadas com tempo limitado

Jogos grandes obrigam a busca a parar enquanto a partida ainda não terminou. Uma função de avaliação fornece pontuações utilizáveis para essas posições da fronteira, e a busca as propaga pelas escolhas dos jogadores. A regra de parada importa tanto quanto a pontuação: uma posição no meio de uma captura pode parecer enganosamente forte. Extensões seletivas e consultas exatas ajudam um programa a gastar seu tempo limitado onde o resultado é mais sensível.

4.1 Construa e interprete uma função de avaliação

Uma função de avaliação estima quão favorável uma posição não terminada é para MAX. Ela torna possível a busca com profundidade limitada: a fronteira recebe valores estimados que podem ser propagados pelo minimax ou pela poda alfa-beta.

Torne as pontuações úteis para a busca

Um bom avaliador é rápido, concorda com a ordem dos resultados terminais reais e tem correlação com o sucesso a partir de posições não terminais. Os próprios estados terminais devem receber sua utilidade exata. Uma vitória de MAX deve ter pontuação acima de toda estimativa não terminal, para que acumular peças não se torne mais atraente que vencer.

Uma maneira de entender a avaliação é agrupar posições por características compartilhadas. Se esse grupo produz 72% de vitórias, 8% de empates e 20% de derrotas, com utilidades 1, ½ e 0, sua utilidade média é:

0,72×1+0,08×0,5+0,20×0=0,76.

Essa interpretação depende de como as posições e continuações foram amostradas. É uma estimativa da qualidade do resultado, não uma prova de vitória forçada.

Some características ponderadas

Um projeto comum é uma soma ponderada:

Avaliac¸a˜o(s)=∑i=1nwifi(s).

Cada característica fi(s) mede uma propriedade da posição; cada peso wi indica quanto ela contribui. Diferenças entre os lados mantêm claro o ponto de vista. Uma diferença material positiva significa que MAX tem mais material.

Os valores tradicionais do xadrez são peão 1, cavalo 3, bispo 3, torre 5 e dama 9. O rei não recebe um valor material de captura. Suponha que MAX seja as brancas. As brancas têm uma dama, duas torres, um bispo e seis peões:

9+2×5+3+6=28.

As pretas têm duas torres, dois cavalos, um bispo e sete peões:

2×5+2×3+3+7=26.

A característica material é, portanto, 28−26=2. Se as brancas têm 30 jogadas permitidas e as pretas 24, a diferença de mobilidade é 6. Com peso material 1 e peso de mobilidade 0,1:

Avaliac¸a˜o=1×2+0,1×6=2,6.

Esse 2,6 é uma pontuação de características, não uma probabilidade de vitória de 260%. Os pesos definem sua escala.

Considere características que interagem

Uma soma linear simples dá a cada característica uma contribuição fixa independente das demais. O valor real do jogo pode depender de combinações: um par de bispos pode valer mais que a soma de seus efeitos separados, e a importância de um peão pode mudar em um final de jogo. Características combinadas, pesos dependentes da fase ou avaliadores não lineares podem captar esses efeitos. Os pesos podem ser escolhidos por julgamento ou ajustados aos resultados de partidas registradas.

Mais características também custam tempo. Um avaliador elaborado que impede uma meia-jogada adicional útil de busca pode prejudicar a decisão, mesmo que suas estimativas individuais melhorem.

Ajuste a escala à regra de propagação

No minimax determinístico, transformações estritamente crescentes aplicadas de forma consistente preservam a ordem por meio de máximos e mínimos. Elevar apenas pontuações positivas ao quadrado, por exemplo, mantém sua ordem. Elevar ao quadrado pontuações arbitrárias com sinais positivos e negativos não mantém. Em nós de acaso, as distâncias reais entre utilidades importam porque os valores são calculados pela média. Uma pontuação projetada apenas para ordenar posições precisa de calibração antes de poder representar a utilidade esperada.

Principais conclusões

  • Avalie estados não terminais da fronteira e use a utilidade exata nos estados terminais.
  • Uma vitória real deve superar toda estimativa não terminal.
  • Um avaliador ponderado soma características medidas multiplicadas por seus pesos.
  • Pontuações de características não precisam ser probabilidades.
  • Interações podem exigir características combinadas ou pesos variáveis.
  • Nós de acaso precisam de valores de utilidade em uma escala significativa.

4.2 Escolha onde parar e onde buscar mais profundamente

O minimax heurístico para antes do fim do jogo. Sua resposta é ótima para a árvore pesquisada com as pontuações atribuídas à fronteira. Ainda assim, ele pode escolher uma jogada que leva à derrota no jogo real quando essas estimativas não captam o que acontece em seguida.

Diferencie estados terminais de cortes

Um estado terminal tem um resultado conhecido. Um corte de profundidade deixa a partida inacabada e precisa de uma estimativa. Faça os testes nessa ordem:

H-MINIMAX(s, d):
    if Is-Terminal(s): return Utility(s, MAX)
    if Is-Cutoff(s, d): return Eval(s)
    if To-Move(s) == MAX:
        return max over a of H-MINIMAX(Result(s, a), d + 1)
    return min over a of H-MINIMAX(Result(s, a), d + 1)

O teste de corte geralmente verifica se a profundidade atingiu um limite. A poda alfa-beta pode podar essa mesma árvore heurística. Sua poda continua exata em relação a esses valores da fronteira; ela não transforma estimativas em resultados reais do jogo.

Sob um limite de tempo, o aprofundamento iterativo mantém a ação da iteração mais profunda concluída. Uma raiz parcialmente pesquisada em uma iteração mais profunda pode favorecer o primeiro ramo simplesmente porque seus concorrentes ainda não foram avaliados.

Conclua uma troca tática

Uma posição quiescente é suficientemente estável para que uma curta continuação forçada provavelmente não altere muito sua avaliação. A busca de quiescência continua além da profundidade normal em posições instáveis, geralmente seguindo capturas até que a troca se encerre.

Suponha que a dama branca capture um peão exatamente no limite de profundidade. A pontuação material melhora em 1. Mas as pretas podem recapturar essa dama na meia-jogada seguinte. A mudança material líquida é:

1−9=−8.

Parar após a primeira captura indica +1; uma breve extensão de capturas revela −8. O problema é avaliar no meio de uma troca, não uma falha da regra de propagação do minimax.

Reconheça perdas adiadas

O efeito horizonte ocorre quando um programa adia uma perda inevitável até que ela fique além da profundidade de busca. Um bispo preso ainda pode ser perdido após vários xeques com peões. Se a busca enxerga os xeques, mas para antes da captura do bispo, ela pode sacrificar peões para esconder essa perda futura.

Uma extensão singular busca mais profundamente ao longo de uma jogada claramente superior às alternativas. Os programas também estendem xeques forçados ou recapturas. As extensões gastam profundidade adicional em sequências selecionadas; elas precisam de um limite de recursos para que a busca ainda possa terminar.

TécnicaBase para fazer menos ou mais trabalho
Alfa-betaUm limite prova que um ramo não pode melhorar a decisão.
Poda antecipadaUma heurística prevê que algumas jogadas não são importantes.
Quiescência ou extensão táticaUma sequência instável ou forçada precisa de mais profundidade.

A poda antecipada, como manter apenas algumas das melhores jogadas, pode descartar a jogada vencedora. Sua economia não traz a garantia da poda alfa-beta.

Substitua a busca por conhecimento exato armazenado

Um livro de aberturas fornece jogadas iniciais estudadas. Bases de dados de finais trabalham de trás para frente a partir de resultados conhecidos por meio de análise retrógrada. Bases de xadrez de sete peças incluem os dois reis e fornecem resultados exatos para os finais abrangidos. As regras e as informações de estado usadas na consulta devem corresponder ao jogo em andamento.

Principais conclusões

  • Use a utilidade exata para estados terminais e a avaliação para cortes em posições não terminadas.
  • Execute a melhor ação da iteração mais profunda concluída.
  • A busca de quiescência conclui trocas táticas antes da avaliação.
  • O efeito horizonte pode recompensar atrasos custosos de uma perda inevitável.
  • A poda antecipada pode perder a melhor jogada; a poda alfa-beta prova que seus cortes são seguros.
  • Livros e bases de dados de finais fornecem conhecimento armazenado em vez de uma nova busca.
5

Propague resultados aleatórios com probabilidades

Alguns ramos são escolhidos por um jogador; outros são escolhidos pelo acaso. A regra de propagação deve acompanhar essa diferença em cada nó. Médias ponderadas permitem que um programa lide com dados ou com um modelo de comportamento imprevisível, mas também tornam importante a escala numérica do avaliador. A escolha adequada depende tanto das regras do jogo quanto da precisão com que o programa modela seu oponente.

5.1 Calcule valores por meio de nós de acaso

Um nó de acaso representa um evento aleatório. Seus ramos apresentam resultados possíveis e suas probabilidades, que somam 1. Nenhum jogador escolhe o ramo mais favorável para si.

Use a regra correspondente a cada nó
NóValor propagado
TerminalSua utilidade
MAXO valor máximo dos filhos
MINO valor mínimo dos filhos
AcasoA média dos valores dos filhos ponderada pelas probabilidades

Para resultados r, um nó de acaso tem valor:

∑rP(r)V(Resultado(s,r)).

O expectiminimax combina as quatro regras. O expectimax usa MAX e acaso quando não há jogador minimizador. Um modelo de probabilidade de um oponente aleatório pode fornecer ramos de acaso mesmo em um jogo cujas regras de jogada são determinísticas.

Trabalhe de trás para frente com acaso e oposição

MAX escolhe L ou R. Cada jogada leva a um evento aleatório, seguido de uma escolha de MIN.

Após L, uma moeda justa leva a dois nós MIN. Suas folhas são (3, 7) e (8, 4). MIN retorna 3 e 4. O nó de acaso fornece então:

0,5×3+0,5×4=3,5.

Após R, as probabilidades 0,25 e 0,75 levam a nós MIN com folhas (10, 1) e (6, 5). Seus valores são 1 e 5, portanto:

0,25×1+0,75×5=4.

MAX escolhe R porque 4 é maior que 3,5. Calcular primeiro a média das folhas terminais diretamente faria o acaso substituir a decisão de MIN. Processe cada nó depois que seus filhos tiverem sido resolvidos.

Atribua as probabilidades corretas

Dois dados justos têm 36 resultados ordenados igualmente prováveis. O gamão agrupa ordens invertidas, como 3–5 e 5–3, em um mesmo lançamento. Isso fornece 21 lançamentos distintos: seis duplas com probabilidade 1/36 cada e 15 lançamentos sem dupla com probabilidade 1/18 cada. A verificação é:

6×136+15×118=1.

Atribuir probabilidade 1/21 a cada um dos 21 lançamentos superestimaria as duplas e subestimaria os lançamentos sem dupla. Ramos que parecem equivalentes não precisam ter probabilidades iguais.

Se cada etapa de decisão tem b jogadas permitidas e um evento de acaso com n resultados, pesquisar m dessas etapas custa cerca de O(bmnm). A convenção de profundidade deve incluir a frequência do acaso. Com cerca de 20 jogadas permitidas e 21 lançamentos, os ramos adicionais de acaso do gamão limitam rapidamente a busca exaustiva à frente.

Por exemplo, duas etapas contendo cada uma 21 resultados de acaso e 20 ações produzem (21×20)2=176.400 caminhos. Conte os eventos de acaso separadamente das meias-jogadas dos jogadores ao estimar esse custo.

Pode apenas quando os resultados não vistos tiverem limites

Uma média parcial não é um limite minimax. Se as utilidades estiverem entre 0 e 10 e o primeiro de dois resultados igualmente prováveis valer 2, o nó inteiro estará entre 1 e 6. Em particular:

V≤0,5×2+0,5×10=6.

Se MAX já tiver outra jogada de valor 7, esse nó de acaso não poderá superá-la e o resultado restante poderá ser ignorado. Sem um limite adequado para os valores não vistos, um resultado extremo ainda poderia alterar a média o suficiente para inverter a escolha.

Principais conclusões

  • Nós de acaso retornam médias ponderadas, não máximos ou mínimos.
  • Resolva os filhos antes de combiná-los no nó pai.
  • Verifique se as probabilidades de acaso somam 1.
  • Duplas e lançamentos sem dupla no gamão têm probabilidades diferentes.
  • A ramificação de acaso multiplica o custo da busca.
  • Limitar os resultados não examinados pode justificar um corte em um nó de acaso.

5.2 Escolha uma escala de utilidade e um modelo do oponente

O minimax pergunta qual resultado um oponente pode garantir. O expectimax pergunta qual utilidade média resulta de um modelo de probabilidade. Suas decisões podem diferir mesmo na mesma árvore porque representam comportamentos diferentes.

Compare oposição ótima e aleatória

Para os ramos MIN A = (4, 9, 6), B = (2, 15, 13) e C = (5, 8, 10), o minimax escolhe C com uma garantia de 5. Se o oponente escolher cada resposta uniformemente, os valores esperados serão cerca de 6,33, 10 e 7,67. O expectimax escolhe B.

Isso é sensato sob o modelo uniforme, mas um adversário habilidoso pode responder a B com 2. O expectimax não pressupõe que o oponente minimize uma média. Ele usa as probabilidades especificadas. Com um modelo correto, maximiza a utilidade esperada; a proteção no pior caso é mais fraca que a do minimax. Ele pode empatar com o desempenho médio do minimax quando ambos recomendam a mesma jogada.

Uma árvore pode misturar modelos. O nó de um agente hostil toma um mínimo, enquanto o nó de um agente aleatório toma uma média ponderada. Use a regra do agente que age naquele nó, não uma única regra para todas as camadas que não sejam MAX.

Veja por que a ordem, por si só, é insuficiente

Suponha que a jogada A dê 2 com probabilidade 0,6 e 3 com probabilidade 0,4. A jogada B dá 1 com probabilidade 0,6 e 4 com probabilidade 0,4:

E[A]=0,6×2+0,4×3=2,4, E[B]=0,6×1+0,4×4=2,2.

A tem o maior valor esperado. Agora eleve cada valor terminal ao cubo. Sua classificação permanece a mesma, mas os valores esperados passam a ser:

E[A3]=0,6×8+0,4×27=15,6, E[B3]=0,6×1+0,4×64=26,2.

B agora vence a comparação. Calcular a média dos resultados transformados é diferente de transformar sua média. Elevar ao cubo amplifica o benefício do resultado alto de B o suficiente para mudar a decisão.

Preserve decisões com as transformações corretas
Regra de propagaçãoTransformação que preserva as decisões
MinimaxQualquer transformação estritamente crescente aplicada de forma consistente
Utilidade esperadaUma transformação afim com coeficiente angular positivo, ax+c com a>0

Uma transformação afim com coeficiente angular positivo multiplica todo valor esperado pelo mesmo número positivo e soma a mesma constante. Aplicar 10x+5 dá a A o valor 29 e a B o valor 27, mantendo a preferência por A.

Se A e B fossem nós MIN, seus valores seriam 2 e 1 antes de elevar ao cubo e 8 e 1 depois. Sua ordem permaneceria inalterada. Máximos e mínimos selecionam um valor de filho; médias combinam as magnitudes de vários valores.

Um avaliador usado com acaso deve, portanto, estimar a utilidade esperada pretendida em uma escala consistente, como a probabilidade de vitória ou uma transformação afim com coeficiente angular positivo dessa probabilidade. Uma pontuação de ordenação não linear pode ser adequada ao minimax determinístico e, ao mesmo tempo, produzir escolhas inadequadas diante do risco quando há acaso.

Principais conclusões

  • Escolha minimax para oposição ótima e valor esperado para um modelo de probabilidade.
  • Um modelo de acaso correto otimiza a utilidade média, com proteção mais fraca no pior caso.
  • Transformações estritamente crescentes preservam decisões minimax.
  • Transformações afins com coeficiente angular positivo preservam decisões por utilidade esperada.
  • Uma transformação não linear pode mudar uma escolha baseada em médias.
6

Use simulações para orientar uma árvore de busca em crescimento

Quando o espaço de jogadas é enorme, um programa pode estimar resultados simulando continuações e direcionar o trabalho posterior para ramos úteis. A busca em árvore de Monte Carlo armazena esses resultados em uma árvore que cresce. Sua regra de seleção equilibra jogadas que já parecem fortes com jogadas cujas estimativas ainda são incertas. Escolher uma ação final exige avaliar as evidências acumuladas e reconhecer as respostas táticas que a simulação pode deixar passar.

6.1 Execute uma iteração da busca em árvore de Monte Carlo

A busca em árvore de Monte Carlo, ou MCTS, estima jogadas a partir de partidas simuladas enquanto constrói uma árvore que orienta simulações futuras. Uma continuação simulada até o fim é uma simulação de partida ou simulação de continuação. Sua política pode selecionar jogadas permitidas aleatórias ou usar conhecimento de baixo custo para produzir um jogo mais sensato.

Armazene evidências em cada nó

Mantenha uma contagem de visitas N(n) e uma recompensa acumulada U(n). Em um jogo de vitória e derrota com dois jogadores, use as vitórias do jogador que fez a jogada que levou ao nó n. Um empate geralmente acrescenta meia vitória. Então U(n)/N(n) estima a taxa de sucesso desse jogador.

A raiz não tem uma jogada de entrada. Suas visitas ainda contam todas as iterações; as vitórias da raiz podem ser acompanhadas do ponto de vista do jogador da raiz, se necessário. As pontuações dos filhos, que orientam a seleção, devem usar de forma consistente o ponto de vista de quem fez a jogada de entrada.

Repita as quatro fases
  1. Seleção: A partir da raiz, siga uma política de seleção pelos filhos existentes até chegar a um nó terminal ou a um nó com uma jogada não testada.
  2. Expansão: Se o nó não for terminal, acrescente um filho para uma jogada permitida não testada.
  3. Simulação: Execute uma simulação de partida a partir desse filho até um resultado terminal.
  4. Retropropagação de resultados: Atualize visitas e recompensas dos nós no caminho selecionado.

Se a seleção chegar a um nó terminal, pule a expansão e a simulação. Seu resultado conhecido pode ser propagado imediatamente. A continuação temporária de uma simulação de partida não precisa ser armazenada como novos nós da árvore: a expansão comum acrescenta um filho por iteração.

Acompanhe uma atualização de recompensa

As brancas agem na raiz. A seleção e a expansão seguem:

  • n1, alcançado pela jogada das brancas;
  • n2, alcançado pela jogada das pretas;
  • n3, alcançado pela jogada das brancas.

A simulação termina com vitória das pretas. Aumente as visitas em um na raiz e em n1, n2 e n3. Entre esses três nós filhos, aumente as vitórias apenas em n2, pois quem fez a jogada de entrada em n2 foram as pretas. Os nós filhos das brancas não recebem acréscimo de vitória. Sob uma convenção do jogador da raiz, o total de vitórias da própria raiz também permanece inalterado.

Um empate acrescentaria 0,5 à recompensa de cada filho. Contar a vitória das pretas como sucesso em todos os nós faria as brancas selecionarem jogadas que ajudam as pretas.

Deixe a árvore crescer de modo desigual

Iterações repetidas concentram simulações em ramos promissores ou incertos. Jogadas que parecem fortes tendem a adquirir subárvores maiores, enquanto jogadas ruins recebem menos trabalho. A busca não impõe uma profundidade fixa a todas as sequências. Assim que houver uma jogada permitida disponível, ela poderá parar em um limite de tempo e usar suas estatísticas acumuladas.

A ação final geralmente é o filho da raiz com mais visitas. Uma jogada com duas vitórias em duas simulações tem uma taxa observada perfeita, mas poucas evidências. Uma jogada muito visitada reflete uma análise muito maior pela busca.

A busca pura de Monte Carlo atribui simulações de partida independentes às jogadas da raiz sem expandir uma árvore de decisão. Ela pode deixar passar repetidamente uma resposta forte do oponente porque as jogadas posteriores continuam sendo regidas pela política de simulação. A MCTS aprende onde ramificar mais profundamente à medida que acumula evidências, embora uma refutação tática rara ainda possa levar tempo para ser descoberta.

Principais conclusões

  • A MCTS armazena contagens de visitas e recompensas acumuladas em uma árvore em crescimento.
  • Use seleção, expansão, simulação e retropropagação de resultados.
  • Um nó terminal selecionado precisa apenas ter seu resultado conhecido propagado.
  • As recompensas de um filho contam o sucesso do jogador que fez a jogada que levou a ele.
  • A ação final geralmente é o filho da raiz mais visitado.

6.2 Equilibre recompensas conhecidas com jogadas incertas

A MCTS precisa decidir onde outra simulação será mais útil. A explotação revisita jogadas que já parecem fortes. A exploração investiga jogadas com menos evidências que podem se mostrar melhores. Buscar sempre a maior taxa de vitórias observada pode prender a busca a um resultado inicial obtido por sorte.

Calcule uma pontuação UCB1

A pontuação de limite superior de confiança para o filho n é:

UCB1(n)=U(n)N(n)+Cln⁡N(Pai(n))N(n).

O primeiro termo é a taxa de vitórias observada. O segundo é um bônus de exploração. Ele cresce à medida que o pai acumula visitas e diminui à medida que o filho recebe mais visitas. O logaritmo é natural. Durante a seleção, escolha o filho com a maior pontuação combinada.

Trate um filho não visitado como tendo prioridade infinita em vez de dividir por zero. Toda jogada permitida em um nó é testada antes que a seleção passe a favorecer repetidamente alternativas visitadas. A MCTS que usa essa regra de seleção é chamada de UCT, busca em árvore com limites superiores de confiança.

Compare três filhos

Um nó pai tem 50 visitas. Seus filhos têm contagens de vitórias/visitas de 21/30, 7/12 e 3/8. Com C=2 e ln⁡50≈3,912:

FilhoTaxa de vitóriasBônus de exploraçãoTotal
Primeiro0,7000,5111,211
Segundo0,5830,8071,391
Terceiro0,3750,9891,364

O segundo filho é selecionado. Sua taxa de vitórias atual é menor que a do primeiro filho, mas seu bônus de incerteza é maior. O terceiro é ainda menos visitado, mas sua taxa de vitórias menor deixa seu total ligeiramente abaixo do segundo.

Com C=0,5, os mesmos totais passam a ser cerca de 0,881, 0,869 e 0,725. A seleção agora favorece o primeiro filho. Nenhum resultado mudou; o programa mudou o quanto recompensa a incerteza.

Interprete a constante de exploração

Um C positivo maior dá mais peso à exploração. Defini-lo como zero remove o bônus e escolhe apenas pela média observada. A formulação do problema do bandido com recompensas entre 0 e 1 motiva C=2 nessa forma da equação; programas de jogos práticos ajustam a constante. Mudar a escala da recompensa também altera o equilíbrio com o termo de exploração.

Em cada nó pai, seus filhos registram vitórias para o jogador que escolhe ali. Isso torna sensato maximizar UCB1 nos turnos de ambos os jogadores. Armazenar apenas vitórias das brancas em toda a árvore enquanto se maximiza cada pontuação faria as pretas favorecerem o sucesso das brancas.

Separe prioridade de busca de qualidade da jogada

UCB1 escolhe onde gastar a próxima simulação. Um grande bônus de incerteza pode fazer valer a pena investigar uma jogada pouco amostrada. Ao fim da busca, escolha o filho da raiz mais visitado, não aquele com a maior pontuação UCB1 atual. Nas condições de jogo finito da UCT e com exploração contínua, uma busca ilimitada converge para o comportamento minimax; um limite finito de recursos ainda deixa incerteza amostral.

Principais conclusões

  • UCB1 soma a recompensa média observada a um bônus de exploração.
  • Um C maior incentiva mais exploração.
  • Filhos não visitados recebem prioridade sem divisão por zero.
  • A seleção maximiza o sucesso esperado do jogador ativo.
  • UCB1 seleciona simulações; a escolha da jogada final geralmente usa visitas.
  • Um número finito de simulações deixa incerteza mesmo quando a regra está correta.

6.3 Escolha métodos de busca para jogos diferentes

Um método de busca deve ser adequado ao tamanho do espaço de jogadas, à qualidade da avaliação disponível e ao tipo de incerteza no jogo. O mesmo limite de tempo pode produzir decisões muito diferentes dependendo do que o método investiga.

Compare cobertura tática e simulação
Característica do jogoAbordagem útilMotivo
Ramificação moderada, avaliador forte, táticas intensasAlfa-beta com ordenação de jogadasVerifica as respostas relevantes dentro de sua profundidade.
Ramificação enorme ou avaliação escrita à mão fracaMCTSSimulações direcionam o esforço para partes promissoras da árvore.
Acaso com uma árvore rasa de tamanho administrávelExpectiminimax ou expectimaxProbabilidades explícitas podem ser propagadas diretamente.
Muitos resultados de acasoMCTS com amostragem de resultados aleatóriosA amostragem estima valores esperados sem listar todos os resultados em cada iteração.
Preferências independentes dos jogadoresVetores de utilidadesUm único escalar não pode representar o interesse de todos os jogadores.

A poda alfa-beta pode encontrar uma única refutação tática dentro de sua profundidade de busca. A MCTS pode inicialmente preferir uma jogada que vence a maioria das simulações aleatórias, mas perde diante de uma resposta precisa. À medida que sua árvore cresce, ela pode descobrir essa resposta, mas um limite pequeno de simulações pode deixá-la passar. Uma alta taxa de vitórias nas simulações, portanto, não é uma garantia para o pior caso.

Relacione métodos a programas marcantes

Em 1997, o Deep Blue da IBM usou busca alfa-beta, hardware especializado e avaliação de xadrez para derrotar o campeão mundial Garry Kasparov por 3½ a 2½ em seis partidas. Seu sucesso mostrou o quanto uma busca forte e uma avaliação específica do jogo podiam alcançar juntas.

O Go tornou essa combinação mais difícil. Um tabuleiro vazio de 19 por 19 oferece 361 posições para colocar uma pedra, e avaliar uma posição por características simples é difícil. A MCTS se tornou uma abordagem forte porque podia estimar resultados por meio de partidas e expandir uma árvore seletiva sem exigir um avaliador estático escrito à mão.

O AlphaGo combinou MCTS com redes neurais que sugerem jogadas e avaliam posições. Sua descrição na Nature em 2016 precedeu sua vitória por 4 a 1 sobre Lee Sedol em março de 2016. Mais tarde, o AlphaZero usou avaliação por rede neural no lugar de simulações aleatórias e alcançou um nível superior ao humano no xadrez, no shogi e no Go. Esses programas mostram que uma estrutura de busca pode usar diferentes fontes de valores para as posições.

Diferencie jogar bem de resolver um jogo

Um programa pode vencer um campeão sem provar o valor da posição inicial. Em 2007, a equipe de Jonathan Schaeffer usou busca e grandes bases de dados de finais para estabelecer que o jogo de damas é um empate com jogo perfeito. Resolver o jogo estabelece um resultado contra toda estratégia adversária possível, não apenas contra os oponentes testados em confrontos.

Ajuste o método ao modelo

Em um jogo estocástico, amostre resultados aleatórios segundo suas probabilidades reais durante o percurso da árvore e as simulações de partida. Um evento com probabilidade 0,8 deve ocorrer cerca de quatro vezes mais frequentemente que um com probabilidade 0,2 ao longo de muitas amostras. Isso estima o mesmo valor esperado ponderado que a propagação explícita de acaso calcula.

Toda abordagem ainda depende de regras e transições de estado corretas. A poda alfa-beta com profundidade limitada depende de seu avaliador; a MCTS depende de sua política de simulação ou avaliação e de seu limite finito de amostras. Modelar um oponente hostil como aleatório pode custar caro, qualquer que seja o mecanismo de busca usado para calcular a resposta desse modelo.

Principais conclusões

  • A poda alfa-beta é forte para táticas dentro de uma profundidade de busca administrável.
  • A MCTS é adequada a grandes fatores de ramificação e à elaboração difícil de avaliações.
  • Uma média de simulações pode deixar passar uma refutação decisiva rara.
  • A amostragem de resultados aleatórios deve seguir as probabilidades dos eventos.
  • Jogar em nível de campeão e provar que um jogo está resolvido são realizações diferentes.
  • A avaliação aprendida pode ser combinada com qualquer uma das duas estruturas de busca.

Exercícios resolvidos de Busca adversária

6 Lições Interativas

1

Modele as regras e desenhe partidas possíveis

11 passos
Construa um estado de jogo completo, classifique o jogo e use uma pequena árvore para diferenciar uma estratégia de uma partida possível.
  1. 1
    IntroduçãoComece com um jogo que o programa possa examinar

    Um programa que joga precisa de regras que possa aplicar a um estado. Ele deve saber de quem é a vez, quais ações são permitidas, o que cada ação altera e quando pontuar um resultado.

    Quando esses componentes estão explícitos, uma árvore de jogo pode mostrar as continuações. Alguns ramos pertencem ao programa; outros pertencem ao oponente. Essa diferença muda o que constitui um plano utilizável.

  2. 2
    ExemploEspecifique o jogo da velha

    Use um tabuleiro de 3 por 3 e o jogador da vez como estado. Comece com um tabuleiro vazio e X na vez.

    Uma ação escolhe uma casa vazia. A transição coloca a marca atual nela e muda a vez. Uma linha de três marcas encerra o jogo imediatamente; um tabuleiro cheio sem uma linha completa resulta em empate. Pontue os resultados terminais para X como +1, 0 ou −1. Essas regras fornecem os seis componentes de que um programa de busca precisa.

  3. 3
    Ideia-chaveMantenha a aleatoriedade separada do estado oculto

    Um tabuleiro visível ainda pode ter eventos aleatórios: o gamão acrescenta lançamentos de dados. Um jogo também pode ocultar parte de seu estado, como o pôquer oculta cartas.

    Esses são eixos de classificação separados. O acaso determina como os resultados são gerados; a informação determina o que um jogador pode observar. O número de jogadores e o fato de seus ganhos serem ou não estritamente opostos são escolhas adicionais no modelo.

  4. 4
    DesafioClassifique um novo jogo

    Um jogo de fichas com dois jogadores tem um estado totalmente visível. Antes de cada turno, uma roleta determina quais jogadas são permitidas. Cada resultado terminal dá 1 a um jogador e 0 ao outro. Como o jogo se classifica quanto ao acaso, à informação e à estrutura de ganhos?

    ---reveal---

    Ele é estocástico, tem informação perfeita e é de soma constante, com interesses estritamente opostos. A roleta acrescenta acaso sem ocultar o estado; o ganho total fixo permite um modelo MAX/MIN.

  5. 5
    ExplicaçãoConte as meias-jogadas a partir da raiz

    Coloque a posição atual na profundidade zero. Cada aresta acrescenta uma meia-jogada: uma ação de um jogador. Em um jogo alternado, a profundidade 1 vem após a ação de MAX e a profundidade 2, após a resposta de MIN.

    Uma jogada completa de xadrez geralmente inclui ambos os turnos. Uma busca que alcança duas jogadas completas de cada jogador tem, portanto, profundidade 4, não profundidade 2. Identificar os turnos evita que a profundidade e as regras de propagação percam a correspondência.

  6. 6
    ExemploExpanda uma pequena árvore uniforme

    Imagine três ações permitidas em cada nó não terminal. A profundidade 1 tem 3 posições, a profundidade 2 tem 9 e a profundidade 3 tem 27 folhas.

    3×3×3=27.

    Cada nova meia-jogada multiplica o número de caminhos. O jogo real pode ter términos antecipados e números variáveis de jogadas, mas a estimativa uniforme torna visível o custo da profundidade antes da escolha de um algoritmo.

  7. 7
    ConexãoReconheça estados repetidos

    X pode jogar em um canto, O no centro e X no canto oposto. Inverter a ordem dos dois cantos de X leva ao mesmo tabuleiro com o mesmo próximo jogador.

    A árvore contém dois caminhos para um estado. Isso é uma transposição. Um grafo ou uma memória cache pode compartilhar o resultado desse estado, desde que a chave inclua a vez e todas as outras partes das regras que alteram o jogo futuro.

  8. 8
    DesafioEncontre o tamanho e a profundidade da árvore

    Um jogo alternado oferece duas ações em cada nó. A busca abrange dois turnos de MAX e dois de MIN. Qual é a profundidade e o número de folhas da árvore uniforme?

    ---reveal---

    Ela tem profundidade de 4 meias-jogadas e 24=16 folhas. Cada jogador age duas vezes, portanto há quatro ações individuais em cada caminho. Contar profundidade 2 incluiria apenas um turno por jogador.

  9. 9
    Ideia-chaveUma estratégia mantém as respostas

    Um único caminho descreve uma partida completa, mas um oponente pode escolher outro ramo. Uma estratégia de MAX, portanto, mantém uma ação selecionada em cada nó MAX e toda resposta permitida em cada nó MIN.

    A ação posterior de MAX pode depender da resposta que ele de fato observa. A estratégia pode conter muitos caminhos, embora determine o comportamento de MAX em toda situação alcançável.

  10. 10
    DesafioCorrija um plano frágil

    Um programa armazena uma primeira jogada planejada e uma resposta esperada do oponente, seguidas de uma continuação vencedora. Seu modelo de jogo lista três respostas possíveis do oponente. O que deve mudar no plano para que ele descreva uma estratégia completa?

    ---reveal---

    O programa precisa de uma regra de ação após cada resposta possível e após escolhas posteriores do oponente. Conhecer uma sequência vencedora não basta porque o oponente controla qual desses ramos de resposta ocorre.

  11. 11
    RecapitulaçãoDas regras a um espaço de busca utilizável

    Um estado completo e um modelo de regras determinam as continuações possíveis. Classifique acaso, visibilidade, jogadores e ganhos antes de atribuir regras aos nós.

    Interprete a profundidade em meias-jogadas individuais, estime o crescimento da ramificação e reconheça transposições como estados repetidos. Uma estratégia escolhe as ações do jogador enquanto mantém respostas para toda jogada do oponente; a árvore torna essas responsabilidades visíveis.

2

Propague resultados para encontrar uma jogada

13 passos
Acompanhe o minimax escalar, relacione sua recursão à escolha de jogadas e propague ganhos separados por uma árvore com vários jogadores.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoRaciocine de trás para frente a partir dos resultados
  2. 2
    ExemploComece pelas respostas do oponente
  3. 3
    ExemploTome a decisão na raiz
  4. 4
    DesafioPropague valores em uma nova árvore
  5. 5
    ExplicaçãoAtribua uma tarefa às chamadas recursivas
  6. 6
    DicaTrate o término antes da próxima jogada
  7. 7
    DesafioConverta um valor retornado pelo negamax
  8. 8
    ExplicaçãoRetorne o vetor de utilidades inteiro
  9. 9
    ExemploResolva primeiro o jogador mais profundo
  10. 10
    DesafioUse a regra de desempate de outro jogador
  11. 11
    ConexãoEscolha o modelo correto do oponente
  12. 12
    DesafioCombine escolhas de vetores na raiz
  13. 13
    RecapitulaçãoUse a preferência de quem age
3

Acompanhe a poda e melhore a ordem de busca

12 passos
Acompanhe alfa e beta nos dois tipos de corte e veja como a ordenação de jogadas e os limites armazenados reduzem o trabalho.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoProve que um ramo não pode ajudar
  2. 2
    ExplicaçãoMantenha os limites vinculados ao caminho
  3. 3
    ExemploEstabeleça uma alternativa para MAX
  4. 4
    ExemploInterrompa um ramo MIN
  5. 5
    DesafioEncontre o corte oposto
  6. 6
    Ideia-chaveUm limite basta para a rejeição
  7. 7
    ExemploPesquise primeiro o ramo mais forte da raiz
  8. 8
    ExplicaçãoObtenha pistas de ordenação com baixo custo
  9. 9
    DesafioInterprete um limite armazenado
  10. 10
    ConexãoInterprete o custo no melhor caso
  11. 11
    DesafioCombine ordenação com uma contagem de cortes
  12. 12
    RecapitulaçãoPode com base em evidências e armazene seu significado
4

Avalie uma fronteira sem ocultar a próxima resposta

13 passos
Calcule uma pontuação de características, diferencie a utilidade terminal de estimativas e acompanhe uma captura além de um corte de profundidade.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoAtribua uma pontuação a posições não terminadas
  2. 2
    ExplicaçãoMeça características de um único ponto de vista
  3. 3
    ExemploConte o material de xadrez
  4. 4
    ExemploAcrescente uma contribuição de mobilidade
  5. 5
    DesafioCalcule outra pontuação de características
  6. 6
    ExplicaçãoVerifique o término antes do limite de profundidade
  7. 7
    ExemploPerceba uma captura enganosa
  8. 8
    ExemploConclua a troca
  9. 9
    DesafioAvalie uma nova troca
  10. 10
    Ideia-chaveDiferencie uma extensão de uma poda insegura
  11. 11
    DesafioUse o resultado de uma busca concluída
  12. 12
    ConexãoUse conhecimento armazenado do jogo
  13. 13
    RecapitulaçãoAplique profundidade onde a pontuação pode variar muito
5

Calcule valores esperados e teste o modelo

12 passos
Trabalhe com camadas de acaso e de MIN e veja por que tanto a escala de utilidade quanto as hipóteses sobre o oponente afetam a resposta.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoDeixe cada tipo de nó agir de modo diferente
  2. 2
    ExplicaçãoUse uma média ponderada no acaso
  3. 3
    ExemploResolva MIN abaixo do lançamento da moeda
  4. 4
    ExemploCompare a segunda ação da raiz
  5. 5
    DesafioCombine um novo par de tipos de nós
  6. 6
    DicaNão suponha que lançamentos distintos sejam igualmente prováveis
  7. 7
    ExplicaçãoEscolha como modelar o oponente
  8. 8
    ExemploMude a escala sem mudar a ordem
  9. 9
    DesafioTeste uma transformação
  10. 10
    Ideia-chaveUse limites antes de ignorar resultados de acaso
  11. 11
    DesafioEncontre o efeito de um modelo incorreto do oponente
  12. 12
    RecapitulaçãoAjuste a média à decisão
6

Expanda uma árvore de simulação e escolha onde buscar

16 passos
Acompanhe as estatísticas da MCTS durante uma iteração, calcule prioridades UCB1 e diferencie a próxima simulação da ação final.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoReúna evidências enquanto constrói a árvore
  2. 2
    ExplicaçãoRegistre visitas e recompensas de quem fez a jogada de entrada
  3. 3
    ExplicaçãoAcompanhe quatro fases
  4. 4
    ExemploAcompanhe o jogador associado a cada filho
  5. 5
    DesafioAtualize um resultado diferente
  6. 6
    ExplicaçãoAcrescente um bônus de incerteza
  7. 7
    ExemploCalcule a pontuação do primeiro candidato
  8. 8
    ExemploCompare os candidatos restantes
  9. 9
    DesafioMude o equilíbrio
  10. 10
    Ideia-chaveEncerre a busca com base no suporte acumulado
  11. 11
    ConexãoFique atento a uma refutação rara
  12. 12
    ExemploVeja o que os programas híbridos mudaram
  13. 13
    DesafioEscolha para um novo jogo
  14. 14
    DicaAmostre o acaso com seus pesos reais
  15. 15
    DesafioSepare a prioridade de teste da escolha da jogada
  16. 16
    RecapitulaçãoMantenha evidências, exploração e jogo distintos

Questões de Busca adversária

50 Questões de Prática em 5 conjuntos

Conjunto 1: Modele jogos e acompanhe decisões básicas10 Questões de Prática

Questão 1 de 10

Um jogo de tabuleiro tem peças visíveis, turnos alternados e um lançamento de dado antes de cada turno. Como ele é classificado quanto ao acaso e à informação?
  1. Determinístico com informação perfeita.
  2. Estocástico com informação imperfeita.
  3. Estocástico com informação perfeita.
  4. Determinístico com informação imperfeita.
Mostrar respostaOcultar resposta
Resposta: C
O dado introduz acaso, tornando o jogo estocástico. Peças visíveis e um lançamento observável deixam o estado completo disponível, portanto ele tem informação perfeita. A aleatoriedade do que acontece em seguida é diferente de informação oculta sobre o estado atual.

Questão 2 de 10

Uma árvore de jogo uniforme oferece 5 ações em cada nó não terminal e é pesquisada até a profundidade de 3 meias-jogadas. Quantas folhas ela tem?
  1. 15 folhas.
  2. 125 folhas.
  3. 25 folhas.
  4. 156 folhas.
Mostrar respostaOcultar resposta
Resposta: B
A contagem de folhas é 53=125 porque cada um dos três níveis multiplica o número de caminhos por 5. A contagem de 156 inclui a raiz e os nós internos, além das folhas. Somar 5 três vezes descreveria crescimento linear, não ramificação.

Questão 3 de 10

MAX escolhe entre os nós MIN L com folhas (−2, 8), M com (3, 6) e R com (1, 11). Qual jogada e qual valor o minimax retorna?
  1. M, com valor 3.
  2. L, com valor 8.
  3. R, com valor 11.
  4. R, com valor 6.
Mostrar respostaOcultar resposta
Resposta: A
Os nós MIN retornam −2, 3 e 1, respectivamente. MAX, portanto, escolhe M com valor 3. R contém a maior folha, 11, mas MIN pode escolher sua folha de valor 1, portanto esse desfecho atraente não pode determinar a decisão da raiz.

Questão 4 de 10

Um programa minimax chega a um tabuleiro de jogo da velha cheio, sem uma linha vencedora. O que sua função de valor deve fazer em seguida?
  1. Maximizar sobre nenhuma jogada.
  2. Retornar a pontuação do último jogador a jogar.
  3. Gerar a próxima jogada.
  4. Retornar a utilidade do empate.
Mostrar respostaOcultar resposta
Resposta: D
O tabuleiro cheio é terminal, portanto a função de valor retorna sua utilidade de empate antes de gerar sucessores. Maximizar sobre uma lista vazia de ações não atribui ao empate sua pontuação adequada. O tratamento de estados terminais fornece um valor definido quando não há mais jogadas permitidas.

Questão 5 de 10

Em uma raiz MAX, uma jogada já avaliada vale 6. A jogada seguinte chega a um nó MIN cujas folhas são pesquisadas na ordem 9, 4, 8, 7. Quantas folhas desse nó MIN são avaliadas pela poda alfa-beta?
  1. Uma folha.
  2. Duas folhas.
  3. Três folhas.
  4. Quatro folhas.
Mostrar respostaOcultar resposta
Resposta: B
O primeiro valor, 9, ainda poderia superar o 6 existente de MAX, portanto a busca continua. Após encontrar 4, esse nó MIN vale no máximo 4 e não pode melhorar a escolha da raiz, então as duas últimas folhas são ignoradas. Parar em 9 aplicaria o corte na direção errada.

Questão 6 de 10

Um nó MIN já encontrou um filho MAX de valor 5. Seu próximo filho MAX vê as folhas na ordem 2, 7, 9. Quando esse filho pode parar?
  1. Após ver 2, retornando o valor exato 2.
  2. Após ver 7, retornando o limite superior 7.
  3. Após ver 7, retornando o limite inferior 7.
  4. Após ver 9, retornando o limite superior 9.
Mostrar respostaOcultar resposta
Resposta: C
O pai MIN já pode escolher 5. Quando seu próximo filho MAX encontra 7, esse filho vale pelo menos 7 e não pode ser preferido por MIN, portanto a folha restante é ignorada. O 7 retornado é um limite inferior porque outro filho não pesquisado poderia aumentar o máximo.

Questão 7 de 10

Um avaliador é E=2f+0,25g. MAX tem uma característica material f=−1 e uma característica de mobilidade g=12. Qual pontuação ele retorna?
  1. 2,75.
  2. −5.
Mostrar respostaOcultar resposta
Resposta: A
As contribuições são 2×(−1)=−2 e 0,25×12=3, resultando em um total de 1. A característica material negativa deve manter seu sinal. Retornar 5 transformaria a desvantagem material em vantagem antes de somar a mobilidade.

Questão 8 de 10

Um nó de acaso leva ao valor −4 com probabilidade 0,25 e ao valor 8 com probabilidade 0,75. Qual valor é propagado?
Mostrar respostaOcultar resposta
Resposta: D
O valor ponderado é 0,25×(−4)+0,75×8=−1+6=5. As probabilidades tornam o resultado favorável três vezes mais provável que o desfavorável. Uma média não ponderada de 2 trata incorretamente os dois resultados como igualmente prováveis.

Questão 9 de 10

A seleção da MCTS chega a um nó em que o jogo já terminou. O que acontece em seguida na iteração?
  1. Expandir um filho e iniciar uma simulação de partida.
  2. Retropropagar o resultado conhecido.
  3. Iniciar uma nova simulação de partida a partir desse nó.
  4. Atualizar apenas as visitas desse nó terminal.
Mostrar respostaOcultar resposta
Resposta: B
Um nó terminal já tem um resultado, portanto a iteração pula a expansão e a simulação e atualiza o caminho selecionado. Uma nova simulação de partida não pode acrescentar informação a um jogo terminado. Atualizar apenas o nó final perderia as evidências necessárias para seus ancestrais.

Questão 10 de 10

Um nó pai da UCT tem 16 visitas. O filho A tem 6 vitórias em 12 visitas; o filho B tem 1 vitória em 4 visitas. Use C=1 e ln⁡16≈2,773. Qual filho recebe a próxima simulação e qual jogada é feita se a busca parar agora?
  1. Simular B; jogar A.
  2. Simular A; jogar A.
  3. Simular B; jogar B.
  4. Simular A; jogar B.
Mostrar respostaOcultar resposta
Resposta: A
A tem pontuação aproximada de 0,5+0,481=0,981, enquanto B tem cerca de 0,25+0,833=1,083, portanto a seleção escolhe B. A escolha final usa visitas, resultando em A com 12. Escolher B para ambas as decisões confunde o bônus de incerteza com o suporte acumulado para jogar uma jogada.
Conjunto 2: Aplique a propagação de valores e verifique as hipóteses da busca10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Um jogo com dois jogadores atribui (7, 0), (0, 7) ou (3,5; 3,5) no término. Como a busca pode representar as preferências opostas dos jogadores?
  1. Usar a soma dos ganhos dos dois jogadores, maximizando-a em cada nó de decisão.
  2. Usar o ganho de um jogador, maximizando-o nos dois tipos de nó de decisão.
  3. Usar o maior ganho terminal, minimizando-o em cada nó de decisão.
  4. Usar o ganho de um jogador, maximizando-o para ele e minimizando-o para o outro.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Um jogo determinístico de soma zero com dois jogadores tem valor minimax 2 na raiz. Duas jogadas têm valor minimax 2 cada, mas uma oferece mais chances de erro ao oponente. O que acontece com a garantia se MAX escolher essa jogada e continuar sua estratégia minimax?
  1. A garantia permanece em pelo menos 2.
  2. A garantia cai para menos de 2.
  3. O resultado é sempre exatamente 2.
  4. A garantia passa a ser a maior folha.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

O jogador B escolhe entre os vetores terminais (8, 2, 4) e (3, 6, 1), na ordem dos jogadores A, B, C. Qual vetor é propagado?
  1. (8, 2, 4).
  2. (8, 6, 4).
  3. (3, 6, 1).
  4. (3, 2, 1).
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Uma entrada de transposição da poda alfa-beta contém um valor e uma profundidade pesquisada. Que outra informação é necessária para interpretar um resultado de uma subárvore podada?
  1. Se seu valor é maior que sua contagem de jogadas.
  2. Se ele é exato ou um limite inferior ou superior.
  3. Se o estado foi alcançado em um turno anterior.
  4. Se a raiz tinha um fator de ramificação maior.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Uma busca com profundidade limitada para logo após uma torre capturar um peão, quando uma recaptura imediata da torre é permitida. Qual técnica de busca ajuda diretamente a concluir essa troca antes da avaliação?
  1. Busca de quiescência por meio de capturas.
  2. Ordenação de jogadas por contagem de visitas anterior.
  3. Teste de término com base no material atual.
  4. Consulta a livro de aberturas em cada folha.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

MAX escolhe P ou Q. Sob P, as probabilidades 0,4 e 0,6 levam às folhas MIN (−1, 7) e (4, 9). Sob Q, as probabilidades 0,7 e 0,3 levam às folhas MIN (2, 6) e (5, 8). Qual é a decisão de MAX?
  1. P, com valor 2,0.
  2. P, com valor 8,2.
  3. Q, com valor 6,6.
  4. Q, com valor 2,9.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Um programa substitui cada utilidade de folha x por 3x − 4 e então recalcula uma busca baseada em acaso. Como isso afeta as jogadas preferidas?
  1. Inverte as preferências nos nós de acaso.
  2. Preserva apenas as preferências determinísticas.
  3. Preserva todas as preferências de utilidade.
  4. Preserva apenas as preferências acima de zero.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Um caminho da MCTS alcança n1 após a jogada de Vermelho, n2 após a de Azul e n3 após a de Vermelho. Uma simulação de partida a partir de n3 termina em empate. Usando recompensas de meia vitória, que atualizações esses três nós recebem?
  1. Cada um recebe 1 visita e 0,5 de recompensa.
  2. Apenas n3 recebe 1 visita e 0,5 de recompensa.
  3. Cada um recebe 1 visita; só n2 recebe 0,5 de recompensa.
  4. Cada um recebe 0,5 visita e 0,5 de recompensa.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Em um nó UCT, um filho permitido nunca foi visitado, enquanto os outros têm contagens positivas de visitas. Como esse filho é tratado durante a seleção?
  1. Recebe uma taxa de vitórias observada igual a um.
  2. Recebe prioridade sobre os filhos visitados.
  3. É excluído até a contagem do pai dobrar.
  4. Recebe pontuação zero sem bônus.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Uma árvore de jogo uniforme, determinístico e de soma zero com dois jogadores tem fator de ramificação 4. Um programa pode avaliar 130 folhas e tem ordenação perfeita de jogadas. Uma refutação decisiva está na profundidade de 6 meias-jogadas. Qual método pode concluir essa profundidade dentro do limite de recursos e considerar a refutação?
  1. Minimax até a profundidade 6, usando 64 folhas.
  2. Alfa-beta até a profundidade 5, usando 127 folhas.
  3. Alfa-beta até a profundidade 6, usando 127 folhas.
  4. Monte Carlo na raiz com 130 simulações de partida bem-sucedidas.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 3: Combine valores de busca com evidências limitadas10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

MAX age, depois dois adversários agem uma vez cada, e o ciclo se repete. Uma busca termina após dois ciclos completos. Qual é sua profundidade em meias-jogadas?
  1. 2 meias-jogadas.
  2. 6 meias-jogadas.
  3. 4 meias-jogadas.
  4. 8 meias-jogadas.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Uma chamada negamax de soma zero recebe os valores de filhos −6, 2 e −1, cada um do ponto de vista do jogador da vez no filho. Qual valor o pai retorna?
  1. −6.
  2. −2.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

A escolhe L ou R; B então escolhe um de dois nós C. Sob L, suas folhas são {(2, 5, 7), (9, 6, 3)} e {(6, 4, 8), (8, 9, 2)}. Sob R, são {(4, 3, 6), (7, 8, 1)} e {(5, 7, 5), (9, 2, 4)}. O que A escolhe, com as utilidades na ordem A, B, C?
  1. R, com o vetor (5, 7, 5).
  2. L, com o vetor (2, 5, 7).
  3. L, com o vetor (8, 9, 2).
  4. R, com o vetor (7, 8, 1).
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Duas buscas usam a mesma árvore fixa e os mesmos valores nas folhas. Uma pesquisa boas jogadas primeiro e a outra, jogadas ruins primeiro. O que pode diferir com a poda alfa-beta?
  1. O valor minimax da raiz e o número de resultados terminais no jogo.
  2. As jogadas permitidas em um estado e o melhor ganho garantido disponível.
  3. O número de folhas avaliadas e a jogada ótima empatada retornada.
  4. A escala de utilidade terminal e a ordem de preferência do jogador da raiz.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

MAX pode forçar uma vitória real com pontuação 20, mas seu avaliador pode retornar 30 para uma posição não terminada. Que mudança na pontuação é necessária para impedir que uma estimativa não terminal supere uma vitória?
  1. Colocar toda estimativa não terminal abaixo da utilidade da vitória.
  2. Colocar toda característica material acima da utilidade da vitória.
  3. Tornar a utilidade da vitória igual à estimativa média.
  4. Colocar valores terminais e não terminais em listas separadas e não ordenadas.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

A profundidade 5 foi concluída e prefere a jogada K. Uma iteração de profundidade 6 examina apenas a jogada J antes de o tempo acabar. Qual resultado um jogador com aprofundamento iterativo deve usar?
  1. J da iteração incompleta de profundidade 6.
  2. A média das pontuações retornadas para J e K.
  3. K da iteração concluída de profundidade 5.
  4. A jogada com mais respostas permitidas na profundidade 1.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

A jogada A fornece utilidade 2 com certeza. A jogada B fornece 0 com probabilidade 0,75 e 6 com probabilidade 0,25. Como as escolhas por utilidade esperada se comparam antes e depois de elevar cada folha ao quadrado?
  1. Escolher A antes e depois de elevar ao quadrado.
  2. Escolher B antes e depois de elevar ao quadrado.
  3. Escolher B antes e A depois de elevar ao quadrado.
  4. Escolher A antes e B depois de elevar ao quadrado.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Um caminho da MCTS alcança o filho u após a jogada de Verde, v após a de Dourado e w após a de Verde. Dourado vence a simulação de partida. Quais recompensas dos filhos aumentam em um segundo a convenção de quem fez a jogada de entrada?
  1. Apenas w.
  2. Apenas v.
  3. u e w.
  4. u, v e w.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Uma raiz UCT tem 40 visitas. O filho X tem 18 vitórias em 30 visitas; Y tem 4 vitórias em 10. Com C=2 e ln⁡40≈3,689, o que é selecionado em seguida e o que é jogado se a busca parar?
  1. Selecionar X em seguida; jogar X se parar.
  2. Selecionar Y em seguida; jogar Y se parar.
  3. Selecionar Y em seguida; jogar X se parar.
  4. Selecionar X em seguida; jogar Y se parar.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Um programa vence um campeão em um confronto. Que resultado adicional é necessário para dizer que um jogo finito está resolvido a partir de sua posição inicial?
  1. Uma prova do resultado com jogo perfeito.
  2. Uma sequência maior de vitórias contra esse campeão.
  3. Uma pontuação média maior em simulações aleatórias de partida.
  4. Uma árvore de busca maior que a do programa do campeão.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 4: Acompanhe consequências mais profundas e compare modelos10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Um mecanismo de regras armazena posições em cache usando apenas a disposição das peças. Seu jogo permite a mesma disposição com qualquer um dos jogadores na vez, com ações permitidas diferentes. Por que o cache pode fornecer um resultado errado?
  1. Ele separa estados idênticos alcançados por outras ordens de jogadas.
  2. Ele atribui escalas de utilidade diferentes a posições repetidas.
  3. Ele reúne estados cujos turnos e continuações são diferentes.
  4. Ele transforma uma jogada determinística em um evento de acaso.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Um jogo alternado uniforme tem fator de ramificação 4. A profundidade da busca aumenta de uma jogada completa de cada lado para duas jogadas completas de cada lado. Por qual fator a contagem de folhas cresce?
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

MAX escolhe L ou R. Cada um leva a um nó MIN com dois filhos MAX. Os filhos MAX de L têm folhas terminais (−3, 7) e (4, 5). Os de R têm (6, 8) e (2, 9). Qual decisão e qual valor resultam na raiz?
  1. L, com valor 5.
  2. R, com valor 9.
  3. L, com valor 7.
  4. R, com valor 8.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

A escolhe L, que vale o vetor (4, 2, 0), ou R, em que C escolhe entre (1, 8, 5) e (7, 3, 5). C desempata pelo menor ganho de A. O que a busca com vetores de utilidades escolhe e o que muda se C favorecer o maior ganho de A?
  1. Escolher R inicialmente; escolher L com a regra alterada.
  2. Escolher L inicialmente; escolher R com a regra alterada.
  3. Escolher L inicialmente; manter L com a regra alterada.
  4. Escolher R inicialmente; manter R com a regra alterada.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Pesquise da esquerda para a direita com poda alfa-beta. MAX tem L e R, cada um um nó MIN com dois filhos MAX. Sob L, as folhas MAX são (5, 1) e (7, 8). Sob R, são (4, 2) e (9, 10). Quantas folhas terminais são avaliadas, permitindo cortes na igualdade?
  1. 5 folhas.
  2. 4 folhas.
  3. 6 folhas.
  4. 8 folhas.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Uma tabela de transposições armazena um limite superior de 3 para uma posição na profundidade de busca exigida. Uma chamada posterior chega a ela com alfa 5. O que o resultado armazenado justifica?
  1. Substituir seu valor real por exatamente 3 em toda chamada futura.
  2. Aumentar alfa para 3 antes de pesquisar cada filho restante.
  3. Um corte porque a posição não pode melhorar alfa.
  4. Inverter o limite porque a posição foi alcançada duas vezes.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Um avaliador de xadrez usa a diferença material mais 0,2 vezes a diferença de mobilidade, do ponto de vista das brancas. As brancas têm uma torre e três peões; as pretas têm um bispo e quatro peões. As brancas têm 14 jogadas permitidas e as pretas 19. Usando os valores padrão das peças, qual é a pontuação?
  1. −1.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

As utilidades estão em [−6, 10]. MAX tem uma jogada já avaliada de valor 5 e outra jogada R que leva a MIN. O primeiro filho de R é um nó de acaso: um resultado examinado tem probabilidade 0,7 e valor 2, restando probabilidade 0,3 não examinada. R tem outro filho não pesquisado. Que trabalho a poda alfa-beta com limites de acaso pode ignorar?
  1. Apenas o outro filho de R; os resultados de acaso devem ser concluídos.
  2. Apenas os resultados de acaso restantes; o outro filho de R deve ser pesquisado.
  3. Nem os resultados de acaso restantes nem o outro filho de R.
  4. Tanto os resultados de acaso restantes quanto o outro filho de R.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Um jogo tem um oponente hostil que joga de modo ótimo e um agente cujas jogadas seguem probabilidades conhecidas. Como seus nós devem propagar a utilidade de MAX?
  1. Usar mínimos para o agente hostil e médias ponderadas para o agente aleatório.
  2. Usar médias ponderadas para ambos com base em suas contagens de jogadas permitidas.
  3. Usar mínimos para ambos porque agem fora do controle de MAX.
  4. Usar máximos para o agente hostil e médias ponderadas para o agente aleatório.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Um jogo estocástico tem resultados aleatórios demais para serem enumerados em cada nó de busca. Como a MCTS pode representar esses eventos?
  1. Escolher o resultado mais favorável a cada vez.
  2. Amostrar resultados usando suas probabilidades.
  3. Dar a cada resultado distinto a mesma frequência.
  4. Substituir cada evento por sua utilidade mínima.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 5: Diagnostique falhas de busca e aplique os métodos a novas situações10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Uma árvore de estratégia com dois jogadores mantém todas as respostas do oponente, mas apenas uma jogada selecionada sempre que MAX age. Por que ela ainda pode conter muitos caminhos da raiz às folhas?
  1. Cada caminho é outra primeira jogada que MAX planeja fazer.
  2. Todo estado repetido deve ter uma utilidade diferente.
  3. MAX escolhe cada ramo depois que o oponente joga.
  4. Respostas diferentes do oponente exigem continuações diferentes.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Uma implementação de minimax em profundidade armazena todos os b sucessores gerados em cada um dos m níveis ativos. Que mudança reduz o armazenamento da busca ativa de O(bm) para perto de O(m), além da representação de estado?
  1. Gerar o último nível inteiro antes de propagar valores.
  2. Gerar e explorar sucessores um por vez.
  3. Substituir toda função MIN por outra função MAX.
  4. Salvar todo estado avaliado sem limite de profundidade.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Pesquise da esquerda para a direita com poda alfa-beta. MAX tem L e R, cada um um nó MIN com dois filhos MAX. As folhas dos filhos de L são (3, 6) e (5, 9). As de R são (4, 7) e (2, 8). Quantas folhas terminais são avaliadas?
  1. 5 folhas.
  2. 6 folhas.
  3. 8 folhas.
  4. 7 folhas.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Um avaliador inclui um bônus ativado apenas quando um jogador tem ambos os bispos. Que limitação de uma soma simples dos valores separados das peças isso aborda?
  1. A interação entre os dois bispos.
  2. A chance de qualquer um dos bispos jogar em seguida.
  3. O valor do rei como material capturável.
  4. O fator de ramificação da árvore de jogo.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Com material inicialmente igual, MAX pode escolher L: uma dama captura uma torre e é imediatamente recapturada, ou R: uma torre captura um bispo e é imediatamente recapturada. Uma busca material de profundidade fixa para após a captura de MAX. Compare sua escolha, uma busca que se estende pelas recapturas e uma busca que mantém apenas a favorita de profundidade fixa antes de se estender. Use os valores convencionais das peças de xadrez. Que sequência de escolhas resulta?
  1. R, depois L, depois R.
  2. L, depois R, depois L.
  3. L, depois L, depois R.
  4. R, depois R, depois L.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

MAX escolhe A ou B. Sob A, um evento aleatório justo leva a nós MIN com folhas (0, 9) e (6, 8). Sob B, um evento justo leva a nós MIN com folhas (4, 5) e (1, 7). O que o expectiminimax escolhe e o que seria escolhido se ambos os nós de acaso fossem substituídos por nós MIN?
  1. Expectiminimax B; modelo substituto A.
  2. Expectiminimax A; modelo substituto B.
  3. Ambos escolhem A com o mesmo valor na raiz.
  4. Ambos escolhem B com o mesmo valor na raiz.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

A fornece utilidade 3 com certeza. B fornece 1 com probabilidade 0,5 e 6 com probabilidade 0,5. Compare as escolhas em três modelos: utilidade esperada, utilidade esperada após transformar cada folha por 2x+7 e respostas adversárias MIN substituindo o acaso.
  1. B, depois B, depois A.
  2. A, depois B, depois A.
  3. B, depois A, depois B.
  4. A, depois A, depois B.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Uma iteração da MCTS segue raiz → a após a jogada das brancas → b após a jogada das pretas → c após a jogada das brancas, e então as pretas vencem. As contagens antes da iteração são a: N=12, U=8; b: N=7, U=3; c: N=2, U=1. Quais são as contagens atualizadas dos filhos segundo a convenção de quem fez a jogada de entrada?
  1. a: 13, 9; b: 8, 3; c: 3, 2.
  2. a: 13, 9; b: 8, 4; c: 3, 2.
  3. a: 12, 8; b: 7, 3; c: 3, 2.
  4. a: 13, 8; b: 8, 4; c: 3, 1.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Uma raiz UCT tem 100 visitas. O filho A tem 54 vitórias em 90 visitas; B tem 4 em 10. Use ln⁡100≈4,605. Qual filho é selecionado com C=1, qual com C=0,2 e qual é jogado se a busca parar?
  1. A com 1; B com 0,2; jogar A.
  2. B com 1; B com 0,2; jogar B.
  3. B com 1; A com 0,2; jogar A.
  4. A com 1; A com 0,2; jogar B.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Um jogo tem milhares de jogadas permitidas por estado e nenhum avaliador útil escrito à mão, mas há simulações de partida rápidas com jogadas permitidas. Qual abordagem de busca é um ponto de partida natural?
  1. MCTS com uma política de simulação adequada.
  2. Minimax completo até todo estado terminal.
  3. Alfa-beta com pontuações constantes nas folhas.
  4. Busca vetorial que pontua todos os jogadores da mesma forma.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Travou em uma questão sua? Ajuda com Tarefas

Termos-Chave

71 Termos-Chave, cada um com sua definição

Á

Árvore de busca
Uma árvore de busca é a parte das partidas possíveis de fato gerada por um algoritmo, cujas folhas podem ser estados terminais ou cortes não terminados.
O minimax com profundidade limitada avalia sua fronteira mesmo que o jogo real possa continuar além dessas folhas.
Árvore de jogo
Uma árvore de jogo representa continuações possíveis a partir de um estado, com jogadas permitidas como arestas e estados resultantes como nós filhos.
Níveis alternados de MAX e MIN mostram qual jogador controla cada decisão no caminho até um resultado.

A

Alfa
Alfa é o melhor limite inferior disponível para MAX ao longo do caminho atual da busca, estabelecido por uma alternativa já examinada.
Com alfa 6, um filho MIN que encontra 4 pode ser rejeitado porque seu mínimo final não pode superar 4.
Amostragem de resultados aleatórios
A amostragem de resultados aleatórios sorteia resultados de eventos aleatórios de sua distribuição de probabilidade para que testes repetidos da busca estimem sua contribuição esperada.
A amostragem de um lançamento de gamão deve produzir cada lançamento específico sem dupla cerca de duas vezes mais frequentemente que cada dupla específica.
Análise retrógrada
A análise retrógrada trabalha de trás para frente a partir de resultados conhecidos para classificar estados predecessores e construir informações exatas para posições abrangidas.
Uma base de dados de finais pode marcar uma posição como vencedora quando uma jogada permitida alcança uma posição já conhecida como perdedora para o oponente.
Aprofundamento iterativo
O aprofundamento iterativo conclui buscas em profundidades crescentes, mantendo um resultado que pode ser jogado e usando escolhas anteriores para ordenar buscas posteriores.
Se a iteração de profundidade 7 for interrompida, a jogada da busca concluída de profundidade 6 permanece disponível.
Argumento de máximo
Um argumento de máximo é uma entrada ou ação que alcança o maior valor de uma função, distinto do próprio valor máximo numérico.
Se a jogada K retorna 6 e a jogada L retorna 2, o argumento de máximo é K, enquanto o valor máximo retornado é 6.
Avaliação por rede neural
Uma avaliação por rede neural usa uma rede treinada para estimar a qualidade de uma posição, fornecendo valores que uma busca pode propagar em vez de simulações aleatórias de partida.
O AlphaZero combina busca em árvore com estimativas de rede no xadrez, no shogi e no Go em vez de concluir simulações aleatórias de partida.

B

Base de dados de finais
Uma base de dados de finais armazena resultados exatos para um conjunto abrangido de posições de final de jogo, permitindo consulta no lugar da avaliação heurística.
Uma consulta de xadrez de sete peças conta os dois reis e pode identificar se uma posição abrangida resulta em vitória, empate ou derrota.
Beta
Beta é o melhor limite superior disponível para MIN ao longo do caminho atual da busca, estabelecido por uma alternativa já examinada.
Com beta 3, um filho MAX que encontra 7 pode parar porque MIN já tem a alternativa melhor, 3.
Busca de quiescência
A busca de quiescência estende posições taticamente instáveis além do limite normal de profundidade para que a avaliação ocorra após uma continuação mais estável.
Uma extensão apenas de capturas pode revelar o peão que recaptura uma dama que acabara de parecer ganhar material.
Busca em árvore com limites superiores de confiança (UCT)
A UCT é uma busca em árvore de Monte Carlo que usa limites superiores de confiança durante a seleção para equilibrar exploração e explotação nos nós da árvore.
A UCT seleciona testes por UCB1, mas geralmente joga o filho da raiz com mais visitas quando o tempo disponível acaba.
Busca em árvore de Monte Carlo
A busca em árvore de Monte Carlo expande uma árvore seletiva usando resultados simulados e estatísticas acumuladas para direcionar a busca posterior a ramos úteis.
Uma jogada promissora recebe mais visitas e uma subárvore maior à medida que as simulações fornecem evidências sobre sua continuação.
Busca em profundidade
A busca em profundidade segue uma continuação recursivamente antes de retornar aos irmãos, mantendo o caminho ativo em vez de uma fronteira inteira.
Uma chamada minimax explora uma subárvore filha e retorna seu número antes de avaliar o próximo filho.

C

Característica
Uma característica é uma propriedade numérica extraída de uma posição, como uma diferença material, que contribui para uma pontuação de avaliação.
Subtrair a contagem de jogadas permitidas das pretas da das brancas produz uma característica de mobilidade do ponto de vista das brancas.
Caso base da recursão
Um caso base da recursão retorna um resultado sem outra chamada recursiva; no minimax completo, um estado terminal fornece sua utilidade.
Um tabuleiro cheio empatado retorna sua pontuação de empate antes de o algoritmo tentar examinar uma lista vazia de jogadas.
Contagem de visitas
Uma contagem de visitas registra quantas iterações concluídas da MCTS passaram por um nó, apoiando as estimativas de recompensa e a escolha final na raiz.
Um filho da raiz testado muitas vezes oferece mais evidências acumuladas que um filho com taxa perfeita em dois testes.

D

Decisão minimax
Uma decisão minimax é uma ação que alcança o maior valor propagado em uma raiz MAX, com jogadas posteriores avaliadas sob jogo ótimo.
A busca retorna a jogada para o ramo com a melhor garantia, não apenas o número atribuído a ele.

E

Efeito horizonte
O efeito horizonte faz uma busca limitada preferir adiar uma perda inevitável para além de sua profundidade visível, às vezes com custo material adicional.
Um programa pode desperdiçar peões dando xeques para adiar a captura de um bispo preso até depois de seu corte.
Estado de crença
Um estado de crença representa os estados subjacentes possíveis do jogo compatíveis com o que um jogador observou quando parte da informação está oculta.
Um jogador de cartas considera possíveis mãos do oponente porque as cartas visíveis não identificam um único estado exato.
Estado do jogo
Um estado do jogo registra todas as informações necessárias para determinar as continuações permitidas, incluindo o tabuleiro e o jogador do próximo turno.
Duas disposições idênticas de peças com jogadores da vez diferentes podem oferecer ações e resultados diferentes.
Estratégia
Uma estratégia especifica a ação que um jogador escolherá em cada situação que possa enfrentar, incluindo situações após diferentes respostas do oponente.
Uma estratégia pode responder a qualquer uma das respostas do oponente, mesmo que apenas uma delas ocorra em uma partida específica.
Expansão
A expansão é a fase da MCTS que acrescenta um novo filho à árvore para uma ação permitida não testada em um nó não terminal selecionado.
Após acrescentar um filho, a iteração pode simular até o fim sem armazenar cada jogada posterior como um nó da árvore.
Expectimax
O expectimax combina escolhas maximizadoras com médias de nós de acaso quando a incerteza segue probabilidades em vez de um jogador minimizador.
Um oponente uniformemente aleatório dá igual probabilidade a suas jogadas permitidas em vez de escolher deliberadamente a pior resposta para MAX.
Expectiminimax
O expectiminimax pesquisa árvores que contêm nós MAX, MIN e de acaso, propagando máximos, mínimos e médias ponderadas, respectivamente.
Um evento de acaso pode escolher qual posição MIN ocorre, após o que esse oponente ainda seleciona sua melhor resposta.
Exploração
A exploração aloca busca a jogadas com evidências limitadas, reduzindo a incerteza e dando a jogadas fortes ignoradas uma chance de serem descobertas.
Um filho menos visitado pode receber a próxima simulação mesmo quando sua taxa de vitórias observada está abaixo da de um concorrente.
Explotação
A explotação aloca busca a jogadas que já parecem promissoras segundo suas recompensas observadas, refinando sua força estimada.
Sem bônus de exploração, a média observada de um filho visitado determina sua prioridade sobre outros filhos visitados.
Extensão singular
Uma extensão singular busca mais profundamente ao longo de uma jogada claramente superior às alternativas, concentrando esforço nessa continuação.
Quando uma resposta domina as outras jogadas, a busca pode estendê-la além do limite normal de profundidade.

F

Fator de ramificação
O fator de ramificação é o número de sucessores permitidos em um nó, ou uma média usada para estimar o crescimento de uma árvore de jogo.
Com quatro ações em cada posição, acrescentar uma meia-jogada multiplica por quatro a contagem de folhas da árvore uniforme.
Função de avaliação
Uma função de avaliação estima com baixo custo a utilidade de uma posição não terminada, permitindo que uma busca atribua valores em sua fronteira de profundidade.
Uma vantagem material pode aumentar a estimativa de uma posição de xadrez mesmo quando a busca não chegou ao fim do jogo.

H

Heurística da jogada matadora
A heurística da jogada matadora testa uma jogada cedo porque ela causou um corte alfa-beta em outro ponto na mesma profundidade de busca.
Uma jogada que refutou outra continuação torna-se uma pista de ordenação, sem provar que as outras jogadas sejam irrelevantes.
Hipótese paranoica
A hipótese paranoica modela todos os outros jogadores como uma única coalizão que minimiza a utilidade do jogador da raiz na busca com vários jogadores.
Ela permite o raciocínio alfa-beta para dois jogadores, mas pode prever cooperação entre oponentes que têm objetivos separados.

I

Informação imperfeita
Informação imperfeita significa que um jogador não pode observar alguma parte relevante do estado atual do jogo ao escolher uma jogada.
Um jogador de pôquer vê suas próprias cartas, mas deve considerar várias mãos ocultas possíveis do oponente.
Informação perfeita
Informação perfeita significa que cada jogador pode observar todo o estado relevante do jogo ao escolher sua próxima ação.
Um tabuleiro de gamão visível tem informação perfeita, embora lançamentos futuros de dados introduzam acaso.
Interação entre características
Uma interação entre características ocorre quando a contribuição de uma propriedade da posição depende de outra, além de uma soma independente fixa.
Um bônus pelo par de bispos capta um valor que pode não ser percebido ao somar o mesmo valor isolado para cada bispo.

J

Jogo de soma geral
Um jogo de soma geral permite interesses que não são estritamente opostos, portanto o ganho de um jogador não precisa ser a perda de outro.
Dois jogadores podem preferir juntos um resultado compartilhado de alto ganho a um resultado que dê menos a cada um.
Jogo de soma zero
Um jogo de soma zero tem interesses estritamente opostos: um ganho para um jogador é uma perda para o outro; jogos de soma constante se comportam da mesma maneira.
Pontuar uma vitória como (1, 0) e um empate como (0,5; 0,5) mantém os jogadores em oposição, apesar do total fixo de 1.
Jogo determinístico
Um jogo determinístico não tem eventos aleatórios: um estado completo e uma ação permitida escolhida determinam o estado resultante.
O xadrez ainda precisa de um modelo do oponente, embora as regras não introduzam acaso em uma jogada permitida.
Jogo estocástico
Um jogo estocástico inclui eventos aleatórios que afetam a partida, exigindo probabilidades de resultados além das escolhas deliberadas dos jogadores.
O gamão se ramifica em um lançamento de dados antes de o jogador escolher entre as jogadas que esse lançamento permite.
Jogo resolvido
Um jogo resolvido tem um resultado comprovado com jogo perfeito a partir da posição inicial especificada, estabelecido contra toda estratégia adversária possível.
Foi demonstrado que o jogo de damas termina em empate com jogo perfeito; vencer um humano forte, por si só, não provaria esse resultado.

L

Limite obtido por corte
Um limite obtido por corte restringe o valor possível de uma subárvore sem estabelecê-lo exatamente: um MAX podado fornece um limite inferior e um MIN podado, um limite superior.
Uma subárvore MAX que retorna 8 após um corte pode conter um 12 não visto, portanto seu valor exato permanece desconhecido.
Livro de aberturas
Um livro de aberturas armazena jogadas iniciais estudadas que um programa pode consultar em vez de redescobri-las por uma nova busca.
Um jogador pode selecionar uma continuação de abertura estabelecida e preservar mais recursos de busca para turnos posteriores.

M

Meia-jogada
Uma meia-jogada é uma jogada de um jogador, usada como unidade de profundidade de busca; uma jogada completa de xadrez geralmente abrange duas meias-jogadas.
Uma busca que abrange os turnos das brancas, das pretas, das brancas e das pretas alcança profundidade 4 a partir da posição inicial.
Minimax
O minimax propaga máximos para MAX e mínimos para MIN para encontrar o melhor valor garantido contra oposição ótima em um jogo de soma zero com dois jogadores.
MAX rejeita um ramo que contém um ganho alto se MIN tiver ali uma resposta que force um resultado menor.
Minimax heurístico
O minimax heurístico propaga valores estimados em cortes não terminados enquanto mantém a utilidade exata para resultados terminais.
A raiz pode ser ótima para sua fronteira avaliada e ainda escolher mal se essa fronteira deixar passar uma resposta tática.
Mobilidade
A mobilidade mede as jogadas permitidas disponíveis a um jogador e pode servir como característica de avaliação, frequentemente comparada à mobilidade do oponente.
Uma posição com 30 jogadas das brancas e 24 das pretas tem diferença de mobilidade +6 do ponto de vista das brancas.
Modelo de transição
Um modelo de transição especifica o estado sucessor produzido pela aplicação de uma ação permitida ao estado atual de um jogo.
No jogo da velha, a transição coloca a marca atual em uma casa vazia e muda o jogador da vez.
Modelo do oponente
Um modelo do oponente especifica como outro agente escolhe suas ações, como oposição ótima ou uma distribuição de probabilidade sobre as jogadas.
Um jogador que espera respostas aleatórias pode escolher uma jogada arriscada que um adversário deliberado refutaria.

N

Negamax
O negamax expressa a busca de soma zero com dois jogadores do ponto de vista do jogador atual, negando os valores dos filhos antes de tomar seu máximo.
Um valor de filho −5 torna-se +5 para seu oponente no pai, portanto deixar de negá-lo inverte o significado.
Nó de acaso
Um nó de acaso representa um evento aleatório e propaga uma média ponderada por probabilidades, com suas probabilidades de saída totalizando um.
Um nó de moeda justa dá pesos iguais aos dois valores retornados pelas continuações em vez de escolher um deles.

O

Ordenação de jogadas
A ordenação de jogadas escolhe quais ações permitidas a busca examina primeiro, ajudando a poda alfa-beta a estabelecer limites úteis e podar mais cedo.
Testar primeiro o ramo mais forte da raiz pode reduzir as avaliações de folhas enquanto preserva o mesmo valor minimax.

P

Peso
Um peso é um coeficiente que determina quanto uma característica contribui para a pontuação de um avaliador ponderado para uma posição.
Um peso de mobilidade de 0,1 faz uma vantagem de seis jogadas contribuir com 0,6 ponto para a avaliação.
Poda alfa-beta
A poda alfa-beta ignora ramos cujos limites mostram que eles não podem melhorar uma escolha disponível, preservando o valor do minimax na mesma árvore.
Quando um ramo MIN cai abaixo da alternativa conhecida de MAX, suas respostas não examinadas não podem salvar esse ramo.
Poda antecipada
A poda antecipada ignora jogadas consideradas pouco importantes sem provar que elas não podem ajudar, equilibrando o custo da busca e o risco de erro.
Manter apenas algumas jogadas muito bem avaliadas pode descartar uma jogada tranquila que venceria após uma análise mais profunda.
Política de simulação
Uma política de simulação escolhe as jogadas em uma continuação simulada, usando ações permitidas aleatórias ou conhecimento do jogo de baixo custo.
Uma política de simulação mais forte pode produzir continuações mais sensatas do que selecionar repetidamente qualquer jogada permitida de modo uniforme.

R

Refutação tática
Uma refutação tática é uma resposta ou continuação precisa que derrota uma jogada candidata, mesmo que muitas respostas menos precisas permitam sucesso.
Simulações aleatórias de partida podem raramente escolher a única resposta que leva à derrota e que uma busca alfa-beta concluída encontra dentro de sua profundidade.
Regra de desempate
Uma regra de desempate especifica qual filho um jogador escolhe quando vários filhos dão a esse jogador o mesmo ganho preferido.
Quando dois filhos dão ao jogador C entradas terceiras iguais, seus ganhos diferentes para o jogador A podem mudar a jogada anterior que A deve selecionar.
Retropropagação de resultados
A retropropagação de resultados na MCTS atualiza os totais de visitas e recompensas do caminho selecionado usando o resultado da simulação concluída.
Uma vitória das pretas aumenta as visitas ao longo do caminho e as vitórias nos filhos cuja jogada de entrada foi feita pelas pretas.

S

Seleção
A seleção é a fase da MCTS que segue nós filhos existentes segundo uma política até chegar à expansão ou a um resultado terminal conhecido.
UCB1 pode orientar o caminho selecionado para jogadas que parecem promissoras ou ainda têm poucas evidências de simulação.
Simulação de partida
Uma simulação de partida é uma continuação simulada de uma posição até o fim do jogo, produzindo um resultado usado para estimar a qualidade de uma jogada.
Uma política de jogadas permitidas aleatórias pode terminar uma partida rapidamente e retornar uma vitória, derrota ou empate à árvore de busca.

T

Tabela de transposições
Uma tabela de transposições armazena em cache posições pesquisadas com seus valores, profundidades pesquisadas e indicações de valor exato, limite inferior ou limite superior.
Um estado repetido pode reutilizar um limite adequado para estreitar a janela de busca sem tratá-lo como exato.
Teste de término
Um teste de término determina se o jogo terminou, para que uma busca possa pontuar o resultado em vez de gerar outra jogada.
O jogo da velha termina imediatamente quando aparece uma linha de três marcas, mesmo que o tabuleiro ainda tenha casas vazias.
Transformação afim com coeficiente angular positivo
Uma transformação afim com coeficiente angular positivo associa cada utilidade x a ax + c com coeficiente angular positivo, preservando todas as comparações de utilidade esperada.
Multiplicar cada resultado por 4 e subtrair 2 transforma cada valor esperado da mesma maneira consistente.
Transformação estritamente crescente
Uma transformação estritamente crescente fornece uma saída maior para cada entrada maior, preservando a ordem, mas podendo mudar as diferenças entre utilidades.
Elevar ao cubo preserva a ordem dos resultados, mas às vezes muda qual loteria tem o maior valor esperado.
Transposição
Uma transposição ocorre quando sequências diferentes de jogadas permitidas alcançam o mesmo estado completo, permitindo compartilhar trabalho de busca repetido.
Jogar as duas marcas de X nos cantos em ordens opostas, com a jogada de O no centro entre elas, pode alcançar uma mesma posição.

U

UCB1
UCB1 atribui a um filho uma pontuação formada por sua recompensa média observada mais um bônus de incerteza controlado por C, orientando a escolha da próxima simulação.
Um bônus de incerteza pode fazer valer a pena investigar uma taxa observada de 0,5 antes de uma taxa de 0,7 muito mais testada.
Utilidade
Uma utilidade é um ganho numérico atribuído a um resultado terminal, expressando quão desejável esse resultado é para um jogador específico.
Uma vitória, um empate e uma derrota podem receber utilidades +1, 0 e −1 do ponto de vista do primeiro jogador.
Utilidade esperada
A utilidade esperada é o ganho médio dos resultados possíveis ponderado por suas probabilidades, medindo o valor de uma escolha sob um modelo de probabilidade.
Uma chance de 0,25 de obter 8 e uma chance de 0,75 de obter 0 têm utilidade esperada 2, embora 2 não seja um resultado possível.

V

Valor minimax
O valor minimax de um estado é a utilidade de MAX com continuação ótima de ambos os jogadores em um jogo finito determinístico de soma zero.
Um valor 0 na raiz pode significar que um empate está garantido, embora um erro do oponente possa permitir uma vitória.
Variante principal
Uma variante principal é uma sequência de escolhas ótimas a partir da raiz pela árvore pesquisada, mostrando a sequência esperada com jogo ótimo.
Seguir os máximos e mínimos selecionados leva do valor da raiz a uma folha com o valor correspondente.
Vetor de utilidades
Um vetor de utilidades lista um ganho por jogador, preservando seus interesses separados quando um único escalar não consegue descrever as preferências de todos.
Para os jogadores A, B e C, (2, 7, 1) dá a B o ganho do meio, 7, independentemente de quem jogue em seguida.

Sobre esta aula

Por StudeliRelatar um erro

Crie seus próprios Materiais de Estudo

Transforme suas anotações, slides e documentos em Guias de Estudo, Questões de Prática, Flashcards e mais 6 ferramentas.

Começar