representação do conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf ·...

13
 1 lnteligência Artificial Jogos

Upload: nguyenkhue

Post on 25-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

1

lnteligência Artificial 

Jogos

Page 2: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

2

Jogos: considerações gerais

Aplicações atrativas para métodos IA desde o início.• Formulação simples do problema (ações bem definidas)• Ambiente acessível;• Abstração (representação simplificada de problemas reais)• Sinônimo de inteligência• Primeiro algoritmo para xadrez foi proposto por Claude 

Shannon e Alan Turing na década de 50

Porém desafiador:• Tamanho + limitação de tempo (35100 nós para xadrez); • Incerteza devido ao outro jogador;• Problema “contingencial”: agente deve agir antes de 

completar a busca

Page 3: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

3Formulando e resolvendo o problema

2 jogadores, revezam o lance, são adversários

Formulação• Estado inicial: posições do tabuleiro + de quem é a vez• Estado final:  posições em que o jogo acaba• Operadores: jogadas legais• Função de utilidade: valor numérico do resultado (pontuação)

Busca: algoritmo minimax• Idéia: maximizar a utilidade (ganho) supondo que o adversário 

vai tentar minimizá­la• Minimax faz busca cega em profundidade • O agente é MAX e o adversário é MIN

Page 4: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

4

Jogo da velha (min­max)

... .........

...x o x x o xx o xx x

xx xxo

oo o

o o

Max(X)

x xx x x

x

x

x xMin(O)

x o ...x o x ox x

xMin(O)

x o x o xo ...Max(X)

­1  0 +1 Função utilidade

Page 5: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

5Minimax Passos

• Gera a árvore inteira até os estados terminais • Aplica a função de utilidade nas folhas. • Propaga os valores dessa função subindo a árvore através 

do minimax• Determinar qual a ação que será escolhida por MAX. 

3

3 2 2

3 12 8 2 4 6 14 5 2

A1 A2 A3

A11 A12 A13A21

A22A23 A31

A32A33

MAX

MIN

Jogada decidida por MAX

Page 6: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

6

Críticas

Problemas• Tempo gasto para determinar decisão ótima é totalmente 

impraticável, porém o algoritmo serve como base para outros métodos mais realísticos.

• Complexidade: O(bm).

Para melhorar1) Limitar a profundidade da busca e substituir função de utilidade 

por função de avaliação (heurística);

2) Podar a árvore onde a busca seria irrelevante: poda alfa­beta 

Page 7: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

7

Funções de Avaliação Reflete as chances de ganhar: baseada no valor material

• ex. valor de uma peça independentemente da posição das outras

Função Linear de Peso de propriedade do nó:• w1f1+w2f2+...+wnfn

• Ex. Os pesos (w) no xadrez poderiam ser o tipo de pedra do xadrez (Peão­1, ..., Rainha­9) e os (f) poderiam ser o número de cada peça no tabuleiro.

Escolha das propriedades relevantes ainda não pode ser realizada.

Escolha crucial: compromisso entre precisão e eficiência

Page 8: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

8Função de avaliação para  o jogo da velha

X

0

X 0

X0

X

0

X

0

X tem 6 possibilidades

0 tem 5 possibilidades

H = 6 ­ 5 = 1

H = 4 ­ 6 = = ­2

H = 5 ­ 4 = 1

Page 9: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

Uso da Funções de Avaliação

Page 10: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

10

Quando aplicar a função de avaliação?

Definir uma profundidade máxima ou iterativa pode não funcionar devido à incerteza inerente ao problema

Solução: Procura Tranqüila (Quiescence search):• Idéia: evitar avaliação em situações a partir das quais pode 

haver mudanças bruscas• No caso do jogo da velha, toda posição é tranqüila mas no 

xadrez não.... (ex. uma peça de xadrez a ser comida)• Algoritmo: Se a situação (nó) é “tranqüila”, então aplica a 

função de avaliação, senão busca até encontrar uma situação “tranqüila”

Page 11: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

11Alpha­Beta Pruning

Função:• Não expandir desnecessariamente nós durante o minimax.

Idéia: não vale a pena piorar, se já achou algo melhor

Mantém 2 parâmetros:∀ α ­ melhor valor (no caminho) para MAX∀ β ­ melhor valor (no caminho) para MIN

Teste de expansão:∀ α não pode diminuir (não pode ser menor que um ancestral)∀ β não pode aumentar (não pode ser maior que um ancestral)

Page 12: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

12

Alpha­Beta Pruning: exemplo

MAX

MIN

MAX

α

2 3

βtemp=3

α1=3

1 2

2 3 5

α1=3

βtemp=3

α2=5

x

α2=5 > βtemp=3: pára! Se x>5  α2>5 => βtemp=3Se x≤5  α2=5 => βtemp=3

Portanto, x não importa! 

Page 13: Representação do Conhecimento - ic.unicamp.brariadne/mc906/2s2008/jogos-ariadne.pdf · Aplicações atrativas para métodos IA desde o início. • Formulação simples do problema

 

13

3=C

3=A

3

2 3 5 0

0

0=D

2 1

25=B

2=E

A tem β=3; B será podado por β, já que 5>3D é podado por α, já que 0<3E é podado por α, já que 2<3

C é 3.

β

α