SOBRE ESTE TEXTO…
Este texto é baseado no artigo “Auto-organizing Agents in Ontologies with Intentions“, um capítulo do livro “Frontiers in Artificial Intelligence and its Applications” publicado pela IOS Press, Amsterdan, Holanda, em 2003 e foi apresentado no IV Congresso Internacional de Lógica Aplicada, o LAPTEC. Tive a feliz oportunidade de ser co-autor do trabalho de autoria principal do meu professor Dr. Marcos L. Mucheroni, da ECA-USP. Um versão mais aprofundada sobre o assunto será publicada no próximo Simpósio de Ciências Aplicadas em 2012. Assim, o objetivo é apresentar de forma introdutória uma outra faceta da área de TI em que o profissional de Sistemas de Informação pode concentrar esforços.
INTRODUÇÃO
Há uma vasta literatura sobre agentes tanto do ponto de vista da concepção quanto do ponto de vista do software, dos Softbots ou do desenvolvimento de Knowbots. Um estudo abrangente sobre as teorias dos agentes, linguagens e arquiteturas podem ser encontradas no artigo “Agent Theories, Architectures, and Languages: A Survey” (WOOLDRIDGE e JENNINGS, 1995) e ampliada por algumas aplicações em diversas áreas no livro publicado por eles.
Alguns exemplos de aplicações apresentados no livro são fornecidos pelo artigo “Adding Value with Intelligent Agents in Financial Services – Agregando Valor com Agentes Inteligentes em Serviços Financeiros”, o qual descreve uma aplicação financeira usada como inspiração para a criação de um modelo de agentes intencionais com auto-organização (WENGER e PROBST, 1998).
Os autores apresentam uma interessante analogia entre a produção e o processamento da informação. Enquanto produtos são compostos de materiais, a informação é composta de dados. Da mesma forma que para os bens manufaturados, a informação gera valor agregado em sistemas financeiros. Exemplos de comportamentos de cooperação humana no domínio financeiro são apresentados, como: vendas, hipotecas constituídas, administração financeira, administração de carteira, entre outros.
UMA ABORDAGEM SOBRE AGENTES
Para melhor compreender a teoria dos agentes, convém que sejam apresentados alguns exemplos. A atividade de inteligência humana citada nos artigos de IA (Inteligência Artificial) é comum encontrar declarações como: “João levou um guarda-chuva porque ele acreditava que iria chover.” ou “Márcio trabalhou no feriado, porque ele queria apresentar a sua qualificação de mestrado.”.
Então, percebe-se que as ações “para pegar um guarda-chuva” e “trabalhar no feriado” encontram significados nas razões que seguem os verbos “acreditar” e “querer”, e, portanto, as intenções de João e Márcio podem ser entendidas como se eles fossem agentes que manifestam uma particular intenção quanto a “pegar o guarda-chuva” ou a “trabalhar no feriado”.
Mas, é possível gerar deduções contra uma tendência natural e tomar uma nova decisão, como por exemplo: “Mesmo no meio de uma guerra, Clara decidiu permanecer na cidade, porque ela acredita na paz; e ela quer ficar.”. Há, neste caso, uma intenção contraditória quanto à racionalidade, porém, ligada a uma crença e a um desejo.
É talvez surpreendente que, até a década de oitenta, os pesquisadores da IA deram importância relativamente pequena para questões envolvendo síntese de agentes. No entanto, desde então, tem havido um crescente interesse pelo assunto, com uma variedade de áreas de estudo e com um grupo multidisciplinar de interesse. Desde então, há um importante grupo de interesses sobre o assunto, e cada vez mais se ouve falar de pesquisas sobre agentes de software em comunicações de dados, sistemas inteligentes, robótica, inteligência artificial e IA distribuída.
O artigo de Jennings (1998) cita um jornal que fez a seguinte previsão: “ABC – Agent-Based Computation – Agente Baseado em Computação – será a provável próxima inovação significativa no desenvolvimento de software”.
Há muitos usos diferentes do termo agente em IA e em Ciência da Computação onde vestígios de uso comum para as noções sutilmente diferentes dos agentes podem ser encontradas. Neste uso comum ou uso semelhante ao conceito de “atrator” da Teoria do Caos pode ser usado.
Um ponto de partida óbvio para o nosso estudo é uma análise da questão: o que é um agente? O dicionário Oxford (1988) (em Inglês, devido à origem do termo) define um agente como: “Aquele que age ou tem o poder ou autoridade para agir”.
Enquanto essa definição não é absolutamente útil, ele indica pelo menos que a ação é de alguma forma relacionada e parece, à primeira vista, que a noção de ação é indiscutivelmente ligada à do agente.
A suposição tácita é que os agentes têm um papel ativo, enquanto as ações originárias afetam seu próprio ambiente, em vez de permitir que seu ambiente de forma passiva possa afetá-los. Duas condições freqüentemente descrevem a ação dos agentes como ter autonomia e racionalidade. A autonomia é geralmente o meio através do qual um agente opera sem intervenção ou orientação direta de seres humanos. A racionalidade não é facilmente traduzida de forma práticas. Na verdade, despreza muitos dispositivos cognitivos, entre os quais, a imaginação e a fantasia, mas é freqüentemente usado no sentido de um pseudo-jogo teórico de um agente que maximiza seu desempenho com relação a algumas “funções de avaliação” como é apresentado por Galliers (1988) para um discussão coerente sobre a racionalidade e agente.
Os agentes se comunicam com seus semelhantes por troca de mensagens em uma linguagem expressiva. “Enquanto os agentes podem ser tão simples como a seqüência de dados, geralmente são entidades de grande porte com algum tipo de controle persistente.” (CASTELFRANCHI, 1995), esta definição de IA é um “conceito fraco de agente”.
Portanto, há também um “conceito forte” de agente usada em Softbot (robô de software que é um agente): “Um Softbot é um agente que interage com um ambiente de software por meio de comandos e interpretação do feedback do meio ambiente. No Softbot os efetores são comandos (por exemplo, comandos de shell do Unix, como “mv”) destinado a alterar o estado do ambiente externo. Os sensores do Softbot são comandos (por exemplo, “pwd” ou “ls” em Unix) destinados a fornecer informações ” (LEVY, 1994).
Para discutir para essa questão, a noção de agente é criada como tendo quatro características:
- Autonomia: agentes operam sem a intervenção direta de humanos ou outros, e tem algum tipo de controle sobre suas ações (CASTELFRANCHI, 1995);
- Habilidade social: agentes interagem com outros agentes (e possivelmente com humanos) através de algum tipo de linguagem de comunicação entre agentes (GENESERETH, 1994);
- Reatividade: agentes possuem percepção de seu ambiente (que pode ser o mundo físico, o usuário representado através de uma interface gráfica, uma coleção de outros agentes, a Internet ou talvez todos estes elementos combinados), e responder de forma oportuna às mudanças que ocorrem nele;
- Pró-atividade: agentes não agem simplesmente em resposta ao seu ambiente, eles são capazes de exibir comportamento objetivo direto, tomando a iniciativa.
Em outras palavras, para conectá-lo a noção de agente e usá-lo no sentido emergente, como na disciplina “Engenharia de software baseada em agentes”, que considera: “Uma série de estudos que têm sido feitos sobre agentes de informação, incluindo o estudo o teórico de como os agentes são capazes de integrar informações de diferentes fontes (LEVY, 1994), bem como um sistema protótipo chamado IRA (Information Retrieval Agent – Agente de Recuperação de Informações) que é capaz de pesquisar livremente determinados artigos de uma série em repositórios de documentos.” (VOORHEES, 1994).
Mas seria possível acrescentar conhecimentos a estes Softbots de tal maneira que eles pudessem adquirir características ontológicas, como: ser, querer, deduzir ou tomar decisões inteligentes? Para criar essas características, devemos descobrir ações que funcionam como atratores e habilitam certas atitudes, inferindo que determinado agente não quer algo para decisão racional, mas para a repetição de atos.
Portanto, pode-se reforçar as ações, atribuindo pesos a eles como eles são repetidos, e pode-se criar um cenário caótico, com tendência a desejos expressos em ações. O Knowbot é outra categoria criada por causa do desenvolvimento da Web Semântica: “Um Knowbot é um robô de aquisição de conhecimento, uma ferramenta para sondar a rede mundial de computadores. Seu funcionamento em uma única máquina ou como sistemas de servidores distribuídos, uma vasta gama de diferentes arquiteturas merecem o nome, mas sua característica comum é que eles procuram ativamente a informação utilizando os protocolos de Internet comuns, e eles mapeiam o ambiente de alguma forma útil”.
Os mundos e os agentes não são estáticos, portanto, a Teoria do Caos que estabelece a impossibilidade de determinar ações por longos períodos, é de fácil aplicação para os agentes (MUCHERONI, 2003). Os agentes devem ser capazes de tratar os aspectos do mundo e dos próprios agentes, que variam com o tempo e com cada ação a seguir, as quais são as percepções iniciais da Teoria do Caos. Para que os agentes possam realizar as atividades são necessárias maneiras de representar as suas ações e atos, como uma tendência intencional. O trabalho de Moore (1994) estabelece uma relação entre conhecimento e ação, a formalização do conhecimento, tendo pré-condições para ações e o que um agente precisa saber para ser capaz de realizar uma ação.
CONSIDERAÇÕES
Um Agente pode ser associado a uma ontologia, uma forma de representação do conhecimento para ser usado dando um sentido a ambientes aparentemente não estruturados de diversas fontes digitais. Um sistema computacional normalmente é dotado de uma memória onde cada usuário é representado em sua autopoiese, assim ela ganha uma nova forma sistêmica. Há a necessidade de fornecer um vocabulário comum de conceitos e relações que podem ser utilizados para os agentes ou só para informar o usuário ou um mecanismo de busca ou qualquer entidade de software. Quando os agentes e computadores são usados como intermediários no trabalho de colaboração, surge à necessidade de uma estrutura de representação da Ontologia comum, o que pode ser fundamental para isso.
Uma Ontologia construída desta forma pode permitir que os usuários de bases de dados trabalhem em conjunto com um risco mínimo de conflito. A aquisição e a representação das necessidades de conhecimento podem levar em conta a complexidade que é freqüentemente apresentada os domínios dos serviços, bem como as necessidades dos usuários ou agentes que realizam uma busca. O uso da linguagem XML e de técnicas que possam permitir a criação de Ontologias, por exemplo, em Data Centers, por meio da análise de problemas comuns ou com certa complexidade precisam ser desenvolvidas, e as idéias do presente trabalho mostram uma fonte promissora de investigação.
REFERÊNCIAS
BERNERS-LEE, T.; HENDLER, J.; LASSILA, O. The Semantic Web. In: Scientific American, 2001.
CASTELFRANCHI, C. Guarantees for Autonomy in Cognitive Agent Architecture. In Wooldridge, M. and Jennings, N. R., editors, Intelligent Agents: Theories, Architectures, and Languages. Springer-Verlag: Heidelberg, Germany, 1995. (LNAI) v.890, p. 56-70.
GALLIERS, J.R.0. A Theoretical Framework for Computer Models of Cooperative Dialogue, Acknowledging Multi-Agent Conflict. PhD thesis, Open University, UK, 1988.
GENESERETH, M.R.; KETCHPEL, S. Software Agents. Comm. of the ACM, 37(7):48-53,1994.
JENNINGS, N.R.; WOOLDRIDGE, M. J. (eds.). Agent Technology: Foundations, Applications and Markets. Edited by Nicholas R. Jennings and Michael J. Wooldridge, Berlin: Springer Verlag, 1998.
LEVY, A. Y., SAGIV, Y., SRIVASTAVA, D. Towards Efficient Information Gathering Agents. In Etzioni, O., editor, Software Agents – Papers from the 1994 Spring Symposium (Technical Report SS-94-03), AAAI Press, 1994. p. 64-70. 17
MOORE, R. C. A formal theory of knowledge and action. In Allen, J. F., Hendler, J., and Tate, A., editors, Readings in Planning, p. 480-519. Morgan Kaufmann Pub., CA, USA, 1994.
MUCHERONI, M.L., RO, C.Y.. AND GOMIDE JR, C. Chaos, Cognition and Cyberculture. <Publicacoes2001/ChaosCyberculture.htm>, to appear on: Proceedings of 3rd ICECE – International Conference on Engineering and Computer Education, Santos, Brazil, 2003.
OXFORD. The Concise Oxford Dictionary of Current English. Oxford University Press, 1988.
VOORHEES, E.M. Software Agents for Information Retrieval. Siemens Corporate Research, Inc. 755 College Road East. Princeton, NJ 08540. From: AAAI Technical Report SS-94-03, 1994.
WENGER, D.; PROBST, A. R. Adding Value with Intelligent Agents in Financial Services, in: Jennings and Wooldrige, (ed.), Agent Technology: Foundations, Applications, and Markets, Springer, 1998.
WOOLDRIDGE, M.J.,; JENNINGS, N.R, Agent Theories, Architectures and Languages: A Survey, in M.Wooldridge and N. R. Jennings, editors: Intelligent Agents – Theories, 1995.