CIn- UFPE
1
Aplicações de Agentes Inteligentes
CIn- UFPE
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...
CIn- UFPE
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!
CIn- UFPE
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, ...
CIn- UFPE
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?
CIn- UFPE
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?
CIn- UFPE
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
CIn- UFPE
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
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
CIn- UFPE
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, ...
CIn- UFPE
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.
CIn- UFPE
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.
CIn- UFPE
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.
CIn- UFPE
14
Agentes de Busca
Arquitetura
BrowserConsulta
Resposta
Servidor de Consultas Base de
Índices
Search EngineUsuário
Busca
Web
)--(
Robô
Indexing Engine
Exemplos: Radix, AltaVista, Lycos, Excite, ...
CIn- UFPE
15
Agentes que filtram Informação
Arquitetura
Browser
Agente de Filtragem
Internet
Servidor de News
Indexing Engine
ArtigosIndexados
Perfil dousuário
• Filtram as informações encontradas de acordo com o
perfil do usuário.
CIn- UFPE
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
CIn- UFPE
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
CIn- UFPE
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.
CIn- UFPE
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
CIn- UFPE
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
CIn- UFPE
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
MEDIADOS
POR AGENTES
Agent-Mediated Electronic Commerce
CIn- UFPE
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, ...
CIn- UFPE
23
Recomendação de produtos
Agentes de recomendação• exemplos:
– amazon.com, barnesandnoble.com, ZDNet.com,
mylaunch.com, personalogic - AOL,...
CIn- UFPE
24
Pesquisa de mercado
Agentes de comparação.• exemplos:
– bargainfinder, jango (excite), fido. miner (uol), priceline
– …
• produtos: – agentsoft, Israel
– junglee
CIn- UFPE
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
agente
de compra
consumidor agentes
de vendalojas
CIn- UFPE
26
Negociação: leilão
AuctionWeb
Auction Fever!
CIn- UFPE
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…
CIn- UFPE
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;
• ...
CIn- UFPE
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.
CIn- UFPE
30
Agentes Móveis
CIn- UFPE
31
Manutenção remota de elementos
diversos
CIn- UFPE
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.
CIn- UFPE
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
CIn- UFPE
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)
CIn- UFPE
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%
CIn- UFPE
36
Descoberta de conhecimento: etapas
Seleção
Pré-processamento
Transformação
Data mining
Interpretação e
avaliação
Conhecimento
Dados 1os. dados
Dados
pré-processados
Dados
transformados
Padrões
CIn- UFPE
37
OLAP
OLTP (usuários) e OLAP (analistas e gerentes)
CIn- UFPE
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
CIn- UFPE
39
Exemplos
CyberLife: CreaturesOZ: Woggles
El Fish PFMagic:Petz
CIn- UFPE
40
Exemplos
Maxis: SimLife
Fujitsu: Fin Fin
Robótica
Robôs
Médios
Robôs Pequenos