Jogos vs. Problemas de Procura



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

Algoritmo MiniMax. Minimax

Trabalho de Implementação Jogo Reversi

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

Jogos de Tabuleiro e Busca Competitiva

Departamento de Informática. Análise de Decisão. Métodos Quantitativos LEI 2006/2007. Susana Nascimento

Jogos de Tabuleiro e Busca Competitiva

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

Inteligência Artificial. Minimax. Xadrez chinês. Xadrez chinês. Exemplos de Jogos. Exemplo de função de avaliação: Prof. Paulo Martins Engel

CAPÍTULO 2. Grafos e Redes

Sistemas de Apoio à Decisão

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

MEDIÇÃO EM QUÍMICA ERROS E ALGARISMOS SIGNIFICATIVOS

CAP5: Amostragem e Distribuição Amostral

Inteligência Artificial Prof. Marcos Quinet Pólo Universitário de Rio das Ostras PURO Universidade Federal Fluminense UFF

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

Especificação Operacional.

6. Programação Inteira

Capítulo 3 Modelos Estatísticos

Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos

PROJETO DE REGULAMENTO N.º ---/SRIJ/2015 REGRAS DO JOGO BLACKJACK/21

Eventos independentes

Análise de Regressão Linear Simples e Múltipla

4 Sistemas de Equações Lineares

Resolução de Problemas Com Procura. Capítulo 3

O Manual do Konquest. Nicholas Robbins Tradução: José Pires

AULAS 14, 15 E 16 Análise de Regressão Múltipla: Problemas Adicionais

Sociedade União 1º.Dezembro. Das teorias generalistas. à ESPECIFICIDADE do treino em Futebol. Programação e. Periodização do.

Unidade 5: Sistemas de Representação

SEMINÁRIOS AVANÇADOS GESTÃO DE PROJECTOS

Sessão 2 UFCD 0804 Algoritmos

FILOSOFIA SEM FILÓSOFOS: ANÁLISE DE CONCEITOS COMO MÉTODO E CONTEÚDO PARA O ENSINO MÉDIO 1. Introdução. Daniel+Durante+Pereira+Alves+

1. Os métodos Não-Paramétricos podem ser aplicados a uma ampla diversidade de situações, porque não exigem populações distribuídas normalmente.

Metodologia para seleção de amostras de contratos de obras públicas (jurisdicionados) utilizando a programação linear aplicativo Solver

MÓDULO 1. I - Estatística Básica

O comportamento conjunto de duas variáveis quantitativas pode ser observado por meio de um gráfico, denominado diagrama de dispersão.

Sessão 2: Gestão da Asma Sintomática. Melhorar o controlo da asma na comunidade.]

INVESTIMENTO A LONGO PRAZO 1. Princípios de Fluxo de Caixa para Orçamento de Capital

Resposta da Sonaecom Serviços de Comunicações, SA (Sonaecom) à consulta pública sobre o Quadro Nacional de Atribuição de Frequências 2010 (QNAF 2010)

Jogos - aula 2. Xadrez chinês. Exemplo de função de avaliação:

Introdução à Programação B Licenciatura em Engenharia Informática. Enunciado do trabalho prático. Quem quer ser milionário? 20 de Dezembro de 2007

Projecto de Programação por Objectos 2007/08 Escalonamento em Multi-processador por Programação Evolutiva MEBiom/MEEC 1 Problema

MD Sequências e Indução Matemática 1

UTILIZAÇÃO DE RECURSOS AVANÇADOS DO EXCEL EM FINANÇAS (PARTE II): ATINGIR META E SOLVER

1. Introdução. Avaliação de Usabilidade Página 1

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística

Que indicadores comerciais devo medir?

1. Criar uma nova apresentação

Nome: N.º: endereço: data: Telefone: PARA QUEM CURSA O 9 Ọ ANO EM Disciplina: MaTeMÁTiCa

Facturação Guia do Utilizador

Modos de entrada/saída

Potenciação no Conjunto dos Números Inteiros - Z

FERRAMENTAS DA QUALIDADE

Memória cache. Prof. Francisco Adelton

Análise de regressão linear simples. Departamento de Matemática Escola Superior de Tecnologia de Viseu

OS MITOS À VOLTA DA HIPERTROFIA

Resolução de sistemas lineares

Engenharia de Software II

ANALISE COMBINATORIA Um pouco de probabilidade

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Matemática em Toda Parte II

TÓPICO ESPECIAL DE CONTABILIDADE: IR DIFERIDO

MODELOS PROBABILÍSTICOS MAIS COMUNS VARIÁVEIS ALEATÓRIAS DISCRETAS

Introdução ao Estudo da Corrente Eléctrica

TORNEIO DE SUECA. Benfeita 2013 REGULAMENTO

