iia - jogos - universidade da madeiracee.uma.pt/edu/iia/acetatos/iia - jogos-peb.pdf · ztêm uma...
Post on 25-Nov-2018
214 Views
Preview:
TRANSCRIPT
Introdução à Inteligência Artificial Universidade da Madeira
1
Inteligência Artificial
Estratégias de Resolução de Problemas Considerando Adversários
(Jogos)
Agenda
Parte 1Introdução à procura adversáriaAlgoritmo Mini-MaxPoda Alpha-Beta
Parte 2Decisões imperfeitasJogos não Determinísticos
Introdução à Inteligência Artificial Universidade da Madeira
2
MotivaçãoOs procedimentos de procura cega e procura heurística apenas resultam em problemas (eventualmente jogos) de um único agente, dado que:
Não existe a noção de turno, se existir mais de um agente envolvido, estes actuam de forma cooperativa.
Não se considera a possibilidade de jogadas do adversário.
Utilidade dos jogos em Problemas Considerando Adversários
Os jogos são ideais para estudar o uso de estratégias adversárias, dado que:
São aplicações atractivas para métodos de IA:
Formulação simples do problema (acções bem definidas);Ambiente acessível;Abstracção (representação simplificada de problemas reais);Sinónimo de inteligência;Têm uma boa medida para o desempenho: a vitória.
Introdução à Inteligência Artificial Universidade da Madeira
3
Utilidade dos jogos em Problemas Considerando Adversários
Conduzem aos seguintes desafios:
Tamanho + limitação de tempo (35100 nós para xadrez); Incerteza devido ao outro jogador;Problema de “contingência”: o agente deve agir antes de completar a procura (busca).
Características dos Jogos
Ambientes competitivos, nos quais os agentes têm objectivos que estão em conflito.
Os jogos são normalmente classificados como de habilidade, e/ou de sorte.
Introdução à Inteligência Artificial Universidade da Madeira
4
Tipos de JogosTipos de Jogos:
Informação:Perfeita: Xadrez, Damas, Go, OthelloImperfeitas: Poker, Bridge, Bisca, Copas
Sorte ou Determinísticos:Determinísticos: Xadrez, Damas, Go, Othello.Jogos de Sorte: Gamão, Monopólio, Poker
Plano de “Ataque”:Algoritmo para o jogo perfeitoHorizonte finito, avaliação aproximadaCortes na árvores para reduzir custos
Jogos e IA
Quando os computadores se tornaram programáveis, em 1950, Claude Shannon e Alan Turing programaram o primeiro jogo de Xadrez.
Prova que uma máquina pode, de facto, fazer algo que se pensava requerer inteligência.As regras são simples, mas o jogo é complexo.Mundo totalmente acessível ao agente.Factor de ramificação médio é de 35, partida com 50 jogadas => 35100 folhas numa árvore de pesquisa (embora só existam 1040
posições legais).
Algumas das características que tornaram o xadrez atractivo computacionalmente são partilhadas por outros jogos.
Introdução à Inteligência Artificial Universidade da Madeira
5
Jogos e IA
No xadrez, o jogo desenvolve-se entre dois agentes rivais.
O jogo é completamente acessível para ambos os agentes.
Isto faz com que seja possível pensar o desenvolvimento do jogo como uma procura num espaço formado pelas posições do mesmo, as quais são controladas alternativamente por cada um dos rivais.
Jogos e IA
Como dizíamos, o jogo desenvolve-se entre dois jogadores que são oponentes aquando os seus objectivos.
Tradicionalmente, estes jogadores recebem os nomes de max e min por motivos que veremos a seguir.
Max começa o jogo e a partir dali move em forma alternada até o fim do jogo.
Introdução à Inteligência Artificial Universidade da Madeira
6
Jogos e IAUm jogo pode definir-se formalmente como um problema
de procura, com as seguintes características:
Um estado inicial que inclui a posição do tabuleiro e a indicação de quem deve jogar.Um conjunto de operadores que definem os movimentos válidos ádisposição dos jogadores.Um teste de terminação que estabelece quando o jogo estáfinalizado. Os estados onde o jogo acaba chamam-se finais.Uma função de utilidade que atribui um valor numérico ao estado final do jogo, que representa os pontos que max pode ganhar no jogo. Sendo que usualmente os valores são 1 (ganha max), 0 (empate), -1 (ganha min).
Jogos e IANum problema de procura, é suficiente que max, que começa o jogo, expandisse a árvore das jogadas e encontrasse o caminho até há meta, no qual seria um estado onde max ganhava.
Porém,
o jogador min também quer ganhar o jogo!
Isto obriga a max a encontrar uma estratégia que lhe permita atingir o seu objectivo.
Introdução à Inteligência Artificial Universidade da Madeira
7
x x xx x x
x x x
max
min…xo xo xo
Utilidade para max -1 0 +1
xoo
ox
xo
o oxx
xoo
ox
xxo
xxxTerminais
…
…… …
xox
xox
xox max
Max e Min
Vamos utilizar uma convenção para representar graficamente as situações do jogo em forma de árvore.O quadrado e o triângulo representam as jogadas do max e o círculo e o triânguloinvertido as jogadas do min.
oue
max min
e
max min
Introdução à Inteligência Artificial Universidade da Madeira
8
Max e Minmax
min
max
min
Capa ou ply
Max e Minmax
min
max
min
Capa ou ply
Introdução à Inteligência Artificial Universidade da Madeira
9
O Algoritmo Minimax
Este algoritmo está desenhado para determinar uma estratégia óptima para que max ganhe.
Dessa forma pode decidir qual é a melhor escolha a cada turno onde tem que jogar.
As suposições fundamentais são duas: max vá realizar sempre a sua melhor jogada.
min vá realizar sempre a pior jogada para max.
O Algoritmo Minimax1. Gerar a árvore completa até aos estados terminais.2. Aplicar a função utilidade a esses estados.3. Propagar o valor da utilidade da seguinte forma: O
melhor valor para Min (ou seja, o pior para Max).4. Escolher o movimento com o valor mais elevado.5. O valor no nó raiz é o valor máximo que max pode
obter.
O Minimax faz procura cega em profundidade.
Introdução à Inteligência Artificial Universidade da Madeira
10
Exemplo 1
1 3 -1 0 1 4 0 2 -1 5 7 1
Exemplo 1
1 3 -1 0 1 4 0 2 -1 5 7 1
3 4 2 7
Introdução à Inteligência Artificial Universidade da Madeira
11
3 2
Exemplo 1
1 3 -1 0 1 4 0 2 -1 5 7 1
3 4 2 7
3 2
Exemplo 1
1 3 -1 0 1 4 0 2 -1 5 7 1
3 4 2 7
3
Introdução à Inteligência Artificial Universidade da Madeira
12
Exemplo 2
-1
1 -1
1
1
1
1 -1-1
-1
Exemplo 2
-1
1 -1
1
1
1
1 -1-1
-1
1
-1
Introdução à Inteligência Artificial Universidade da Madeira
13
Exemplo 2
-1
-1
1 -1
1
1
1
1 -1-1
-1
1
1
-1
Exemplo 2
-1
-1
1 -1
1
1
1
1 -1-1
-1
1
1
1
-1
Introdução à Inteligência Artificial Universidade da Madeira
14
Exemplo 2
-1
-1
1 -1
1
1
1
1 -1-1
-1
1
1
1
-1 1 -1
Exemplo 2
-1
-1
1 -1
1
1
1
1 -1-1
-1
1
1
1
-1 1 -1
1
Introdução à Inteligência Artificial Universidade da Madeira
15
Algoritmo Minimax
function MIN-VALUE(state) returns a utility valueif TERMINAL-TEST(state) then return UTILITY(state)
v ∞for a, s in SUCESSORS(state) do
v MIN(v,MAX_VALUE(s))return v
function MAX-VALUE(state) returns a utility valueif TERMINAL-TEST(state) then return UTILITY(state)
v -∞for a, s in SUCESSORS(state) do
v MAX(v,MIN_VALUE(s))return v
function MINIMAX-DECISION(state) returns an actioninputs: state, current state in gamer MAX-VALUE(state)
return the action in SUCESSORS(state) with value r
Propriedades do MinimaxCompleto? Sim, se a árvore for finita!
Pode existir uma estratégia finita mesmo numa árvore infinita!
Óptimo? Sim, contra um adversário óptimo!E se o adversário não for óptimo?O Max vai jogar ainda melhor!
Complexidade no Tempo? O (b m)Onde: b = factor de ramificação (movimentos válidos)
m = profundidade
Complexidade no Espaço? O (b m) (exploração primeiro em profundidade).
Problema: Inviável para qualquer jogo minimamente complexo.
Introdução à Inteligência Artificial Universidade da Madeira
16
Exercício
Dados 5 palitos cada jogador pode retirar 1, 2 ou 3 por turno.Perde o jogador que retira o último palito.Será que max pode ganhar o jogo?
5
4 3 2
3 2 1 01 02 1
112 01
1 0
00
Introdução à Inteligência Artificial Universidade da Madeira
17
1-11-1
1
-1
11
1-1
-1
5
4 3 2
3 2 1 01 02 1
112 01
1 0
00
-1-1
1-11-1
1
-1
11
1-1
-1-1
1
-1
1
5
4 3 2
3 2 1 01 02 1
112 01
1 0
00
-1-1
Introdução à Inteligência Artificial Universidade da Madeira
18
1-11-1
1
-1
11
1-1
-1-1
1
-1
1
5
4 3 2
3 2 1 01 02 1
112 01
1 0
00
-1-1
-1
-1
-1
-1
O Max perde o jogo
1-11-1
1
-1
1
1
-1
1
5
4 3 2
3 2 1 01 02 1
112 01
1 0
00
-1-1
-1
Pergunta: Preciso saber o valor de X Para calcular Y?
X
Y
Introdução à Inteligência Artificial Universidade da Madeira
19
Poda Alpha-Beta
O que é a poda (corte)?É o processo de eliminar uma ramificação da árvore de pesquisa de forma a que não seja examinada.
Porquê podar?Para eliminar nós desnecessários à pesquisa.Para acelerar o processo de pesquisa.
Poda Alpha-BetaA poda Alpha-Beta não afecta o resultado final.
Boa ordenação melhora a eficiência dos cortes.
Com ordenação perfeita: complexidade no tempo = O (b m/2)
Duplica a profundidade de pesquisa
Uma técnica particular para encontrar a solução óptima de acordo com a profundidade limite de pesquisa éusando funções de avaliação.
Introdução à Inteligência Artificial Universidade da Madeira
20
Poda Alpha-Beta
Retorna as mesmas escolhas que o Minimax, mas examina menos nós. O nome deriva das duas variáveis que são passadas durante o percurso de pesquisa e que restringem o conjunto das soluções possíveis:
Alpha – representa o valor mais alto encontrado no caminho de Max.Beta – representa o valor mais baixo encontrado no caminho de Min.
ImplementaçãoAjustar o alpha do nó da raiz á infinidade negativa e betaá infinidade positiva.
Procurar a profundidade, propagando o alpha e betapara todos os nós visitados até alcançar a profundidade pretendida.
Aplicar a função de avaliação para começar a utilidade desse nó.
Se o pai desse nó for um nó Max, e a utilidade calculada for maior do que o valor actual do alpha pai, substitui esse valor do alpha com esta utilidade.
Introdução à Inteligência Artificial Universidade da Madeira
21
Implementação
Se o pai deste nó é um nó MIN, e o valor de utilidade calculado é menor que o valor beta de seus pais, coloca em beta o valor de utilidade obtido.
Com base nestes valores, compara os valores alphae beta dos pais deste nó para determinar se deve “olhar” para as outras folhas ou então se deve retornar os valores conseguidos (backtrack up).
Continua a pesquisa “primeiro em profundidade”desta forma, até que todos os passos com mais potência tenham sido avaliados.
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
22
-∞Poda Alpha-Beta. Exemplo 1
+∞
-∞Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
23
+∞
-∞
-∞Poda Alpha-Beta. Exemplo 1
-1
+∞
-∞
-∞Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
24
-1
+∞
max(-1, -∞) = -1
-∞Poda Alpha-Beta. Exemplo 1
-1
-1
-∞
+∞
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
25
-1
-1
-∞
+∞
+∞
Poda Alpha-Beta. Exemplo 1
-1
1
-1
-∞
+∞
+∞
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
26
-1
1
-1
-∞
+∞
min(1, +∞) = 1
Poda Alpha-Beta. Exemplo 1
-1
1
-1
-∞
+∞
1
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
27
-1
1 -1
-1
-∞
+∞
1
Poda Alpha-Beta. Exemplo 1
-1
1 -1
-1
-∞
+∞
min(1, -1) = -1
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
28
-1
1 -1
-1
-∞
+∞
-1
Poda Alpha-Beta. Exemplo 1
-1
1 -1
-1
-∞
+∞
-1
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
29
-1
1 -1
-∞
+∞
-1
max(-1, -1) = -1
Poda Alpha-Beta. Exemplo 1
-1
1 -1
-1
-∞
+∞
-1
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
30
-1
1 -1
min(-1, +∞) = -1
-1
-∞
-1
Poda Alpha-Beta. Exemplo 1
-1
1 -1
-1
-1
-∞
-1
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
31
-1
1 -1
-1
-1
max(-1, -∞) = -1
-1
Poda Alpha-Beta. Exemplo 1
-1
1 -1
-1
-1 +∞
-1
-1
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
32
-1
1 -1
1-1
-1 +∞
-1
-1
Poda Alpha-Beta. Exemplo 1
-1
1 -1
1-1
-1 1
-1
-1
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
33
-1
1 -1
1-1
-1 1
-1
-1
Poda Alpha-Beta. Exemplo 1
-1
1 -1
1-1
-1 1
-1
-1
-∞
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
34
-1
1 -1
1-1
-1 1
-1
-1
-∞
1
Poda Alpha-Beta. Exemplo 1
-1
1 -1
1-1
-1 1
-1
-11
max(1, -∞) = 1
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
35
-1
1 -1
1-1
-1 1
-1
-11
1
Poda Alpha-Beta. Exemplo 1
-1
1 -1
1-1
-1 1
-1
-11
1
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
36
-1
1 -1
1-1
-1 1
1
-11
1
Poda Alpha-Beta. Exemplo 1
-1
1 -1
1-1
-1 1
1
-11
1
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
37
-1
1 -1
1-1
-1 1
max(-1, 1) = 1
-1
1
1
Poda Alpha-Beta. Exemplo 1
-1
1 -1
1-1
-1 1
1
-1
1
1
Poda Alpha-Beta. Exemplo 1
Introdução à Inteligência Artificial Universidade da Madeira
38
-1
1 -1
1-1
-1 1
1
-11
1
Poda Alpha-Beta. Exemplo 1
Poda Alfa-Beta
-1
1 -1
1
1
1
1 -1-1
-1
Nó max
Introdução à Inteligência Artificial Universidade da Madeira
39
Poda Alfa-BetaNó min
-1
Poda Alfa-BetaNó min
-0.1
0.03
-0.05
Introdução à Inteligência Artificial Universidade da Madeira
40
Poda Alfa-Beta
-0.1
0.03
-0.05
-0.05
Nó minO valor a propagar será
sempre menor ou igual que –0.05
Algoritmo Alpha-Beta
function MAX-VALUE(state, α, β ) returns a utility valueinputs: state, current state in game
α, the value of the best alternative for MAX along the path to stateβ, the value of the best alternative for MIN along the path to state
if TERMINAL-TEST(state) then return UTILITY(state)v - ∞for a, s in SUCESSORS(state) do
v MAX(v, MIN-VALUE(s, α, β))if v ≥ β then return vα MAX(β,v)
return v
function ALPHA-BETA-SEARCH(state) returns an actioninputs: state, current state in game
v MAX-VALUE(state, -∞, +∞)return the action in SUCESSORS(state) with value v
Introdução à Inteligência Artificial Universidade da Madeira
41
Algoritmo Alpha-Beta (cont.)
function MIN-VALUE(state, α, β ) returns a utility valueinputs: state, current state in game
α, the value of the best alternative for MAX along the path to stateβ, the value of the best alternative for MIN along the path to state
if TERMINAL-TEST(state) then return UTILITY(state)v + ∞
for a, s in SUCESSORS(state) dov MIN(v, MAX-VALUE(s, α, β,))
if v ≤ α then return vβ MAX(β,v)return v
EficiênciaA eficiência depende da ordem como é feita a progressão da pesquisa.
Se b é o factor de ramificação e m é a profundidade da procura, o melhor caso para alpha-beta é O (b m/2),isto é, a mesma quantidade que o Minimax numa árvore com metade da profundidade.
Comparado com o melhor caso do Minimax que é de O (bm), isto é, examina a mesma quantidade de estados, no pior dos casos.
Introdução à Inteligência Artificial Universidade da Madeira
42
Problemas
Se só existe um movimento válido, este algoritmo continuará a gerar uma árvore inteira de pesquisa.
Designado para identificar o “melhor” movimento e não para diferenciar entre outros movimentos.
Menosprezam movimentos que penalizam algo no início para obter melhores posições mais tarde.
Avaliação da utilidade usualmente não é exacta.
Assume que o oponente escolherá sempre o melhor movimento possível.
Resumindo…
Um Jogo é definido pelo seu estado inicial (disposição das peças no tabuleiro), o operador (que define os movimentos válidos), um teste terminal (que nos diz quando um jogo chega ao fim), e uma função de utilidade (que nos diz quem ganhou).
Em jogos com informação perfeita entre dois jogadores, o algoritmo minimax pode determinar a melhor jogada (assumindo que o oponente joga sempre da melhor maneira), enumerando por completo toda a árvore de jogo.
O algoritmo alpha-beta é mais eficiente que o minimax por causa dos cortes efectuados a árvore.
Introdução à Inteligência Artificial Universidade da Madeira
43
Fim Parte 1
Introdução à
Inteligência Artificial
Estratégias de Resolução de Problemas Considerando Adversários
(Jogos)
Introdução à Inteligência Artificial Universidade da Madeira
44
Agenda
Parte 1Introdução à procura adversáriaAlgoritmo Mini-MaxPoda Alpha-Beta
Parte 2Decisões imperfeitasJogos não Determinísticos
Decisões Imperfeitas
Introdução à Inteligência Artificial Universidade da Madeira
45
Na maioria dos jogos…
O espaço de procura é muito grande.Existem restrições a nível de tempo.Por exemplo: o factor de ramificação do xadrez é 35
Supondo que o nosso agente procura 1000 estados por segundoE tem um tempo limite de 150 segundos
Então pode procurar 150.000 posições por movimento
Na maioria dos jogos…
Que equivale a olhar 3 ou 4 jogadas em frenteporque 353 = 42.875 e 354 = 1.500.625
Um jogador que olha e frente com profundidade 4 não é um grande jogador!
Profundidade 4 => Jogador NovatoProfundidade 8 => PC, Jogador humano muito bomProfundidade 12 => Deep Blue, Kasparov
Introdução à Inteligência Artificial Universidade da Madeira
46
Críticas ao MiniMax
ProblemasO tempo gasto é totalmente impraticável, porém o algoritmo serve como base para outros métodos mais realísticos.Complexidade: O (b m).
Para melhorarCortar a árvore onde a procura seria irrelevante: poda
alfa-beta.Porém não é suficiente!
Críticas ao MiniMax
Para utilizar a função de avaliação preciso de nós terminais.
Será que posso avaliar nós intermédios sem ter que chegar ao fim da árvore?
Introdução à Inteligência Artificial Universidade da Madeira
47
Solução
Alterar o Minimax ou o Alpha Beta de dois modos:
Substituindo a função de utilidade por uma função de avaliação heurística EVAL.
Que dá uma estimativa da utilidade das posições.
Substituindo o teste terminal por um teste de Cutoff.Que decide quando aplicar a função EVAL. Isto é, quando vou olhar para a frente.
A função de avaliação
Retorna uma estimativa do valor de utilidade esperado do jogo, de uma dada posição.
retorna uma estimativa do valor do próximo movimento.
O desempenho de um programa de jogo estádependente da qualidade das funções de avaliação.As diferentes funções de avaliação estão dependentes da natureza do jogo.Função de avaliação simples para o jogo de xadrez: é a soma dos valores das peças brancas em jogo menos a soma dos valores das peças negras em jogo.
Como desenhar boas funções de avaliação?
Introdução à Inteligência Artificial Universidade da Madeira
48
Qualidade da função de avaliação
As funções de avaliação devem estar de acordo com a função de utilidade, em relação aos estados terminais.
Não deve demorar muito tempo (equilíbrio entre exactidão e o custo).
Para estados não terminais, a função de avaliação deve estar fortemente relacionada com a actual hipótese de ganhar.
Função linearFunção de peso linear:
EVAL(S)=w1f1(s)+w2f2(s)+…+wnfn(s)wi é um pesofi é uma característica da posição
Por exemplo no xadrez:wi pode ser o valor de cada peçafi pode ser o número de peças de cada tipo no tabuleiro
Introdução à Inteligência Artificial Universidade da Madeira
49
Exemplo: XadrezValores:
Peão=1, Cavalo=3, castelo=5, rainha=9
Peças Pretas:5 peões, 1 cavalo, 2 castelos
Pontuação = 1*(5)+3*(1)+5*(2)= 5+3+10 = 18
Peças Brancas:5 peões, 1 castelo
Pontuação = 1*(5)+5*(1)= 5 + 5 = 10
Pontuação total, deste estado de jogo:pretas = 18-10 = 8brancas = 10-18 = -8
Cutoff
Deve usar uma procura heurística.
Usa uma função de avaliação.Faz uma estimativa da pontuação que um estado de jogo garante.
Desenha o espaço de pesquisa até uma certa profundidade.
A profundidade é escolhida para limitar o tempo necessário.
Coloca os valores estimados no fim dos caminhos.
Propaga esses valores até ao topo.
Introdução à Inteligência Artificial Universidade da Madeira
50
Como determinar o Cutoff
A profundidade é fixada de modo a não exceder os limites (de custo) impostos pelas regras do jogo.
Utilizando um limite de custo por jogada e/ou participante pode utilizar-se um algoritmo similar a profundidade iterada.
Como determinar o Cutoff
Porém, este tipo de solução pode não ser adequada, já que uma jogada decisiva pode estar no nível seguinte aquele onde a procura fez o corte.
Isto é o chamado efeito horizonte.
Introdução à Inteligência Artificial Universidade da Madeira
51
Melhorias no CutoffEstabilidade (Quiescence)
É uma propriedade da função de avaliação. Significa que a função de avaliação comporta-se de maneira estável, isto é, sem produzir grandes mudanças no seu valor.
As funções de avaliação só devem ser aplicadas a posições estáveis.
São posições em que é improvável haver grandes mudanças de valores no futuro próximo.
Posições não estáveis devem ser expandidas até um nó estável ser atingido. Esta pesquisa extra é chamada de pesquisa “quiescente”.
Disponibiliza mais informação sobre um determinado nó da arvore de pesquisa mas pode resultar em perda de informação sobre os outros nós.
A esperança é que a função continue com uma variação “leve”, mantendo o seu comportamento além do horizonte.
Melhorias no CutoffEstabilidade (Quiescence)
Zona de Mudanças Zona de Quietude
Introdução à Inteligência Artificial Universidade da Madeira
52
Jogos não Determinísticos
Jogos que Incluem o Elemento Sorte
Existem elementos externos que afectam o jogo, tais como o lançamento de um dado, o tirar de uma carta ao acaso, o lançar uma moeda, etc.
Existem dois tipos de jogos de azar:Jogos de Azar com Informação Perfeita
Ex.: Gamão....
Jogos de Azar com Informação ImperfeitaEx.: Poker...
Deixa de ser possível construir uma árvore de jogo standard tal como nos jogos deterministas.
Introdução à Inteligência Artificial Universidade da Madeira
53
Jogos de Azar com Informação Perfeita
O factor sorte passa a ser uma parte integrante do jogo.
Passamos então a ter que considerar dois factores em comum para definir um bom jogador: a perícia + factor sorte.
Nós de Probabilidades (1)A árvore de um Jogo de Azar passa a incluir, conjuntamente com os nós MAX e Min, os nós de Probabilidades.
Um nó de Probabilidade tem associado estados (ou nós) sucessores, nomeadamente Min ou Max.
Cada estado sucessor de um nó de probabilidade tem associada uma probabilidade de ser pesquisado.
Ex.: Um nó de probabilidade envolvendo um DADO terá 6 sucessores, cada um deles representando um estado após o lançamento, sendo todos pesquisáveis com a mesma probabilidade de 1/6.
Introdução à Inteligência Artificial Universidade da Madeira
54
Nós de Probabilidades (2)
O Nó de Probabilidade vem mudar a forma como os algoritmos de pesquisa funcionavam anteriormente.
Como continuar a tomar as decisões correctas ?
Não é possível obter o conjunto de todos os movimentos válidos que o adversário tem ao seu dispor, portanto não podemos ter a certeza de como evitar certas jogadas por parte do adversário.
Deixámos então de calcular valores exactos para passarmos a calcular valores esperados baseados em probabilidades.
Introdução de Nós de Probabilidades
Introdução à Inteligência Artificial Universidade da Madeira
55
Cálculo do Valor Esperado
Põe-se então a questão de saber como continuar a escolher a melhor jogada que nos leve para a melhor posição possível?
A solução passa por fazer uma generalização do algoritmo Minimax para jogos que incluam nós de probabilidades.
Essa generalização, denominada de ExpectiMinimax, em que os Nós Terminais, os Nós Max e Min continuam a ser avaliados como anteriormente e os Nós de Probabilidades são avaliados com base na média de todas as suas posições possíveis.
Algoritmo ExpectiMinimax
Introdução à Inteligência Artificial Universidade da Madeira
56
Árvore com nós de probabilidadesMAX
Prob.
MIN
MAX
Prob.
2 3 14 3 2 12 3 5 2 7 5 61 2
4 3 3 3 5 7 6 2
3.6 3.0 5.8 4.4
3.0 4.4
3.56
.6 .6 .6 .6.4 .4 .4 .4
.6 .4
Avaliação de posições em jogos com nós de probabilidades
Para o Minimax, qualquer alteração no valor de avaliação nas folhas não afecta qualquer tomada de decisão.
Para o ExpectiMinimax, devido á introdução de nós de probabilidades, apenas transformações lineares positivas vão manter a mesma tomada de decisão.
Introdução à Inteligência Artificial Universidade da Madeira
57
Complexidade do ExpectiMinimax
Enquanto no Minimax tínhamos O(bm), no ExpectiMinimax vamos ter O(bmnm), onde n éo número de lançamentos efectuados.
O Custo extra torna irrealista olhar muito áfrente.
A nossa habilidade de olhar mais á frente está dependente da quantidade de eventos aleatórios que possam ocorrer.
Complexidade do ExpectiMinimax
Em jogos de azar, não existe uma sequência exacta de movimentos, pois para que essa sequência exista é necessário em primeiro lugar, por exemplo, lançar um dado.
Devido a não existirem sequências exactas de movimentos torna-se impossível aplicar os cortes Alfa-Beta a estes casos.
Será então possível, com vista a reduzir esta complexidade, transportar a ideia dos cortes Alfa-Beta para jogos que incluam nós com probabilidades? Sim!
Introdução à Inteligência Artificial Universidade da Madeira
58
*-Minimax
Bruce Ballard foi o primeiro a desenvolver esta técnica, chamada *-Minimax, para cortes nos nós de probabilidades. Ele propôs duas versões do seu algoritmo, chamadas de Star1 e Star2 (mais tarde refinada para Star2.5).
Nos nós Min e Max vamos continuar a aplicar os cortes Alfa-Beta, visto que não foi alterada a definição dos nós Min e Max, apenas foi introduzido um novo tipo de nó.
*-Minimax
Suponhamos que nos encontrámos num nó de probabilidade.
Será possível encontrar um limite que nos dê a variação de valores todos os sucessores deste nó, sem ser necessário examinar um por um ?
A primeira vista pode parecer impossível porque esse limite será a média de todos os nós sucessores.
Antes de efectuarmos o lançamento do dado essa média poderá ser qualquer valor.
A solução passa por impor limites aos valores atribuídos pela função de Utilidade.
Introdução à Inteligência Artificial Universidade da Madeira
59
*-Minimax: Algoritmo Star1
*-Minimax: Algoritmo Star1
-5 5 -10 -9 0 5 1 3 -10 -1 5 10
[-2,2]
Min
Chance
Max
-5 -10 0 1 -10
A = 6 (-2-10) + 10 = -62B= 6 (2+10) - 10 = 62 [-62,62]
Limite inicial:A1= N x (alfa - U) + UB1 = N x (beta - L) + L
Próximo limite:A i+1= Ai + U - ViB i+1= Bi + L - Vi
A = -62 + 10 +5 = -47B= 62 – 10 + 5 = 57
[-47,57]
A = -47 + 10 + 10 = -27B = 57 -10 + 10 = 57
[-27,57]
A = -27 + 10 -0 = -17B = 57 – 10 – 0 = 47
[-17,47]
A = -17 +10 -1 = -8B = 47 – 10 – 1 = 36
[-8,36]
?
1/6 1/6 1/6 1/6 1/6 1/6
Introdução à Inteligência Artificial Universidade da Madeira
60
Jogos de Azar com Informação Imperfeita
Jogos com informação imperfeita
Ex.: Jogos de cartas, onde inicialmente não são conhecidas as cartas do adversário.
Tipicamente é possível calcular uma probabilidade para cada mão (de jogo) possível.
Ideia: calcular o valor do Minimax para cada acção em cada mão, e depois escolher a acção com o maior valor esperado através das várias mãos.
Caso especial: se uma acção é óptima para todas as mãos, então é a acção óptima!
GIB, o melhor programa actual de bridge, faz a aproximação desta ideia:1) gerando 100 mãos consistentes 2) escolhendo a acção que em média, ganha mais partidas
Introdução à Inteligência Artificial Universidade da Madeira
61
Exemplo Mão de quatro cartas de bridge/copas, Max joga primeiro:
Em análise…* A intuição de que o valor de uma acção é a média dos
valores de todos os estados actuais é ERRADA.
Observando parcialmente, o valor de uma acção depende do estado de informação ou estado de crença no qual o agente está.
Pode gerar e pesquisar uma árvore de estados de crença.
Leva a comportamentos racionais, tais como:Agir de forma a obter informaçãoDar sinais ao parceiroAgir aleatoriamente de forma a minimizar informação que revela
Introdução à Inteligência Artificial Universidade da Madeira
62
SumárioTrabalhar com jogos é extremamente engraçado (e perigoso).
Fácil testar novas ideias!Fácil comparar agentes com outros agentes e com humanos!
Jogos ilustram diversos pontos interessantes de IA:Perfeição é inatingível => é necessário aproximar!É boa ideia pensar sobre o que pensar!A incerteza restringe a atribuição de valores aos estados!
Jogos funcionam para a IA como a Fórmula 1 para a construção de automóveis!
Questões PertinentesQ1. Será a forma como os computadores jogam xadrez mais essencial do que a forma como as pessoas o jogam?
Q2. Se os extraterrestres viessem á terra e nos desafiassem para um torneio de xadrez…
Quem enviaria: o Deep Blue ou o Kasparov?
Drew McDermott: “Dizer que o Deep Blue não pensa realmente sobre o xadrez é o mesmo que dizer que os aviões não voam, só porque não batem as asas”.
Introdução à Inteligência Artificial Universidade da Madeira
63
Fontes Consultadas
Russel, Norvig, Artificial Intelligence: A ModernApproach, Cap. 6.Acetatos Prof. Guillermo Simari. UniversidadNacional del Sur, ArgentinaAcetatos Alunos IIA semestre 2004/2005.Acetatos Prof. Geber Ramalho. CIN. Universidade Federal de Pernambuco, Brasil.
LeiturasLIVROS
Russel, Norvig, Artificial Intelligence: A ModernApproach, Cap. 5.
top related