Você está na página 1de 25

Inteligência Artificial

Busca competitiva
(jogos adversariais)

Profa Ana Carolina Lorena


1o semestre 2013
Estados repetidos


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

Vantagem de 1 peão: probabilidade substancial de vitória


Vantagem de 3 peões: vitória quase certa
Função de avaliação

Linear ponderada:
 AVAL(s) = w1f1(s)+w2f2(s)+...+wnfn(s) = i=1:nwifi(s)
 wi = peso
 fi = característica

Ex.: xadrez
 fi pode ser número de cada tipo de peça no tabuleiro
 wi pode ser valor das peças

Soma envolve suposição forte:


que contribuição de características são independentes
Ex.: valor 3 a bispo ignora fato que eles são mais poderosos no fim do jogo

 Programas usam combinações não lineares


Aprendizado de Máquina pode ser usado para estimar
Busca com corte


Modificação da busca alfa-beta
 Usa AVAL para cortar a busca

if Teste_corte(estado,profundidade) then return AVAL(state)


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

Há várias competições em modalidades distintas


(software, xadrez para microcomputador, etc.)
Damas


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

 Seres humanos não são capazes de ultrapassar


computadores no Othello
Gamão


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

Você também pode gostar