Baixe o app para aproveitar ainda mais
Prévia do material em texto
- -1 INTELIGÊNCIA ARTIFICIAL APLICADA A JOGOS DIGITAIS AGENTES DE SOFTWARE E SISTEMAS MULTIAGENTE EM JOGOS - -2 Olá! Nesta aula, você irá: 1. Serão apresentados os conceitos e definição sobre agentes, aplicações, as arquiteturas e tipos de agentes. 2. Definido agente será apresentado o conceito dos Sistemas Multiagente, suas aplicações, arquiteturas, ferramentas e usos. 1 Introdução A pesquisa e o desenvolvimento de sistemas multiagente têm aumentado consideravelmente. Em relação a jogos digitais este aumento foi motivado pelo surgimento e evolução das GPUs, com alto desempenho, grande capacidade de memória, etc. Com as (Graphics Processing Units) fazendo todo o trabalho gráfico pesado, o processador fica liberadoGPUs para ser explorado por outros cálculos, por exemplo, cálculos de Inteligência Artificial envolvendo sistemas multiagente. A visualização da interação de diversos agentes, exibindo comportamentos distintos, propicia cada vez mais a sensação de realismo de um jogo. Vamos definir a seguir o que são agentes e sistemas multiagente, bem como a relação dos mesmos com os jogos digitais. 2 Agentes Veja as definições que seguem: "Um agente é uma entidade computacional com um comportamento autônomo que lhe permite decidir suas próprias ações" ALVARES, L.O.; SICHMAN, J. Introdução aos Sistemas Multiagentes. In: JORNADA DE ATUALIZAÇÃO EM INFORMÁTICA, 16.; CONGRESSO DA SBC, 17., 1997, Brasília. Anais... Brasília: SBC, 1997. p.1-38. "Um agente é definido como uma entidade computacional que pode perceber um ambiente através de sensores e agir através de atuadores." RUSSELL, Stuart. Norving, Peter. “INTELIGÊNCIA ARTIFICIAL”. Ed. Campus, 2003. "Agentes autônomos estão situados em um ambiente no qual eles sentem e agem, sobre o tempo, mantendo a sua própria agenda e sentem os efeitos de suas ações no futuro." - -3 Franktln, S., Et Gtatoser, A. C. (19961. Is It an agent or pot a program? A taxcnotny for autonoman agem. Proceedings of the Agent Theones. Architectures. and Languages Workshop. Spnnger-Yeriag "Em relação a jogos eletrônicos, o termo agente é considerado como uma entidade que têm objetivos (Por exemplo: permanecer vivo, defender uma cidade...), que pode sentir certas propriedades do ambiente (Por exemplo: ver objetos, ouvir sons), e que pode executar ações específicas (Por exemplo: Andar, comer uma maçã. Nareyek..A. (http://www.ai-center.com/projects/excalibur/documentation/intro/agents/) A partir das definições anteriores percebemos que o termo agente é amplamente utilizado, mas não possui um consenso acerca do seu significado. Apesar disso, podem-se notar semelhanças entre as definições, assim, podemos imaginar um agente de acordo com a última definição, (Alexander Nereyek), que estámenos formal relacionada a jogos digitais. Releia a última definição e observe a figura abaixo: O termo agente é utilizado em muitas áreas da Ciência da Computação, mas especialmente na área de Inteligência Artificial, empregando-se a forma agente inteligente. 3 Propriedades de um agente Algumas propriedades em um agente consideradas importantes: Autonomia: Capacidade de atuar sem a interferência do usuário, possuindo algum tipo de controle sobre suas ações e seu estado interno. As tomadas de decisão são elaboradas baseando-se mais em experiências passadas do que no conhecimento previamente inserido pelo programador da inteligência artificial. Proatividade: Capacidade de atingir suas metas tomando iniciativas para o cumprimento das mesmas e não simplesmente em resposta ao seu ambiente. Em outras palavras: ter um comportamento orientado a objetivos e não apenas responder aos estímulos do ambiente (comportamento puramente reativo). Reatividade: Percebem seu ambiente e respondem às mudanças ocorridas. Em alguns casos o agente fica em stand-by e só é ativado se algum evento específico ocorrer no ambiente. http://www.ai-center.com/projects/excalibur/documentation/intro/agents/ http://www.ai-center.com/projects/excalibur/documentation/intro/agents/ - -4 Sociabilidade: Interagem com outros agentes e em alguns casos com seres humanos por algum tipo de linguagem de comunicação. Continuidade temporal: Executam continuamente processos que tanto podem estar ativos, em foreground, quanto adormecidos, em background. Mobilidade: Capaz de se deslocar para ambientes diferentes do original. Atenção Para considerarmos um agente como inteligente devemos ter, no mínimo, a presença das quatro primeiras propriedades: autonomia, pró-atividade, reatividade e sociabilidade. Estamos interessados nos agentes inteligentes, assim, a partir de agora, quando nos referirmos a agentes estaremos nos referindo a “agentes inteligentes”, ou seja, aqueles dentro dos critérios expostos acima. Existem duas categorias para classificar os agentes quanto à aquisição de inteligência: Eles podem ser deliberativos e reativos. Agentes deliberativos: São aqueles que possuem um modelo de raciocínio e um modelo simbólico e interno, utilizado para tomar decisões e executar tarefas necessárias para alcançar seus objetivos. Estes agentes também são chamados de simbólicos ou cognitivos. Agentes reativos: , executam apenas quando estimulados, em resposta ao Diferentemente dos deliberativos estado atual do ambiente no qual estão inseridos. Eles não possuem um modelo simbólico e interno dos mesmos. Eles também são denominados reflexivos. A diferença está relacionada no fato dos agentes reativos considerarem as informações correntes do ambiente para tomadas de decisão, eles não têm "memória" para armazenar experiências, agem por “instinto”. Os deliberativos podem aprender através de experiências e utilizam um conhecimento adquirido para auxiliar nas tomadas de decisão. Entretanto, não se deve concluir que devido ao fato de serem considerados reativos, os agentes são de simples modelagem ou fácil implementação. 4 Sistemas multiagente Agentes podem conviver em um mesmo ambiente, formando assim, uma sociedade. Nesta sociedade, existem constantes trocas de informações entre os agentes as quais são designadas como interações. Estas interações indicam que os agentes podem ser influenciados por outros agentes, ou até por alguma intervenção humana, quando estão realizando seus objetivos. A interação pode ser feita de uma forma indireta, através do ambiente em que o agente está inserido, por exemplo, quando o agente modifica o ambiente ou observa outros agentes. - -5 A interação também pode ser de forma direta através da utilização de linguagens de comunicação, proporcionando assim a troca de informações. Nos sistemas multiagente (SMA), MultiAgent Systems, são estudados os meios apropriados para organizar os agentes, incluindo conceitos organizacionais e mecanismos de comunicação. Quando falamos sobre sistemas multiagente é importante comentar que estamos tratando no âmbito da Inteligência Artificial Distribuída. A Inteligência Artificial Distribuída (IAD), é o estudo e projeto de sistemas em que vários agentes interagem, distribuindo-se logicamente, ou algumas vezes, espacialmente, onde podem ser de chamados autônomos e inteligentes. STONE, P., VELOSO, M. - Multiagent Systems: A Survey from a Machine Learning Perspective. CMU CS technical report number CMU-CS-97-193, USA, 1997. Podemos identificar a Inteligência Artificial Distribuída como a interseção da Computação Distribuída e da Inteligência Artificial: - -6 Não foi preciso passar muito tempo, para que aplicações como os jogos eletrônicos fossem utilizados para pesquisas na área da Inteligência Artificial Distribuída, utilizando portando sistemas multiagente. O xadrez foi um dos primeiros a serem utilizados. Com a meta de se vencer uma partida de xadrez como um problema padrão, era possível testar duas soluções diferentes para o mesmo problema ou mesmo testar uma das versões contra um jogador humano de boa qualidade. Em jogos eletrônicos de esporte como os jogos da série FIFA Soccer, e de primeirapessoa, como Quake, Doom e Unreal, temos usos massivos de sistemas multiagente. Cada personagem é modelado com um agente inteligente e coopera com os demais para vencer o (no caso, você).oponente Os (agentes) podem aprender com os movimentos do jogador, dificultando o jogo quando opersonagens jogador é muito bom, ou facilitando quando o mesmo é ruim. Os Sistemas multiagente reativos, apesar de serem formados somente por agentes reativos, podem realizar tarefas complexas. A interação dos agentes pode revelar a comportamentos emergentes impressionantes. O comportamento das formigas na natureza é um ótimo exemplo inspirador, pois uma formiga não revela muito poder de atuação, mas atuando em conjunto com outras, formam uma sociedade bem organizada. Como exemplo, uma forma de animação de um comportamento chamado flocking define claramente o que é este comportamento emergente: No flocking, um grupo de entidades, chamadas boids, que utilizam regras simples, quando estão em grupo, apresentam comportamentos realísticos, muito similares aos cardumes de peixes ou bando de aves se movendo de forma sincronizada. Este comportamento emergente tem sido constantemente utilizado em jogos eletrônicos para simulação da movimentação de grupos de entidades, como tropas de batalhas e animais. Em títulos como Super Mario 64, Unreal e Half-Life foram usados algoritmos de flocking para a movimentação de monstros e outras criaturas mais simples, como pássaros e peixes. Os SMAs reativos também são encontrados em jogos de combate. Nestes jogos, os SMAs assumem a denominação de Team AI, também conhecido pelo termo Squad AI. São responsáveis pelo comportamento de grupos de personagens que representam adversários ou aliados do jogador. Estes personagens podem assumir a forma de humanos, monstros entre outras criaturas. Os adversários se organizam para atacar da melhor forma possível, procurando lugares estratégicos para se protegerem e atacarem, informando uns aos outros sobre a posição e orientação do jogador, entre outras atitudes. Os aliados também se organizam de forma similar aos adversários, mas com o objetivo de beneficiar o jogador. Nestes grupos cada membro é modelado normalmente como um agente reativo, e há uma constante troca de mensagens entre eles para decidirem qual a melhor ação que deve ser executada em determinado momento. Duas formas de controle são adotadas para manipulação desses agentes: - -7 Centralizada: Um agente pensa nas decisões pelo grupo. Aspectos como coordenação e sincronismo são favorecidos nesta abordagem. Descentralizada: Cada agente faz a sua tomada de decisão. Aspectos como variação e comportamentos emergentes são evidentes. O controle descentralizado é o único que pode ser considerado um SMA reativo, pois os agentes nesta abordagem são autônomos, não há a presença de um líder. Na abordagem centralizada, a presença do líder tomando as decisões para todos os membros, torna a autonomia de cada agente nula. Os SMAs deliberativos (quando os agentes inteligentes são do deliberativo), são formados por agentes que utilizam seu conhecimento para realizar tomada de decisões. Quando se pretende unir agentes deste tipo, a presença de alguns dos aspectos a seguir é de relevante consideração: Organização: Refere-se à organização das atividades que são necessárias para o processo de solução do problema. Cooperação: Ocorre quando há o trabalho de um ou mais agentes para realizar uma tarefa. Negociação: Acontece quando algum agente tenta obter auxilio para a realização dos seus objetivos através do oferecimento de alguma vantagem. Comunicação: Refere-se à forma de comunicação, qual protocolo será utilizado para a troca de informação entre os agentes. A utilização de agentes deliberativos em jogos computadorizados ainda é rara e uma questão bastante discutida. O alto custo de processamento torna-os pouco atraentes. Com o surgimento de jogos tais como (B&W), surgiu um motivador para desenvolvimento deBlack&White jogos mais inteligentes. Jogos como esse apresentam a possibilidade da utilização de um agente deliberativo convincente em um ambiente gráfico formado por elementos virtuais que exigem alta demanda de processamento. No Black&White existe apenas um agente deliberativo que interage com o jogador e outros elementos do ambiente. A utilização de um grupo de agentes deste tipo em um jogo, ainda é um projeto ambicioso, pois o custo de processamento seria alto. Apesar disso, e como dissemos no início desta aula, com o fortalecimento das GPUs e consequentemente a liberação da CPU para cálculos mais complexos, o uso de sistemas multiagente tende a ser cada vez mais explorado. Esperamos assim, ver jogos cada vez mais inteligentes e desafiadores, fazendo com que a experiência de jogar um determinado jogo seja diferente cada vez que você iniciar uma nova partida. - -8 Figura 1 - Interface do jogo B&W O que vem na próxima aula Na próxima aula, você estudará os assuntos seguintes: • Continuidade das aplicações de IA. • Coletânea de informações importantes para poder desenvolver um bom jogo. • Categorias dos jogos, equipe de desenvolvimento, público-alvo e as áreas de atuação. • Abordagem mais técnica, exemplificando partes de algoritmos mais utilizados. Saiba mais ALVARES, L.O.; SICHMAN, J. Introdução aos Sistemas Multiagentes. In: JORNADA DE ATUALIZAÇÃO EM INFORMÁTICA, 16.; CONGRESSO DA SBC, 17., 1997, Brasília. Anais... Brasília: SBC, 1997. p.1-38. O site aicenter ( ) é umahttp://www.ai-center.com/projects/excalibur/documentation/intro/index.html excelente fonte de informações sobre IA para jogos, em particular para agentes e multiagentes. • • • • http://www.ai-center.com/projects/excalibur/documentation/intro/index.html - -9 CONCLUSÃO Nesta aula, você: • Aprendeu os conceitos e definição sobre agentes, aplicações, as arquiteturas e tipos de agentes. • Aprendeu o conceito dos Sistemas Multagente, suas aplicações, arquiteturas, ferramentas e usos. • • Olá! 1 Introdução 2 Agentes 3 Propriedades de um agente 4 Sistemas multiagente O que vem na próxima aula CONCLUSÃO
Compartilhar