Agentes Inteligentes e Sistemas CooperativosRegente: António Silva
Email: [email protected] - Web: www.dei.iseo.ipp.pt/~asilva
Elaborado por
Carlos RamosAntónio Silva
www.gecad.isep.ipp.pt
1
Programação da Cadeira 1
2
Sem.# Datas Teóricas Teórico-Práticas
1 2 - 6 Out Introdução. Classificação dos Agentes Revisões de Prolog
2 9 - 13 Out Exemplos de Sistemas Multi-agente
Limitações dos agentes
Componente Visual do LPA-Prolog
3 16 - 20 Out Arquitecturas, Linguagens
Negociação, Ferramentas
Toolkit Chimera
4 23 - 27 Out Trabalhos de Pesquisa Bibliográfica Timers
5 30 - 3 Nov Trabalhos de Pesquisa Bibliográfica Sistema Distribuído de Aquisição de Dados
6 6 - 10 Nov Trabalhos de Pesquisa Bibliográfica Sistema Distribuído de Aquisição de Dados
7 13 - 17 Nov Miniteste Sistema Distribuído de Aquisição de Dados
8 20 - 24 Nov Trabalhos de Pesquisa Bibliográfica Trabalhos Práticos
9 27 - 1 Dez Trabalhos de Pesquisa Bibliográfica Trabalhos Práticos
10 4 - 8 Dez Trabalhos de Pesquisa Bibliográfica Trabalhos Práticos
11 11 - 15 Dez Trabalhos de Pesquisa Bibliográfica Trabalhos Práticos
12 2 - 5 Jan Trabalhos de Pesquisa Bibliográfica Trabalhos Práticos
13 8 - 12 Jan Trabalhos de Pesquisa Bibliográfica Trabalhos Práticos
14 15 - 19 Jan Trabalhos de Pesquisa Bibliográfica Trabalhos Práticos
15 22 - 26 Jan Trabalhos de Pesquisa Bibliográfica Trabalhos Práticos
wk 5-6 alunos ano passado(nota pode variar...)Inscrição por email nestas 2 semanas (grupo de 2)Últimos serão os primeiros...
2
Programação da Cadeira 2
Os trabalhos práticos serão realizados durante as aulas teórico-práticas das semanas 8 a 14.
No final da semana 11 (antes das férias do Natal) cada grupo deverá enviar por email um relatório intercalar contendo a descrição resumida do que foi realizado até à altura, problemas encontrados e o que pretendem ainda realizar.
Os trabalhos deverão ser finalizados até uma semana depois do fim das aulas, sendo entregues um relatório descritivo e o respectivo código em CD e em papel.
Os trabalhos de pesquisa bibliográfica serão anunciados semanalmente, atribuindo-se dois temas a outros tantos grupos de trabalho (2 alunos).
Tais trabalhos deverão ser apresentados nas aulas teóricas, 3 semanas depois de terem sido atribuídos.
33
Pesquisa Bibliográfica (Temas)
Agentes_AprendizagemAgentes_ArgumentativosAgentes_com_EmoçõesAgentes_InterfaceAgentes_LeilõesAgentes_MóveisAgentes_ReactivosArquitecturas_BDIBanca_Seguros_AgentesBlackboardsComércio_ElectrónicoControlo_TráfegoEntretenimentoFacilitadores_BrokersGestão_Redes
IADistribuídaKIF_KQML_ACLManufactura_AgentesMedicinaNegociaçãoOntologias_FerramentasOntologiasResolução_ConflitosResolução_Distribuída_ProblemasRobótica_AgentesSegurança_AgentesSemantic_WebSoftware_Engineering_AgentesZEUS_SWARM_OAA
44
5
Origem dos Agentes
No início da década de 80 a comunidade científica da Inteligência Artificial organizou uma série de encontros nos quais apareceu a proposta de um novo ramo de actuação: a Inteligência Artificial Distribuída. Esse novo ramo de actuação resultava da junção de duas áreas: a Inteligência Artificial e a Computação Distribuída
Duas definições da Inteligência Artificial Distribuída:
a Inteligência Artificial Distribuída tem como objectivo a resolução de problemas para as situações nas quais um único “resolvedor” de problemas, uma única máquina ou uma única localização computacional não parecem apropriadas [Davis-1980]
a Inteligência Artificial Distribuída está relacionada com o tipo de resolução de problemas para o qual a computação ou a inferência estão distribuídas logicamente ou fisicamente [Nilsson-1981]
A Inteligência Artificial Distribuída passou a englobar 2 áreas: Resolução Distribuída de Problemas Sistemas Multi-Agente
5
6
“Boom” e outras abordagens aos Agentes
O termo “Agente” atinge o seu auge a partir da década de 90, com o “boom” da Internet e da World Wide Web, devido ao facto de terem aparecido todo um novo conjunto de aplicações nas quais o conceito de agente aparece como a resposta mais adequada em termos tecnológicos
O termo Agente generaliza-se, sendo por vezes usado de uma forma abusiva, por uma mera questão de marketing, onde um programa perfeitamente convencional recebe a designação de Agente.
No entanto, o termo Agente passa a ser adoptado por outras comunidades científicas, para além da Inteligência Artificial, são exemplo disso as seguintes comunidades:
Sistemas Distribuídos Programação Orientada por Objectos (Objectos Distribuídos) Robótica Computação Gráfica, Realidade Virtual, Interfaces Homem-Máquina
Tais comunidades vão realçar características dos Agentes diferentes das mais realçadas pela comunidade da Inteligência Artificial
6
7
O que é um Agente ? (1)
Se efectuarmos uma pesquisa no dicionário, o termo agente poderá aparecer com um dos três seguintes significados:
1) algo que produz ou é capaz de produzir um efeito;2) algo ao alguém que age por, ou em lugar de, outrem, por autorização deste
último;3) um meio ou instrumento através do qual uma entidade inteligente obtém um
resultado.
Uma definição (Informática):
Os agentes são sistemas baseados em hardware ou software que têm as seguintes propriedades [Wooldridge-1995]: • autonomia (operar sem intervenção directa de humanos e controlar as suas
próprias acções); • capacidade social (interagir com outros agentes, ou humanos, através de uma
ACL – agent communication language); • reacção (os agentes têm percepção sobre o ambiente, físico ou não, e
respondem atempadamente às alterações que ocorrem);• pró-acção (também são capazes de exibir comportamentos guiados por
objectivos, tomam a iniciativa).
7
8
O que é um Agente ? (2)
Outras definições:
Chamarei Sociedade da Mente a um esquema no qual cada mente é feita com muitos processos pequeninos, chamados Agentes, cada Agente só pode fazer coisas simples que não exijam qualquer mente ou pensamento, no entanto, quando juntarmos tais agentes em sociedades e de modos especiais tal conduzirá à verdadeira inteligência [Minsky-1986]
Os agentes inteligentes são entidades de software que realizam um conjunto de operações por um utilizador ou programa, com algum grau de independência ou autonomia, empregando algum conhecimento e representação dos desejos ou objectivos do utilizador (IBM)
Os Agentes habitam ambientes dinâmicos e complexos, sentem e agem autonomamente nesses ambientes e realizam um conjunto de objectivos ou tarefas para as quais foram concebidos [Maes-1995]
8
9
Principais Características dos Agentes
Característica Significado
Capacidade Sensorial Dispõe de sensores para captar informação sobre o meio envolvente
Reactividade Sente e age, responde ao longo do tempo às mudançasno ambiente
Autonomia Decide e controla as suas próprias acções
Pró-actividade Orienta-se por objectivos, não age apenas para responder ao ambiente
Persistência Existe ao longo do tempo
Capacidade social Comunica e coopera com outros agentes e talvez com pessoas, concorre, compete, argumenta, negoceia
Aprendizagem Muda o seu comportamento com base na experiência anterior
Mobilidade Capacidade de movimentar-se de uma máquina para outra
Carácter Personalidade credível e comportamento emocional
Inteligência Capacidade de raciocínio autónomo, planeia o que faz, corrige os erros e reage a situações não esperadas, adapta-se e aprende, argumenta, negoceia, gere conflitos
9
10
Agentes Autónomos, segundo [Franklin-1996]
10
Agentes - exemplos de aplicação 1
Comércio Electrónico• Automatizar buscas • Segurança para além da de transacção
• Compras individuais• Personalização do Agente• Produtos standard ou diferenciados• Agentes individuais• Agentes vendedores
• Business2Business• Produtos bem definidos• Selecção cuidada de fornecedores
11
.Agentes autónomos
.Segurança
.Produtos standard ou diferenciados
11
Agentes - exemplos de aplicação 2
Robótica• Manipulação e montagem• Reconhecimento
Sistemas de Produção• Sistemas Multi-agente• Agentes pata Recursos e para Tarefas• Negociação
Controle de Tráfego• Aplicação crítica, complexa e distribuída
• Aéreo ou urbano
1212
13
Problemas das Soluções baseadas em Agentes
1) Não há um controlador total do sistema – As soluções baseadas em agentes podem não ser adequadas para problemas onde restrições globais devam ser mantidas, onde seja necessário um comportamento em tempo-real e onde devam ser evitados deadlocks
2) Não há uma perspectiva global – Uma acção de um agente é determinada pelo estado local do agente. O conhecimento global completo não é possível pelo que os agentes apenas podem atingir globalmente decisões sub-óptimas
3) Confiança e delegação de competências – para que se possa delegar tarefas em agentes será preciso confiar nesses agentes. As organizações necessitam de maior experiência com componentes de software autónomos. O adquirir confiança nos agentes por parte dos utilizadores demora tempo. A personificação cuidada do agente é outro aspecto que se relaciona com a confiança no agente. Como garantir que o Agente nos representa de facto?
1-2 - sistemas distribuidos3 - condiciona + aceitação SMAInteligência Escalável
13
14
Alguns problemas no desenvolvimento de Sistemas baseados em Agentes
Conceito simples de compreender, mas complexo de implementar
Agentes como um dogma, ver agentes em tudo, POO pode ser suficiente
Tentar desenvolver Agentes genéricos, os Agentes devem ser concebidos para aplicações específicas
Esquecer que estamos a desenvolver Software (necessidade de métodos de Engenharia de Software para Agentes)
Esquecer que computacionalmente os Agentes são Sistemas Distribuídos (o contrário não é verdade)
Sindroma do “não inventado aqui”, tendência para desenvolver de raiz as Arquitecturas, Infra-estruturas, Plataformas, etc
Extremos:• Excesso/Ausência de Inteligência Artificial• Muitos/Poucos Agentes
- porquê usar agentes?Para que servem?- Problemas dos sistemas distribuídos: sincronização, exclusão mútua, partilha de recursos, deadloacks- Não explorar concorrência (principal vantagem SMA)
Muitos agentes -> comportamentos emergentes(não previstos inicialmente mas que emerge por interacção entre agentes)Resultados positivos mas eventualmente caóticos
14
Arquitecturas Internas dos Agentes 1
Arquitecturas Deliberativas (BDI)
15
• Crenças - informação de que o agente dispõe sobre o seu ambiente• Desejos - preferências sobre os estados futuros do ambiente• Objectivos - desejos cuja realização é plausível• Intenções - objectivos cuja perseguição foi decidida pelo agente e de decorrem acções• Plano - implementação pragmática das intenções
15
Arquitecturas Internas dos Agentes 2
Arquitecturas Reactivas
16
Série versus paralelo
+Simples e robustacomputacionalmente tratável-Incapazes de aprendizagemNº limitado de comportamentos
Comportamentos virados para a tarefa
16
17
Arquitecturas Internas dos Agentes 3
ArquitecturaARCHON
ArquitecturaHolónica
17
18
Arquitecturas dos Sistemas Multi-Agente
Robótica de Montagem
Sistemas de Manufactura
TLP - Task Level PlanWD - World DescriptorELP&TE - Execution Level Planner + Task Executor
HT - Holons TarefaHR - Holons RecursoHP - Holons ProdutoHEsc - Holon de EscalonamentoHPP - Holon de Planeamento de Processo
‣Específicas ou genéricas‣Centralizadas ou distribuídas‣Fixas ou reconfiguráveis‣Homogéneas ou heterogéneas
18
19
Serviços de Suporte a Agentes e Sistemas Multi-Agente (1)
1.Comunicações2.Segurança3.Directório4.Conversação
Comunicações Troca de Mensagens
ponto-a-ponto multiponto broadcast
Blackboards Memória partilhada FCs - Fontes de
conhecimento Eventos - afixação de
pedidos e respostas
19
Serviços de Suporte a Agentes e Sistemas Multi-Agente (3)
Mecanismos básicos
Comunicação síncrona e assíncrona Encaminhamento Pooling
Segurança
Serviço de Nomes Serviço de Encriptação de Mensagens Serviço de Permissões
2020
21
Serviços de Suporte a Agentes e Sistemas Multi-Agente (3)
Informações
Facilitação (Facilitator) Descoberta (Broker)
Gestão de Conversações
Sincronização da Conversação Armazenamento Time-outs
Uma conversação é um conjunto ordenado, eventualmente sequencial, de mensagens trocadas entre agentes e que são compreendidas mutuamente.
O serviço de Directórios fornece informação sobre quais as tarefas e forma de contacto de cada agente.
21
22
Negociação entre Agentes 1
Tipos de Negociação
• 1 contratante para 1 contratante• 1 contratante para N contratados• N contratantes para 1 contratado• N contratantes para M contratados
Negociação de 1 para 1
Agentes Inteligentes e Sistemas Cooperativos
9 – Negociação entre Agentes
Tal como na negociação entre seres humanos, os Agentes deverão ser capazes de comunicar
entre si e exibirem algumas capacidades sociais para que se estabeleça uma negociação.
Definem-se protocolos de negociação entre agentes para reger o desenvolvimento do processo
de negociação.
Os tipos de negociação mais usuais são:
! 1 potencial contratante para 1 potencial contratado;
! 1 potencial contratante para N potenciais contratados;
! N potenciais contratantes para 1 potencial contratado;
! N potenciais contratantes para M potenciais contratados.
Iremos, de seguida, detalhar melhor os três primeiros tipos de negociação, visto que o quarto
pode ser obtido pela multiplicação do segundo ou terceiro casos.
9.1 – Negociação de 1 para 1
Podemos associar o caso do Cliente-Servidor como um caso particular deste tipo de
negociação. A diferença reside no facto do potencial contratado, ao contrário do servidor,
poder recusar-se a executar as tarefas que são pedidas.
O protocolo começa com o anúncio (figura 11) por parte do potencial contratante (Ag) dirigido
ao potencial contratado (Ag1).
Ag Ag1anúncio
Fig. 11 – Anúncio de Ag para Ag1
Instituto Superior de Engenharia do Porto – Carlos Ramos
-61-
Agentes Inteligentes e Sistemas Cooperativos
Ag1 analisa a intenção do anúncio de Ag e responde enviando uma proposta ou manifestando a
impossibilidade de executar a tarefa pedida (figura 12).
proposta / impossibilidadeAg Ag1
Fig. 12 – Resposta de Ag1 a Ag
No caso de impossibilidade Ag não pode contar com a execução da tarefa pretendida. Note-se
que Ag deve ser suficientemente autónomo para saber lidar com tal situação, não devendo pura
e simplesmente bloquear. Caso não haja impossibilidade, Ag analisa a proposta e procede à
aceitação de Ag1 para executar a tarefa ou rejeita a proposta (figura 13). Tal depende do
conteúdo dessa mesma proposta.
Ag Ag1aceitação / rejeição
Fig. 13 – Finalização da negociação entre Ag e Ag1
O processo pode ser mais complexo e exigir mais interacção entre Ag e Ag1, por exemplo Ag
impor um preço mínimo e prazo de entrega e Ag1 tentar convencer Ag para uma solução que
garanta o preço mas não o prazo, ou o contrário.
Note-se que os Agentes devem estar providos de mecanismos tolerantes à falhas,
nomeadamente no que se refere às comunicações, visto que qualquer das mensagens pode não
chegar ao destinatário pelas mais diversas razões, novamente a questão da autonomia dos
agentes aparece como uma questão vital.
9.2 – Negociação de 1 para n
Vários protocolos de negociação de 1 contratante para n potenciais contratados têm sido
propostos, geralmente baseados no “Contract Net Protocol” [Davis-1983].
Vamos considerar um Agente Ag que pretende ver satisfeita uma tarefa que pode ser realizada
por Ag1, Ag2 e Ag3 (potenciais contratados).
O processo começa com o anúncio feito por Ag e dirigido para Ag1, Ag2 e Ag3 (figura 14).
Instituto Superior de Engenharia do Porto – Carlos Ramos
-62-
Agentes Inteligentes e Sistemas Cooperativos
Ag1 analisa a intenção do anúncio de Ag e responde enviando uma proposta ou manifestando a
impossibilidade de executar a tarefa pedida (figura 12).
proposta / impossibilidadeAg Ag1
Fig. 12 – Resposta de Ag1 a Ag
No caso de impossibilidade Ag não pode contar com a execução da tarefa pretendida. Note-se
que Ag deve ser suficientemente autónomo para saber lidar com tal situação, não devendo pura
e simplesmente bloquear. Caso não haja impossibilidade, Ag analisa a proposta e procede à
aceitação de Ag1 para executar a tarefa ou rejeita a proposta (figura 13). Tal depende do
conteúdo dessa mesma proposta.
Ag Ag1aceitação / rejeição
Fig. 13 – Finalização da negociação entre Ag e Ag1
O processo pode ser mais complexo e exigir mais interacção entre Ag e Ag1, por exemplo Ag
impor um preço mínimo e prazo de entrega e Ag1 tentar convencer Ag para uma solução que
garanta o preço mas não o prazo, ou o contrário.
Note-se que os Agentes devem estar providos de mecanismos tolerantes à falhas,
nomeadamente no que se refere às comunicações, visto que qualquer das mensagens pode não
chegar ao destinatário pelas mais diversas razões, novamente a questão da autonomia dos
agentes aparece como uma questão vital.
9.2 – Negociação de 1 para n
Vários protocolos de negociação de 1 contratante para n potenciais contratados têm sido
propostos, geralmente baseados no “Contract Net Protocol” [Davis-1983].
Vamos considerar um Agente Ag que pretende ver satisfeita uma tarefa que pode ser realizada
por Ag1, Ag2 e Ag3 (potenciais contratados).
O processo começa com o anúncio feito por Ag e dirigido para Ag1, Ag2 e Ag3 (figura 14).
Instituto Superior de Engenharia do Porto – Carlos Ramos
-62-
A negociação é um processo de interacção entre agentes com o objectivo de chegarem a um acordo com benefícios mútuos, envolvendo a troca de informação, a relaxação de objectivos e concessões mútuas.
• Caso particular da relação Cliente-Servidor
• Ag deve saber lidar com impossibilidade• Mecanismos tolerantes às falhas
Componentes:• Protocolos• Estratégias
22
Negociação entre Agentes 2
23
Negociação de 1 para N
Contract Net Protocol
• Disponível conhecimento sobre capacidadesdos Agentes - Alternativas?
• Mensagens de impossibilidade/rejeição podem não ser obrigatórias
23
Negociação entre Agentes 3
24
Negociação de N para 1
Cenários•Ag optimista e cumpridor•Ag pessimista e não cumpridor
• Combinação de processos de negociação
• Centrado no ponto de vista do contratado
Problema de IndecisãoQuando um agente está sujeito a à negociação simultânea de vários contratos não pode saber se as suas propostas serão ou não aceites, pelo que o seu comportamento será condicionado.
24
Negociação entre Agentes 4
25
➡ Negociar proposta a proposta até ao final➡ Incluir passos intermédios nas negociações (reconfirmações)➡ Avaliação da importância relativa dos potenciais contratos➡ Avaliação do impacto do não cumprimento➡ Uso da subcontratação➡ Renegociação de contratos já estabelecidos
Como lidar com o Problema da Indecisão?
Renegociação - novo processo negocial devido a• rompimento do anterior• mudança das condições iniciais
25
Leilões e Agentes
26
Características:•Leilões como negociação•Úteis para bens sem valor pré-determinado•Flexibilidade e rapidez•Forma simples de estabelecer preço•Licitadores estabelecem preço, vendedor as regras•Leiloeiro como intermediário
Leilão é um método de atribuição de bens baseado na competição
Tipos genéricos:•Abertos ou de propostas secretas•Preços sobem ou descem•Unilaterais ou bilaterais•Bens de consumo pessoal ou para revenda
26
Leilões e Agentes
27
Taxonomia Básica dos Leilõessegundo Vickrey
Tipo de Leilão Regras Preço do negócio
Inglês(aberto, oral, ascendente)
Vendedor anuncia preço de reserva. Licitações sobem até que ninguém faça mais licitações. Licitadores podem fazer novas avaliações.
Valor da licitação mais elevada
Holandês Vendedor anuncia preço máximo.Preço vai descendo até alguém aceite o negócio.
Valor da melhor proposta
1ª proposta secreta aceite
Licitadores submetem propostas secretas, sem conhecimento das outras propostas.O vencedor paga a quantia que propôs.
Valor da melhor proposta
2ª proposta secreta aceite
Licitadores submetem propostas secretas. Vencedor é o que fez melhor proposta mas paga a quantia oferecida na 2ª melhor proposta.
Valor da segunda melhor proposta
27
Leilões e Agentes
28
Forma de negociação usada por sistemas multi-agente
Exige inteligência
Áreas de aplicação:
Mercado de Electricidade
Internet (viagens)
+ Info: www.agorics.com/Library/auctions.html
28
Conflitos em Sistemas Multiagente
29
•Conflito de Objectivos•Propósitos divergentes, eventualmente contraditórios•Estabelecimento de compromissos•Sistema de prioridades quando consenso impossível
•Conflito de Responsabilidade ou Interesse•Fins comuns, concorrendo pela mesma tarefa ou bem
•Conflitos de Informação ou Conhecimento•Diferentes leituras da mesma realidade•Definição de diferentes níveis de credibilidade•Eventual fusão dos diferentes resultados•Eventual atribuição de factores de incerteza
29
Interacção entre AgentesOntologias 1
30
Uma ontologia é uma especificação explícita duma conceptualização
Gruber, 1993
Conceptualização é uma visão simplificada, abstracta, do domínio
a representar.
30
Interacção entre AgentesOntologias 2
31
In the context of multi-agent systems, ontology is a computer-readable description of knowledge about the resources ... The software agents become intelligent because they can make use of the knowledge contained in ontology to use in the process of negotiation and decision-making.
Howarth, 2004
An ontology is a formal definition of a body of knowledge. The most typical type of ontology used in building agents involves a structural component. Essentially a taxonomy of class and subclass relations coupled with definitions of the relationships between these things.
Hendler,2000
O uso de linguagem comum não basta para agentes se entenderem
Agentes têm que partilhar uma organização do conhecimento
Uma ontologia inclui:um vocabulário comum
+conceitos e suas relações
31
Interacção entre AgentesOntologias 3
32
As ontologias são essenciais para que os agentes possam estabelecer uma plataforma comum de troca de conhecimento.Sem ela, cada um interpretará os termos atribuindo-lhes diferentes significados.
Compromisso ontológicoAcordo entre um conjunto de agentes para o uso de vocabulário comum.
Uma ontologia pode ser representada por uma Base de Conhecimento estruturada de forma hierárquica em classes.
32
Interacção entre AgentesOntologias 4
33
CritériosClareza
Definições objectivas e completasCoerência
Evitar contradiçõesExtensibilidade
Antecipação dos usos futuros do vocabulário partilhadoDefinição de novos termos com base nos existentes
A Codificação serve o ConhecimentoConceitos representados ao nível do conhecimento sem depender de codificações específicas
Minimização dos compromissos ontológicosUma ontologia deve incluir as definições estritamente necessárias para a comunicação do conhecimento
33
Interacção entre AgentesOntologias 5
34
(subclass Person Animal)
(and (instance KofiAnnan Human) (occupiesPosition KofiAnnan SecretaryGeneral UnitedNations))
(not (occupiesPosition SilvioBerlusconi President Libya))
(=> (and (instance ?P Human) (attribute ?SL Asleep)) (not (exists ?ACT (and (instance ?ACT IntentionalProcess) (overlaps ?ACT ?SL) (agent ?ACT ?P)))))
“If a person is sleeping he or she cannot perform an intentional action”
Elementos duma ontologia
(em SUO-KIF)
34
Interacção entre AgentesKIF 1
35
Knowledge Interchange Format (KIF) é uma linguagem formal para o intercâmbio de conhecimento entre programas computacionais diferentes, escritos por diferentes programadores, em diferentes períodos, usando diferentes linguagens.
Genesereth, 1992
KIF não é:uma linguagem de interacção com utilizadoresuma forma de representação interna de conhecimento
KIF:é uma linguagem com semântica declarativapermite a expressão de frases em lógica de 1ªordempermite representar meta-conhecimento
35
Interacção entre AgentesKIF 2
36
Exemplos de
Mensagens KIF(tell ( > 5 3)) - Notificação(perform (print “Hello!” t) - Pedido(reply available) - Resposta(ask-if ( > (lucro produto_1) (lucro produto_2))) - Pergunta
Estruturas de Dados(salario 123456789 contabilidade 1500) (salario 132547698 aprovisionamentos 1200) (salario 143276597 marketing 1800)
Expressões(> (* (largura t1) (comprimento t1)) (* (largura t2) (comprimento t2))) (=> (and (real-number ?x) (even-number ?n)) (> (expt ?x ?n) 0))
Metaconhecimento(interested joe ‘ (salario ,?x ,?y ,?z ))
Scripts(progn (fresh-line t) (print “Hello”) (fresh-line t))
36
Interacção entre AgentesKQML 1
37
KQML (Knowledge Query and Manipulation language) é uma linguagem e um protocolo de troca de informação e conhecimento entre agentes.
O KQML é indiferente ao conteúdo e formato da informação que transporta.
Numa sociedade de agentes usando KQML é usual existirem agentes especiais (facilitadores) prestando serviços como:• associação de endereços físicos a
simbólicos• registo de bases de dados ou
serviços• serviços de comunicação
37
Interacção entre AgentesKQML 2
38
Componentes:• Conteúdo• Envolvente• Envelope de
Comunicação
As primitivas da linguagem designam-se por performativas, que definem as acções permitidas nas comunicações entre agentes.
Primitivas básicas:Informativastell, achieve, untellPedidosperformPerguntasask-if, ask-one, ask-all, evaluateRespostasreply, sorryDefinição de capacidadessubscribe, monitor, advertiseComunicaçõesforward, register, broadcast, route
38
Interacção entre AgentesKQML 3
39
Performativa
Conteúdo
Ontologia
Destinatário
Performativa
ConteúdoDestinatário
O agente Joe pergunta qual a cotação das acções da IBM:
Pares atributo-valor
39
Interacção entre AgentesACL
40
Uma ACL (Agent Communicaton Language) engloba 3 componentes:‣ o seu vocabulário‣ a sua linguagem interna (KIF)‣ a sua linguagem externa (KQML)
Os agentes não se limitam a trocar mensagens, estabelecem conversações
Actos de conversaçãoAssertivos: a porta está fechadaDirectivos: a porta está fechadaQuestões: a porta está fechada?Compromissos: eu fecharei a portaPermissivos: ele pode fechar a portaProibitivos: ele não pode fechar a portaDeclarativos: esta é a porta de saídaExpressivos: esta gostaria que esta fosse a porta de saída
40
41
Interacção entre Agentes
uma Ontologia é entendida como a especificação de conceitos e relações que existem para um agente ou comunidade de agentes, tal como ocorre na especificação formal de um programa computacional [Gruber-1993]
Formatos de Troca de Conhecimento (KIF)
Linguagens de Manipulação e Interrogação de Conhecimento (KQML)
Actos de Conversação
Linguagens de Comunicação entre Agentes (ACL)
41
42
Plataformas de Desenvolvimento
Algumas Plataformas de Desenvolvimento AgentBuilder AgentTalk, NTT Agent Toolkit, Logic Programming Associates Aglets, IBM/Japão JAFMAS JATLite JINI Open Agent Architecture Repast Swarm Voyager ZEUS, British Telecom
42
43
Exemplos Práticos (1) Comércio Electrónico
Pesquisa na Internet pelo melhor preço: Jango, Bargainfinder B2B: FairMarket Mercado de Derivados: E-Trade, OptiMark Leilões: AuctionBot Simuladores de mercados: MAGMA, Kasbah, Tête-à-Tête, ISEM
Mercados da Electricidade Leilão de Electricidade: AMS, AAEPI Contratos Bilaterais: SEPIA Bolsa de Electricidade: PowerWeb Mercados Mistos: EMCAS, MASCEM
Sistemas de Manufactura Uso do Contract Net: YAMS, General Electric Pintura de Camiões: FLAVORS Logística: LMS Metalurgia: ADS da Hitachi (Kawasaki Steel) ERP+MES: AARIA Sistemas Holónicos: HMS, Fabricare
43
44
Exemplos Práticos (2) Sistemas de Controlo de Tráfego
Coordenação de Semáforos: DVMT Caminhos de Ferro: ADS da Hitachi, para comboios Shinkansen Aeroportos: OASIS, aeroporto de Sidney
Sistemas Eléctricos de Energia An. de Incidentes e Rep. em Serviço: SPARSE, ARCHON, APRICOT (Tutor) Gestão de Cargas: Homebot
Filtragem e Obtenção de Informação Filtragem em Correio Electrónico: MAXIMS Aconselhamento de artigos a ler: NEWT Informação para Turistas: GALAXY Organização de Dados: ZDL Anotação de Imagens: ARIA, na KODAK
Aplicações Aeroespaciais Planeamento, Execução e Monitorização: RemoteAgent, (Deep Space 1)
Tomada de Decisão em Grupo Argumentação e Componente Emocional: ArgEmotionAgents
44
45
Comércio ElectrónicoISEM
45
46
Mercados da Electricidade
0
1
2
3
4
Composed Goal DirectedAdpated Derivative Following
46
47
Sistemas de ManufacturaFabricare
47
48
Sistemas Eléctricos de EnergiaSPARSE e APRICOT
48
48
Sistemas Eléctricos de EnergiaSPARSE e APRICOT
48
49
Conclusões Os Agentes representam um novo Paradigma na Modelação e
Desenvolvimento de Sistemas Programação baseada em Agentes Sistemas baseados em Agentes
Agentes Inteligentes: conceito centrado no Agente e na inteligência que este exibe
Sistema Multi-Agente: conceito centrado nas capacidades sociais de uma “comunidade” de Agentes
Principais problemas falta de confiança na delegação de competências falta de maturidade no desenvolvimento de sistemas
Esforço na Interacção entre Agentes
49
50
Alguns Sites
http://www.agentlink.org/ http://www.fipa.org/ http://agents.umbc.edu/ http://agents.media.mit.edu/ http://www-2.cs.cmu.edu/~softagents/ http://agent.cs.dartmouth.edu/ http://www.psychedelix.com/agents.html
50
Top Related