Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Inteligência Artificial: Jogos e Algoritmos de Minimax e Alpha-Beta, Resumos de Inteligência Artificial

Uma introdução à inteligência artificial (ia) através do contexto de jogos, com ênfase nos algoritmos minimax e alpha-beta. Discutimos aplicações de ia desde o início, considerações gerais sobre jogos, como xadrez, e a formulação e resolução de problemas. O texto também aborda a busca por algoritmos de minimax, a ideia de maximizar a utilidade supondo que o adversário vai minimizá-la, e o funcionamento do algoritmo minimax no jogo da velha.

O que você vai aprender

  • Como funciona o algoritmo Minimax no jogo da velha?
  • Quais são as aplicações iniciais da Inteligência Artificial?
  • Qual é a importância de jogos na Inteligência Artificial?
  • Como é formulado e resolvido um problema em Inteligência Artificial?
  • Quais são as ideias por trás do algoritmo Minimax?

Tipologia: Resumos

2022

Compartilhado em 07/11/2022

usuário desconhecido
usuário desconhecido 🇧🇷

4.5

(402)

853 documentos

1 / 21

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Inteligência Artificial
PCS3438
Anna Helena Reali Costa
Escola Politécnica da USP
Engenharia de Computação (PCS)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Pré-visualização parcial do texto

Baixe Inteligência Artificial: Jogos e Algoritmos de Minimax e Alpha-Beta e outras Resumos em PDF para Inteligência Artificial, somente na Docsity!

Inteligência Artificial

PCS

Anna Helena Reali Costa Escola Politécnica da USP Engenharia de Computação (PCS)

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 totalmente observável (geralmente);
  • Abstração (representação simplificada de problemas reais);
  • Sinônimo de inteligência;
    • Primeiro algoritmo para xadrez foi proposto por Claude Shannon na década de 50.
  • Porém desafiador:
  • Tamanho + limitação de tempo ( 100 nós para xadrez);
  • Incerteza devido ao outro jogador;
  • Problema contingencial: agente deve agir antes de completar a busca

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.

Jogo da velha (min-max)

x (^) o x x (^) o x x (^) o x x x x x x o x o o o o o Max(X) x x x x x x x x x Min(O) x (^) o

x (^) o x (^) o x x x Min(O) x (^) o x (^) o x

o ...

Max(X)

  • 1 0 +
Função utilidade:

0 è empata − 1 è perde +1 è ganha

Minimax MAX MIN A1 A2^ A A A12 (^) A A A A23 A A A Qual será a jogada decidida por MAX?

Minimax MAX MIN 3 (^3 2 ) A1 A2^ A A A12 (^) A A A A23 A A A Planeja todas as opções e retro- propaga valores considerando se é jogada MAX ou MIN

Críticas

  • Problemas
    • Tempo gasto para determinar a decisão ótima é
totalmente impraticável (ir até as folhas), porém o
algoritmo serve como base para outros métodos mais
realísticos.
  • Complexidade: O(b m
) – idem Busca em Profundidade.
  • Para melhorar
1) 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

Uma função heurística para o jogo da velha X 0 H = 4 - 6 = = - 2 X 0 H = 5 - 4 = 1 X 0 X 0 X 0 X tem 6 possibilidades de fazer trinca 0 tem 5 possibilidades de fazer trinca H = 6 - 5 = 1

Poda Alfa-Beta

  • Objetivo: 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 para MAX
    • #: melhor valor 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)

Poda Alpha-Beta: exemplo

Inicia valores a (max) e b (min).

MAX MIN

b 1 £ +¥
b 2 £ +¥

a ³ - ¥

b 3 £ +¥

Poda Alpha-Beta: exemplo

Para ter certeza do valor de b 1 deve expandir todos

filhos do nó de b 1.

MAX MIN

b 1 = 3
b 2 £ +¥

a ³ - ¥

b 3 £ +¥

3 (^12 )

Poda Alpha-Beta: exemplo

Propaga este valor para a.

MAX MIN

b 1 = 3
b 2 £ +¥

a ³ 3

b 3 £ +¥

3 (^12 )

Poda Alpha-Beta: exemplo

MAX MIN (^3 12 8 2 4 6 14 5 )

Expande D:
  1. folha com 14 , atualiza b 3 £ 14 e como 14 > a e b 3 ainda pode diminuir, continua a expansão de D.
  2. Folha com 5 , reduz b 3 e como 5 > a e b 3 ainda pode diminuir, continua a expansão de D.
  3. Última folha tem 2 : define valor de b 3 = 2 e verifica se atualiza a; como a > 2 , ele não muda e a busca termina. B a = 3 b 1 = 3 b 2 £ (^2) b 3 = 2 C D

Poda Alpha-Beta: exemplo

MAX MIN (^3 12 8 2 4 6 14 5 )

Busca termina, com escolha da jogada B.

B a ³ 3 b 1 = 3 b 2 £ (^2) b 3 = 2 C D

Jogada escolhida