A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Orientada a Agentes Franklin Souza Ramalho

Apresentações semelhantes


Apresentação em tema: "Programação Orientada a Agentes Franklin Souza Ramalho"— Transcrição da apresentação:

1

2 Programação Orientada a Agentes Franklin Souza Ramalho

3 Roteiro ä AOP ä definição ä ambientes ä linguagens ä Comunicação entre Agentes ä Conceitos Básicos ä KSE ä Mundo do Wumpus ä Questões ä Referências

4 Características ä Programas são formados por vários agentes que compartilham informações por meios de mensagens ä Características de Agentes: ä Autonomia e adaptabilidade ä Cooperação (Comunicação) ä Estados Mentais ( Crenças, capacidades, escolhas)

5 Comparação entre OOP e AOP ä AOP pode ser visto como uma especialização do OOP ä Comparações: OOPAOP OOPAOP Unidade BasicaObjetosAgentes EstadosObjetosEstados Mentais ComputaçãoMensagensMensagens e outros Tipos MensagensNão-EstruturadoAtos de Fala RestriçõesNenhumaHonestidade, consistência,etc

6 Aplicações de AOP ä Agentes na Internet ä Assistentes pessoais ä Negociadores ä Jogos ä Simulação de sistemas

7 Ambientes de Programação de Agentes ä Objetivos: ä Definição dos Estados Mentais ä Primitivas de Comunicação ä Duas Visões ä Fornecer linguagens especializadas para agentes ä Auxiliar linguagens pré-existentes para programação de agentes ä Exemplos: Aglets, Agent0, etc.

8 Linguagens de Programação de Agentes ä Representam: ä Ações do Agente ä Estados Mentais ä Tempo ä Oferecem primitivas de comunicação.

9 Exemplo: Agentk ä Tipos de Expressões: xtxtxtxt B a (x) t OBL a,b (x) t CAN a (x) t ä Comunicações: Expressões KQML

10 Comunicação entre Agentes

11 Comunicação äOäOäOäObjetivos: äTäTäTäTroca de informações äCäCäCäCoordenação

12 Atos de Fala ä Informar ä Consultar ä Responder ä Requisitar algo ä Comprometer-se ä Agradecer ä Compartilhar

13 Tipos de Agentes: Facilitadores ä Agentes simplificam a troca de informações ä Tarefas: ä Roteamento ä Registro de nomes ä Monitoramento, etc.

14 Facilitadores A B F Broker-one(ask(x))Advertise(ask(X)) Ask(X) Tell(X) Tell(X)

15 Tipos de Comunicação entre Agentes ä Comunicação Telepática ä Comunicaçào com uma Linguagem Formal

16 Comunicação Telepática ä Comunicação direta via interface TELL AND ASK. Ex : Ex : 1 O agente A pode comunicar a proposição P ao agente B com TELL (KB A, P). 2 O agente A pode consultar a base de conhecimento do agente B com um ASK (KB B, Q)

17 Comunicação Telepática Agente A Agente B Comunicação com Tell and Ask AçõesAçõesPercepçõesPercepções

18 Comunicação Telepática Desvantagens : Desvantagens : Dados dois agentes A e B que se comunicam : l A e B podem usar o mesmo simbolo com significados diferentes; l A e B podem usar simbolos diferentes para devotar a mesma coisa; l A e B precisam usar a mesma linguagem interna; l Sabotagem

19 Comunicação com Linguagem Formal ä Um agente A se comunica com um agente B através de uma linguagem externa.

20 Comunicação com Linguagem Formal Agente A Agente B Percepçôes Percepçôes Ações Ações Ling. Formal

21 Comunicação com Linguagem Formal Desvantagens Desvantagens l A linguagem de representação externa traz com ela problemas de geração e análise; l Falta de uma linguagem padrão; l Pode ocorrer uma interpretação errada por parte de agentes em relação à mensagem de outro agente. Vários consórcios :Vários consórcios : Knowledge Sharing Effort (KSE)Knowledge Sharing Effort (KSE)

22 Knowledge Sharing Effort (KSE) ä O KSE é organizado em três grupos de trabalho : l Interlingua Group - tradução. resultado : Linguagem KIF. l SRKB (Shared, Reuasable Knowledge Bases) Group - compartilhamento e reusabilidade. resultado : Construção de Ontologias Comuns. l External Interfaces Group - comunicação SBC - SBC ou SBC - SNBC. resultado : Linguagem KQML.

