Agentes:
Conceitos e Princípios
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Inteligência Artificial
 Inteligência Artificial (IA): como começou.
 Ênfase da inteligência é baseada em um
comportamento humano individual.
 O foco de atenção volta-se à representação
de conhecimento e métodos de inferência.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes - Histórico
 Anos 80: a comunidade de IA, desencorajada pela
falta de progresso após 30 anos, começou a
explorar novas áreas onde sistemas de IA pudessem
ter um domínio mais dinâmico.
 IA evoluiu de resultados simbólicos em mundos
artificiais para interações complexas com o mundo
físico, através do conceito de agentes.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes - Histórico
 Ao mesmo tempo, estava se formando a
comunidade de agentes de software, explorando o
desenvolvimento de partes de código menores e
mais confiáveis, para se mover entre dois ambientes
distintos
 Terminologia surgida:
 agentes inteligentes, interfaces
inteligentes, interfaces adaptativas,
knowbots, softbots, userbots, taskbots,
personal agentes e network agentes
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Categorias de Agentes Inteligentes
Inteligent
agens
Human
Agents
(e.g. travel agent)
Hardware
Agents
(e.g. robot)
Information
agents
Software
agents
Cooperation
agents
Transaction
agents
Agentes
A idéia é o software passar a ser um assistente
ao usuário.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Inteligência Artificial Distribuída
 Inteligência Artificial Distribuída (IAD):
 Baseada em comportamento social
 Ênfase é para cooperações, interações e
para o fluxo de conhecimento entre unidades
distintas
 “Inteligência” cresce com o número de
“entidades” inteligentes
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Subáreas da IAD
Distributed
Artificial Inteligence
Paralell AI
Distributed Problem
Solving
Multi-Agent
Systems
Agentes
Orientação a Objetivos
Deve ser capaz de lidar com tarefas complexas
em alto nível. A decisão de como uma tarefa é
melhor subdividida em tarefas menores, e em
qual ordem e de que modo devem ser
executadas, deve ser feita pelo próprio agente.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Inteligência Artificial Distribuída
 A inteligência artificial distribuída pode ser
dividida em duas sub-áreas, nas quais os
agentes tem um papel muito importante:
Resolução Distribuída de Problemas
(RDP)
Sistemas Multi-Agentes
(SMA)
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Resolução Distribuída de Problemas
 RDP: Os agentes são projetados especificamente para
resolver aquele problema ou uma classe de problemas.
Os agentes cooperam uns com os outros, dividindo e
compartilhando conhecimento sobre o problema e sobre o
processo de obter uma solução.
 Sob um ponto de vista externo, um sistema RDP é visto
como uma unidade. O processo de coordenação das ações
dos agentes é definido em tempo do projeto.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Sistemas Multiagentes - SMA
 SMA: Não para um problema específico, mas
para um domínio específico.
 Coordenar o comportamento inteligente de um
conjunto de agentes autônomos, mais “antigos” do
que o problema em particular
 Raciocínio: Sobre ações e o processo de
coordenação em si.
 Arquiteturas mais flexíveis; organização do
sistema sujeita à mudanças (adaptação às
variações
no ambiente e/ou no problema)
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes no Mundo Real
 Não há uma definição unificada e universal para
"agente”.
uma pessoa autorizada a agir em nome de outra.
uma pessoa que gerencia uma agência, pode ser
chamado de um agente.
 um representante de uma agência de viagens.
 uma substância que causa reação química.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes de Software
 Programa de software que auxilia o usuário na
realização de alguma tarefa ou atividade.
 Entidade inteligente e autônoma.
 Programa que funciona em background, e
desenvolve tarefas autônomas conforme delegadas
pelo usuário.
 Programas que travam diálogos, negociam e
coordenam transferência de informações.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes de Software
 Agente é uma entidade cognitiva, ativa e
autônoma, ou seja, que possui um sistema interno
de tomada de decisões, que age sobre um mundo e
sobre os outros agentes que o rodeiam e, por fim,
que é capaz de funcionar sem necessitar de algo ou
de alguém para o guiar (tem mecanismos próprios de
percepção do exterior).
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes de Software
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes
 Não tem consenso sobre uma definição formal de
