Você está na página 1de 43

1

Plano de Aula
Agentes que Interagem
Conceitos Bsicos
FIPA ACL
Exemplo Agente Comprando Livros
Diferentes Formas de Interao entre Agentes


2
Motivao : Agentes
Reflexo
Cenrio dinmico
Integrao de diversas mdias e dispositivos
Inteligncia Social
Como implementar?
Sugesto: usar Agentes Inteligentes
Agentes
Ideal para aplicaes autnomas, mveis e inseridas em
uma sociedade
Naturalmente capazes de:
Reagir de forma autnoma e reativa
Raciocinar de forma pr-ativa
Adaptar-se ao ambiente onde esto inseridos
Iteragir com outras entidades
3
Recordar Viver...
IAD lembra...
Comportamento Social
Organizao
Interao
Coordenao
Cooperao
Ao

4
Recordar Viver... II
RDP
Agentes projetados
para o problema.
Benevolncia
Organizao em
Tempo de Projeto
Controle Global
Pouca Flexibilidade
SMA
Agentes
preexistentes
Raciocnio sobre
aes, cooperao
Maior Flexibilidade
Organizao Varivel
Interaes Genricas
5
Assim...
SMA...
Realiza a decomposio das tarefas
Tem conflitos...ou junta esforos
varivel...
Como isso acontece??
Interao a chave...
6
Motivao : Agentes
Iterao
Soluo compartilhada de problemas
Requisito bsico
Mecanismo de Comunicao
Linguagem comum
Infra-estrutura
Mas como implementar?
7
Comunicao em SMA
Conceitos Bsicos
8
Comunicao...
Relao dinmica mediada por sinais, que
quando interpretados, afetam os agentes
envolvidos.
Possibilita... Cooperao e Coordenao

Em outra palavras... Comunicao :
Uma forma de ao
Utilizada pelo agente para tornar realidade um estado
do mundo
9
Tipos de Comunicao
Telepatia
Acesso direto uma Knowledge Base (KB)
Lendo a mente...
Cada um com sua KB
KB compartilhada
Problemas
Podem usar o mesmo smbolo para denotar coisas diferentes
Podem usar smbolos diferentes para denotar a mesma coisa
Linguagem de Comunicao de Agentes (LCA)
Comum
10
Atos de Fala
Categorizao das expresses humanas qto a
Inteno do locutor
Impacto do ato comunicativo no receptor
Existem aproximadamente 4600 atos de fala!
No esse o objetivo de uma LCA
Ajuda a decidir as primitivas das LCAs
Todo primitiva de uma LCA um ato de fala
11
Atos da Fala
Linguagem Humana
Atos comunicativos so interpretados a partir da
mensagem e do contexto
Nem sempre esta interpretao bvia
Dificuldades
Cale-se ! (Comando)
Por favor, voc pode se calar ? (Pedido)
Voc vai se calar ou no ? (Pergunta)
Eu gostaria que voc se calasse. (Informao)
12
Atos da Fala : Categorias
Representativos
Expressam uma Proposta
Ex: Vamos jogar boliche
amanh?
Diretivos
Expressam um Pedido ou
Comando
Ex: Cale-se!
Comissivos
Expressam Promessa ou
Ameaa
Ex: Eu prometo doar
R$1.000,00.
Expressivos
Expressam Desculpas ou
Agradecimentos
Ex: Desculpe pelo atraso
Declarativos
Mudam o Estado do Mundo
Ex: Eu os declaro marido
e mulher!
Veredictos
Expressam um Julgamento
Ex: West criminoso.
13
Vrias Dimenses dos Atos da
Fala
Ato Locucionrio
Emisso da mensagem
Voc poderia fazer um caf?
Efeito Ilocucionrio
O que o locutor entende por algo
Ele me pediu para fazer caf
Efeito Perlocucionrio
O real efeito do ato comunicativo no receptor
Ele me fez fazer caf
Ideal
Efeito perlocucionrio previsvel
Para um dado Ato Locucionrio,
Efeito Ilocucionrio = Efeito Perlocucionrio.
Ou seja, prever a reao do receptor!
14
Linguagens de Comunicao
Baseadas na Teoria dos Atos da Fala (Searle, Austin)
Objetiva a troca de informaes entre agentes
Transporte de mensagens na rede atravs de protocolos de baixo nvel
SMTP, TCP/IP, IIOP ou HTTP
Esse transporte transparente para o usurio
Uma LCA dividida em:
Ontologia
Linguagem interna (lgica)
Codificao do contedo
Linguagem externa
Ato Locucionrio (Performativa)
Encapsulamento de infomaes para o roteamento
15
Linguagem Interna (LI)
O que ?
Linguagem em que deve ser codificado o conhecimento que
se deseja compartilhar com o destinatrio da mensagem
Exemplos
KIF ( Knowledge Interchange Format )
Verso prefixada (LISP like) da lgica clssica de primeira
ordem
No est totalmente implementada para uso comercial
Produzida pelo KSE
Linguagem natural
Prolog, SQL, LISP
RDF (Resource Description Framework)
XML
Ato Comunicativo
Contedo
Mensagem
16
Linguagem Externa ( LE )
O que ?
Linguagem que encapsula:
O ato comunicativo = ato locucionrio = performativa
Informaes para o roteamento
Agente receptor
Ontologia
Linguagem interna
Contedo

