agentes: conceitos e princípios

97
Agentes: Agentes: Conceitos e Princípios Conceitos e Princípios Computação Distribuída e Mobilidade João Bosco Mangueira Sobral

Upload: kibo-dudley

Post on 02-Jan-2016

21 views

Category:

Documents


3 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Agentes:Agentes:Conceitos e PrincípiosConceitos 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

Inteligentagens

HumanAgents

(e.g. travel agent)

HardwareAgents

(e.g. robot)

Softwareagents

Informationagents

Cooperationagents

Transactionagents

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

DistributedArtificial Inteligence

Distributed Problem Solving

Multi-AgentSystems

Paralell AI

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 Autonomy

Mobility

Character

Reactivity

Goal-oriented

Learning

Proactivity

Communication

Cooperation

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 com respostas variáveis)Computação 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

CHARACTERISTICS

Mobility

communication

cooperation

Autonomy

Learningcapability

Psich

olog

yDistributed Artificial

inteligence

Networ

k

com

mun

icat

ion

Decision

TheoryA

rtificia

l

inte

ligen

ce

character

Proactivity

Reactivity

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ídaJoã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

ProcessamentoInteligente

Entradas(Percepção)

Saídas(Ações)

Processo de Trabalho de um Agente Inteligente

Entrada Saída

Processamento Inteligente

Inte

raçã

o

Inte

raçã

o

FusãoDa

Informação

Processamentoda

InformaçãoAção

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 Deliberativoskn

owlo

dge

Bel

iefs

Desires

Goals

Intentions Pla

ns

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

Interaction Manager

Executor Scheduler Planner

Reasoner

Intentions

Goals

Desires

Knowledge Base(symbolic environment model)

InformationReceiver

Output(actions)

Input(perception)

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 Saida

Sen

sore

s

Atu

ador

es

Módulo de Competência

Módulo de Competência

Módulo de Competência

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 Servidor 3

Agente

Cliente

Chamada remota de procedimentos Chamada remota de procedimentos

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 RemotaServidor 1 Servidor 2 Servidor 3

Agente

Cliente

Programação Remota

AgenteAgente Agente

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 Agentes

Programação Remota inteligência alta

Móvel

Chamada remota de procedimentos

SQL Queries

inteligência baixa,

protocolos proprietários,

ambiente fechado 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

Sistema Operacional Sistema Operacional

Software Base Software BaseBase de Dados

real real

lógico

migração

Camadas do Software Base para Agentes Móveis

Camada do Agente

Funcionalidades Basicas (API)

Mobilidade, Negociação, Comunicação, Filtragem, Identificação

Camada de Segurança

Protocolos de Segurança

Criptografia

Assinatura Digital

Firewalls

Camada de Comunicação

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 layer

Agent Agent

Agent list

(1)

agent -

id, ty

pe,

Per s

onal ke

y

(2) agent-data

(4) agent-id

(8) agent-id;busy

(3)

agent-

type

(5)

agent-

id

(6)

conta

ct

(9)

com

mand

(7)

conta

ct

(10

) c o

mm

and

• 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.

Serialização de Objetos

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 parcial ou completa do correio eletrônico;

-Agentes que filtram novas informações que podem ser de interesse para seus usuários;

-Agentes que organizam reuniões baseado na informação de cada participante.

Computação Distribuída e Mobilidade João Bosco Mangueira Sobral