Jogos de Tabuleiro e Busca Competitiva



Documentos relacionados
Jogos de Tabuleiro e Busca Competitiva

Jogos vs. Problemas de Procura

Algoritmo MiniMax. Minimax

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

Trabalho de Implementação Jogo Reversi

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

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

TEORIA DOS JOGOS E APRENDIZADO

Agentes Inteligentes. Inteligência Artificial. Exemplos. Agentes Inteligentes. Prof. Ms. Luiz Alberto Contato:

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

VINÍCIUS GOMES QUAGLIO TÉCNICAS DE INTELIGÊNCIA ARTIFICIAL APLICADAS AO JOGO OTHELLO: UM ESTUDO COMPARATIVO

Gráfico de Controle por Atributos

Fabrício Jailson Barth BandTec

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

Algoritmos de Agrupamento - Aprendizado Não Supervisionado. Fabrício Jailson Barth

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

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

Busca em Espaço de Estados a

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

Módulo 1: Contextualização

Projeto e Análise de Algoritmos

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

Colégio de Nossa Senhora da Bonança

LABORG. Parte 5 Projeto de um circuito digital de média complexidade Parte 2. Fernando Gehm Moraes Matheus Trevisan

Jogos - aula 2. Prof. Luis Otavio Alvares II / UFRGS

A presente seção apresenta e especifica as hipótese que se buscou testar com o experimento. A seção 5 vai detalhar o desenho do experimento.

Busca em Espaço de Estados

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

5 Apresentando a linguagem C

INTELIGÊNCIA ARTIFICIAL

Divisão e Conquista. Túlio Toffolo Marco Antônio Carvalho marco.opt@gmail.com. BCC402 Aula 08 Algoritmos e Programação Avançada

Aritmética de Ponto Flutuante e Noções de Erro. Ana Paula

Jogos com Oponentes. March 7, 2018

Operações Pontuais. Guillermo Cámara-Chávez

Introdução a Computação

XXV OLIMPÍADA ECC 2014

Lógica Proposicional

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

Fundamentos de Inteligência Artificial [5COP099]

INF 1010 Estruturas de Dados Avançadas

4 Estudo de caso: Problema de seqüenciamento de carros

7 a Lista de Exercícios Assunto: Funções e passagem por referência com vetor e matriz (Tópico 7)

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de A linguagem C

Resolução eficaz de problemas: quatro exemplos

O JOGO DIGITAL NOS PROCESSOS DE ENSINO E APRENDIZAGEM DE LÍNGUA PORTUGUESA UM ESTUDO ATRAVÉS DAS SEQUÊNCIAS NARRATIVAS. Vanessa Doumid Damasceno

Introdução à Engenharia ENG1000

Jogos simultâneos. Roberto Guena. 19 de agosto de 2011 USP. Roberto Guena (USP) Jogos simultâneos 19 de agosto de / 34

Inteligência Artificial

Filas. Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes

Lista de Exercícios Fluxograma, Estruturas de Sequência e Decisão Prof: Yuri Frota

AULA 1: PARADIGMAS DE PROGRAMAÇÃO

Estruturas de Dados Aula 15: Árvores 17/05/2011

Capítulo 8. CICLOS. Tabela 8.1 Programa8a.f90.

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

Golden Game Um Jogo de Logística

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS

Laboratório de Banco de Dados II Aula 1. Stored Procedures

PROVAS DE MATEMÁTICA DO VESTIBULAR-2012 DA MACKENZIE RESOLUÇÃO: Profa. Maria Antônia Gouveia. 14/12/2011

PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C

1º Feira de Jogos. A Estação do Conhecimento

REGRAS E REGULAMENTOS OLIMPÍADAS DE RACIOCÍNIO PROGRAMA MENTEINOVADORA MIND LAB

Inteligência Artificial. 3º Quadrimestre de 2018

Nome: Lucas da Silva Oliveira. Professor: Ricardo Fabbri

Resoluções comentadas de Raciocínio Lógico e Estatística SEFAZ - Analista em Finanças Públicas Prova realizada em 04/12/2011 pelo CEPERJ

