Uma Introdução aos Agentes Inteligentes

Agentes Inteligentes

Conforme avançamos na área de Inteligência Artificial percebemos a importância de criar uma entidade que possa modelar mais naturalmente (em meio virtual!) o que nós conhecemos por um ser inteligente, surgindo assim o conceito de um agente inteligente.

Podemos compreender um agente inteligente como sendo um sistema (ou um componente de um sistema) capaz de organizar, selecionar, produzir informações e tomar decisões a partir de alguma fonte de dados.
Em outras palavras, um agente é um subsistema criado com a finalidade de reter e analisar informações e responder da melhor forma possível. No caso de aplicações para a área de robótica, “melhor forma possível” geralmente quer dizer com a resposta mais perfeita possível, já no caso de jogos, um bom agente inteligente deve ter um comportamento não perfeito, mas o mais próximo possível do comportamento humano.
Segundo palavras de Menezes, Fuks e Garcia, “a tecnologia de agentes permite que se repense a natureza da interação entre homem e computador, na qual esse último torna-se um parceiro do usuário, cooperando para o alcance dos objetivos traçados”.

Características

Todo agente, a fim de ser dito autônomo, deve manifestar em sua estrutura as seguintes propriedades:

  • Autonomia, de modo a agir sem qualquer tipo de intervenção, possuindo controle sobre suas ações e estado interno;
  • Sociabilidade, de modo a interagir com outros agentes (artificiais ou humanos) através de algum tipo de linguagem de comunicação;
  • Reatividade, de modo a perceber alterações em seu ambiente, reagindo a tempo;
  • Proatividade, não só reagindo ao ambiente, mas tomando iniciativas quando conveniente.

Arquitetura e Aprendizado de Máquina

A arquitetura utilizada no desenvolvimento de um agente pode variar muito, de acordo com o tipo de aprendizado que desejamos que ele tenha.
Um agente pode, por exemplo, ser construído por meio de sistemas de produção ou reconhecimento baseado em casos. Tais formas de aprendizado não permitem que o agente aprenda durante a execução das tarefas, mas são algumas das mais simples para quem quiser implementar um agente inteligente.
Um agente pode, também, utilizar-se de algoritmos genéticos (IA evolutiva) ou redes neurais (IA conexionista) a fim de buscar aprender durante sua execução, bem como modelar dois ótimos fatores que tais linhas trazem: a evolução e a conexão como meios de aprendizado.
Um outro exemplo seria o bom uso de máquinas de estados finitos e algoritmos de pathfinding em agentes inteligentes, muito úteis em jogos de estratégia em tempo real, por exemplo.

Na verdade, geralmente fazemos uma mescla de várias técnicas e formas de aprendizado, a fim de compor um agente com o perfil que melhor se adequa ao da tarefa proposta.

Planejamento, Reação e Pró-Ação

Em computação, quando não aplicamos recursos e/ou técnicas de IA em desenvolvimento de software, terminamos com um sistema que é capaz de responder corretamente a solicitações, mas só àquelas previamente planejadas. O que acontecerá, então, caso o sistema se depare com algum tipo de dados para o qual ele não foi preparado previamente?
A princípio, uma hipótese (e provavelmente a que mais ocorre) é a de que o sistema irá quebrar (ocorrerá um crash, consumindo assim vários recursos para, então, voltar 100%).
Uma segunda hipótese, menos desinteressante, é a de que o programador cria condições especiais a serem executadas sempre que dados estranhos são visualizados.
Bem, por mais que possamos ter bons resultados por meio do emprego do bom planejamento em um sistema, ele por si só não nos basta, principalmente na área de jogos.
Surge assim a necessidade de algo mais reativo, que pudesse compreender melhor as opções a fim de fazer suas escolhas. Surge assim a idéia de agente como um ser altamente reativo, capaz de responder as decisões do usuário.
Entretanto, somente a capacidade reativa não basta, isto é, não é suficiente para que possamos ter um sistema com um “comportamento humano”: humanos não são somente reativos, mas também (ou ao menos uma boa parte de nós) pró-ativos.
Por pró-ação, entenda-se a capacidade não somente de tomar decisões em resposta a outra (reação), mas também de tomar decisões por iniciativa própria tendo como base um comportamento dirigido ao(s) objetivo(s) principal(is).
E, como falamos anteriormente, a pró-ação é uma das características de nossos agentes inteligentes, o que os torna tão interessantes na área de jogos.
É importante salientar que um agente inteligente somente é pró-ativo se o mesmo possui autonomia na execução de suas tarefas!

____________________________________________________________________

Agora que já falamos um pouco sobre agentes inteligentes, você pode experimentar elaborar algum sistema que utilize um ou mais agentes.

Os tipos de sistemas que podem utilizá-los são inúmeros, por exemplo:

  • Como tutores na educação (leia o artigo O uso de agentes inteligentes na educação para saber mais sobre agentes inteligentes no processo ensino-aprendizagem);
  • Como atores em jogos ou simuladores;
  • Na determinação de soluções para problemas específicos (conhecidos principalmente como sistemas especialistas).

Escolha o que melhor lhe convier, escolha qual a abordagem irá usar na implementação (citamos algumas neste artigo) e mãos à obra!

[Conteúdo pertencente ao Material do curso de Inteligência Artificial]

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS
 

Leave a Reply

Your email address will not be published. Required fields are marked *

Email
Print