disciplina: inteligência artificial universidade de itaúna césar augusto oliveira...

33
Busca Competitiva Disciplina: Inteligência Artificial Universidade de Itaúna César Augusto Oliveira [email protected]

Upload: yan-campelo-graca

Post on 07-Apr-2016

230 views

Category:

Documents


1 download

TRANSCRIPT

Slide 1

Busca Competitiva

Disciplina: Inteligncia ArtificialUniversidade de ItanaCsar Augusto [email protected] em jogos ou buscacompetitivaProblema de busca em que existe ao menos um adversrio

A soluo do problema no somente uma seqncia de aes que leve ao estado final

Soluo uma estratgia que especifica um movimento para cada possvel resposta do oponente necessrio impedir que o oponente chegue ao estado final primeiro ou com pontuao melhorBusca em jogos ou buscacompetitivaO jogador precisa levar em conta as possveis jogadas do oponente O movimento do adversrio imprevisvel (incerteza) Portanto, o objetivo achar o melhor movimento (ao) baseado nas possibilidades do jogador e do seu oponente A estratgia tima leva ao melhor resultado considerando que o adversrio sempre faz a melhor jogada possvelBusca em jogos ou buscacompetitivaDificuldades:Complexidade Xadrez: em mdia, 35 movimentos possveis por turno, 25 jogadas por jogador por partida => 3550 aprox. 10154 (1040 ns distintos)Incerteza devido ao outro jogadorAlgumas vezes, limites de tempo obrigam a uma soluo aproximadaFormulao de um problema debusca competitivaEstado inicial: posies do tabuleiro + de quem a vezEstado final: posies em que o jogo acabaOperadores: jogadas legais para um dado estado da partidaFuno de utilidade (objetivo): valor numrico para os estados finais (pontuao) Xadrez = +1, 0, -1; gamo = [-192,+192]Espao de estados de umproblema de busca competitivarvore ou grafo E/OU ou MIN/MAXCada nvel da rvore representa as jogadas de um de 2 jogadores, alternadamenteOs ns OU so aqueles do jogador em que comea a busca (nvel da raiz) e representam as opes do algoritmo de buscaOs ns E correspondem aos ns do oponente Representam a incerteza da buscaEspao de estados de umproblema de busca competitivaAs folhas representam vitrias, derrotas ou empates (pode-se parar a avaliao antes de se chegar ao final do jogo por limites impostos ao algoritmo como tempo de resposta e nmero de nveis avaliados)

A rvore E/OU pode ser usada em jogos com mais de 2 competidoresrvore de jogo (dois jogadores)

Algoritmo de Busca: algoritmominimaxDeve-se minimizar os efeitos das jogadas do adversrio e maximizar o efeito da prpria jogada

O nvel do jogador MAX e o do adversrio MIN

O algoritmo faz uma busca cega em profundidadeAlgoritmo de Busca: algoritmominimax1. Constri-se a rvore E/OU2. Para cada folha feita uma avaliao esttica atribuindo a estes ns um valor Geralmente positivo para vitria, negativo para derrotas e 0 para empates Este valores so sempre em relao ao jogador da raiz.Algoritmo de Busca: algoritmominimax3. Cada nvel da rvore classificado como MIN ou MAX: ns OU so MAX e E so MIN. Nesta fase do algoritmo que a estratgia de jogo construda O algoritmo considera que o oponente sempre escolhe a melhor opo para ele.4. Recursivamente (das folhas para a raiz), cada n, recebe o valor de avaliao Valor mnimo de seus sucessores se for um n MIN (E) Valor mximo se for um n MAX (OU)MiniMax

Algoritmo (Pseudo-cdigo)DeterminarSE {profundidade limite atingidaOU Nivel MinimizadorOU Nivel Maximizador }ENTO

SE profundidade limiteCalcular valor do estado correnteRetornar resultado

SE Nivel MinimizadorAplicar minimax aos sucessoresRetornar Mnimo