23 KIF - Knowledge Interchange Format ä Linguagem padrão de representação interna para comunicação entre agentes. ä Versão pré-fixada do cálculo de primeira ordem, com extensões para aumentar a expressividade : ä noções aritméticas, ex : >,, < ä operadores lógicos, ex : and ä procedimentos ä Exemplos : ä (>(*(width chip1)(length chip1))(*(width chip2)(length chip2))) ä (interested joe (salary( ?x, ?y, ?z))

24 KQML - Knowledge, Query and Manipulation Language ä KQML é uma linguagem e um conjunto de protocolos que apoiam a comunicação entre agentes de software. ä Principais características da linguagem : l Mensagens KQML não enxergam o conteúdo das mensagens que elas transportam; l Comunicação baseada em Executivas; l Permite o uso de facilitadores; l É dividida em três camadas : camada de comunicação, camada de conteúdo e camada de mensagem.

25 KQML - parâmetros ä As principais palavras-chaves (parâmetros) das executivas KQML são as seguintes : executiva (:sender executiva (:sender :receiver :receiver :reply-with :reply-with :in-reply-to :in-reply-to :language :language :ontology :ontology :content )

26 KQML - Executivas (atos de fala) ä De acordo com seu significado as executivas podem ser enquadradas nas seguintes categorias : l Executivas de Conversação l Executivas de Intervenção l Executivas de Facilitação e Rede

27 KQML - Executivas de Conversação ä ask-if - S quer saber se o conteúdo de sua mensagem é verdadeiro para R; ä ask-all - S quer todas as instâncias de R, para as quais o conteúdo de S é verdadeiro; ä tell - S informa para R que seu conteúdo é verdadeiro, ou seja, que a sentença está em sua base de conhecimento; ä insert - S pede para R acrescentar o conteúdo da mensagem na base de conhecimento de R; ä advertise - S quer que R saiba que S pode e processará mensagens do tipo da que está em seu conteúdo.

28 KQML - Executivas de Conversação Exemplo : O agente A envia a seguinte mensagem para o agente B : (advertise :senderA :receiverB :reply-withid1 :languageKQML :ontologykqml-ontology :content(ask-if :senderB :receiverA :in-reply-toid1 :languageprolog :ontologyDI :contentProfessor(X,Y)))

29 KQML - Executivas de Conversação Exemplo (cont.) : O agente B pergunta então ao agente A : (ask-if :senderB :receiverA :in-reply-toid1 :reply-withid2 :languageprolog :ontologyDI :contentProfessor(Geber,Agentes))

30 KQML - Executivas de Conversação Exemplo (cont.) : O agente A responde ao agente Bcom a seguinte mensagem : Exemplo (cont.) : O agente A responde ao agente B com a seguinte mensagem : (tell :senderB :receiverA :in-reply-toid2 :reply-withid3 :languageprolog :ontologyDI :contentProfessor(Geber,Agentes))

31 KQML - Executivas de Intervenção ä error - S indica a R que recebeu uma mensagem não compreendida; ä sorry - S diz a R que compreende sua mensagem, mas não pode prover uma resposta; Exemplo : O agente Servidor-Estoque envia a seguinte mensagem para o agente Joe : (tell:receiverJoe :reply-withid2 :in-reply-toid1 :languageLProlog :ontologyEstoque-IBM :content(Computador IBM 14))

32 KQML - Executivas de Intervenção Exemplo (cont.): em resposta, o agente Joe envia a seguinte mensagem para o agente Servidor-Estoque : (error:senderJoe :receiverServidor-Estoque :in-reply-toid2 :reply-withid3)

33 KQML - Executivas de Rede ä register - S anuncia para R (facilitador) sua presença e nome simbólico associado com seu endereço físico; ä unregister - cancela um register feito anteriormente; ä transport-address - S anuncia um novo endereço físico na rede; ä forward - S quer que R repasse a mensagem para o agente :to; ä broadcast - S pede a R para enviar a mensagem para todos agentes que R conhece; ä broker-one - S pede a R para achar uma resposta para a executiva do seu conteúdo. ä recommend-one - S pede a R para sugerir um agente que possa processar seu conteúdo;

34 KQML - Executivas de Rede Exemplo : O facilitador recebe a seguinte mensagem : (broker-one:sender C :receiver facilitador :reply-with id3 :language KQML :ontology kqml-ontology :content (ask-all :senderC :reply-withid4 :reply-withid4 :languageProlog :languageProlog :ontologyCampeonato Brasileiro :ontologyCampeonato Brasileiro :content Campeao(Flamengo,Y))) :content Campeao(Flamengo,Y)))

35 KQML - Executivas de Rede ä ä Exemplo (cont.) : ä ä Então, o agente facilitador depois de procurar pelas mensagens advertiseque tem sido recebidas por ele, decide enviar a seguinte mensagem para o agente A : (ask-all :senderfacilitador :receiverA :in-reply-toid1 :reply-withid4 :languageProlog :ontologyCampeonato Brasileiro Campeao(Flamengo,Y))) :content Campeao(Flamengo,Y)))

36 KQML - Executivas de Rede ä Exemplo (cont.) : ä E o agente A responde com a seguinte mensagem : (tell :senderA :receiverfacilitador :in-reply-toid4 :reply-withid5 :languageProlog :ontologyCampeonato Brasileiro :contentCampeao(Flamengo, 1980),..., Campeao(Flamengo, 1992))

