Árvore de Jogos Minimax e Poda Alfa-Beta

Documentos relacionados
Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall.

Busca Competitiva. Inteligência Artificial. Até aqui... Jogos vs. busca. Decisões ótimas em jogos 9/22/2010

Inteligência Artificial. 3º Quadrimestre de 2018

Fundamentos de Inteligência Artificial [5COP099]

Inteligência Artificial (SI 214) Aula 6 Busca com Adversário. Prof. Josenildo Silva

Busca competitiva. Inteligência Artificial. Profª. Solange O. Rezende

Sumário. Decisões óptimas em jogos (minimax) Cortes α-β Decisões imperfeitas em tempo real

Jogos. Geralmente o oponente tentará, na medida do possível, fazer o movimento menos benéfico para o adversário.

Introdução à Inteligência Artificial. Procura em contextos competitivos jogos (cont.)

Jogos com Oponentes. March 7, 2018

Técnicas para Implementação de Jogos

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula VI Busca Competitiva

PMR Computação para Mecatrônica

CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 02

3. Resolução de problemas por meio de busca

Jogos com Oponentes. Problemas de busca: não assumem a presença de um oponente

Jogos com Oponentes. Problemas de busca: não assumem a presença de um oponente

Jogos e Busca. Silvio Lago

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

Jogos com Oponentes. espaço de busca muito grande tempo para cada jogada

Algoritmos de retrocesso

Algoritmos de retrocesso

INTELIGÊNCIA ARTIFICIAL 2008/09

Jogos em Teoria dos Jogos e em

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula I - Introdução

Implementação e Avaliação do Algoritmo MCTS-UCT para o jogo Chinese Checkers. Jhonny Moreira

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

8 Experimentos. de pelo menos uma solução. 2 Na verdade, poderíamos definir uma função que retorna o conjunto de equilíbrios de

Ex. 1) Considere que a árvore seguinte corresponde a uma parte do espaço de estados de um jogo de dois agentes: f=7 f=7 f=1 f=2

JOGOS JOGOS. Exemplo: xadrez. Vários tipos de jogos. Uma árvore de jogo. Raciocínio em jogo de xadrez?

Jogo de Damas. Alunos: Sávio Mendes de Figueiredo Sômulo Nogueira Mafra

Departamento de Ciência de Computadores - FCUP Primeiro Teste de Inteligência Artificial / Sistemas Inteligentes (Duração: 2 horas)

O programa de Xadrez invencível (até hoje...)

Algoritmos de busca local e problemas de otimização

Busca com Adversários: Jogos. Maria Carolina Monard

Exemplo de aprendizagem máquina

PCS Inteligência Artificial

Problema de Satisfação de Restrições

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR

Sistemas Baseados em Conhecimento

Enunciados dos Exercícios Cap. 2 Russell & Norvig

Inteligência Artificial Alameda e Taguspark

Sociedades de Agentes

Microsoft Faculty Connection

Controle Ótimo - Aula 6 Exemplos e Exercícios

Simulação do Jogo Tic-Tac-Toe com o uso de Técnicas de Inteligência Artificial

FERRAMENTA DE APOIO AO APRENDIZADO DO JOGO DE XADREZ

Técnicas Inteligência Artificial

Introdução à Inteligência Artificial 2007/08

J2 Velha. Uma Implementação Java do Jogo da Velha Utilizando o Algoritmo MiniMax. Universidade Federal do ABC ufabc. André Filipe de Moraes Batista

Alternativamente pode ser pensado como uma forma de maximizar o minimo ganho possível.

Anatomia do motor de um programa de xadrez. Hugo Vinicius M. D. Santana Orientador: José Coelho de Pina

Inteligência Artificial Alameda e Taguspark


EXPLORANDO GRAFOS 1. Grafos e Jogos uma introdução

JOGOS LIVRO REGRAS M AT E M Á T I CO S. 11.º Campeonato Nacional

INF 1771 Inteligência Artificial