SE Nivel MaximizadorAplicar minimax aos sucessoresRetornar MximoAlgoritmo de busca minimaxParte de um Jogo simples, cada jogador faz um movimento.

Anlise do minimaxEquivale a uma busca completa em profundidade na rvore do jogo.

m: profundidade mxima da rvoreb: movimentos vlidos em cada estado

completo Considerando que a rvore finita Tempo: gerar todos os nsO(bm) Espao: armazenar todos os ns O(bm) timo Considera que o oponente perfeito E se ele no for? O algoritmo no faz jogadas acreditando no erro do adversrioPoda -Algoritmo minimax: no de estados do jogo exponencial em relao ao no de movimentos

Poda -: calcular a deciso correta sem examinar todos os ns da rvore,retorna o mesmo que minimax, porm sem percorrer todos os estados.Por que - ? o valor da melhor escolha (valor mais alto) encontrado at ento para qualquer ponto de escolha de MAX; Se v pior do que , MAX no percorrer este caminho (ir podar este ramo de busca) definido de maneira anloga.

Poda -

Poda -

Poda -

Poda -

Poda -

Poda -A efetividade da poda - depende da ordem em que os sucessores so examinados.Com a melhor ordem possvel a complexidade de tempo = O(bm/2) dobra a profundidade da busca que conseguimos fazer

Anlise da poda alfa-betaA poda no afeta os resultados finais A ordenao dos movimentos afeta a efetividade da poda Tempo:Com a melhor ordenao: O(bm/2) Permite a anlise do dobro da distncia do minimaxCom a pior ordenao: O(bm)Restrio de recursosAlgumas vezes no possvel esperar que todo o algoritmo de busca seja executado Uma soluo deve ser encontrada antes da avaliao de todos os ns da rvore (mesmo utilizando a podaalfa-beta) necessrio parar a pesquisa seguindo um determinado critrio (teste de parada) Por exemplo: nmero mximo de nveis explorados Como avaliar um estado que no final?Funes de AvaliaoRepresenta quo bom um dado estado Reflete as chances de se ganhar Devem tentar manter a mesma ordenao da funo de utilidade final No podem demorar muito Escolha crucial: compromisso entre preciso e eficincia A maioria das funes de avaliao fazem uma anlise de caractersticas de um estadoFunes de AvaliaoExemplo: Jogo da velhaDiferena no nmero de possibilidades de vitria de cada jogador.

Quando parar a pesquisa?s vezes, uma jogada pode mudar o jogo Procura Tranqila (Quiescence search): Evitar avaliao em situaes a partir das quais pode haver mudanas bruscas No caso do jogo da velha, toda posio tranqila mas no xadrez no Exemplo: um pea pode ser comida na prxima jogada Algoritmo: Se a situao (n) tranqila, ento aplica a funo de avaliao, seno busca at encontrar uma situao tranqilaJogos com Vrios Participantes

Cada jogador procura maximizar a sua jogada

Cada n possui um vetor de valores (um valor para cada jogador), ao invs de um nico valorJogo com vrios participantes

Jogos com Vrios ParticipantesExiste a possibilidade de se criar alianas entre os jogadores Suponha que os jogadores 1 e 2 se uniram contra o jogador 3 Tentar minimizar o jogador 3

Atividade

BibliografiaLivros- RUSSEL, Stuart; NORVIG, Peter: Inteligncia Artificial. Campus, So Paulo, 2004.

SlidesCHAIMOWICZ, Luiz. Transparncias de Tpicos em IA: Agentes nteligentes. Disponvel em: http://homepages.dcc.ufmg.br/~chaimo/cursos/agentes/Cap6.pdf

RUSSEL, Stuart; NORVIG, Peter. Transparncias do livro Artificial Intelligence A Modern Approach. Disponvel em: http://aima.eecs.berkeley.edu/slides-ppt/m6-game.ppt

TEDESCO, Patrcia; RAMALHO, Geber. Agentes Autnomos. Disponvel em: http://www.cin.ufpe.br/%7Eif703/aulas/jogos.ppt