A linguagem C oferece quatro estruturas de decisão: if, if-else, switch e o operador condicional.

Convertendo Algoritmos para a Linguagem C

INF 1771 Inteligência Artificial

JOGOS EM PROCESSOS DE TREINAMENTOS

Ementa. Inteligência Artificial. Agentes. Agentes Inteligentes. Exemplos 8/18/2010. Mapeando percepções em ações. Aula 2 Profª Bianca Zadrozny

PMR Computação para Mecatrônica

Números Felizes e Sucessões de Smarandache: Digressões com o Maple

A IMPORTÂNCIA ESTRATÉGICA DO MARKETING DE RELACIONAMENTO PARA A EMPRESA ABELARDO.COM

Algoritmo Iterativo. Dilema do Martelo x Edifício. O Martelo. O Edifício 01/06/2014. Dilema das ações x declarações

Sistemas de Apoio à Decisão

Capítulo 12 Simulador LOGSIM

RQ Edição Fevereiro 2014

Atuadores: Atuadores: Atuadores:

Linguagem C Funções definidas pelo usuário. Lógica de Programação

O sucesso de hoje não garante o sucesso de amanhã

Competição observacional prova do céu. Instruções. 1. Há 2 questões, cada uma valendo 25 pontos. Você tem 80 minutos para resolvê-las, dos quais :

Projeto Mancala. Objetivo. Objetivo linguístico. Etapas e duração. Procedimentos. Aula 1

Sistemas de Numeração

MODELO DE ATUAÇÃO DO INTEGRADOR

Introdução às equações diferenciais

4ª Lista de IP. Questão 1

ANEXOS. Decisão de Execução da Comissão

Algoritmos e Programação

Casamento de Cadeias. Introdução. Introdução. Estrutura de Dados. Cadeia de caracteres: sequência de elementos denominados caracteres.

Metodologia do Ensino de Educação Física. Teleaula 3. Abordagens Pedagógicas do Ensino Aberto. Contextualização. Conceitualização.

Documentação do retorno XML referente projeto Busca Endereço por CEP

Segmentação de Imagens

REGULAMENTO ESPECÍFICO DE XADREZ JERNS - JEES 2014

ipen DESENVOLVIMENTO DE UM SISTEMA DOSIMETRICO PARA MONITORAÇÃO INDIVIDUAL EM CAMPO MISTO BETA E GAMA TERESINHA FERREIRA LIMA DALTRO

Iniciando PHP. Agenda

Microeconomia II. Cursos de Economia e de Matemática Aplicada à Economia e Gestão

MATEMÁTICA E TECNOLOGIA: DESENVOLVENDO JOGOS ELETRÔNICOS UTILIZANDO O SCRATCH

Contabilometria. Aula 11 Regressão Linear Múltipla e Variáveis Dummy

Seminário. & Torneio Aberto

3 Estratégia para o enriquecimento de informações

Transcrição:

Jogos de Tabuleiro e Busca Competitiva Fabrício Jailson Barth BandTec Março de 2012

Sumário Características e Exemplos Histórico Árvore de busca Avaliação Estática Algoritmo Min Max Poda Alpha Beta Questões práticas Jogos de Tabuleiro e Busca Competitiva Sumário BandTec 2

Características e Exemplos São jogados por duas pessoas (agentes). Trata-se de uma competição. Não tem variável aleatória. Jogos de Tabuleiro e Busca Competitiva Características e Exemplos BandTec 3

Histórico Shannon. Programming a Computer for Playing Chess. 1950 : O uso do algoritmo Min Max no jogo de Xadrez. Deep Blue Wins. 1996 e 1997. Jogos de Tabuleiro e Busca Competitiva Histórico BandTec 4

Árvore de Busca para Jogos Estado inicial: tabuleiro na posição inicial e jogador. Operadores: movimentos permitidos. Estados Objetivo: posições vencedoras para o meu jogador no tabuleiro. Função de Utilidade: determina um valor para cada estado. Árvore de Busca: mostra todas as possibilidade de jogo. Jogos de Tabuleiro e Busca Competitiva Árvore de Busca para Jogos BandTec 5