Exemplos
KQML
FIPA ACL
17
FIPA
Foundation for Intelligent Physical
Agents
www.fipa.org
18
FIPA : Histrico
FIPA uma associao sem fins lucrativos
fundada em 1996 e localizada em Genebra
na Sua
Objetiva promover o sucesso das aplicaes,
servios e equipamentos baseados em
agentes
Prov especificaes para maximizar a
interoperabilidade entre aplicaes, servios
e equipamentos baseados em agentes
19
FIPA
FIPA x KQML
Ao contrrio do KQML, as especificaes FIPA tm
uma grande preocupao com a modelagem
semntica
Linguagem de Comunicao de Agentes
FIPA ACL
Linguagens Internas
FIPA Content Language Library (FIPA-CLL)
FIPA-SL, FIPA-RDF, FIPA-CCL, FIPA-KIF,
Mas tambm independente de LI
20
FIPA ACL
Sintaxe
Praticamente igual ao KQML
Conjunto de performativas menor
accept-proposal, agree, cancel, cfp, confirm, disconfirm,
failure, inform, inform-if, inform-ref, not-understood, propose,
query-if, query-ref, refuse, reject-proposal, request, request-
when, request-whenever, subscribe
Semntica
Definida precisamente
Mensagens so mapeadas na FIPA-SL
<i, inform(j, ) pre: B
i
B
i
(Bif
j
Uif
j
)
Efeito: B
j

