1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes...

41
1 Aplicações de Agentes Inteligentes

Transcript of 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes...

Page 1: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

1

Aplicações de Agentes Inteligentes

Page 2: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

2

Agentes: o que são?

Programação Orientada a Agentes• envolve um conjunto de metáforas, ferramentas e

tecnologias para construir sistemas complexos

Evolução• procedimentos/funções => programação estruturada• objetos => programação orientada a objetos• agentes => programação orientada a agentes

Importante • distinguir análise/projeto de implementação• ex. sistema de informação (biblioteca)

– procedimentos...– objetos...– agentes...

Page 3: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

3

Agentes: como usar?

Nível de conhecimento • modelagem do negócio: classe de problema, domínio,...• elicitação: percepções, ações, objetivos, ambiente,

conhecimento,...

Nível de formalização• análise e projeto: especificar arquitetura, escolher e usar

uma LRC para escrever a base de conhecimento,...

Nível de implementação• Agent0, java, prolog, C...

– o importante são os serviços oferecidos pela linguagem!

Page 4: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

4

Agentes: por que e quando usar?

Tarefas• Grande complexidade (número, variedade e natureza

das tarefas)• Não há “solução algorítmica”, mas existe conhecimento• Modelagem do comportamento de um ser inteligente

(autonomia, aprendizagem, conhecimento, etc.)

Algumas capacidades• Comportamento guiado por objetivos e autonomia • Reatividade e raciocínio• Adaptabilidade e aprendizagem • Comunicação e cooperação• Personalidade• outros: mobilidade, persistência temporal, ...

Page 5: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

5

Busca de informação na Web: morrendo ignorante em um mar de informação

Como localizar a informação relevante?

Como modelar o interesse de um usuário particular?

Page 6: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

6

Automação de sistemas complexos

Como modelar os componentes do sistema e dar-lhes autonomia?

Como assegurar uma boa comunicação e coordenação entre estes componentes?

Page 7: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

7

Produção de jogos e histórias interativas

Como modelar o comportamento e personalidade para criar ilusão da vida?

Como permitir uma boa interação com usuário e um comportamento adequado?

WogglesDeep Blue

Page 8: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

8

Controlar robôs

Como obter navegação segura e eficiente, estabilidade, manipulação fina e versátil?

E no caso de ambientes dinâmicos não deterministas?

HAZBOT: ambientes com atmosfera inflamável

Page 9: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

Interpretação Inferindo descrições das situações por observações

Predição Inferindo prováveis conseqüência de dadas situações

Diagnóstico Inferência de mal funcionamento do sistema por observações

Projeto Configurando objetos sobre restrição

Planejamento Desenvolvimento de plano(s) para realização de objetivo(s), meta(s)

Monitoramento Comparando observações para planos, detectando exceções

Classe Problemas Abordados

Classes de tarefas das aplicações

Page 10: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

10

Aplicações

Agricultura

Negócios e finanças

Química

Comunicações

Comércio

Computação

Educação

Eletrônica

Engenharia

Meio ambiente

Geologia

Processamento de imagem

Direito

Indústria

Matemática

Medicina

Meteorologia

Militar

Sistemas de potência

Ciência

Tecnologia espacial

Transportes, ...

Page 11: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

11

Aplicações em computação

Internet

Redes e Sistemas Distribuídos

Banco de dados

Engenharia de software

Interfaces

Robótica

Jogos

Hardware (projeto e análise)

Etc.

Page 12: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

12

A Internet

Informação não estruturada, de escopo aberto, multilíngue, ... e em enorme quantidade

Usuários diversificados

Desafios• prover informação aos usuários leigos;• libertar os usuários das tarefas repetitivas da WEB;• envio de informações relevantes aos usuários.

– Formato, Conteúdo.

Page 13: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

13

Categorias de Agentes na Internet por Tipos de Serviços

Agentes de Busca e Recuperação de informação

Agentes de Extração de Informação

Agentes de Entrega Off-line

Agentes Notificadores

Agente Corretores (interoperabilidade)

Agentes para Ensino a distância

Agentes de Chat

Agentes para Comércio Eletrônico

etc.