Modem e rede local. Manual do utilizador

Projeto e Análise de Algoritmos

8. Perguntas e Respostas

Inteligência Artificial. Metodologias de Busca

CAPÍTULO III TOMADA DE DECISÃO COM INCERTEZA E RISCO

Capítulo 9: Análise de Projectos de Investimento A dimensão temporal e o cálculo financeiro

Gráficos de funções em calculadoras e com lápis e papel (*)

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP.

Resolução eficaz de problemas: quatro exemplos

Escolher um programa de cuidados infantis

Modelos de Filas de Espera

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

Regulamento da Monografia do Curso de Graduação em Direito

INSTITUTO TECNOLÓGICO

5 Dicas para Começar a Ganhar Dinheiro na Internet

4.1. UML Diagramas de casos de uso

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

TÉCNICAS DE PROGRAMAÇÃO

Interpolação. Interpolação

Classificação da imagem (ou reconhecimento de padrões): objectivos Métodos de reconhecimento de padrões

Sobre o Jogo da Economia Brasileira

Distribuição de probabilidades

Probabilidade - aula I

MATEMÁTICA. Recenseamento/Sondagem ESTATÍSTICA

Problemas de Valor Inicial para Equações Diferenciais Ordinárias

Estatística II Antonio Roque Aula 9. Testes de Hipóteses

IBM SmartCloud para Social Business. Manual do Utilizador do IBM SmartCloud Engage e IBM SmartCloud Connections

Transcrição:

Jogos Capítulo 6

Jogos vs. Problemas de Procura Adversário imprevisível" necessidade de tomar em consideração todas os movimentos que podem ser tomados pelo adversário Pontuação com sinais opostos O que é bom para um jogador (vitória=+1) é mau para o outro (derrota=-1) Limitação temporal tipicamente não é encontrado um objectivo mas antes uma aproximação

Sumário Decisões óptimas em jogos Conceitos básicos Estratégias óptimas e o Minimax Estratégias óptimas com múltiplos jogadores Cortes α-β Decisões imperfeitas em tempo real Jogos que incluem o factor sorte Estado da arte em jogos

Ingredientes Vamos considerar que: existem dois jogadores, o MAX e o MIN o MAX joga primeiro no fim do jogo o vencedor ganha pontos e o adversário é penalizado

Caracterização de um Jogo Estado inicial Configuração inicial + ordem de jogada Função sucessores Para cada estado devolve uma lista de pares <acção,estado>, indicando uma jogada possível (legal) e o estado resultante Teste terminal Identifica os estados de fim de jogo (ditos terminais) Função de utilidade (ou função objectivo) Atribui um valor numérico aos estados terminais

Árvore do jogo O estado inicial e as jogadas legais para cada jogador definem a árvore do jogo.

Árvore para o jogo do galo (2 jogadores, determinístico, alternado)

Sumário Decisões óptimas em jogos Conceitos básicos Estratégias óptimas e o Minimax Estratégias óptimas com múltiplos jogadores Cortes α-β Decisões imperfeitas em tempo real Jogos que incluem o factor sorte Estado da arte em jogos