21
Definindo Performativas...
Inform ato representativo, uma ao
Est sol l fora.
Estou com sono.
Visa..
Modificar as crenas de agentes
No pode ser realizado por acidente
So uma tentativa
22
Request
Ato Diretivo
Tenta modificar as intenes do destinatrio
Dois tipos diferentes
Request-to
Request-that
23
Exemplo
A1 envia a seguinte mensagem para A2 ...
( inform
:sender A1
:receiver A2
:reply-with id1
:language ... :ontology ...
:content ((= available-service A1)
(set(provide Professor(X,Y))))
24
Exemplo
A2 pergunta ento a A1 ...
( query-ref
:sender A2
:receiver A1
:in-reply-to id1
:reply-with id2
:language Prolog
:ontology CIn
:content Professor(X, Agentes)
)
25
Exemplo
A1 responde ao agente A2 ...
( inform
:sender A1
:receiver A2
:in-reply-to id2
:reply-with id3
:language Prolog
:ontology CIn
:content X = Geber, X = Flvia,
X = Jacques...
)
26
Exemplo
A simple one...
27
Compra de Livros
Linguagens
Java
FIPA-ACL
Ferramentas
JADE (Java Agent DEvelopment
Framework)
28
Compra de Livros
Agente Fornecedor Agente Comprador
Directory Facilitator Agent
(Pginas Amarelas)
(1) Register
(2) Search
(3) Lista de agentes
(3) CFP
(5) Accept Proposal
(4) Propose ou Refuse
(6) Inform
29
Comportamento Agente
Fornecedor
privateclassOfferRequestsServerextendsCyclicBehaviour{
publicvoidaction(){
ACLMessagemsg=myAgent.receive();
if(msg!=null){//Messagereceived.Processit
Stringtitle=msg.getContent();
ACLMessagereply=msg.createReply();
Integerprice=(Integer)catalogue.get(title);
if(price!=null){//Therequestedbookisavailableforsale.Replywiththeprice
reply.setPerformative(ACLMessage.PROPOSE);
reply.setContent(String.valueOf(price.intValue()));
}else{//TherequestedbookisNOTavailableforsale.
reply.setPerformative(ACLMessage.REFUSE);
reply.setContent(not-available);
}
myAgent.send(reply);
}
}
}
30
Comportamento do Agente
Comprador
privateclassRequestPerformerextendsBehaviour{
privateAIDbestSeller;//Theagentwhoprovidesthebestoffer
privateintbestPrice;//Thebestofferedprice
privateintrepliesCnt=0;//Thecounterofrepliesfromselleragents
privateMessageTemplatemt;//Thetemplatetoreceivereplies
privateintstep=0;

publicvoidaction(){
switch(step){
(...)
}
}
31
Comportamento do Agente
Comprador (cont.)
case0:
//Sendthecfptoallsellers
ACLMessagecfp=newACLMessage(ACLMessage.CFP);
for(inti=0;i<sellerAgents.length;++i){
cfp.addReceiver(sellerAgents[i]);
}
cfp.setContent(targetBookTitle);
cfp.setConversationId(book-trade);
cfp.setReplyWith(cfp+System.currentTimeMillis());//Uniquevalue
myAgent.send(cfp);
//Preparethetemplatetogetproposals
mt=MessageTemplate.and(MessageTemplate.MatchConversationId(book-
trade),
MessageTemplate.MatchInReplyTo(cfp.getReplyWith()));
step=1;
break;

32
Comportamento do Agente
Comprador (cont.)
case1:
//Receiveallproposals/refusalsfromselleragents
ACLMessagereply=myAgent.receive(mt);
if(reply!=null){//Replyreceived
if(reply.getPerformative()==ACLMessage.PROPOSE){//Thisisanoffer
intprice=Integer.parseInt(reply.getContent());
if(bestSeller==null||price<bestPrice){//Thisisthebestofferatpresent
bestPrice=price;
bestSeller=reply.getSender();
}
}
repliesCnt++;
if(repliesCnt>=sellerAgents.length)//Wereceivedallreplies
step=2;
}
elseblock();
break;

33
Comportamento do Agente
Comprador (cont.)
case2:
//Sendthepurchaseordertothesellerthatprovidedthebestoffer
ACLMessageorder=newACLMessage(ACLMessage.ACCEPT_PROPOSAL);
order.addReceiver(bestSeller);
order.setContent(targetBookTitle);
order.setConversationId(book-trade);
order.setReplyWith(order+System.currentTimeMillis());
myAgent.send(order);
//Preparethetemplatetogetthepurchaseorderreply
mt=MessageTemplate.and(MessageTemplate.MatchConversationId(book-
trade),
MessageTemplate.MatchInReplyTo(order.getReplyWith()));
step=3;
break;

34
Comportamento do Agente
Comprador (cont.)
case3:
//Receivethepurchaseorderreply
reply=myAgent.receive(mt);
if(reply!=null){
//Purchaseorderreplyreceived
if(reply.getPerformative()==ACLMessage.INFORM){
//Purchasesuccessful.Wecanterminate
System.out.println(targetBookTitle+successfullypurchased.);
System.out.println(Price=+bestPrice);
myAgent.doDelete();
}
step=4;
}
elseblock();
break;

35
Vrias formas de Interao
em SMA...
36
Situaes de Interao
Uma situao de Interao ento ...
Um conjunto de comportamentos que
resulta do agrupamento de agentes
que devem atuar no ambiente para
atingir seus objetivos, e que
dependem de recursos limitados.
37
Comparando Interaes
Uma interao depende de...
Objetivos
Os agentes tm objetivos compatveis?
Recursos Disponveis
Lembram do exemplo do jantar?
Habilidades de cada agente
O que eu sei fazer?
38
Uma primeira Classificao
Cooperao
Indiferena
Antagonismo ou Conflito
Regio de
Conflito
Agente
A
Agente
B
39
Tipos de Interao (I)
Independncia
Objetivos Compatveis
Recursos e Habilidades Suficientes
Ex. Duas pessoas pegando o Ceasa/Casa Amarela
Colaborao Simples
Objetivos compatveis e Recursos Suficientes
Habilidades Insuficientes
Ex. Agentes compartilhando conhecimento
40
Tipos de Interao (II)
Obstruo
Objetivos Compatveis e Habilidades Suficientes
Recursos Insuficientes
Agentes Atrapalham os outros.
Situao de Comrcio
Colaborao Coordenada
Objetivos Compatveis
Recursos e Habilidades Insuficientes
Controle de Redes
41
Tipos de Interao (III)
Competio Individual
Objetivos Incompatveis
Recursos e habilidades Suficientes
Maratona
Competio Coletiva
Objetivos Incompatveis
Recursos Suficientes
Habilidades Insuficientes
Formao de Coalises
Ex. Jogo de Futebol
42
Tipos de Interao (IV)
Conflitos Individuais sobre Recursos
Objetivos incompatveis e recursos insuficientes
Habilidades Suficientes
Ex. Dois agentes querendo o prato de lasagna
Conflitos Coletivos
Objetivos Incompatveis
Recursos e Habilidades Insuficientes
Formao de Coalises para se apossar dos recursos
necessrios.
Ex. quem j jogou War?
43
Ainda mais Interao...
Comensalismo
Interao beneficia apenas um dos
agentes, sem prejudicar o outro.
Proto-Cooperao
Interao otimiza a obteno das metas.
Simbiose
A interao entre os agentes obrigatria,
cada um cedendo servios ao outro.