agente tal que englobe todo o espectro possível.
 Algumas características esperadas foram
estabelecidas.
 A analogia feita com agentes no mundo real nos
leva a conceituar um agente como uma entidade
ativa, sempre ao lado do usuário e que possui
conhecimento especifico sobre um determinado
domínio de aplicação.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes Inteligentes
 Devem ter bases de conhecimento.
 Devem ter mecanismos de raciocínio.
 Devem ser capazes de reconhecer situação em
que devam se ativar, sem que o usuário perceba, ou
seja, de forma transparente ao usuário.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Características de Agentes Inteligentes
Environment
Agente
Communication
Autonomy
Learning
Mobility
Cooperation
Character
Proactivity
Reactivity
Goal-oriented
Coordination
Reatividade
• Um agente deve ser capaz de reagir
apropriadamente a influências ou informação
de seu ambiente. Este ambiente pode
consistir de outros agentes, usuários
humanos, fontes de informação externas ou
objetos físicos.
Reatividade
• Reatividade forma um dos requisitos
fundamentais para um agente inteligente e
deve ser suportada para algum grau por
todos os agentes.
• Esses agentes são chamados agentes
reativos.
Agentes - Propriedades
 Reatividade
Agentes percebem seus ambientes (o mundo
físico, um usuário via uma interface gráfica, uma
coleção de agentes, a Internet, ou talvez todos
esses combinados), e respondem numa maneira
oportuna à mudanças que ocorrem nele.
Os agentes percebem e reagem às mudanças no seu
ambiente; eles respondem às alterações do
ambiente.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Reatividade
• O agente deve ter sensores e possuir seu
próprio modelo interno de seu ambiente (do
qual ele pode tirar conclusões por ele
próprio) no sentido de ser capaz a reagir a
mudanças no ambiente.
• Esse são os chamados agentes deliberativos
Agentes Reativos
Um agente reativo comporta-se num modo estímulo-resposta,
isto é, ele não tem memória da ação realizada no passado
nem qualquer previsão da ação a ser tomada no futuro.
Sociedades de agentes reativos têm usualmente um grande
número de membros.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Proatividade
• É um nível acima da reatividade.
• Um agente inteligente não apenas reage a
mudanças de seu ambiente, porém ele
próprio tem iniciativa sob circunstâncias
específicas.
• Este é chamado comportamento proativo.
Orientado à Meta
• As metas formam o escopo de
processamento potencial do agente, porque
elas representam as alternativas de
processamento disponíveis em um instante
de tempo específico.
• É um dos fatores que constitui o estado
mental dos agentes deliberativos.
Orientado à Meta
• A característica de orientação à meta está
proximamente relacionada à de proatividade.
• A capacidade do próprio agente tomar
iniciativa requer que o agente tenha metas
bem-definidas ou mesmo um sistema de
metas complexo.
Orientado à Meta
• Somente assim, faz sentido para um agente
influenciar seu ambiente e assim alcançar
suas próprias metas.
Raciocínio e Aprendizado
• Todo agente deve ter um certo grau mínimo
de inteligência, no sentido de ser projetado
como sendo um agente.
• Contudo, uma variação muito ampla, quanto
ao grau de inteligência pode ser considerada,
desde agentes simples com inteligência
limitada, até agentes que formam sistemas
altamente inteligentes.
Raciocínio e Aprendizado
• A inteligência de um agente é formado de
três principais componentes: sua base de
conhecimento interna, a capacidade de
raciocínio baseada sobre o conteúdo da base
de conhecimento e a habilidade do agente
para aprender ou adaptar-se a mudanças de
seu ambiente (comportamento adaptativo).
Aprendizagem
Agentes precisam ser autônomos e demonstrarem
raciocínio. Para manter estas capacidades, o agente
precisa ter alguns mecanismos para avaliar o estado
atual de seu domínio externo e incorporar isto em
suas "decisões" sobre futuras ações.
Eles examinam o "sucesso" de ações prévias e
adaptam suas ações para melhorar a probabilidade
de atingir prosperamente suas metas.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Aprendizagem
Um agente é capaz de aprender quando possui a
capacidade de acumular conhecimento baseado em
experiência passada, e conseqüentemente modificar
seu comportamento em resposta à novas situações.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Autonomia
Autonomia é a capacidade do agente de perseguir
suas metas, independentemente de seu usuário, isto
é, sem interações ou comandos do seu ambiente.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Autonomia
Autonomia é a capacidade de tomar ações
conduzindo para o término de algumas tarefas ou
objetivos, sem a interferência do usuário final.
Autonomia é a habilidade de exercer controle sobre
suas próprias ações.
Agentes exercem controle exclusivo sobre seus
estados e comportamentos internos.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes Autônomos
Agentes autônomos são sistemas capazes de apresentarem
autonomia, propondo-se a agir no mundo real.
Um agente autônomo é um sistema situado dentro e em uma
parte de um ambiente que sente o ambiente e age sobre ele,
através do tempo, em perseguição de sua própria agenda e
para efetuar o que ele sente no futuro.
Computação Distribuída
João Bosco Mangueira Sobral
Mobilidade
Capacidade de transportar-se numa rede de uma
máquina para outra;
Habilidade para movimentar-se pela rede eletrônica;
Habilidade para mover-se de uma localização para
outra, enquanto preservam seu estado interno.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Continuidade Temporal
Os agentes executam continuamente processos que
tanto podem estar ativos, em foreground, quanto
adormecidos, em background.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Comunicação
Capacidade de trocar informações com outras
entidades (agentes, humanos, objetos, ambiente)
Agentes comunicam-se com outros agentes.
Eles devem acessar informações sobre o estado
atual do ambiente externo, via os repositórios dessa
informação, que podem ser outros agentes
(pedido/levantamento com um simples e conciso
conjunto de respostas possíveis ou comunicação
complexa
respostas variáveis)
Computaçãocom
Distribuída
João Bosco Mangueira Sobral
Comunicação
Eles devem acessar informações sobre o
estado atual do ambiente externo, via os
repositórios dessa informação, que podem
ser outros agentes (pedido/levantamento
com um simples e conciso conjunto de
respostas possíveis ou comunicação
complexa com respostas variáveis)
Adaptabilidade
Um agente deve ser capaz de ajustar-se às
preferências de seus usuários.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Colaboração
Não deve aceitar instruções sem considerações, mas
deve prever erros, omissão de informações
importantes e/ou informações ambíguas, e no caso,
fazer perguntas ao usuário. Deve ser permitido a um
agente recusar executar certas tarefas.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Áreas de Influência
Decision
Theory
Autonomy
Mobility
Learning
capability
CHARACTERISTICS
Proactivity
communication
Reactivity
cooperation
character
Agentes - Propriedades
 Sociabilidade