Minimax Estratégia mais adequada para jogos determinísticos Ideia: escolher jogada para o estado com o maior valor minimax melhor valor para a função de utilidade contra as melhores jogadas do adversário Valor-minimax(n) = {Função-utilidade(n) se n é terminal max s sucessores(n) Valor-minimax(s) se n é nó MAX min s sucessores(n) Valor-minimax(s) se n é nó MIN

Minimax: 2 jogadores Observações: Formato dos nós em função do tipo de nó (MIN/MAX) Valores dos estados terminais correspondem à função de utilidade para MAX (quanto vale cada um dos estados terminais) Valores para os restantes estados obtidos a partir dos valores para os nós terminais através do cálculo do valor-minimax Resultado do algoritmo: próxima jogada!

Algoritmo Minimax Função Minimax (estado) devolve acção v ValorMax(estado) devolve acção em sucessores(estado) com valor v Função ValorMax(estado) devolve valor de utilidade se TesteTerminal(estado) então devolve Utilidade(estado) v - para a,e em sucessores(estado) v MAX(v,ValorMin(e)) devolve v Função ValorMin(estado) devolve valor de utilidade se TesteTerminal(estado) então devolve Utilidade(estado) v + para a,e em sucessores(estado) v MIN(v,ValorMax(e)) devolve v

Minimax: 2 jogadores Portanto: Começa na raiz e a recursão conduz os cálculos até às folhas. Os valores minimax são depois usados quando termina a fase de expansão da recursão; Quando é o Min a jogar, escolhe a jogada que dá menos pontos ao MAX; Quando é o Max a jogar, escolhe a jogada que lhe dá mais pontos; A seta indica a escolha de MAX no fim da aplicação do algoritmo.

Propriedades do algoritmo minimax O algoritmo faz uma procura em profundidade, explorando toda a árvore de jogo. É completo? Sim (se a árvore de procura é finita) É óptimo? Sim (contra um adversário óptimo) Considerando: m = profundidade máxima da árvore r = nº de movimentos legais em cada ponto Complexidade temporal? O(r m ) Complexidade espacial? O(rm) para um algoritmo que gera todos os sucessores de uma vez O(m) para um algoritmo que gera os sucessores um a um Para xadrez, r 35, m 100 para um jogo padrão impossível determinar a solução exacta

Sumário Decisões óptimas em jogos Conceitos básicos Estratégias óptimas e o Minimax Estratégias óptimas com múltiplos jogadores Cortes α-β Decisões imperfeitas em tempo real Jogos que incluem o factor sorte Estado da arte em jogos

Minimax: mais de 2 jogadores Função de utilidade devolve vector de valores com utilidade do estado do ponto de vista de cada jogador Cada jogador procura maximizar a sua utilidade (ex: C em X, escolhe a jogada que lhe dá mais pontos - 6)

Minimax: mais de 2 jogadores Tipicamente levam a alianças, formais ou informais, entre os jogadores (também podem existir alianças em jogos com 2 jogadores). Estas alianças podem ser uma consequência natural de estratégias óptimas para cada jogador num jogo multijogadores.

Sumário Decisões óptimas em jogos Conceitos básicos Estratégias óptimas e o Minimax Estratégias óptimas com múltiplos jogadores Cortes α-β Decisões imperfeitas em tempo real Jogos que incluem o factor sorte Estado da arte em jogos

Procura com Cortes Jogos são muito mais difíceis do que os problemas de procura Factor de ramificação muito elevado - e.g. xadrez factor de ramificação 35 50 jogadas/jogador 35 100 nós (destes apenas 10 40 são nós distintos) Cortes permitem eliminar partes da árvore de procura que são irrelevantes para o resultado final. De seguida vamos falar de um tipo de corte, os cortes α-β.

Cortes α-β Motivação: Minimax: número de estados examinados é exponencial em função do número de jogadas Não é possível eliminar o factor exponencial, mas podemos reduzir o número de estados analisados para metade! É possível calcular exactamente a mesma decisão resultante do algoritmo Minimax sem ter de analisar todos os estados

Cortes α-β Considere-se um nó n algures na árvore, tal que um jogador tem a hipótese de se mover para esse nó. Se o jogador tem uma hipótese melhor num nó qualquer acima do nó n, então esse n nunca vai ser atingido. Assim que soubermos alguma coisa sobre este n através dos seus descendentes, podemos cortá-lo (podá-lo).

Cortes α-β: exemplo

Cortes α-β: exemplo

Cortes α-β: exemplo

Cortes α-β: exemplo

Cortes α-β: exemplo Os nós sucessores do primeiro nó a ser expandido em cada nível de profundidade nunca podem ser cortados

Porquê o nome α-β? α é o valor da melhor escolha (i.e., valor mais elevado) encontrada até ao momento em qualquer ponto de procura ao longo do caminho para max Se v é pior do que α, max irá evitar escolher v ramo com v é cortado β define-se para min de forma análoga

Algoritmo α-β Função AlfaBeta (estado) devolve acção v ValorMax(estado, -, + ) devolve acção em sucessores(estado) com valor v Função ValorMax(estado,α,β) devolve valor de utilidade se TesteTerminal(estado) então devolve Utilidade(estado) v - para a,e em sucessores(estado) v MAX(v,ValorMin(s,α,β)) se v β então devolve v α MAX(α,v) devolve v

Algoritmo α-β Função ValorMin(estado,α,β) devolve valor de utilidade se TesteTerminal(estado) então devolve Utilidade(estado) v + para a,e em sucessores(estado) v MIN(v,ValorMax(s,α,β)) se v α então devolve v β MIN(β,v) devolve v

Propriedades de α-β Cortes não afectam resultado final (= MINIMAX) Eficiência dos cortes depende da ordenação dos sucessores Por exemplo, no caso anterior, se em vez do nó com valor 14 tivesse aparecido o nó com valor 2, não havia necessidade de gerar os outros nós Com uma ordenação perfeita" a complexidade temporal fica reduzida a O(r m/2 ) Ver applet em http://wolfey.110mb.com/gamevisual/ launch.php?agent=2

Exercício Qual a melhor ordenação de modo a optimizar os cortes α-β?

Estados repetidos Em jogos, ocorrem muitas vezes estados repetidos (devido a permutações) Pode valer a pena guardar estados numa hash table (chamada transposition table) na primeira vez que ocorrem Pode duplicar a profundidade alcançada no mesmo período de tempo! Se são avaliados milhões de nós por segundo não é viável guardar tantos nós numa tabela Assim, existem muitas estratégias para determinar quais os estados a guardar

Sumário Decisões óptimas em jogos Conceitos básicos Estratégias óptimas e o Minimax Estratégias óptimas com múltiplos jogadores Cortes α-β Decisões imperfeitas em tempo real Jogos que incluem o factor sorte Estado da arte em jogos

Decisões imperfeitas em tempo real Decisões têm que ser tomadas em tempo real não é possível analisar toda a árvore de procura Função de avaliação (Eval) devolve uma estimativa da utilidade do estado Idealmente a ordenação resultante da função de avaliação é igual à da função de utilidade Teste terminal é substituído por um teste de limite (cutoff) Devolve também verdadeiro para estados terminais

Funções de Avaliação O desempenho de um jogo depende da qualidade da função de avaliação! E como escolher uma boa função de avaliação? Esta deve ser capaz de ordenar os estados terminais do mesmo modo que a função de utilidade A função de avaliação deve estar fortemente correlacionada com as hipóteses reais de ganhar O seu cálculo não pode ser demorado

Funções de Avaliação Tipicamente são uma soma linear de características do jogo (f), associadas a diferentes pesos (w) Eval(s) = w 1 f 1 (s) + w 2 f 2 (s) + + w n f n (s) Ex: Xadrez rainha vale 9, bispo e cavaleiro 3, etc.. w 1 = 9 e f 1 (s) = nº de rainhas brancas w 2 =3 e f 2 (s) = nº de bispos...

Teste Limite Problema da aquiescência Função de avaliação deve aplicar-se apenas a estados cujo valor não possa ser radicalmente alterado num futuro próximo (por exemplo, se estamos só a contar peças no Xadrez, não estamos a ter em conta jogadas em que se façam capturas de peças favoráveis) Estados não aquiescentes devem ser expandidos até que sejam gerados estados sem este problema (por exemplo, passando a ter em conta movimentos de captura)

Teste Limite Problema do efeito de horizonte Procura com limite coloca eventuais problemas futuros para além do horizonte (ex: um movimento qualquer do adversário que vai ter consequências desastrosas, mas que não foi previsto dado o limite de procura imposto). Com as melhorias actuais, conseguem-se limites cada vez maiores Extensões singulares são outra solução: num caso de uma jogada ser muito boa, aumenta-se o limite de pesquisa para os seus sucessores.

Sumário Decisões óptimas em jogos Conceitos básicos Estratégias óptimas e o Minimax Estratégias óptimas com múltiplos jogadores Cortes α-β Decisões imperfeitas em tempo real Jogos que incluem o factor sorte Estado da arte em jogos

Elemento Sorte Árvore com nós sorte MIN e MAX para além dos nós A cada ramo da árvore está associada uma probabilidade Se for possível estabelecer limites para a função de avaliação então podem aplicar-se cortes Expectiminimax(n) = {Função-utilidade(n) se n é terminal max s sucessores(n) Expectiminimax(s) se n é nó MAX min s sucessores(n) Expectiminimax(s) se n é nó MIN Σ s sucessores(n) P(s) Expectiminimax(s) se n é nó SORTE

Elemento Sorte: exemplo 2.1 = 0.9*2 + 0.1*3 1.3 = 0.9*1 + 0.1*4

Elemento Sorte: exemplo Atenção: alteração de valores das folhas mantendo a mesma ordem relativa de valores resulta em decisões diferentes. Pelo que há que ter cuidados adicionais na escolha da função de avaliação.

Sumário Decisões óptimas em jogos Conceitos básicos Estratégias óptimas e o Minimax Estratégias óptimas com múltiplos jogadores Cortes α-β Decisões imperfeitas em tempo real Jogos que incluem o factor sorte Estado da arte em jogos

Estado da Arte Damas: Chinook derrotou o campeão do mundo (durante 40 anos) Marion Tinsley in 1994. Uso de uma base de dados pré-processada que define uma jogada perfeita para todas as posições envolvendo no máximo 8 peças, num total de 444 biliões de posições. Xadrez: Deep Blue derrotou campeão do mundo Garry Kasparov em 1997. O Deep Blue procura 200 milhões de nós por segundo, usa uma função de avaliação muito sofisticada. Othello: campeões humanos recusam-se a competir com computadores, que são muito bons. Go: campeões humanos recusam-se a competir com computadores, que são muito fracos. Neste jogo, r > 300. Logo, a maioria dos programas existentes usa padrões de conhecimento para sugerir jogadas hipotéticas.