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

Documentos relacionados
Fundamentos de Inteligência Artificial [5COP099]

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

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

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

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

Inteligência Artificial. 3º Quadrimestre de 2018

Técnicas para Implementação de Jogos

Jogos e Busca. Silvio Lago

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

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

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

Jogos com Oponentes. March 7, 2018

Árvore de Jogos Minimax e Poda Alfa-Beta

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

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

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

Algoritmos de retrocesso

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

Inteligência Artificial - IA. Resolução de problemas por meio de busca

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

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

PMR Computação para Mecatrônica

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

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

Resolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação

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

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

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

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

Inteligência Artificial

Inteligência Artificial

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

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

Algoritmos de busca local e problemas de otimização

Fundamentos de Inteligência Artificial [5COP099]

Inteligência Artificial

Busca em Espaço de Estados a

Enunciados dos Exercícios Cap. 2 Russell & Norvig

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

Busca com Adversários: Jogos. Maria Carolina Monard

Resolução de Problemas. Hugo Barros

Inteligência Artificial - IA

INF 1771 Inteligência Artificial

INTELIGÊNCIA ARTIFICIAL 2008/09

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

Redes Neurais (Inteligência Artificial)

Resolução de problemas por meio de busca. Inteligência Artificial. Formulação de problemas. Estratégias de busca

Exemplo de aprendizagem máquina

Resolução de problemas por meio de busca. Prof. Pedro Luiz Santos Serra

Inteligência Artificial. Agentes computacionais. Aula IV Cap.2 Russell e Norvig (continuação)

Tópicos Especiais: Inteligência Artificial BUSCA COM INFORMAÇÃO E EXPLORAÇÃO

Romildo Martins da S Bezerra Julho 2001

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

INF 1771 Inteligência Artificial

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

Problema de Satisfação de Restrições

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO GABARITO

Tópicos Especiais: Inteligência Artificial

Sociedades de Agentes

Técnicas Inteligência Artificial

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

1/ 36. Computação 1 - Python Aula 1 - Teórica: Introdução

Agentes Inteligentes. Inteligência Artificial

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

PCS Inteligência Artificial

meio de busca Seções 3.1, 3.2 e 3.3

Inteligência Artificial

PCS Gabarito da 1a. lista

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

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Busca heurística

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

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Resolução de problemas por meio de busca. CAPÍTULO 3 - Russell

Resolução de problemas por meio de busca. Inteligência Artificial

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

Resolução de Problemas. Resolução de Problemas. Primeiros problemas por computador: prova automática de teoremas e jogos.

INTELIGÊNCIA ARTIFICIAL

Inteligência Artificial Alameda e Taguspark

Inteligência Artificial

Computação I - Python Aula 1 - Teórica: Introdução

Fundamentos de Teoria dos jogos

Busca com informação e exploração. Inteligência Artificial. Busca pela melhor escolha. Romênia com custos em km. Busca com informação (ou heurística)

Inteligência Computacional

Inteligência Artificial. Agentes Computacionais. Introdução

Buscas Não Informadas (Cegas) - Parte I

Inteligência Artificial (SI 214) Aula 4 Resolução de Problemas por meio de Busca Heurística

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

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

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 5 Resolvendo Problemas

Transcrição:

Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação http://www.inf.unioeste.br/~claudia/ia2017.html Inteligência Artificial Resolução de problemas por meio de algoritmos de busca Aula VI Busca Competitiva

Roteiro Jogos em IA Tomada de decisão MiniMax

Até agora falamos sobre... Problemas sem interação; Há total controle sobre as ações e sobre o efeito das ações; É possível encontrar a solução ótima, se ela existir. Mas e no caso dos jogos?

Jogos Os jogos são domínios clássicos em IA porque São abstratos, relativamente fáceis de formalizar e representar; Podem ter sua complexidade reduzida ou aumentada; Exigem a tomada de decisão muitas vezes em um curto intervalo de tempo; Há interação e pode haver não determinismo.

Jogos e IA Primeiros pesquisadores de jogos (1950): Conrad Zuse, Claude Shannon e Alan Turing Jogos são considerados: um desafio à inteligência humana. Desde então, a IA em jogos tem avançado e há versões (e situações) em que os jogadores computadorizados superam os jogadores humanos.

Relembrando... Jogos do tipo toy problems são temas atraentes para estudo em IA porque: É fácil representar o estado de um jogo; É fácil medir seu sucesso ou fracasso. Há um pequeno número de ações cujos resultados são definidos por regras precisas; Apresentam enormes espaços de busca. Mas em jogos reais, geralmente essas facilidades não se verificam... Eles são difíceis de resolver!

Jogos exemplo Xadrez Jogo de Xadrez há problema de busca complexo: fator de ramificação médio» 35 número de movimentos por jogador» 50 profundidade da solução» 100 árvore de busca aproximadamente 35 100 ou 10 154 embora o grafo de busca tenha apenas 10 40 nós distintos.

