970 likes | 1.08k Views
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.
E N D
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. • Ê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 Inteligent agens Hardware Agents (e.g. robot) Human Agents (e.g. travel agent) Software agents Information agents Cooperation agents Transaction agents
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 Distributed Artificial Inteligence Paralell AI Distributed Problem Solving Multi-Agent Systems
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 Communication Autonomy Learning Mobility Cooperation Character Proactivity Reactivity Coordination Goal-oriented
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 Decision Theory Network communication Autonomy Learning capability Mobility Artificial inteligence CHARACTERISTICS Proactivity communication Reactivity cooperation character Distributed Artificial inteligence Psichology
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ída Joã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