Jogos Busca Competitiva Cap. 6 Russell e Norvig 07/05
Transcrição
Jogos Busca Competitiva Cap. 6 Russell e Norvig 07/05
Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Jogos Busca Competitiva Cap. 6 Russell e Norvig 07/05/2012 Claudia Brandelero Rizzi [email protected] Roteiro Jogos em IA Tomada de decisão Min e Max 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. Agora falaremos sobre... Cap. 6 Russell & Norvig Busca competitiva ou jogos “adversariais” são 2 jogadores de revezando jogos de soma zero: a vitória de um jogador significa a derrota do outro. ambientes determinísticos observáveis. Situações “simétricas” Jogos Os jogos são domínios clássicos em IA porque abstratos: relativamente fáceis de formalizar e representar; podem ter sua complexidade reduzida ou aumentada; exigem a tomada de decisões (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): Jogos são considerados: Conrad Zuse, Claude Shannon e Alan Turing 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 (toy problems) são temas atraente para estudo em IA porque: é fácil representar o estado corrente de um jogo; 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 35100 ou 10154 embora o grafo de busca tenha “apenas” 1040 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. Os jogos penalizam a ineficiência de forma severa. 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! Jogos : com adversários Inicialmente jogos com dois jogadores: Estratégia: ‘MAX’ e ‘MIN’; MAX deve maximizar seu ganho MIN deve minimizar os efeitos das jogadas de MAX Um jogo pode ser definido como uma árvore de busca: estado inicial função sucessor (movimento, estado) teste de término função utilidade: dá um valor numérico para os estados terminais (nó folha) Movimentos possíveis de Max Árvore de jogo (2 jogadores) Do ponto de vista de Max, melhor valores altos de utilidade Algoritmo informal 1. Gerar toda a árvore do jogo 2. Aplicar a função utilidade a cada estado terminal 3. Propagar a utilidade dos nós terminais para níveis superiores: quando no nível superior é a vez de MIN fazer um movimento, escolher o menor valor quando no nível superior é a vez de MAX fazer um movimento, escolher o maior valor 4. No nodo raiz, MAX escolhe o movimento que leva ao maior valor (decisão Minimax) 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. Trabalho prático Mãos à obra!! Referências RICH, ELAINE, KNIGHT, KEVIN, 1993. Inteligência Artificial. São Paulo: McGrw-Hill RUSSEL, S.; NORVIG, P.; 1995. Inteligência Artificial. 3. ed. Rio de Janeiro: Campus, 2003. RABUSKE, R. Inteligência Artificial. Florianópolis: Editora da UFSC, 1995. GUDWIN, R. Representação e solução de problemas. São Paulo: Unicamp, sd. (lâminas) Lâminas de UFPE