iia jogos peb

64
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 1 Introdução à procura adversária Algoritmo Mini-Max Poda Alpha-Beta Parte 2 Decisões imperfeitas Jogos não Determinísticos

Upload: marcio-jose

Post on 31-Dec-2014

69 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Iia Jogos PeB

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

Page 2: Iia Jogos PeB

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.

Page 3: Iia Jogos PeB

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.

Page 4: Iia Jogos PeB

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.

Page 5: Iia Jogos PeB

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.

Page 6: Iia Jogos PeB

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.

Page 7: Iia Jogos PeB

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

Page 8: Iia Jogos PeB

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

Page 9: Iia Jogos PeB

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.

Page 10: Iia Jogos PeB

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

Page 11: Iia Jogos PeB

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

Page 12: Iia Jogos PeB

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

Page 13: Iia Jogos PeB

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

Page 14: Iia Jogos PeB

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

Page 15: Iia Jogos PeB

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.

Page 16: Iia Jogos PeB

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

Page 17: Iia Jogos PeB

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

Page 18: Iia Jogos PeB

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

Page 19: Iia Jogos PeB

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.

Page 20: Iia Jogos PeB

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.

Page 21: Iia Jogos PeB

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

Page 22: Iia Jogos PeB

Introdução à Inteligência Artificial Universidade da Madeira

22

-∞Poda Alpha-Beta. Exemplo 1

+∞

-∞Poda Alpha-Beta. Exemplo 1

Page 23: Iia Jogos PeB

Introdução à Inteligência Artificial Universidade da Madeira

23

+∞

-∞

-∞Poda Alpha-Beta. Exemplo 1

-1

+∞

-∞

-∞Poda Alpha-Beta. Exemplo 1

Page 24: Iia Jogos PeB

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

Page 25: Iia Jogos PeB

Introdução à Inteligência Artificial Universidade da Madeira

25

-1

-1

-∞

+∞

+∞

Poda Alpha-Beta. Exemplo 1

-1

1

-1

-∞

+∞

+∞

Poda Alpha-Beta. Exemplo 1

Page 26: Iia Jogos PeB

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

Page 27: Iia Jogos PeB

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

Page 28: Iia Jogos PeB

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

Page 29: Iia Jogos PeB

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

Page 30: Iia Jogos PeB

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

Page 31: Iia Jogos PeB

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

Page 32: Iia Jogos PeB

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

Page 33: Iia Jogos PeB

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

Page 34: Iia Jogos PeB

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

Page 35: Iia Jogos PeB

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

Page 36: Iia Jogos PeB

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

Page 37: Iia Jogos PeB

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

Page 38: Iia Jogos PeB

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

Page 39: Iia Jogos PeB

Introdução à Inteligência Artificial Universidade da Madeira

39

Poda Alfa-BetaNó min

-1

Poda Alfa-BetaNó min

-0.1

0.03

-0.05

Page 40: Iia Jogos PeB

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

Page 41: Iia Jogos PeB

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.

Page 42: Iia Jogos PeB

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.

Page 43: Iia Jogos PeB

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)

Page 44: Iia Jogos PeB

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

Page 45: Iia Jogos PeB

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

Page 46: Iia Jogos PeB

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?

Page 47: Iia Jogos PeB

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?

Page 48: Iia Jogos PeB

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

Page 49: Iia Jogos PeB

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.

Page 50: Iia Jogos PeB

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.

Page 51: Iia Jogos PeB

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

Page 52: Iia Jogos PeB

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.

Page 53: Iia Jogos PeB

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.

Page 54: Iia Jogos PeB

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

Page 55: Iia Jogos PeB

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

Page 56: Iia Jogos PeB

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.

Page 57: Iia Jogos PeB

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!

Page 58: Iia Jogos PeB

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.

Page 59: Iia Jogos PeB

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

Page 60: Iia Jogos PeB

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

Page 61: Iia Jogos PeB

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

Page 62: Iia Jogos PeB

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”.

Page 63: Iia Jogos PeB

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.

Page 64: Iia Jogos PeB

Introdução à Inteligência Artificial Universidade da Madeira

64

FIM