Busca Competitiva Disciplina: Inteligência Artificial

Slides:



Advertisements
Apresentações semelhantes
Inteligência Artificial
Advertisements

Inteligência Artificial
Inteligência Artificial
N Rainhas Descrição do Problema Satisfação de Restrições (CSP)
Busca em Profundidade Para encontrar um caminho de solução Sol, de um dado nó para algum nó objetivo Se N é um nó objetivo, então Sol=[N] Se há um nó N1.
Inteligência Artificial
Inteligência Artificial
Inteligência Artificial
Inteligência Artificial
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Busca informada (heurística) Parte 2
1 Inventando Funções Heurísticas Como escolher uma boa função heurística h? h depende de cada problema particular. h deve ser admissível não superestimar.
IA em jogos modelagem de comportamento de personagens
Busca Online Alexandra Barros Geber Ramalho. Busca Offine x Busca Online Busca Offline (ou planejamento clássico) –Computa a solução (do estado inicial.
Busca Cega (Exaustiva)
Inventando Funções Heurísticas
FACENS – Engenharia da Computação Inteligência Artificial
- Conceitos e termos - Aplicações
Solução de problemas por meio de busca
Busca com informação e exploração
Busca A*: exemplo.
Capítulo 3 - Russell e Norvig
Othelo Alunos: Sávio Mendes de Figueiredo
Trabalho de Inteligência Artificial
Jogo de Damas Alunos: Sávio Mendes de Figueiredo
Inteligência Artificial
INF 1771 – Inteligência Artificial
Busca Competitiva - MiniMax Jogo-da-Velha
Projeto Jogo da Velha Maria Aparecida Amorim Sibaldo Mozart de Melo Alvez Júnior Rosângela Teixeira da Silva Universidade Federal de Alagoas Mestrado em.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Buscas em Grafos Prof. André Renato 1º Semestre/2012
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
FACENS – Engenharia da Computação Inteligência Artificial Busca.
Busca Contra Adversário ou Jogos
Resolução de problemas por meio de busca
Busca com informação e exploração
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Introdução aos Agentes Inteligentes Busca Heurística (Informada)
Busca Contra Adversário ou Jogos
Introdução aos Agentes Inteligentes Algoritmos de Melhorias Iterativas (Otimização) Flávia Barros.
Resolução de Problemas por meio de busca
Disciplina Inteligência Artificial Defesa de Projeto Período
Jogo do Nim Gracivane Pessoa Martha Ferraz Ross Nascimento
Busca Cega (Exaustiva) e Heurística
Tópicos Avançados em Inteligência Artificial
Inteligência Artificial
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Tópicos em Sistemas Inteligentes
Busca Combinatorial e Métodos de Heurística
Inteligência Artificial
PUCC 1 Tópicos em Sistemas Inteligentes. PUCC 2 Agenda - Aula 03 Buscas Agentes que Planejam.
Inteligência Artificial Aula 15 Profª Bianca Zadrozny
Resolução de Problemas de Busca
1 Introdução aos Agentes Inteligentes Resolução de Problemas de Busca Flávia Barros.

Inventando Funções Heurísticas
Disciplina: Inteligência Artificial Universidade de Itaúna
Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega
Busca em Espaço de Estados
Principais Tópicos Introdução Métodos de busca Busca cega
Ao final desta aula, a gente deve...
Resolução de Problemas de Busca Agentes Baseados em Objetivo
1 Sistemas Inteligentes Algoritmos de Melhorias Iterativas (Otimização) Flávia Barros.
Sistemas Inteligentes Algoritmos de Melhorias Iterativas (Otimização)
Sistemas Inteligentes Busca Cega (Exaustiva)
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Universidade Federal de Itajubá Uma introdução à Teoria dos Jogos Fred Leite Siqueira Campos.
IA em Jogos Clássicos Informalmente, a inteligência aplicada em jogos clássicos (xadrez, dama, reversi, etc) consiste em, dada uma configuração do tabuleiro,
Transcrição da apresentação:

Busca Competitiva Disciplina: Inteligência Artificial Universidade de Itaúna César Augusto Oliveira cesaroliveira18@hotmail.com

Busca em jogos ou busca competitiva Problema de busca em que existe ao menos um adversário A solução do problema não é somente uma seqüência de ações que leve ao estado final Solução é uma estratégia que especifica um movimento para cada possível resposta do oponente É necessário impedir que o oponente chegue ao estado final primeiro ou com pontuação melhor

Busca em jogos ou busca competitiva O jogador precisa levar em conta as possíveis jogadas do oponente O movimento do adversário é imprevisível (incerteza) Portanto, o objetivo é achar o melhor movimento (ação) baseado nas possibilidades do jogador e do seu oponente A estratégia ótima leva ao melhor resultado considerando que o adversário sempre faz a melhor jogada possível

Busca em jogos ou busca competitiva Dificuldades: Complexidade Xadrez: em média, 35 movimentos possíveis por turno, 25 jogadas por jogador por partida => 3550 aprox. 10154 (1040 nós distintos) Incerteza devido ao outro jogador Algumas vezes, limites de tempo obrigam a uma solução aproximada

Formulação de um problema de busca competitiva Estado inicial: posições do “tabuleiro” + de quem é a vez Estado final: posições em que o jogo acaba Operadores: jogadas legais para um dado estado da partida Função de utilidade (objetivo): valor numérico para os estados finais (pontuação) Xadrez = +1, 0, -1; gamão = [-192,+192]

Espaço de estados de um problema de busca competitiva Árvore ou grafo “E/OU” ou “MIN/MAX” Cada nível da árvore representa as jogadas de um de 2 jogadores, alternadamente Os nós OU são aqueles do jogador em que começa a busca (nível da raiz) e representam as opções do algoritmo de busca Os nós E correspondem aos nós do oponente Representam a incerteza da busca

Espaço de estados de um problema de busca competitiva As folhas representam vitórias, derrotas ou empates (pode-se “parar” a avaliação antes de se chegar ao final do jogo por limites impostos ao algoritmo como tempo de resposta e número de níveis avaliados) A árvore “E/OU” pode ser usada em jogos com mais de 2 competidores

Árvore de jogo (dois jogadores)

Algoritmo de Busca: algoritmo minimax Deve-se minimizar os efeitos das jogadas do adversário e maximizar o efeito da própria jogada O nível do jogador é MAX e o do adversário é MIN O algoritmo faz uma busca cega em profundidade

Algoritmo de Busca: algoritmo minimax 1. Constrói-se a árvore “E/OU” 2. Para cada folha é feita uma avaliação estática atribuindo a estes nós um valor Geralmente é positivo para vitória, negativo para derrotas e 0 para empates Este valores são sempre em relação ao jogador “da raiz”.

Algoritmo de Busca: algoritmo minimax 3. Cada nível da árvore é classificado como MIN ou MAX: nós OU são MAX e E são MIN. Nesta fase do algoritmo é que a estratégia de jogo é construída O algoritmo considera que o oponente sempre escolhe a melhor opção para ele. 4. Recursivamente (das folhas para a raiz), cada nó, recebe o valor de avaliação Valor mínimo de seus sucessores se for um nó MIN (E) Valor máximo se for um nó MAX (OU)

MiniMax

Algoritmo (Pseudo-código) Determinar SE { profundidade limite atingida OU Nivel é Minimizador OU Nivel é Maximizador } ENTÃO SE profundidade limite Calcular valor do estado corrente Retornar resultado SE Nivel Minimizador Aplicar minimax aos sucessores Retornar Mínimo SE Nivel Maximizador Retornar Máximo

Algoritmo de busca minimax Parte de um Jogo simples, cada jogador faz um movimento.

Análise do minimax Equivale a uma busca completa em profundidade na árvore do jogo. m: profundidade máxima da árvore b: movimentos válidos em cada estado É completo Considerando que a árvore é finita Tempo: gerar todos os nós O(bm) Espaço: armazenar todos os nós É ótimo Considera que o oponente é perfeito E se ele não for? O algoritmo não faz jogadas acreditando no erro do adversário

Poda - Algoritmo minimax: no de estados do jogo é exponencial em relação ao no 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.

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 (irá podar este ramo de busca)  é definido de maneira análoga.

Poda -

Poda -

Poda -

Poda -

Poda -

Poda - A efetividade da poda - depende da ordem em que os sucessores são examinados. Com a melhor ordem possível a complexidade de tempo = O(bm/2)  dobra a profundidade da busca que conseguimos fazer

Análise da poda alfa-beta A poda não afeta os resultados finais A ordenação dos movimentos afeta a efetividade da poda Tempo: Com a melhor ordenação: O(bm/2) Permite a análise do dobro da distância do minimax Com a pior ordenação: O(bm)

Restrição de recursos Algumas vezes não é possível esperar que todo o algoritmo de busca seja executado Uma solução deve ser encontrada antes da avaliação de todos os nós da árvore (mesmo utilizando a poda alfa-beta) É necessário parar a pesquisa seguindo um determinado critério (teste de parada) Por exemplo: número máximo de níveis explorados Como avaliar um estado que não é final?

Funções de Avaliação Representa quão bom é um dado estado Reflete as chances de se ganhar Devem tentar manter a mesma ordenação da função de utilidade final Não podem demorar muito Escolha crucial: compromisso entre precisão e eficiência A maioria das funções de avaliação fazem uma análise de características de um estado

Funções de Avaliação Exemplo: Jogo da velha Diferença no número de possibilidades de vitória de cada jogador.

Quando parar a pesquisa? Ás vezes, uma jogada pode “mudar o jogo” Procura Tranqüila (Quiescence search): Evitar avaliação em situações a partir das quais pode haver mudanças bruscas No caso do jogo da velha, toda posição é tranqüila mas no xadrez não Exemplo: um peça pode ser comida na próxima jogada Algoritmo: Se a situação (nó) é “tranqüila”, então aplica a função de avaliação, senão busca até encontrar uma situação “tranqüila”

Jogos com Vários Participantes Cada jogador procura maximizar a sua jogada Cada nó possui um vetor de valores (um valor para cada jogador), ao invés de um único valor

Jogo com vários participantes

Jogos com Vários Participantes Existe a possibilidade de se criar alianças entre os jogadores Suponha que os jogadores 1 e 2 se uniram contra o jogador 3 Tentar minimizar o jogador 3

Atividade

Bibliografia Livros - RUSSEL, Stuart; NORVIG, Peter: Inteligência Artificial. Campus, São Paulo, 2004. Slides CHAIMOWICZ, Luiz. Transparências de Tópicos em IA: Agentes nteligentes. Disponível em: http://homepages.dcc.ufmg.br/~chaimo/cursos/agentes/Cap6.pdf RUSSEL, Stuart; NORVIG, Peter. Transparências do livro Artificial Intelligence A Modern Approach. Disponível em: http://aima.eecs.berkeley.edu/slides-ppt/m6-game.ppt TEDESCO, Patrícia; RAMALHO, Geber. Agentes Autônomos. Disponível em: http://www.cin.ufpe.br/%7Eif703/aulas/jogos.ppt