Jogos Os jogos (como no mundo real!), exigem a habilidade de tomar alguma decisão, especialmente quando o cálculo da decisão ótima é inviável. A imprevisibilidade pode produzir contingências no processo de resolução de problema. Como as metas dos participantes estão em conflito, origina-se a busca competitiva!!

Jogos : interação O oponente é imprevisível Como levar em consideração todos os movimentos possíveis de oponente? Limite de tempo Necessidade de tomar uma decisão, em um período X de tempo, mesmo que não seja ótima! Revezamento e Função Há revezamento entre dois jogagores! A posição (favorável ou desfavorável) de um jogador em um determinado instante (estado) do jogo pode ser medida por uma função de utilidade.

Objetivo da busca competitiva O objetivo da busca competitiva é planejar com antecedência, considerando que o oponente está planejando também!

Agora falaremos sobre... Cap. 6 Russell & Norvig Busca competitiva ou jogos adversariais são 2 jogadores se revezando ambientes determinísticos e observáveis. Situações simétricas A vitória pode ser computada com utilidade +1, derrota -1 e empate 0. Portanto, a soma final da utilidade dos dois jogadores é zero, daí o termo soma zero.

Busca Competitiva - Jogos Considerendo-se dois jogadores para o caso do jogo da velha, um chamado de MAX e o outro de MIN. Para MAX, que joga com X, a utilidade ideal é +1 (X ganhou). Para MIN, que joga com O, a utilidade ideal é -1 (O ganhou).

Busca Competitiva - Solução MAX deve encontrar uma sequencia de movimentos que leve a um estado terminal com utilidade +1. O problema é que isto depende dos movimentos de MIN. Solução: considerar que MIN é um oponente infalível, e sempre fará os melhores movimentos possíveis. Logicamente, inviável para jogos mais complexos como xadrez e damas. Em Go os avanços ainda são pouco significativos

Busca Competitiva - MINIMAX O valor MINIMAX de um nó é a utilidade deste estado para um jogador; Considere que ambos os jogadores terão um desempenho ótimo até o final do jogo. Dentre as possibilidades, MAX sempre escolherá a que resulta na maior utilidade, e MIN na menor.

Assim... Dois jogadores: MAX e MIN ; Estratégia: MAX deve maximizar seu ganho MIN deve minimizar os efeitos das jogadas de MAX O jogo é definido como uma árvore de busca: Estado inicial: posição do tabuleiro, identifica o jogador que fará o movimento Função sucessor retorna uma lista (movimento/estado) Teste de término: determina quando o jogo termina Função utilidade: dá um valor numérico para os estados terminais: +1 vitória; 0 empate; -1 derrota

Movimentos possíveis de Max Árvore de jogo (2 jogadores) Do ponto de vista de Max, melhor valor de utilidade +1

Algoritmo MINIMAX Criar uma função MINIMAX que recebe um estado do tabuleiro e de quem é a vez (X ou O). Verificar se alguém ganhou ou se houve empate. X ganhou: retornar +1 O ganhou: retornar -1 empate: retornar 0 Se não terminou, buscar todas as possíveis jogadas para o jogador da vez. Para cada jogada, chamar MINIMAX com o novo tabuleiro e com o outro jogador. Entre os valores resultados por MINIMAX, escolher o maior (se o jogador for MAX) ou o menor (se o jogador for MIN).

Minimax A ação a1 é a escolha ótima para MAX, porque leva ao sucessor com mais alto valor minimax. A melhor jogada para um jogo determinístico assumindo o melhor oponente.

Algoritmo minimax Ótimo (para um oponente ótimo); Tempo: busca completa em profundidade na árvore do jogo: O(b m ) m: profundidade b: movimentos válidos em cada estado Espaço: O(bm) se todos os sucessores são gerados O(m) se gera um sucessor por vez

Poda - Busca minimax: n o de estados do jogo é exponencial em relação ao n o de movimentos; Poda - : calcular a decisão correta sem examinar todos os nós da árvore; retorna o mesmo que minimax, porém sem percorrer todos os estados.

Poda -

Poda -

Poda -

Poda -

Poda -

Poda - A efetividade da poda - depende da ordem em que os sucessores são examinados

Por que -? α é o valor da melhor escolha (valor mais alto) encontrado até então para qualquer ponto de escolha de MAX; Se v é pior do que α, MAX não percorrerá este caminho (podará este ramo de busca!!) é definido de maneira análoga.

Problemas de decisão Minimax gera todo o espaço de busca; Poda - ainda tem que chegar até os estados terminais Portanto, não é eficiente para jogos que possuem muitos passos até os estados terminais. Há necessidade de alternativas!! Ver materiais específicos para jogos.

Referências RUSSEL, S.; NORVIG, P.; 1995. Inteligência Artificial. 3. ed. Rio de Janeiro: Campus, 2003. Outros Materiais disponíveis na internet.

Atividades Concluir a proposta de trabalho de IA e submeter no moodle hoje!! Iniciar os trabalhos. Especificações finais serão definidas na próxima semana.