Interação com outros agentes (e possivelmente
humanos) através de algum tipo de linguagem
para comunicação de agente.
 Veracidade
Suposição de que um agente não comunicará
informações falsas.
O usuário deve ser altamente confiante de que seu
agente atuará e relatará verdadeiramente, e atuará
para o próprio bem do usuário.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes - Propriedades
 Benevolência
Suposição de que um agente não terá objetivos
conflitantes, e que agente sempre tentarão fazer o
que lhes foi pedido.
 Racionalidade
Suposição de que um agente atuará para atingir
seus objetivos, e não atuará de modo que impeça
que seu objetivo seja alcançado.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Noção fraca e forte de Agente
 Estas propriedades estão agrupadas em torno
de duas noções, identificada como fraca e forte.
 Noção fraca de Agente
- Autonomia
- Habilidade Social
- Reatividade
- Iniciativa
- Continuidade Temporal
- Orientação à Metas
Computação Distribuída
João Bosco Mangueira Sobral
Nocão forte de Agente
"Agentes Inteligentes" são objetos de pesquisa nos
campos da psicologia, sociologia e ciência da
computação.
Alguns consideram que o termo agente possui um
significado mais específico e forte e devem ser
implementados usando conceitos que são aplicados
mais normalmente aos humanos.
Noção forte de agente:
- Mobilidade
- Benevolência
- Racionalidade
- Adaptabilidade
- Colaboração
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes - Classificação
• A classificação apresentada tenta oferecer uma
noção das propriedades básicas que um agente deve
ter para ser considerado como tal.
•Para poder dizer que um agente é de tal forma, ele
precisa atender algumas dessas características.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Utilização de Agentes
• Os agentes tem sido muito usados nas últimas décadas em
muitas áreas de aplicações, como Interface Gráfica (Win95
Wizards), Aplicações como Assistente Ortográfico do Word),
Sistemas Especialistas.
• O uso de agentes móveis é novo. Os candidatos são por
exemplo: agentes de viagem (General Magic Corporation's
Telescript agentes) e agentes de colaboração comercial
(Crystaliz, Inc.'s MuBot agentes).
• Na literatura existem linguagens para criação de agentes
móveis: Java da Sun; Telescript da General Magic; Safe-Tcl da
Sun e Object Rexx da IBM.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Coordenação de Agentes
Coordenação é o ato de gerenciar interdependências entre
atividades dos agentes.
Pode ser dividida três partes: especificação (criação de
objetivos
compartilhados),
planejamento
(expressando
conjunto de tarefas ou estratégias para acompanhamento dos
objetivos) e seqüenciamento (distribuindo tarefas, criando
planos e seqüências compartilhadas, alocando recursos, ...).
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes Aprendizes / Adaptativos
Um agente-aprendiz observa as ações do usuário em
background, encontra padrões repetitivos e automatiza-os.
Agentes-aprendizes são, em particular, aplicáveis quando o
domínio da aplicação contém comportamento repetitivo
significante.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes Cognitivos
Agentes
cognitivos
são
baseados
em
modelos
de
organizações sociais, no sentido de sociedades humanas
(grupos, hierarquias, ... ). Com os agentes, há uma
representação explícita de ambiente e de membros da
sociedade.
Eles podem raciocinar sobre as ações tomadas no passado e
planejar as ações a serem tomadas no futuro. Do ponto de
vista de uma sociedade, ela é geralmente composta de um
número pequeno de membros.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes Inteligentes
No mundo científico, há muita discussão do que representa
ser inteligente.
Considerar um ser humano inteligente implica em classificá-lo
em níveis de inteligência.
Os agentes também possuem níveis de inteligência (quanto
mais se aproximam de algumas propriedades apresentadas,
maior é a condição de desempenhar suas tarefas e, por isso
maior é o seu grau de inteligência)
Agentes inteligentes podem se descritos por três dimensões
de grau de autonomia, grau de inteligência e até
mobilidade.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes Inteligentes
O grau de autonomia e autoridade colocado no agente
(medido qualitativamente pela natureza da interação).
No mínimo, precisa funcionar assincronamente.
Inteligência é o grau de raciocínio e a habilidade do agente
para aceitar a declaração de objetivo do usuário e realizar a
tarefa delegada a ele. No mínimo, deve haver algumas
declarações de preferências. Mais acima, numa escala de
inteligência estão os sistemas de aprendizagem e adaptação
ao seu ambiente.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes Inteligentes
A mobilidade aparece numa terceira dimensão (agente é
projetado para atuar em uma rede). Mobilidade é o grau para
o qual agentes por si próprios navegam pela rede. Alguns
agentes podem ser estáticos, outros residem numa máquina
cliente (para gerenciar a interface do usuário, por exemplo) ou
instanciado no servidor. Mobilidade traz a questão de
segurança, privacidade e o desafio do gerenciamento.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes - Protocolos de Agentes
• Se os agentes interagem em uma rede remota de
comunicação, eles devem possuir um protocolo de
comunicação.
• Este protocolo é responsável pelas informações que
trafegam pela rede local ou remota.
• Os protocolos definem os passos de diálogos a
serem executados pelos agentes em cada tipo de
interação possível numa sociedade de agentes.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes - Sistemas Multi-Agentes
• Como os agentes devem ser organizados para
conseguirem colaborar entre si ?
• Duas abordagens diferentes tem sido exploradas:
comunicação direta - os agentes mesmos cuidam
da coordenação - e a coordenação auxiliada, na
qual há programas especiais para organizar a
coordenação.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes - Sistemas Multi-Agentes
• Os agentes se comunicam através de um
supervisor, que comunica com os diversos
supervisores e seus agentes.
• Alguns requisitos básicos, permitindo que os
agentes possam: pedir informações de outros
agentes, observar as atividades de outros agentes,
interceptar e mudar os pedidos destinados a outros
agentes, estabelecer comunicação com agentes sob
o controle de outros supervisores.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Arquitetura de Agentes
Inteligentes
Agentes - Arquitetura
 Todas as propriedades que um agente apresenta devem
estar implícitas em sua arquitetura.
O conjunto dos módulos e suas interações devem prover
uma resposta para a questão de como os sensores de dados
e o estado interno corrente do agente determinam suas ações
e futuros estados internos. Uma arquitetura abrange técnicas
e algoritmos para suportar esta metodologia.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Arquitetura de Agentes
 As arquiteturas podem ser divididas em três
áreas:
 a arquitetura deliberativa (abordagem
clássica do Paradigma de IA),
 a arquitetura reativa.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
•
•
•
•
•
Visão Mínima
Agente como uma caixa preta.
Recebe entradas utilizando percepção.
Usa inteligência para processar as entradas
Produz saidas, normalmente na forma de ações.
Necessário inteligência para que as
caracteristicas de autonomia, cooperacao e
proatividade sejam possiveis.
• Aceita pela comunidade científica.
• Bastante incompleta do ponto de vista
arquitetônico.
Agente como uma Caixa Preta
Entradas
(Percepção)
Processamento
Inteligente
Saídas
(Ações)
Processo de Trabalho de um
Agente Inteligente
Entrada
Fusão
Da
Informação
Processamento
da
Informação
Ação
Processamento Inteligente
Saída
Processo de Trabalho de um
Agente Inteligente
• Possui um ou mais módulos de interação com o ambiente
• O ambiente pode ser outros agentes, usuarios humanos ou
quaisquer outras fontes de informações
• Para cada tipo de ambiente, o agente possui um módulo de
interação normalmente adaptado às características do
ambiente correspondente
• Interação X Processar e interpretar as infomações e definir
suas proprias metas.
Processo de Trabalho de um
Agente Inteligente
• Fusão da Informação
– Integrar a informação à base de conhecimentos
do agente de forma apropriada.
– Receber informações diferentes de fontes
diferentes e interpretá-los de forma similar.
– Reconhecer e corrigir inconsistências
Processo de Trabalho de um
Agente Inteligente
• Processamento da Informação
– Módulo central do Agente
– Uma vez aceita a infomação, esta deve ser
processada
– Reflete a verdadeira funcionalidade do agente
– Avaliar os dados disponíveis e definir planos de
ação específicos
– Repassar o plano de ação para o módulo de
ação
Processo de Trabalho de um
Agente
• Ação
– Utiliza os serviços dos módulos de interação
quando é necessário interagir com o ambiente.
– Encarregado da monitoração da execução da
ação.
Agentes Deliberativos
• Possui um modelo simbólico do ambiente e
capacidade de raciocínio lógico como base para a
tomada de ações inteligentes, seguindo os modelos
da IA clássica.
• É dificil para estes agentes armazenarem novas
informações e conhecimentos sobre o ambiente,
além do que já tem.
• Capacidade de tomar decisões lógicas.
• Utiliza o conhecimento contido no modelo para
modificar seu estado interno.
Agentes Deliberativos
Desires
Intentions
Plans
Beliefs
knowlodge
Goals
Agentes Deliberativos
• Beliefs (crenças) : Contém as visões fundamentais de
um agente com relação ao seu ambiente.
• Desires: São derivados diretamente das Beliefs, contém
os julgamentos de situações futuras do agente.
• Goals (Metas): Subconjunto dos Desires contendo
somente os estados que o agente realmente pode assumir.
• Intentions (Intenções): Subconjunto das metas; se um
agente decide seguir uma meta específica, esta meta
torna-se uma Intenção.
• Plans (Planos): Combina as Intentions dentro de
unidades consistentes.
Arquitetura de um Agente Deliberativo
Output
(actions)
Executor
Scheduler
Planner
Intentions
Manager
Reasoner
Goals
Desires
Input
(perception)
Information
Receiver
Knowledge Base
(symbolic environment model)
Componentes da arquitetura deliberativa
• A base de conhecimento contém o modelo simbólico do
ambiente.
• Os desires, metas e intenções são derivados da base de
conhecimento.
• O Planner toma as intenções e as combina para formar um
plano completo.
• O Scheduler recebe os planos correntes do Planner.
• Todo plano consiste de um número ações únicas que
devem ser processadas sequencialmente ou em paralelo.
• O Scheduler deve decidir quando ações esepecíficas são
para ser executadas.
Arquitetura de Agentes Reativos
Entrada
Módulo de
Competência
Módulo de
Competência
Atuadores
Sensores
Módulo de
Competência
Saida
Agentes Reativos
• Não possuem um modelo simbólico interno do
ambiente.
• Menor capacidade para realizar processamentos
de raciocínios complexos.
• Agente compacto, tolerante a falhas e sobretudo
flexível.
• Retiram sua inteligência a partir de interações
com o ambiente.
• Tolerância a falhas devido à descentralização dos
módulos de competência.
SMAs Reativos
• R. Brooks 86 - Arquitetura de subsunção
(taxonomia) Controlar robôs físicos (dinamismo e
desconhecimento).
– Inteligência pode ser gerada sem conhecimento
explícito ou raciocínio abstrato!
– É uma propriedade emergente de certos sistemas
complexos.
– A inteligência real está situada no mundo, e não em
sistemas desincorporados ( especialistas, provadores,
etc)!
– Comportamento inteligente emerge das interações com
o ambiente.
– Competição entre camadas hierárquicas.
SMAs Reativos - Características
•
•
•
•
•
Não há representação explícita de conhecimento.
Não há representação do ambiente.
Não há memória das ações.
Os agentes possuem estados internos.
3 modelos :
– Funcionalidade emergente
– Eco-resolução
– PACO (PAdrões de COordenação)
Divisão de soluções em IAD
• Resolução Distribuída de Problemas - RDP
• Sistemas Multiagentes - SMAs
– Reativos
– Cognitivos
Chamada de Procedimentos Remotos
Servidor 1
Servidor 2
Chamada remota de procedimentos
Servidor 3
Chamada remota de procedimentos
Agente
Cliente
Programação com Agentes
Estacionários
• Programas tradicionais e agentes
estacionários usam RPC para trabalho
remoto.
• A comunicação entre dois módulos de
programas com RPC é o mesmo como a
chamada de um procedimento de um
módulo remoto.
Programação Remota
Servidor 1
Agente
Servidor 2
Servidor 3
Agente
Agente
Programação Remota
Agente
Cliente
Programação Remota
• A própria chamada remota de procedimento
do cliente é é transferida ao servidor em
questão e então executada localmente.
• Assim, as chamadas de procedimento
remoto tornam-se chamadas de
procedimento local.
RCP X RP
Comunicação
Propriedades
Programação
Remota
inteligência alta
Chamada remota de
procedimentos
SQL Queries
inteligência baixa,
protocolos proprietários,
ambiente fechado
Agentes
Móvel
Estacionário
Vantagens de Agentes Móveis
• Alguma redução de carga da rede.
• Redução da utilização de recursos no
cliente.
• Processamento Assíncrono.
• Serviços reconfiguráveis.
• Comportamento Ativo.
• Estrutura Descentralizada.
Arquitetura de Software de Agentes
Móveis
Agente
Agente
Agente
Agente
lógico
real
real
Software Base
Software Base
migração
Sistema Operacional
Sistema Operacional
Base de
Dados
Camadas do Software Base para Agentes
Móveis
Camada do Agente
Camada de Segurança
Camada de Comunicação
Funcionalidades Basicas (API)
Mobilidade, Negociação, Comunicação,
Filtragem, Identificação
Protocolos de Segurança
Criptografia
Assinatura Digital
Firewalls
Protocolos, Formato de Documentos, RPC,
Programação Remota, RMI, serialização de
Objetos
Camada do Agente
• Execução e monitoramento de todos os agentes ativos em
um computador.
• Garantir aos agentes um ambiente de trabalho padrão e a
execução independente dos agentes.
Comando
Parâmetros
Função
Move
Agent-id, address
Movimento
Identify
Agent-id, personal-key,
agent-type
Identificação
getAvaliableAgent
Agent-id, agent-type
Determinar agentes
disponíveis
Contact
Agent-id, agent-id
Contactar agentes locais
sendCommand
Agent-id, agent-id, command
Invoca função em outro
agente
sendMessage
Agent-id, agent-id/agent-type,
[address], message
Envia mensagem para outro
agente
Camada de Segurança
• Garantir que um objeto nao possa ser lido
por pessoas não autorizadas durante sua
transmissão.
• Garantir que objetos não autorizados
acessem o sistema.
Camada de Comunicação
• Especificações de protocolos de comunicação e
formato e objetos
• Garantir as funções básicas para a comunicação
entre computadores remotos e a transmissão de
documentos ou objetos entre estes computadores
• Utilizado para transferência de agentes
• Implementação e serviços como RPC, RP e
serialização de objetos.
Agent
(7) contact
(6) contact
Agent
(2) agent-data
Agent layer
(4) agent-id
(8) agent-id;busy
Agent list
Serialização de Objetos
• Permite a conversão de um objeto em um
stream de dados para que o mesmo possa
ser transmitido através de uma rede para um
computador remoto e a reconstrução do
objeto a partir do stream de dados recebido.
Migração
• Tarefa mais complexa no uso de agentes
móveis.
• Um método deve ser disponibilizado para
transportar objetos de programas, como os
agentes móveis, entre dois computadores.
• É necessário determinar quais
componentes do objeto serão transferidos
durante a migração de um agente.
Migração
•
A migração pode ocorrer de duas formas:
1. Migração transparente para os agentes envolvidos.
O agente invoca o método move e a transferência é
feita automaticamente pelas camadas de agente e de
comunicação.
2. O agente fica responsável por transformar seus
componentes em uma forma persistente, de forma a
permitir o envio do seu estado através da rede. O
agente define qual a forma de representação do seu
estado interno.
Agentes - Tipos de Agentes
• Conselheiro: oferece ajuda e treinamento
• Guia: ajuda a navegação em bancos de dados e
hipermídia
• Empregado: executa as atividades tediosas ou
repetitivas
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes - Tipos de Agentes
• Representante: trabalha na ausência do usuário,
parecido ao agente Empregado. Por exemplo, pode
fazer backups de arquivos de madrugada ou fazer
pedidos de compras.
• Comunicador: trabalha com outros usuários e seus
agentes. Pode, por exemplo, organizar reuniões,
reunindo recursos e pessoas.
Computação Distribuída e Mobilidadade
João Bosco Mangueira Sobral
Propriedades dos Agentes
 Para que o sistema seja considerado agente,
ele não necessita apresentar todas as
propriedades, mas algumas delas são
recomendáveis.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes - Tendências
• Papel dos agentes no futuro e como eles serão
construídos ... ? Porque ...
1) Anda está em fase de desenvolvimento
2) A maioria dos fatores e grupos que
estão envolvidos exercem influência uns
sobre os outros.
• Várias aplicações baseadas em agentes já facilitam
a vida dos usuários na Internet, proporcionando o
rápido desenvolvimento de áreas como comércio
eletrônico, ensino à distância, gerenciamento de
sistemas, correio eletrônico, busca de informação na
WWW, entre outras.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
Agentes - Tendências
• As universidades, centros de pesquisa e companhias, como
a IBM e Microsoft, estão fazendo muita pesquisa.
•Para receber financiamento mais adiante, muitos
pesquisadores e desenvolvedores destas companhias estão
enfocando hoje em dia aplicações de agentes bastante
básicas, demonstráveis rapidamente, como:
-Automatização
eletrônico;
parcial
ou
completa
do
correio
-Agentes que filtram novas informações que podem ser
de interesse para seus usuários;
-Agentes que organizam reuniões
informação de cada participante.
Computação Distribuída e Mobilidade
João Bosco Mangueira Sobral
baseado
na
Download

Agentes