Escolar Documentos
Profissional Documentos
Cultura Documentos
Busca competitiva
(jogos adversariais)
Em jogos, ocorrem com frequência
Devido a transposições
Permutações diferentes da mesma sequência que
resultam na mesma posição
Armazenar em tabela na memória (hash)
Encontrada novamente, não é re-examinada
Jogos reais
Decisões imperfeitas
Nem sempre o melhor movimento é feito pelo
adversário
Além disso, tempo é crítico
Fazer movimentos em tempo razoável
Jogos reais
Sugestão (Shannon, 50):
substituir a função utilidade por uma função de
avaliação heurística (estimativa) e substituir o teste
de término por um teste de corte;
função de avaliação heurística AVAL
Heurística no lugar de utilidade
Teste de corte decide quando aplicar AVAL
Função de avaliação retorna uma estimativa da
utilidade esperada do jogo a partir de uma dada
posição
Limites de recurso
Abordagem padrão:
Teste de corte:
Ex.: limite de profundidade
Função de avaliação
= desejabilidade estimada da posição
Funções de avaliação
Retornar estimativa de utilidade esperada
Função de avaliação deve:
Ordenar os estados terminais como a utilidade
Ser de simples computação
Estar fortemente relacionada com chances reais
de vitória
Funções de avaliação
Maioria calcula diversas características do
estado
Ex.: número de peões tomados em cada lado
em xadrez
Avaliação
Maioria das abordagens calcula contribuições
separadas de cada característica e depois combina
Ex.: xadrez
Valor aproximado para cada peça:
Peão vale 1 peão
Cavalo e bispo vale 3 peões
Torre vale 5 peões
Rainha vale 9 peões
Outras possíveis características:
Boa estrutura de peões
Segurança do rei ½ peão
Modificação da busca alfa-beta
Usa AVAL para cortar a busca
MinimaxCorte é idêntica a MinimaxValor exceto:
• Terminal? é substituído por Corte?
• Utilidade é substituído por Aval
Busca com corte
Profundidade máxima
Para que tempo não exceda o permitido
Ou uso de aprofundamento iterativo
Quando tempo esgota, retorna movimento da busca mais
profunda concluída
Há ainda outras recomendações
Melhoram profundidade da busca
Jogos com acaso
Ex.: com lançamento de dados, sorteio de cartas,
etc
Árvore de jogo com nós de acaso
Gamão
Jogos com acaso
MAX
3 -1
ACASO
0.5 0.5 0.5 0.5
2 4 0 -2 MIN
2 4 7 4 6 0 5 -2
Uma árvore de um jogo não determinístico deve incluir nós de acaso além de nós
minimax
Ramificações que levam a cada nó de acaso denotam “jogadas de dados
possíveis” (a probabilidade de cada mudança de estado não determinística).
Jogos com acaso
Não há valores minimax definidos
Somente valor esperado
Expectminimax
Como em minimax padrão, valores são propagados
Mas considera também probabilidades de acaso
Complexidade maior que minimax padrão
O(bmnm)
n é número de lançamentos distintos
b é fator de ramificação
m é profundidade
Jogos de cartas
Cartas tratadas ao acaso no início do jogo
Cada jogador recebe mão de cartas não visível para
outros
Ex.: bridge, whist, copas, poquer
Busca em estados de crença
Crenças sobre quem tem determinadas cartas e com
que probabilidade
É melhor dar ao oponente menor quantidade de informações
possível
Com frequência, agir de modo imprevisível
Programas de última geração
Programas de jogos de última geração são:
Máquinas incrivelmente rápidas
E bem ajustadas
Incorporam técnicas avançadas
Xadrez
1997: Deep Blue
Computador paralelo
30 processadores IBM RS/6000
Executando busca
480 processadores VLSI
Executavam geração de movimentos
Média 126 milhões de nós por segundo
Busca alfa-beta de aprofundamento iterativo
Com modificações permitindo grandes
profundidades
Até 40 jogadas
Deep Blue
Função de avaliação
Mais de 8 mil características
Banco de dados
70000 jogos de grandes mestres
Finais de jogos com posições resolvidas
Derrotou campeão humano Garry Kasparov em
partida de seis jogos em 1997
Xadrez
Há heurísticas de poda para reduzir fator de
ramificação efetivo a menos de 3
Comparado a 35
Fritz: computador pessoal
2002 empatou com campeão mundial
A. Samuel: 1952
Jogo de damas aprendeu sua pró- pria
função de avaliação
Jogando contra si mesmo
Chinook: 1994
PCs comuns
Usa busca alfa-beta
Banco de dados de todas as posições com 8 ou menos
peças para jogo infalível
444 bilhões de posições
Derrotou campeão humano Marion Tinsley
Othello
Ou reversi
Espaço de busca menor que xadrez
5 a 15 movimentos válidos
Logistello: 1997
Derrotou campeão mundial humano
Maior parte dos trabalhos
Melhorar função de avaliação
TD-GAMMON: 1992
Aprendizado por reforço + redes neurais
Avaliador
Entre 3 principais jogadores do mundo
Alguns movimentos de abertura alteraram sabedoria
adquirida sobre o jogo
Go
Tabuleiro com 19x19 posições
Fator de ramificação:
Inicia com 361
Até 1997
Nenhum programa competente
Há agora programas que executam mo-
vimentos respeitáveis
$2.000.000 de prêmio para primeiro programa
de computador que ganhar de um jogador de
alto nível
Bridge
Bom jogo pode incluir:
Aquisição de informações
Comunicação
Blefe
Ponderação de probabilidades
Bridge Baron: 1997
Venceu o campeonato de bridge por computador
Envolve ideias de trapacear e forçar descarte de
trunfo
Referências
Cap 5 Livro Russel e Norvig
Slides:
Cornell University
Fabrício Barth, SENAC
FEI
UFPE