CEFET/RJ Inteligência Artificial (2017.2) Professor: Eduardo Bezerra Lista de exercícios 03

Tipos de apostas. *Repare que no jogo (3) o apostador jogou Empate o placar ficou 2-2, mas houve desempate nos pênaltis e o Fluminense ganhou.

Aula 9 TECNOLOGIA EM JOGOS DIGITAIS PROGRAMACAO E INTEGRACAO DE JOGOS I. Marcelo Henrique dos Santos

SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

Deep Blue x Kasparov:

Romildo Martins da S Bezerra Julho 2001

EDITAL DO 2º TORNEIO DE XADREZ DEL REI XADREZ

REGRAS DOS JOGOS do CNJM15

Artifical (utilizando o Jogo da Velha)

Semáforo. Um tabuleiro retangular 4 por 3. 8 peças verdes, 8 amarelas e 8 vermelhas partilhadas pelos jogadores.

Inteligência Artificial

Aprendizado por Reforço

1ª Colocação 10 pontos. 2ª Colocação 08 pontos. 3ª Colocação 06 pontos

REVISTA CONTEÚDO TEOREMA MINIMAX: UMA APLICAÇÃO EM JOGOS DE XADREZ 1. Palavras-Chave: Teorema Minimax; Alpha-Beta; Agentes; Jogo de Xadrez.

Explique que as regras do xadrez são diferentes das regras do Jogo de Peões. Agora, não se ganha mais uma partida ao levar um peão à

UTILIZAÇÃO DE APRENDIZADO POR REFORÇO PARA APRENDER A ESTRATÉGIA DO JOGO DA VELHA

Inteligência Artificial

Sistemas Especialistas (SE)

Gatos & Cães Simon Norton, 1970s

Técnicas Inteligência Artificial

Inteligência Artificial Taguspark

Instituto de Informática. Departamento de Informática Aplicada

Distribuição de Jogos por Ciclo

Apresentação do trabalho Dots-and-Boxes aos alunos de IIA 2007/2008

livro das regras (provisório)

BCC204 - Teoria dos Grafos

Gatos & Cães Simon Norton, 1970s

Inteligência Artificial

INF 1771 Inteligência Artificial

Jogos vs. Problemas de Procura

Aprendizado de Máquina

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega

Busca em Espaço de Estados a

Inteligência artificial: aplicação do algoritmo Minimax em um jogo de xadrez

HEITOR AUGUSTO S. FERREIRA MARIANA SILVA INÁCIO THAIS SEIDEL TEORIA DOS JOGOS

Teoria de Jogos. Algoritmo Minimax e Alfa-Beta AED

Inteligência Artificial: Introdução

Redes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos

Transcrição:

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Árvore de Jogos Minimax e Poda Alfa-Beta Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Motivação Deep Blue Supercomputador e um software criados pela IBM especialmente para jogar xadrez; Possuía 256 processadores. Analisava aproximadamente 200 milhões de posições por segundo; Em fevereiro de 1996, Garry Kasparov ganhou 3 partidas, empatou 2 e perdeu 1 contra o Deep Blue. Kasparov declarou que era o último humano a ser campeão de xadrez; Em maio de 1997, após uma severa atualização, Deep Blue venceu Kasparov em um novo confronto de 6 partidas, sendo 2 vitórias, 3 empates e 1 derrota. 2

Jogos com Inteligência Artificial Costumam utilizar diversas técnicas de busca; Utilizam heurísticas agregadas; E possuem uma uma detalhada base de conhecimento. 3

Árvores de Jogos É a representação de jogos para dois jogadores utilizando árvores, onde: Nó raiz: estado antes de qualquer movimento do jogo; Nós da árvore: possíveis estados do jogo; Arcos (arestas não contidas em círculos): movimentos. Os movimentos dos dois jogadores são os níveis da árvore: Arcos do primeiro nível: movimentos do 1º Jogador; Arcos do segundo nível: movimentos do 2º Jogador; e assim por diante. Folhas da árvore: estados finais (vitória, perda ou empate); O nó objetivo pode ser um estado final onde o computador ganhou; 4

