Sei sulla pagina 1di 15

Teoria de Jogos

Prof. Júlio Cesar Nievola


PPGIA - PUCPR
Introdução

zA presença de um oponente torna a


Teoria de Jogos mais complexa que os
problemas de busca
zSão problemas de contingência
zSão situações mais próximas da realidade
que os problemas de busca
zEficiência é muito importante
Decisão perfeita em jogos
com dois oponentes

zOs oponentes jogam alternadamente


zNo final o vencedor ganha pontos ou o
vencido perde pontos
zElementos da definição formal:
yEstado inicial
yConjunto de operadores
yTeste de finalização
yFunção de utilidade
Árvore parcial do jogo da
velha
Exemplo de MINIMAX
Algoritmo MINIMAX
function DECISÃO-MINIMAX(jogo) returns um operador
for each op in OPERADORES[jogo] do
VALOR[op] ¬ VALOR-MINIMAX(APLICAR(op,jogo),jogo)
end
return op com o maior VALOR[op]
function VALOR-MINIMAX(estado,jogo) returns um valor de utilidade
if TESTE-TERMINAL[jogo](estado) then
return UTILIDADE[jogo](estado)
else if MAX deve movimentar em estado then
return o maior VALOR-MINIMAX de SUCESSORES(estado)
else
return o menor VALOR-MINIMAX de SUCESSORES(estado)
Decisão Imperfeita

zNão se pode, em geral, ir até o final da


árvore, como no MINIMAX
zEm vez da função de utilidade usa-se uma
função de avaliação heurística
zPoda-se a árvore em determinado nível
zPosições quiescentes: variação suave
zProblema do horizonte
Função de avaliação
Problema do Horizonte
Jogo com duas jogadas
gerado por alfa-beta
Algoritmo alfa-beta (1)
function VALOR-MAX(estado,jogo, , ) returns o valor
minimax do estado
inputs:estado, estado atual do jogo
jogo, descrição do jogo
a, melhor avaliação de MAX no caminho até estado
b, melhor avaliação de MIN no caminho até estado
if TESTE-DE-CORTE(estado) then return AVALestado)
for each s in SUCESSORES(estado) do
a ¬ MAX(a, VALOR-MIN(s, jogo, a, b))
if a ³ b then return b
end
return a
Algoritmo alfa-beta (2)

function VALOR-MIN(estado, jogo, a, b) returns


o valor minimax do estado
if TESTE-DE-CORTE (estado) then return
AVAL(estado)
for each s in SUCESSORES(estado) do
b ¬ MIN(b, VALOR-MAX(s, jogo, a, b))
if b £ a then return a
end
return b
Jogos com componente
aleatório (jogos de azar)

zSurgem nós representando o acaso


zNestes nós calcula-se a média ou o valor
esperado, que é a média sobre todas as
possibilidades que podem ocorrer
zPode-se calcular o valor expectimax de
uma posição C através da fórmula

expectimax(C)=Si P(di)sÎS(C,di)(utilidade(s))
Esquema de árvore com
elemento ao acaso
Pontuação de campeões
de xadrez

Potrebbero piacerti anche