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 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...
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!
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, ...
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?
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?
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
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
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, ...
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.
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.
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.
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, ...
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.
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
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
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.
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
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
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
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, ...
23
Recomendação de produtos
Agentes de recomendação• exemplos:
– amazon.com, barnesandnoble.com, ZDNet.com, mylaunch.com, personalogic - AOL,...
24
Pesquisa de mercado
Agentes de comparação.• exemplos:
– bargainfinder, jango (excite), fido. miner (uol), priceline– …
• produtos: – agentsoft, Israel– junglee
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
26
Negociação: leilão
AuctionWeb
Auction Fever!Auction Fever!
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…
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;• ...
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.
30
Agentes Móveis
31
Manutenção remota de elementos diversos
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.
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
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)
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%
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
37
OLAP
OLTP (usuários) e OLAP (analistas e gerentes)
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
39
Exemplos
CyberLife: CreaturesOZ: Woggles
El Fish PFMagic:Petz
40
Exemplos
Maxis: SimLife
Fujitsu: Fin Fin
Robótica
Robôs Médios
Robôs Pequenos