Antes de qualquer movimento Jogador 1 Jogador 2 5

Árvore de Jogos Uma abordagem possível: Utilizar busca em profundidade ou largura. Porém: Não funciona para alcançar o objetivo; Pois não é o computador que define todos as jogadas; Existe um adversário inteligente. Para utilizar uma árvore de jogos, o computador precisa de uma função de avaliação. Assim, pode-se tratar estados de vitória como nós objetivos e conduzir as buscas normalmente. 6

Premissas em Árvores de Jogos Para melhor explicação, assumiremos que: Não existe elemento de azar: Jogadas de sorte/azar, como dados e/ou cartas. Tem total conhecimento do estado do jogo Os jogadores não escondem informação de ninguém. 7

Soma Zero O placar geral ao final de um jogo, para cada jogador, Pode ser 1 (vitória); ou Pode ser 0 (empate); ou Pode ser -1 (derrota). Então, o placar total: para ambos os jogadores e para qualquer jogo, deve sempre ser zero. Ou seja: (Jogador A ganha) 1 pto. + (Jogador B perde) -1 pto. = 0 pontos; (Jogador B ganha) 1 pto. + (Jogador A perde) -1 pto. = 0 pontos; (Jogador A empata) 0 pto. + (Jogador B empata) 0 pto. = 0 pontos. 8

Soma Zero As técnicas de busca são métodos Adversários Cada jogador não está apenas tentando ganhar, Mas também provocando o oponente perder. O computador sempre assume que o oponente está jogando para ganhar. Vez: Refere-se à profundidade da árvore; Representa um único nível de escolha na árvore. O Movimento: Representa duas escolhas na árvore, sendo uma para cada jogador. 9

Utilização da Soma Zero E a função de avaliação? 10

Funções de Avaliação Também conhecidas como avaliadores estáticos, Pois avaliam um jogo a partir apenas de uma posição estática. São vitais para a maioria dos programas, pois quase sempre é impossível realizar a busca em toda a árvore de jogo, devido ao seu tamanho. Uma busca raramente deve atingir o nó folha; O programa necessita ser capaz de cortar a busca e avaliar a posição do tabuleiro naquele nó. Uma função de avaliação é utilizada para examinar uma posição específica do tabuleiro; para estimar quão bem o computador está indo, ou qual a probabilidade de ganhar a partir desta posição. Uma função de avaliação deve ser rápida e eficiente. 11

Funções de Avaliação Como utilizar uma função de avaliação para comparar duas posições? 12

Funções de Avaliação Onde: Funções de Avaliação geralmente são funções lineares ponderadas Diferentes pontuações são determinadas para uma dada posição e simplesmente reunidas de forma ponderada. Exemplo em um jogo de xadrez: r = número de rainhas c = número de cavalos p = número de peões pontuação = 9r + 5t + 3c + 3b + p t = número de torres b = número de bispos Se dois computadores jogassem, o computador vencedor seria o que possuísse a melhor função de avaliação. 13

Como realizar e melhorar a busca? MiniMax; Antecipação Limitada, Poda Alfa-Beta. 14

MiniMax Dois jogadores : MAX e o MIN; MAX começa e os jogadores alternam até que o jogo termine. O vencedor leva uma recompensa, o perdedor uma penalidade. Então possuímos: Estado Inicial: onde ninguém fez nenhuma jogada ainda; Função Sucessora: que fornece a lista de movimentos legais. Teste Terminal: que verifica se o jogo acabou (se é um estado terminal). Função de Utilidade: Dá um valor aos estados terminais. No jogo da velha, por exemplo: 1 para vitória, -1 para derrota e 0 para empate. O MAX então utiliza uma árvore de busca para determinar seu próximo movimento. 15

MiniMax: Árvore parcial Como seria o primeiro movimento? 16