Page 14: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

14

Agentes de BuscaAgentes de Busca Arquitetura

BrowserConsulta

Resposta

Servidor de Consultas Base de

Índices

Search EngineUsuário

Busca

WebWeb)--(

Robô

Indexing Engine

Exemplos: Radix, AltaVista, Lycos, Excite, ...

Page 15: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

15Agentes que filtram Informação

Arquitetura

Browser

Agente de Filtragem

InternetInternet

Servidor de News

Indexing Engine

ArtigosIndexados

Perfil dousuário

• Filtram as informações encontradas de acordo com o perfil do usuário.

Page 16: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

16

Exemplos NewsHound

• Busca notícias em diversos jornais a partir do perfil dado• Envia informações através de e-mail ou páginas html.• Utiliza critérios de relevância

MetaCrawler• Programa inteligente que usa outros engenhos de busca

em prol do usuário

BrowserConsulta

Resposta

Servidor de Consultas Base de

Índices

Search EngineUsuário

Softbot

Perfil do

usuário

Page 17: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

17

Agentes de Entrega Off-line

Agentes que filtram informação, mas que não necessitam de conexão permanente à Internet.

Software desktop

Exemplo: Pointcast• Serviço de divulgação de

notícias• Propriedades

– Autonomia– Continuidade temporal

Page 18: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

18

Agentes Notificadores

Notifica o usuário de eventos de importância para ele.• Mudança no conteúdo de uma página na Web.• Mudança de endereço de uma página.

Exemplo: URLMINDER• Monitora páginas na Web

e comunica aos usuários se houve mudanças nelas

• Checa páginas pelo menos 1 vez/dia

• Não faz busca recursiva de URLs.

Page 19: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

19

Session LogPadrões de Conversação

ChatterBot

Usuário

Agentes de Chat

Também chamados de Avatares

Podem aparecer nas salas de Chat ou para help online de MUD’s

“Conversam” com usuários Web

Alguns baseiam-se em casamento de padrões• e.g., Eliza

Referências: Consultbot - Eduardo Laureano• http://www.cin.ufpe.br/~fab/publications/consultbot.doc

Page 20: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

20

Comércio Eletrônico

Hoje• informação• marketing• processamento do pedido• Problemas

– O que comprar?– Onde comprar?– Quanto pagar?

Amanhã• shoppings eletrônicos, com agentes representando

vendedores e compradores• leilões, com agentes fazendo lançes

Page 21: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

21

Modelo de compra

identificação da necessidade

recomendação de produtos

pesquisa de mercado

negociação

compra e envio

serviço e avaliação de produtos

MEDIADOSPOR AGENTES

Agent-Mediated Electronic Commerce

Page 22: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

22

Identificação da necessidade

Agentes de notificação• exemplos:

– amazon.com (novos livros disponíveis)– fastparts.com (novos lançes afetam os seus)– classifieds 2000 (produto específico disponível por um

preço específico)• produtos:

– Firefly– Microsoft– Oracle, ...

Page 23: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

23

Recomendação de produtos

Agentes de recomendação• exemplos:

– amazon.com, barnesandnoble.com, ZDNet.com, mylaunch.com, personalogic - AOL,...

Page 24: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

24

Pesquisa de mercado

Agentes de comparação.• exemplos:

– bargainfinder, jango (excite), fido. miner (uol), priceline– …

• produtos: – agentsoft, Israel– junglee

Page 25: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

25

Negociação

Agentes de negociação• pesquisa:

– Kasbah - MarketMaker (MIT Media Lab)– Tete-a-Tete (MIT Media Lab)– AuctionBot (Univ. of Michigan)– ShopBot (DI-UFPE)...

• produtos comerciais:– Moai Technologies, Inc– BusinessBots, Inc

agentede compra

consumidor agentesde venda

lojas

Page 26: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

26

Negociação: leilão

AuctionWeb

Auction Fever!Auction Fever!

Page 27: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

27

Agentes em Intranets

Gerência de redes e sistemas distribuídos

Monitoramento e diagnóstico de falhas

Balanceamento de carga

Detecção de intrusão

Etc…

Page 28: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

28

Gerenciamento de redes e sistemas distribuídos heterogêneos

Problemas da política centralizada• Gargalo no administrador;• Requer muito processamento na plataforma de

administração;• Excesso de tráfego na rede

Tarefas de Gerenciamento• Monitorar estado e tráfego em conexões;• Manter operacionais os nós da conexão;• Automatizar distribuição de arquivos;• Manter inventário de HW;• Gerenciar recursos compartilhados;• Gerenciar SW instalado;• Atualizar versões de SO’s e SW’s;• Implantar e manter políticas de segurança;• Atender as necessidades dos usuários;• ...

Page 29: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

29

Agentes (móveis) Inteligentes

Promessas• Aumentar confiança e qualidade de serviço para

usuários• minimizar a complexidade na gerência

Como?• Programas migratórios• Operam no mesmo local, sem sobrecarregar a rede• Retornam somente dados relevantes ou compilados• Pequenos sistemas em esforço cooperativo para a realização

de tarefas.

Page 30: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

30

Agentes Móveis

Page 31: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

31

Manutenção remota de elementos diversos

Page 32: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

32

Detecção de Intrusão

Motivação:• Firewalls só conseguem conter ataques conhecidos.• Firewalls não conseguem conter ataques oriundos da

rede interna.• Ataques (internos ou externos) deixam sintomas.• Possibilidade de previsão de ataques.

Page 33: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

33

Onde os agentes entram ?

Detectando sintomas:• Periodicamente verificando permissões etc...

Detectando cenários:• Periodicamente analisando o tráfego etc...

Possibilidade de oferecer serviços adicionais:• Otimizando a coleta de informações relevantes;• Disparando “triggers”;

Possibilidade de oferecer “capacidade reativa” automática da rede atacada.• Desconectando o intruso;• Bloqueando o tráfego para a Internet etc…• Enviando mensagem para o operador do backbone

Page 34: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

34

Banco de dados

Motivação• Quantidades imensas de dados que devem se

transformar dados em informação útil• Análise de Mercado e de tendências• Sistemas de Suporte à Decisão• Gerência Empresarial

Agentes• Ferramentas inteligentes para descoberta e integração

de conhecimento em BDs– Data mining– Data warehouse– On-Line Analitical processing (OLAP)

Page 35: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

35

Data Mining (Mineração de Dados)

O que é?• análise inteligente visando manipulação automática de

quantidades imensas de dados• Larga aplicação nos mais variados ramos da indústria,

comércio, medicina, governo, administração, etc.• Integra várias técnicas e tecnologias

Exemplos• Bank of America

– Selecionou entre seus clientes, aqueles com menor risco de dar calotes

– Em três anos o banco lucrou 30 milhões de dólares com a carteira de empréstimos

• Fraldas e cervejas– homens casados, entre 25 e 30 anos compravam fraldas e/ou

cervejas às sextas-feiras à tarde– Wal-Mart otimizou as gôndolas e o consumo cresceu 30%

Page 36: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

36

Descoberta de conhecimento: etapas

SeleçãoPré-processamento

Transformação

Data mining

Interpretação eavaliação

Conhecimento

Dados 1os. dadosDados

pré-processados

Dados transformados

Padrões

Page 37: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

37

OLAP

OLTP (usuários) e OLAP (analistas e gerentes)

Page 38: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

38

Entretenimento

Diversos tipos de aplicações• histórias interativas• animações em ambientes virtuais• jogos

Requisitos p/ sucesso em jogos• bons níveis de interação• bons níveis de realismo gráfico• ótimo gameplaying

Para gerar ilusão de vida é preciso expressar e controlar• personalidade, emoções, atitudes

=> atores sintéticos

Page 39: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

39

Exemplos

CyberLife: CreaturesOZ: Woggles

El Fish PFMagic:Petz

Page 40: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

40

Exemplos

Maxis: SimLife

Fujitsu: Fin Fin

Page 41: 1 Aplicações de Agentes Inteligentes. 2 Agentes: o que são? Programação Orientada a Agentes envolve um conjunto de metáforas, ferramentas e tecnologias.

Robótica

Robôs Médios

Robôs Pequenos