terça-feira, 28 de setembro de 2010

Agentes Inteligentes em Redes

Agentes inteligentes em Redes.

Agente Inteligente pode ser definido como sendo um sistema, ou um componente de um sistema, capaz de organizar, selecionar, produzir informações e tomar decisões a partir de algum evento ou fonte de dados.

Um agente tem a finalidade de reter e analisar informações e responder da melhor forma possível.

O que são agentes inteligentes?


De acordo com vários autores, não é possível ainda aceitar um conceito genérico de Agentes Inteligentes. Isto está evidenciado pela característica interdisciplinar dos agentes, pois é utilizado em diferentes áreas.


Em vez da definição formal, há uma lista de características gerais de agentes. Juntas, estas características dão uma impressão global do que é um agente. BRENNER (1998), descreve que os agentes devem ter as seguintes características :

  • autonomia: agentes operam sem a intervenção direta de humanos ou outros, e tem algum tipo de controle em cima das suas ações e estado interno. Isto implica que um agente deve ter o acesso à rede e deve ter mobilidade para operar por ela. A autonomia de agentes está na habilidade de operar no domínio da Internet, enquanto o usuário final está desconectado ou longe da interação com a rede;
  • habilidade de comunicação: agentes interagem com outros agentes e (possivelmente) os humanos por algum tipo de idioma de comunicação de agentes;
  • reatividade: agentes percebem o seu ambiente (que pode ser o mundo físico, um usuário por uma interface de usuário gráfica, uma coleção de outros agentes, a Internet, ou talvez tudo isto combinado), e responde em um modo oportuno a mudanças que acontecem.
  • pró-atividade: agentes simplesmente não agem em resposta ao seu ambiente, eles podem exibir comportamento dirigido tomando a iniciativa sobre circunstâncias específicas. Isto é chamado de comportamento pró-ativo;
  • orientadores de meta: um agente é capaz de manipular tarefas complexas de alto-nível. A decisão de como uma tarefa é melhor dividida em sub-tarefas menores, e em qual ordem e em qual modo estas sub-tarefas devem ser executadas melhor, é realizado pelo próprio agente;
  • mobilidade: a habilidade de um agente para mudar de uma rede eletrônica para outra. Em contraste, agentes estacionários estão limitados a um computador específico. Embora seja capaz de enviar mensagens usando uma rede ou contactar com outros agentes na rede, eles próprios não podem se deslocar sobre esta;
  • colaboração: uma extensão natural do atributo de comunicação dos agentes é a colaboração. Agentes Inteligentes devem ter um espírito colaborativo para existir. A visão é de que Agentes Inteligentes trabalhem juntos para benefício mútuo na resolução de tarefas complexas;
  • adaptabilidade: um agente deve se ajustar aos hábitos e deve trabalhar métodos e preferências de seu usuário. Agentes devem poder examinar o ambiente externo, por exemplo a internet, e o sucesso das ações anteriormente executadas sob condições semelhantes, e adaptar as ações para melhorar a probabilidade de alcançar as metas prosperamente;
  • confiabilidade: o usuário deve estar altamente confiante que seus agentes agirão de acordo com a sua vontade.
  • capacidade de raciocinar: a habilidade de raciocinar durante a execução é um dos aspectos chave da inteligência que distingue os Agentes Inteligentes de outros agentes. Raciocinar implica que um agente pode possuir habilidade para deduzir e extrapolar, baseado em conhecimento atual e experiências anteriores.

Na mesma linha, Anita (2004, p. 113), descreve que os agentes possuem as seguintes características:

  • Autonomia, de modo a agir sem qualquer tipo de intervenção, possuindo controle sobre suas ações e estado interno;
  • Habilidade Social, de modo a interagir com outros agentes (artificiais ou humanos) através de algum tipo de linguagem de comunicação;
  • Sensibilidade, de modo a perceber alterações em seu ambiente, reagindo a tempo;
  • Pro atividade, 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, dependendo do tipo de aprendizado que queremos que ele tenha. Ele pode, por exemplo, ser construído por meio de sistemas de produção ou reconhecimento baseado em casos. 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 bom exemplo é o uso de agentes inteligentes em jogos de estratégia em tempo real.

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

Em computação, quando não aplicamos recursos e/ou técnicas de IA no seu desenvolvimento temos um sistema que responder corretamente as solicitações, mas só àquelas que forem previamente planejadas. Com isso, caso o sistema se depare com algum tipo de dados ou situação que ele não foi preparado previamente, irá ocorrer um erro, conhecimento tecnicamente como “crash”. Normalmente, para estes casos o programador cria condições especiais tratando os erros que possam ocorrer.

Diante disto, surge assim a necessidade de algo mais reativo, que pudesse compreender melhor as opções a fim de fazer suas escolhas. Neste ponto que entra a figura do agente como um ser altamente reativo, capaz de responder as decisões do usuário.

Mesmo assim, somente a capacidade reativa não basta, isto é, não é suficiente para que possamos ter um sistema com um “comportamento humano”, pois nós humanos não somos somente reativos, mas também somos pró-ativos.

Pró-ação é a capacidade não somente de tomar decisões em resposta à outra (reação), mas também de tomar decisões por iniciativa própria tendo como base um comportamento dirigido aos objetivos principais.

E, como falamos anteriormente, a pró-ação é uma das características dos agentes inteligentes. É importante salientar que um agente inteligente somente é pró-ativo se o mesmo possuir autonomia na execução de suas tarefas.

Conclusão

Observamos, em pesquisas na internet, que a utilização de agentes inteligentes pode ser aplicada a muitas áreas do conhecimento, como a Sociologia, Economia, Comportamento Animal, Robótica, Software, etc. Contudo, boa parte das pesquisas é voltadas a área de sistemas computacionais, como sistemas de segurança da informação, robótica, sistemas na área da saúde.


Por fim, creio que a Inteligência Artificial é um ramo que ainda será muito explorado, procurando sempre forma de melhorar a vida das pessoas e dos sistemas como um todo.


Referências Bibliográficas

Sites da Internet - Portal Wiki e http://www.computacao.gigamundo.com
FERNANDES, Anita Maria da Rocha e Colaboradores - Inteligência Artificial Aplicada à Saúde = Visual Books, 2004 - Florianópolis, (SC).
BRENNER,Walter; ZARNEKOW, Rüdiger; WITTIG, Hartmut. Intelligent software agents. Germany : Springer, 1998.