37 KQML - Executivas de Rede ä Exemplo (cont.) :E então, o agente facilitador envia para o agente C : (forward : (forward :fromA :senderfacilitador :receiverC :in-reply-toid3 :reply-withid6 :languageKQML :ontologykqml-ontology :content(tell:receiverC :languageProlog :ontologyC. Brasileiro :content Campeao(Flamengo, 1980),..., Campeao(Flamengo, 1992))

38 KQML - Aplicações Tem-se usado KQML em : ä Aplicações de banco de dados distribuídos e/ou heterogêneos (mediadores); ä Vários experimentos de integração de tecnologia no laboratório de Roma da ARPA; ä Integração de clientes com mediadores e servidores em ambientes distribuídos; ä Ligações Browsres WWW com Mediadores; ä Jogos;

39 KQML Desvantagens : Desvantagens : ä Não trata comprometimentos, compartilhamento. ä Tratamento de Erros; ä Seguraça. ä Outras linguagens : ä FIPA ä Tendências : ä ACL - KQML + KIF ä agent-k ä projetos de engenharia concorrente, projetos inteligentes e aplicações distribuídas. ä Compartilhamento de objetos.

40 O Mundo do Wumpus Com Comunicação (MWC) ä Objetivo : Implementar o Mundo do Wumpus com comunicação entre os agentes. ä O ambiente do jogo é formado por : ä Agente Mundo ä Agente Caçador ä Agente Wumpus ä Conjunto de Cavernas ä Agência *

41 Arquitetura do MWC Base de Conhecimento dos Agentes Caçadores Tell and Ask Caçadores

42 Arquitetura do MWC Base de Conhecimento do Agente Mundo Tell and Ask Agente Mundo

43 Arquitetura do MWC Tell and Ask Ações/Percepções Mundo Caçador3 Caçador1 Caçador2

44 Comunicação MWC ä Foram abordadas : ä Comunicação Telepática : ä entre caçadores. ä Comunicação com Linguagem Formal : ä Caçador / Mundo; ä Wumpus / Mundo;

45 Implementação ä Linguagens : ä Java; ä KQML; ä Ferramentas : ä JEPS; ä JATLite; Classe Raciocínio do Caçador; Classe Agency;

46 Considerações sobre o MWC ä ä Classes : ä ä Agentes(nome, Msgqueue, agency...); ä ä Caçador( flechas, start_x, start_y, x,y, dir, caminho,motor,...); ä ä Wumpus,(pos,...); ä ä Mundo (cavernas, wudth, height, jogadores, wumpus, ouro,...); ä ä Agency,(agentes); ä ä Caverna (x, y, buraco, brisa, fedor, norte, sul,...); ä ä CCaverna,(WumpusEsta, TemBuraco, Visited, Seguro, N, S,..); ä ä RaciocínioCaçador (x, y, workingCaves,...); ä ä Timer (agency). ä ä Agents são Threads ä ä Mundo, Caçador e Wumpus são agentes;

47 Considerações sobre o MWC ä Comunicação : ä Agency funciona como facilitador; ä Dinâmica do fluxo das mensagens; ä Verificação de Ontologias e Conteúdos; ä Ex1. Agente Mundo : if(msg.ontology == CaçadorMundoComunicação){ if(msg.contents == novocaçador){... Else if (msg.contents == GO){... Else if (msg.contents == GO){... Else if (msg.contents ==GetGold) {... else if(msg.ontology == WumpusMundoComunicação)...

48 Considerações sobre MWC ä Ex2. O Agente Caçador : ä if(msg.ontology ==PercepcaoCacador){ ä ProcessaPercepcoes(msg.contents) } ä else if (msg.ontology == TimeSlice){ ä DecideMove();... }

49 Considerações sobre o MWC ä ä Raciocínio do Caçador : ä ä Exemplo : ProcessaPercepcoes(msg.contents); motor.infere(x,y,briza,fedor);... Void infere(int x,..., boolean fedor){ SetProperties(x,y,briza,fedor); Think();... Void Think(){...If(cav.NaoTemBrisa()){ cav.ClearBuraco(this)... }}

50 Questões ä POA x POO ? ä Qual a diferença entre Agentes de Software e Agentes Inteligentes ? ä ACL resolve os problemas de comunicação entre agentes ?

51 Referências ä Finin, Tim and Labrou, Yannis. A Proposal for a new KQML Specification; ä Finin, Tim., Labrou, Yannis and Mayfield, James. KQML as na communication language. ä Finin, Tim and Fritzon, Rich. KQML - A language and Protocol for Knowledge and Information Exchange. ä Finin, Tim and Labrou, Yannis. Semantics and Conversations for na Agent Communication Language ä Patil, Ramesh S., Fikes Richard E., Patel-Schneider Peter F.., Don Mckay, Finnin, Tim., Gruber, Thomas and Neches Robert. The DARPA Knowledge Sharing Effort : Progress Report


Carregar ppt "Programação Orientada a Agentes Franklin Souza Ramalho"

Apresentações semelhantes


Anúncios Google