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 darlhes autonomia? Como assegurar uma boa comunicação e coordenação entre estes componentes? CIn- UFPE 7 Produção de jogos e histórias interativas Deep Blue Woggles 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? CIn- UFPE 8 Controlar robôs HAZBOT: ambientes com atmosfera inflamável Como obter navegação segura e eficiente, estabilidade, manipulação fina e versátil? E no caso de ambientes dinâmicos não deterministas? CIn- UFPE Classes de tarefas das aplicações Classe Problemas Abordados 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 10 Aplicações Agricultura Processamento de imagem Negócios e finanças Direito Química Indústria Comunicações Matemática Comércio Medicina Computação Meteorologia Educação Militar Eletrônica Sistemas de potência Engenharia Ciência Meio ambiente Tecnologia espacial Geologia 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 Usuário Browser Search Engine Consulta Resposta Servidor de Consultas Base de Índices )--( Web Robô Indexing Engine Busca Exemplos: Radix, AltaVista, Lycos, Excite, ... CIn- UFPE 15 Agentes que filtram Informação Arquitetura Browser Servidor de News Artigos Indexados Perfil do usuário Indexing Engine Internet Agente de Filtragem • 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 Usuário Browser Search Engine Consulta Softbot Resposta Perfil do usuário Servidor de Consultas Base de Índices 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 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 Session Log ChatterBot Usuário Padrões de Conversação 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 MEDIADOS POR AGENTES pesquisa de mercado negociação compra e envio serviço e avaliação de produtos 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 consumidor agente de compra agentes de venda lojas 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 Interpretação e avaliação Data mining Transformação Pré-processamento Seleção Conhecimento Padrões Dados transformados Dados 1os. dados Dados pré-processados 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: Creatures OZ: Woggles El Fish PFMagic:Petz CIn- UFPE 40 Exemplos Maxis: SimLife Fujitsu: Fin Fin CIn- UFPE Robótica Robôs Pequenos Robôs Médios 42 IA simbólica no CIn Professores Alunos/2001 Flávia Barros • [email protected] Geber Ramalho • [email protected] Jacques Robin • [email protected] Francisco Carvalho • [email protected] CIn- UFPE 43 Projetos em andamento Mercado Virtual • Negociação entre agentes para comércio eletrônico Meta-busca de páginas especializadas • páginas de lista de publicações Extração de informação • de home-pages de publicações para banco de dados Administração de sistemas heterogêneos • espaço em disco Atores sintéticos para jogos • Guararapes e Enigmas do Campus Recuperação de informação com Wordnet CIn- UFPE 44 Projetos em andamento Ambientes Virtuais de Estudo Cooperativo • agentes para ensino à distância pela internet Robótica e sistemas multi-agentes • robocup: simulator Acompanhamento musical automático • percepção, previsão de acordes, improvisação,... Integração de técnicas descoberta de conhecimento em BD automatizada • OLAP e Data Warehouse Planejamento de sistemas celulares • otimização baseada em agentes CIn- UFPE Disciplinas de IA na Graduação Fundamentos de IA • Res. de Problemas, Repr. de Conhecimento e Raciocínio • Intro. à Redes Neurais Redes Neurais Inteligência Artificial Simbólica Programação em Lógica 46 Disciplinas de IA na Pós-graduação Básicas: • Métodos de C.I. 1 – Busca, Representação do conhecimento e raciocínio, Sistemas especialistas • Aplicações de C.I. – Redes Neurais e Probabilidade • Agentes Inteligentes Eletivas: • Métodos de C.I. 2 – Aprendizagem Simbólica, Planejamento, Sistemas multiagente, etc... • • • • Agentes Inteligentes Redes Neurais Data Mining ETCCCCCC = ~compint/eletivas.html CIn- UFPE