Estratégia Ótima Deve-se encontrar a estratégia para MAX, mas sempre assumindo que MIN é infalível. Então nossa premissa é: Os dois jogadores jogam de forma ótima. Dada uma árvore de jogo, a estratégia ótima pode ser determinado usando o valor minimax de cada nó: VALOR MINIMAX(n) = UTILIDADE(n) Max s Min s Se n é terminal sucessores(n) VALOR MINIMAX(s) Se n MAX sucessores(n) VALOR MINIMAX(s) Se n MIN 17

Exemplo - Passo 1 18

Exemplo - Passo 2 19

Exemplo - Passo 3 20

E se o MIN não for um bom jogador? A definição de melhor jogada para MAX assume que MIN joga de forma ótima. Logo, estamos maximizando o resultado em um cenário de pior caso para MAX. Se MIN não jogar otimamente, MAX pode se dar ainda melhor. Exemplo: 8 8 4 21

Metodologia Implementando como uma busca em profundidade; Tem que avaliar todos os filhos antes de poder avaliar um nó; Logo, para avaliar a raiz, tem que avaliar a árvore inteira! Isto pode ser extremamente custoso,. principalmente se o fator de ramificação for muito alto. 22

Otimizando o método Métodos para não examinar todos os nós: Antecipação Limitada; Poda Alfa-Beta. 23

Antecipação Limitada Consiste em executar uma busca no espaço de estados até um número de níveis predefinido. A Função de Avaliação é substituída por uma Função Heurística. O teste terminal é substituído por um teste de corte. Exemplo no jogo da velha: H(n) = X(n) O(n),sendo: H(n) a função heurística (avaliação de um estado); X(n) Total de linhas vitoriosas de X; O(n) Total de linhas vitoriosas de O. 24

MiniMax: antecipação limitada 25

Antecipação Limitada Porém, é possível que a antecipação limitada encontre um caminho promissor que seja ruim mais tarde (problema do horizonte). Além disso, avaliações heurísticas muito profundas podem ser influenciadas por sua profundidade excessiva. Assim, estimativa de minimax (que desejamos) pode ser diferente do minimax das estimativas (o que fazemos). 26

Poda Alfa-Beta Inicialmente, a árvore de jogo é percorrida em ordem de profundidade. A cada nó que não seja folha, é armazenado um valor, sendo: Alpha: para os MAX É o máximo (melhor) valor encontrado até então nos descendentes dos nós MAX Beta: para os MIN Se: É o mínimo (melhor) valor encontrado até então nos descendentes dos nós min Se é nó MAX: Se valor_alfa_de(nó) >= valor_beta_ancestral; Se é nó MIN: Se valor_beta_de(nó) <= valor_alfa_de_ancestral; ENTÃO corta_busca_abaixo(nó) 27

Poda Alfa-Beta Para implementar isto, nós manipulamos os valores alfa-beta, armazenando-os em cada nó interno da árvore de busca... 28

Exemplo Faça a busca pelo primeiro mais fundo até a primeira folha Faixa de Valores Possíveis [-,+ ] [-, + ] 29

Exemplo [-,+ ] [-,3] 30

Exemplo [-,+ ] [-,3] 31

Exemplo [3,+ ] [3,3] 32

Exemplo [3,+ ] Este nó é pior para o jogador MAX [3,3] [-,2] 33

Exemplo [3,14], [3,3] [-,2] [-,14] 34

Exemplo [3,5], [3,3] [,2] [-,5] 35

Exemplo [3,3] [3,3] [,2] [2,2] 36

Exemplo [3,3] [3,3] [-,2] [2,2] 37

Exercício 38

Conceitos da poda Alfa-Beta Seja um nó n na árvore Se um jogador tem uma jogada melhor em: Um nó pai de n; ou em Um nó mais alto do que n. n nunca será atingido em um jogo real. Logo, quando sabemos o suficiente sobre n, ele pode ser ignorado. 39