Você está na página 1de 13

FACULDADE FORTIUM

BACHARELADO EM SISTEMAS DE INFORMAO DISCIPLINA DE INTELIGNCIA ARTIFICIAL 7 SEMESTRE TURMA:B NOTURNO)

Trabalho SMA, PROTOCOLO DE COMUNICAO, KQML

Rogrio Magno da Silva Rodrigues Ubiratan Valentim dos santos junior

Braslia,15 de maro de 2011

NDICE 1. Resumo 2. SISTEMAS MULTI-AGENTES (SMA)


2.1 Protocolo de Comunicao 2.2 KQML

3.INTRODUO E MOTIVAO 4. INTELIGNCIA ARTIFICIAL DISTRIBUDA 5. IMPLEMENTAO DOS AGENTES 6. Concluso 7. Bibliografia

1. Resumo
Objetivo Este trabalho tem como falar um pouco sobre SMA, Protocolo de Comunicao e KQML, entendermos com clareza o conceito de cada um destes assuntos, como os agentes iro se comunicar e como assegurar que os agentes iro agir coerentemente nas aes e tomadas de decises; como formular descrever problemas e sintetizar os resultados em um grupo de agentes inteligentes. A maioria dos Sistemas Tutores Inteligentes (STI's) no apresenta o nvel esperado de inteligncia. Um dos motivos est no pouco conhecimento sobre o que e como funciona a inteligncia humana. Muitos cursos distncia utilizam sistemas disponveis comercialmente, mas estes no incorporam as funcionalidades propostas nos STIs idealizados no meio acadmico. Os Sistemas Multiagentes (SMA) so utilizados para diminuir a distncia entre os sistemas reais e os ideais. Os SMA ajudam na modelagem e organizao do sistema, alm de, muitas vezes, apontar o melhor caminho a ser seguido pelo modelo pedaggico.este trabalho descreve a utilizao de agentes cognitivos num sistema tutor inteligente cujo objetivo auxiliar no ensino de Fundamentos da Estrutura da Informao, da Universidade Federal de Santa Catarina (UFSC).

2.SISTEMAS MULTI-AGENTES (SMA)

A associao de um conjunto de agentes distribudos com um objetivo global comum interagindo entre si define um Sistema Multi-Agentes (SMA). Mas um SMA mais do que uma simples reunio de agentes. Conforme Hbner (1995) SMA uma abordagem para resolver problemas especficos dividindo o trabalho entre muitos agentes que cooperam interagindo e trocando conhecimentos sobre o problema e a sua soluo, sendo que estes agentes so dotados de certa autonomia e inteligncia As duas principais caractersticas de um agente num SMA so perceber e agir. A habilidade de comunicar-se faz parte da percepo (quando recebe mensagens) e da ao (quando envia mensagens). Em SMA necessrio que a comunicao seja disciplinada para que os objetivos sejam alcanados. A comunicao permite que os agentes coordenem suas atividades e seu comportamento, resultando num sistema mais coerente

2.1 Protocolo de Comunicao


Um protocolo de comunicao nada mais do que um conjunto de convenes que rege o tratamento e, especialmente, a formatao dos dados num sistema de comunicao. Seria a "gramtica" de uma "linguagem" de comunicao padronizada. Conhecemos vrios protocolos de comunicao e fazemos uso deles diariamente, mas no pensamos neles como protocolos de comunicao. O mais antigo deles a lngua falada: duas pessoas que emitem sons audveis aos ouvidos humanos podem se comunicar. Neste exemplo, o protocolo de comunicao a emisso de sons numa dada faixa de frequncia, o cdigo utilizado a lngua falada e a mensagem o contedo do que se fala. E como fica o caso de deficientes auditivos que no puderam aprender a emisso de sons corretos? Podem se comunicar atravs da linguagem das mos... um protocolo de sinais feitos com as mos, onde o cdigo o alfabeto de sinais e a mensagem o contedo do que se quer transmitir.

Os mais diversos meios podem ser utilizados para criar cdigos de comunicao: luz, gestos, sons e smbolos so alguns deles. Em se tratando de mquinas, o meio mais utilizado at hoje o eltrico. Porm, para fazer uso de qualquer cdigo para transmitir uma mensagem, existe a necessidade de um protocolo. Memorize o trio vital de um sistema de comunicao:

Protocolo de Comunicao: conveno na formatao dos dados Cdigo de Comunicao: conveno dos smbolos usados Mensagem: contedo do que se transmite e recebe

2.2 KQML
KQML uma Linguagem de Comunicao entre Agentes de alto nvel, onde a troca de mensagens independente da linguagem de contedo e da ontologia utilizada, ou seja, qualquer tipo de contedo pode ser enviado em uma mensagem KQML. A Knowledge Query and Manipulation Language (KQML) uma linguagem projetada para suportar a interao entre Agentes Inteligentes. A comunicao entre os Agentes se realiza em diversos nveis. O contedo da mensagem apenas uma parte da comunicao. A capacidade de localizar e obter ateno de outro Agente com o qual um Agente deseja se comunicar uma parte do processo. O empacotamento da mensagem de uma forma que torne claro o propsito da comunicao outra parte. Quando utiliza a linguagem KQML, um Agente transmite o contedo de sua mensagem, em qualquer linguagem, empacotada dentro de uma mensagem KQML. A linguagem KQML s precisa saber onde comea e termina a mensagem sendo enviada. A sintaxe do KQML baseado em uma lista balanceada de parnteses (revelando suas origens em CommonLisp). A KQML no trata da localizao fsica dos Agentes, o que deve ser providenciado por outro tipo de protocolo (COM, DCOM, CORBA, ...). A KQML pode transportar ou no a identificao dos Agentes envolvidos, mensagens especficas, a linguagem utilizada, a ontologia que ela assume e outras informaes que permitem caracterizar, analisar, direcionar e entregar uma mensagem baseada em seu contedo, mesmo sem conhecer o seu contedo exato. Conceitualmente, uma mensagem KQML consiste em um comando, seus argumentos (que incluem o contedo da mensagem) e um conjunto de argumentos de transporte opcionais. As caractersticas bsicas da linguagem KQML so os seguintes:

1. FORMA Uma linguagem de Comunicao de Agentes deve ser declarativa, sintaticamente simples e capaz de ser lida pelas pessoas. Deve ser concisa e fcil de analisar e gerar. Para que possa ser possvel a transmisso da linguagem para outro Agente, o comando deve ser compatvel com o fluxo de bits do mecanismo de transporte. Portanto, a linguagem deve ser linear. As nicas primitivas da linguagem, os seus comandos, definem os atos de comunicao e as aes a serem realizadas. O formato da linguagem declarativo e, portanto, linear. A sintaxe simples e novos comandos podem ser implementados.

2. CONTEDO Uma linguagem de comunicao deve ser dividida em camadas para facilitar o seu uso. Deve ser feita uma diviso entre a linguagem de comunicao, que expressa atos da comunicao, com a linguagem de contedo, que expressa fatos sobre o domnio. A linguagem KQML dividida em trs camadas: o contedo, a mensagem e a comunicao. A KQML no sabe o contedo da mensagem especfica que ela transmite. Os comandos de comunicao fornecem um conjunto mnimo de "atos de comunicao" que atendem maioria das necessidades. Novos comandos podem ser adicionados. A camada de comunicao codifica para a mensagem um conjunto de parmetros que identificam o gerador e o receptor da mensagem e outras informaes especficas.

3. SEMNTICA Os projetistas de aplicaes devem ter um entendimento comum da linguagem, suas primitivas e os protocolos associados com seu uso. A semntica de uma linguagem de comunicao deve exibir todas as propriedades esperadas das semnticas de outras linguagens. Deve ser baseada na teoria, ser noambgua, exibir forma cannica (similaridade no significado deve levar a similaridade na representao) e fornecer um modelo de comunicao que possa ser utilizado para uma modelagem de performance. A semntica da KQML est em aberto. Existem atualmente descries em linguagem natural do significado dos comandos e seu uso.

4. IMPLEMENTAO A implementao deve ser eficiente, tanto em velocidade como em utilizao de tamanho de banda. Deve ser fcil de usar, os detalhes das camadas de rede e transmisso devem estar escondidos sob as primitivas de comunicao. A linguagem deve estar disponvel a implementaes parciais, pois nem todos os Agentes tem necessidade de todos os atos de comunicao.

3. INTRODUO E MOTIVAO
Os sistemas multiagentes so bastante flexveis, podem ser formados por diversos e distintos elementos, chamados de agentes. Os agentes podem executar diferentes funes e modificar seu comportamento dinamicamente. Sistemas Multiagentes so capazes de resolver problemas complexos, principalmente queles que os sistemas tradicionais no conseguem resolver. Para auxiliar no ensinoaprendizagem prope-se um sistema multiagente naturalmente distribudo e cooperativo cujo objetivo resolver problemas em ambientes dinmicos como a Web. O MathTutor um sistema distribudo, que utiliza tcnicas de Inteligncia Artificial Distribuda (IAD), seguindo a abordagem de Sistemas Multiagentes (SMA) e est sendo desenvolvido na UFSC. Atravs da implementao de agentes, num ambiente de aprendizagem A arquitetura escolhida a troca de mensagens. Os agentes comunicam-se diretamente, respeitando a hierarquia do sistema, enviando mensagens assncronas. Nesta configurao pode haver um agente facilitador de comunicao, que no caso do MathTutor o agente de interface. Neste tipo de arquitetura fundamental que os agentes saibam os nomes e endereos uns dos outros para no ocorrerem problemas no encaminhamento das mensagens. Este mtodo bastante eficiente no sentido de obter as mensagens em tempo hbil. Um protocolo de conversao essencial para que as mensagens sejam trocadas e interpretadas de maneira adequada.Os agentes so cognitivos, pois possuem um processo explcito de escolha da ao a ser tomada. Baseia-se em mecanismos de processamento simblico, neste caso, os sistemas de regras. Este tipo de agente tm uma capacidade local de deciso e podem negociar uma informao.

4. INTELIGNCIA ARTIFICIAL DISTRIBUDA


A Inteligncia Artificial Distribuda (IAD) o ramo da inteligncia artificial que est relacionado com a soluo cooperativa de problemas em um certo ambiente atravs de agentes distribudos. As tcnicas desenvolvidas em IAD permitem aplicaes em diversos nveis: Desenvolvimento de novas aplicaes baseadas em metodologias tradicionais de desenvolvimento de software, mas que se beneficiem das idias da IAD; A expanso das funcionalidades de sistemas existentes atravs do encapsulamento destas aplicaes em plataformas de IAD;

3. Desenvolvimentos de sistemas que incorporem as tcnicas de IAD da concepo at sua implementao. A aplicao da IAD baseia-se na idia de que a agilidade, flexibilidade, inteligncia e desempenho de um sistema podem ser melhorados a medida que ela permite alcanar objetivos Construo de sistemas descentralizados ao invs de centralizados;

Obteno de solues emergentes (resultado das interaes entre agentes e/ou humanos) ao invs de totalmente planejadas; Execuo concorrente ao invs de seqencial. Muitos problemas reais so naturalmente e fisicamente distribudos, por isso, a necessidade de solues distribudas e a exigncia da capacidade de adaptao dos sistemas so alguns dos principais motivos que estimulam o desenvolvimento de sistemas inteligentes distribudos. A IAD est dividida em: Soluo distribuda de problemas (SDP) e Sistemas multiagentes (SMA). A SDP tem como foco principal o problema. Os principais objetivos so utilizar a capacidade de processamento e a robustez oferecidas pela tecnologia de redes para atacar problemas de natureza distribuda ou muito complexos, tendo como exemplo o problema de controle de trfego areo.Os agentes envolvidos em SDP so programados para cooperar, dividir tarefas e comunicar-se de maneira confivel, entretanto no simples estabelecer estas propriedades. O foco principal dos SMA (Figura 1) o estudo das pressuposies bsicas sobre agentes que garantam a possibilidade de ao cooperativa em sociedade, ou seja, o foco das pesquisas so os agentes. Inteligncia Artificial (IA) Inteligncia Artificial Distribuda (IAD) Agentes Inteligentes

Os agentes cognitivos so baseados em organizaes sociais humanas como grupos, hierarquias e mercados. Os agentes possuem uma representao explcita do ambiente e dos outros agentes, dispem de memria, e por isto so capazes de planejar aes futuras. Agentes cognitivos podem comunicar-se entre si diretamente, isto , seus sistemas de percepo e de comunicao so distintos, o que no acontece nos reativos. Normalmente esto em pequena quantidade no sistema e so de mdia ou alta complexidade [2]. Alm disso, requerem sofisticados mecanismos de coordenao e protocolos de alto nvel para suporte interao. Os agentes cognitivos aumentam a qualidade do sistema sob o ponto de vista pedaggico porque permitem gerar um sistema mais perceptivo com autonomia, flexibilidade, colaborao e adaptao. A caracterstica essencial da abordagem SMA a filosofia de resoluo distribuda de problemas, na qual adotada uma estratgia de dividir para conquistar. A resoluo cooperativa distribuda de problemas diz que um problema dividido em subproblemas e cada um solucionado separadamente por um agente, cada um destes comunicando ou cooperando entre si quando necessrio, com a idia bsica de que a soma dos resultados locais corresponder soluo do problema geral. Atravs desta afirmao possvel perceber que a cooperao um assunto que merece um detalhamento. Existem dois tipos de cooperao: partilha de informao ou partilha de tarefas. A partilha de informao se d quando um dado agente dispe ou produz informaes parciais que julga serem teis a partilhar e as envia para os outros agentes. A partilha de tarefa efetuada quando um dado agente, ao decompor uma dada tarefa, detecta subtarefas que no pode ou no quer realizar, sendo necessrio procurar outros agentes que possam auxili-lo. O projeto de um sistema multiagente deve considerar vrios aspectos, como por exemplo, tipo ou classe do problema a ser tratado, nveis de autonomia dos agentes, representao do conhecimento, protocolos de comunicao, definio da organizao do sistema, modelagem de dados, modelos de coordenao, cooperao e resoluo de conflitos. A organizao de um sistema multiagente pode ser classificada como: democrtica, federada ou hierrquica. Na organizao democrtica os agentes no possuem organizao, e atuam em graus similares de independncia e autonomia, sem hierarquia alguma. Neste caso so necessrios procedimentos de coordenao sofisticados para garantir convergncia e evitar interaes desnecessrias. Na organizao federada existe algum tipo de hierarquia. H a presena de agentes facilitadores, agentes intermedirios entre o cliente e o supervisor. Grupos de agentes da federao tem graus similares de independncia e autonomia, e normalmente so bastante heterogneos. Os procedimentos de coordenao so de mdia complexidade dado a prpria existncia do facilitador. Entretanto, as arquiteturas hierrquicas so as mais utilizadas em aplicaes industriais, onde o sistema multiagente est estruturado em nveis de hierarquia.Uma das propriedades essenciais de um agente a sua capacidade de comunicar-se com outros agentes, usurios e sistemas visando atingir seus objetivos, a interao. Durante o planejamento da interao deve-se lembrar que a informao pode ser incompleta, imprecisa e ou prevista, e a qualidade dela varia de acordo com o tipo de agente. A interao pode ser dividida em 4 camadas de complexidade: comunicao, coordenao, cooperao e colaborao.A camada comunicao bsica de qualquer software que precisa interagir. A camada coordenao define as regras de interao considerando as agendas dos agentes de forma a se evitar comportamentos indesejados. A camada cooperao uma camada encontrada apenas em sistemas onde a cooperao reflete uma estratgia de ao decidida pelo agente, permitindo a negociao. A camada mais refinada a camada colaborao onde um agente tem capacidade de detectar possveis objetivos comuns, e de planejar sua agenda com os outros de forma a atingir o objetivo da melhor forma possvel, aproveitando ao mximo a partilha de informaes. Existem ainda muitos outros tpicos a serem tratados quando se estuda sistemas multiagentes, como protocolos de comunicao inter-agentes, ambientes de desenvolvimentos, integrao e interoperao de sistemas multiagentes.

5. IMPLEMENTAO DOS AGENTES

Os agentes do MathTutor utilizam uma representao do conhecimento comum. Estas caractersticas permitem simplificar o processo de compartilhamento e raciocnio. Os agentes se comunicam a fim de solicitar cooperaes entre si, solucionando problemas mais rapidamente. O ambiente que permite a troca de mensagens entre os agentes o JATLite (Java Agent Template Lite) [11], atravs da linguagem KQML. O contedo destas mensagens so fatos que sero inseridos na mquina JESS (Java Expert System Shell), permitindo que o sistema tome decises e mude o comportamento. A comunicao do usurio com o sistema ocorre atravs da interface, que uma pgina HTML com contedo gerado por Servlets. A comunicao entre os agentes feita atravs de performativas. As performativas armazenam ordens implcitas aos agentes. JATLite pode ser definido como um conjunto de classes escrito em linguagem Java que prov uma arquitetura bsica para a construo de agentes que se comunicam atravs da Internet. A transmisso das mensagens entre os agentes pode se dar atravs de um mecanismo de pooling onde o agente emissor verifica se o receptor est conectado e envia a mensagem. As conexes entre os agentes so feitas de uma maneira persistente, ou seja, fica ativa at que o agente resolva fech-la ou um tempo mximo de ociosidade seja atingido (timeout). A troca de mensagens entre os agentes feita conforme a Figura.

O JESS utilizado em diversas aplicaes, mas o uso do JESS com a tecnologia dos Applets deixa o sistema muito pesado. Por isso quando a idia utilizar aplicaes com JESS via navegador, devemos considerar o uso do JESS do lado do servidor, como o que ocorre no caso dos Servlets, dispensando o usurio de carregar grande parte do sistema para sua mquina o que torna a interao com o sistema bastante lenta e entediante do ponto de vista do usurio.

6. Concluso

Atualmente as pesquisas em STI ou ambientes de ensino-aprendizagem, preocupam-se com a construo de ambientes que possibilitem um aprendizado mais eficiente. A tecnologia dos agentes tornou os STI mais adaptados s necessidades e caractersticas individuais de cada estudante. O MathTutor utiliza agentes visando obter um sistema com maior qualidade e flexibilidade seja sob a tica do estudante ou do especialista. Construir os agentes e coloc-los em operao de acordo com as funcionalidades propostas uma tarefa complexa. A interao entre estudante e tutor tenta se aproximar cada vez mais da interao estudante professor tornando o sistema uma extenso da sala de aula e fazendo com que esta interao ocorra de maneira mais natural possvel. Contudo existe uma lacuna em relao a modelagem do estudante, por exemplo, quando o professor percebe uma determinada expresso na face do estudante que o tutor no capaz de perceber. Por fatores semelhantes a estes, a modelagem do estudante tm sido o foco de pesquisa nos ltimos anos na rea de STI's. A busca por novos paradigmas trouxe para a IAD a tecnologia dos agentes, que so utilizados com finalidades distintas em diversas reas, mas que em muito tem contribudo para o crescimento dos STI.

7. Bibliografia

http://www.das.ufsc.br/~eliane/artigos/frigo04a.pdf BICA, F., SILVEIRA, R., e VICCARI, R.Eletrotutor III: Uma Abordagem Multiagentes. IX Simpsio Brasileiro de Informtica na Educao/SBIE, 1998. BITTENCOURT, G. Inteligncia Artificial Distribuda, Anais: I Workshop de Computao do ITA, 1998. BITTENCOURT, G. Inteligncia Artificial: ferramentas e teorias, Editora da UFSC, 1998. DURFEE, E. H. "A Unified Approach to Dynamic Coordination: Planning Actions and Interactions in a Distributed Problem Solving Network", COINS Technical Report 87-84, Univ. of Massachusetts at Amherst, 1987. ELM-ART Lisp Course Disponvel em: apsymac33.unitrier.de:8080/elm-art/login-e, 2001. FERBER, J. Multi-Agent System, An Introduction to Distributed Artificial Intelligence Addison-Wesley Publishers, 1999. FRANKLIN, S. E GRAESSE, A. Is it na agent, or just a program? A taxonomy for autonomous agents Proceedings of the Third International Workshop on Agent Theories, Architecture and Languages, 1996, Springer-Verlag. FRIEDMAN-HILL, E. Jess, the Java Expert System Shell. Disponvel em: http://herzberg.ca.sandia.gov/jess, 1997. FRIGO, L.B. e BITTENCOURT, G. MathTutor: Uma ferramenta de apoio a aprendizagem Anais do XXII Congresso da Sociedade Brasileira de Computao X WEI, 2002. GIRAFFA, L. M., VICCARI, R.M. e SELF, J. Multi-agent based pedagogical games. Inteligent Tutoring Systems ITS, 1998. JATLite Java Agent Template Lite Stanford University, 1997, Disponvel em: http://java.stanford.edu/java_agent/html/index2.html, JENNINGS, N. R. Cooperation in Industrial Multi-agent Systems, World Scientific, 1994. JENNINGS, N. R., WOOLDRIDGE, M., KINNY, D. "A Methodology for Agent-Oriented Analysis and Design" Proc. 3rd Int Conference on Autonomous Agents (Agents-99) Seattle, WA. 28 ,1999. MATHNET , Relatrio Tcnico 1999/2000, LCMI http://www.das.ufsc.br/mathnet/rel-00 PARUNAK, H. V. D. Applications of Distributed Artificial Intelligence in Industry Foundations of Distributed Artificial Intelligence. Wiley Inter-Science, cap 4, 1994. RABELO, R. J. Sistemas http://www.das.ufsc.br/~rabelo,2002. Multi-agentes Disponvel em :

WORTMANN, H. e SZIRBIK, N. ICT Issues among Collaborative Enterprises: from Rigid to Adaptive Agent-Based Technologies International Journal of Production Planning and Control 12 (5) 452-465, 2001. 2004 WCETE March 14 - 17, 2004, So Paulo, BRAZIL World Congress on Engineering and Technology Education 671

Você também pode gostar