Não estamos procurando por um caminho. Apenas pelo próximo movimento (espera-se que este movimento me leve à vitória). Meus melhores movimentos dependem dos movimentos do meu adversário. Jogos de Tabuleiro e Busca Competitiva Árvore de Busca para Jogos BandTec 6

Árvore de Busca b = Fator de ramificação Meus movimentos d = Profundidade Resultado Movimentos do oponente Xadrez b = 36 d > 40 grande! Jogos de Tabuleiro e Busca Competitiva Árvore de Busca BandTec 7

Árvore de Busca Parcial para o Jogo da Velha Jogos de Tabuleiro e Busca Competitiva Árvore de Busca Parcial para o Jogo da Velha BandTec 8

Função de Utilidade Qual a melhor opção? Pontuação (Probabilidade de vencer a partir deste estado) Jogos de Tabuleiro e Busca Competitiva Função de Utilidade BandTec 9

Definição da função de utilidade para o xadrez material = numerop eao 1 + + numerodama 9 (1) v 1 = c 1 material (2) v 2 = c 2 mobilidade (3) v 3 = c 3 segurancarei (4) v 4 = c 4 controlecentro (5) v 5 = (6) n Utilidade = v i (7) i=0 Jogos de Tabuleiro e Busca Competitiva Definição da função de utilidade para o xadrez BandTec 10

Muito fraco para predizer o sucesso final do jogo! Jogos de Tabuleiro e Busca Competitiva Definição da função de utilidade para o xadrez BandTec 11

Olhar adiante + função de utilidade (MinMax) 7 max 3 1 7 3 5 2 1 7 8 min eval P r o f u n d i d a d e Jogos de Tabuleiro e Busca Competitiva Olhar adiante + função de utilidade (MinMax) BandTec 12

Min-Max chamada inicial MAX-VALUE(estado,max-p) function MAX-VALUE(Estado estado, int p) if p==0 then return EVAL(estado) end if v = for s SUCESSORES(estado) do v = MAX(v,MIN-VALUE(s,p 1)) end for return v Jogos de Tabuleiro e Busca Competitiva Min-Max BandTec 13

function MIN-VALUE(Estado estado, int p) if p==0 then return EVAL(estado) end if v = for s SUCESSORES(estado) do v = MIN(v,MAX-VALUE(s,p 1)) end for return v Jogos de Tabuleiro e Busca Competitiva Min-Max BandTec 14

Desempenho x Profundidade Jogos de Tabuleiro e Busca Competitiva Desempenho x Profundidade BandTec 15

Deep Blue Força Bruta 256 processadores dedicados. Examina em torno de 30 bilhões de movimentos por minuto. A profundidade geralmente é 13. No entanto, em determinadas situações, pode chegar até 30. Jogos de Tabuleiro e Busca Competitiva Deep Blue Força Bruta BandTec 16

Min-Max α β chamada MAX-VALUE(estado,,,max-p) function MAX-VALUE(Estado estado, α, β, int p) if p==0 then return EVAL(estado) end if for s SUCESSORES(estado) do α = MAX(α,MIN-VALUE(s,α,β,p 1)) if α β then return α //cutoff end if end for return α Jogos de Tabuleiro e Busca Competitiva Min-Max α β BandTec 17

function MIN-VALUE(Estado estado,α,β,int p) if p==0 then return EVAL(estado) end if for s SUCESSORES(estado) do β = MIN(β,MAX-VALUE(s,α,β,p 1)) if β α then return β //cutoff end if end for return β Jogos de Tabuleiro e Busca Competitiva Min-Max α β BandTec 18

Exemplo α β 1000, 1000 MAX MIN 2 7 1 Jogos de Tabuleiro e Busca Competitiva Exemplo α β BandTec 19

Material de consulta Capítulo 6 do livro do Russell & Norvig. http://en.wikipedia.org/wiki/minimax. MIT Open Course. 6.034 Artificial Intelligence. Game Theory - Stanford. www.game-theory-class.org Jogos de Tabuleiro e Busca Competitiva Material de consulta BandTec 20