Busca Contra Advers - PowerPoint PPT Presentation

About This Presentation
Title:

Busca Contra Advers

Description:

Busca Contra Advers rio ou Jogos Adversarial Search or Game playing Jogos Em ambientes multiagentes, h pouca previsibilidade A es dos outros agentes preciso ... – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 26
Provided by: Departamen214
Category:

less

Transcript and Presenter's Notes

Title: Busca Contra Advers


1
Busca Contra Adversário ou Jogos
  • Adversarial Search or Game playing

2
Jogos
  • Em ambientes multiagentes, há pouca
    previsibilidade
  • Ações dos outros agentes
  • É preciso tratar as contingências
  • Em ambiente competitivos, há conflito de
    objetivos
  • Ex. negociação em comércio eletrônico
  • Nestes casos, temos Busca contra adversário, ou
    simplesmente jogo
  • Em economia, na teoria dos jogos, estuda-se
    vários tipos de jogos

3
Jogos
  • A IA trabalha com um tipo particular de jogo
  • Two-player
  • Turn-taking
  • Zero-sum (se um ganha, o outro perde)
  • Perfect information (observável)
  • Histórico
  • Xadrez desde anos 50, hoje atingiu nível de
    mestre
  • Damas e Othelo hoje, melhor que qualquer humano
  • Gamão hoje, nível de campeão
  • Go, nível amador

4
Jogos
  • Aplicações atrativas para métodos IA desde o
    início.
  • Sinônimo de inteligência
  • Ações bem definidas e ambiente acessível
  • Abstração (representação simplificada de
    problemas reais)
  • Porém desafiador
  • Complexidade
  • Xadrez 35 movimentos possíveis por turno, 25
    jogadas por jogador por partida gt 3550 ? 10154
    (1040 nós distintos)
  • Incerteza devido ao outro jogador
  • Problema contingencial agente deve agir antes
    de completar a busca

5
Formulando e resolvendo o problema
  • Formulação
  • Estado inicial posições do tabuleiro de quem é
    a vez
  • Estado final posições em que o jogo acaba
  • Operadores jogadas legais para um dado estado da
    partida
  • Função de utilidade (objetivo ou payoff) valor
    numérico para os estados finais (pontuação)
  • Xadrez 1, 0, -1 gamão -192,192
  • Busca algoritmo minimax
  • Idéia maximizar a utilidade (ganho) supondo que
    o adversário vai tentar minimizá-la (todos jogam
    otimamente!)
  • O agente é MAX e o adversário é MIN
  • Minimax faz busca cega em profundidade

6
Jogo da velha (min-max)
Max(X)
Min(O)
Max(X)
Min(O)
7
Algoritmo Minimax
  • 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 o valor que será escolhido por
    MAX
  • Formalmente o valor minimax de um nó n é dado
    por
  • Minimax-Value(n)
  • Utility(n), se n é terminal
  • maxs?sucesssors(n)Minimax-Value(s), se n
    é um nó Max
  • mins?sucesssors(n)Minimax-Value(s), se n
    é um nó Min

8
Algoritmo Minimax exemplo c/ 2 jogadas
3
Max node
Min node
9
Algoritmo
10
Críticas
  • É completa e ótima mas...
  • Problemas
  • Tempo gasto é totalmente impraticável, porém o
    algoritmo serve como base para outros métodos
    mais realísticos.
  • Complexidade O(bm).
  • Para melhorar (combinar duas técnicas)
  • Podar a arvore onde a busca seria irrelevante
    poda alfa-beta (alfa-beta pruning)
  • Substituir a profundidade n de min-max(n) pela
    estimativa de min-max(n) função de avaliação

11
Alpha-Beta Pruning (poda alfa-beta)
  • Função
  • Não expandir desnecessariamente nós durante o
    minimax (mas devolvendo o mesmo resultado)
  • Idéia não vale a pena piorar, se já achou algo
    melhor
  • Mantém 2 parâmetros
  • ? - melhor valor (mais alto) encontrado até então
    para MAX
  • ? - melhor valor (mais baixo) encontrado até
    então 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)

12
Alfa-Beta
Lembrar que min-max faz busca em profundidade
A
3
13
Alfa-Beta
3,8
A
3,3
Agora dá para saberque MIN vai escolher no máx.
3
12
3
8
14
Alfa-Beta
3,14
A
Realisticamante, 14 é o melhor para max por
enquanto
3,3
-8,2
-8,14
12
3
8
2
14
15
Alpha-Beta Pruning outro exemplo
3
MAX MIN MAX
3
0
2
3
0
5
2
3
0
2
1
16
Balanço da poda alfa-beta
  • Poda não afeta o resultado final
  • Com um ordenamento perfeito das jogadas,
    complexidade O(bm/2)
  • Bom exemplo de raciocínio sobre a relevância de
    se cálcular coisas (forma de meta-raciocício)

17
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ó
  • w1f1w2f2...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 crucial compromisso entre precisão e
    eficiência

18
Função de avaliação (h) para o jogo da velha
sugestões?
19
Uso da Funções de Avaliação
Minimax de duas jogadas (two-ply) aplicado à
abertura do jogo da velha
20
Quando aplicar a função de avaliação?
  • Definir uma profundidade máxima ou iterativa não
    funciona 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. um 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

21
E aí é útil mesmo?
  • Ainda pode ser complexo...
  • bm 106, b35 ? m4
  • Olhar para frente 4-ply (quatro lances) é pouco
    para um nível profissional!
  • 4-ply novato humano
  • 8-ply PC típico, mestre humano
  • 12-ply Deep Blue, Kasparov

22
Jogos com elementos de acaso
  • Há jogos com elementos de imprevisibilidade maior
    do que os tratados
  • Ex. gamão
  • Não sabemos quais são as jogadas legais do
    adversário
  • A árvore de jogos (game tree) usada não vai
    servir!

23
Jogos com elementos de acaso
  • Nova árvore de jogos
  • Inclui nós de acaso, além dos nós MAX e MIN
  • Os ramos dos nós de acaso, correspondem ao
    resultados do jogar dos dados do gamão, por
    exemplo
  • Cada ramo pode ter uma probabilidade associada
  • Não podemos mais falar de valor-minimax de um nó,
    mas sim de valor-minimax esperado (expectiminimax
    value)
  • Expectiminimax (n)
  • Utility(n), se n é terminal
  • maxs?Sucesssors(n) Expectiminimax(s), se n é um
    nó Max
  • mins?Sucesssors(n) Expectiminimax(s), se n é um
    nó Min
  • ?s?Sucesssors(n) P(s).Expectiminimax(s), se n é
    um nó de acaso

24
Árvore do Jogo Gamão
nós deacaso
Probabilidades
25
Conclusões
  • Jogos é uma área excitante para se trabalhar
  • Ela ilustra várias questões importantes da IA
  • A perfeição é impossível gt é preciso aproximar
  • Uma boa idéia é pensar sobre o que pensar
Write a Comment
User Comments (0)
About PowerShow.com