introdução aos agentes autónomos (ud1) introdução ist- 2004/2005
TRANSCRIPT
Introdução aos Agentes Introdução aos Agentes AutónomosAutónomos
(UD1)(UD1)Introdução Introdução
IST- 2004/2005IST- 2004/2005
Tendências e Tópicos
Geral
• Ubiquidade – poder computacional espalhado – telemóveis, alimentos, etc
• Conectividade – isolado vs redes distribuídas• Inteligência – tarefas cada vez mais complexas• Delegação – delegação de tarefas críticas – piloto
automático• Servir o humano – uso de metáforas “humanas”
em vez de interacção ao nível da máquina
Tendências e Tópicos
A C.Computação foca as propriedades abstractas. MAS: Os ambientes realistas são mais emaranhados – grande
variedade de acções e eventos, actuam de forma complexa sobre o mundo
Agentes• Teorias
- Intenções, desejos, crenças, objectivos, aspectos temporais, modelos lógicos dos agentes, execução das especificações lógicas, etc.
• Arquitecturas- Deliberativas, Reactivas, Híbridas
• Linguagens e Ferramentas
HistorialHistorial- 1ª Conferência de IAD (International Workshop on Distributed Artificial
Intelligence) nos EUA em 1980 (após uma reunião preparatória no MIT em 1979)
- Na Europa a Reunião MAAMAW realizou-se pela primeira vez em 1989, e após o lançamento do tema num painel na Conferência Europeia de Inteligência Artificial, ECAI-88.
- a primeira reunião internacional e bianual à escala mundial, a ICMAS, realizou-se pela primeira vez em 1995 nos EUA;
- o Workshop sobre Agent Theories, Architectures, and Languages (ATAL) lançada na Conferência Europeia de IA (ECAI) em 1994
- e “finalmente” a Conferência Internacional Agents (Autonomous Agents- AA), que se realizou de 1997 a 1999 nos EUA e em 2000 pela primeira vez na Europa.
- Em 2002 a ICMAS juntou-se à AA para lançar a conferência AAMAS (em 2002 em Bolognha, 2003 na Austrália e 2004 nos US ).
O termo “agente”O termo “agente” Desde o ínicio que o termo agente tem sido usado nos mais
diversos contextos e com as mais diversas interpretações.
Carl Hewitt argumentou a certa altura que: “a questão relativa ao que é um agente é tão embaraçosa para a
comunidade científica como era a questão de “o que é a inteligência em inteligência artificial”.
HistorialHistorial
Dicionário de Português:• “Agente é Aquele que opera”, ou “Tudo o que age”, ou
“Aquele que é encarregue dos negócios de outrem”.
• Duas vertentes nestas definições:- Uma entidade que é capaz de agir- Um ajudante
No entanto diversos autores nos seus artigos apresentam a sua definição de agente....
DefiniçõesDefinições "Software agents area software components that communicate
with their peers by exchanging messages in an expressive agent communication language" (Genesereth e Ketchpel, 1994).
"An agent is anything that can be viewed as perceiving its environment though sensors and acting upon that environment through effectors" (Russel e Norvig, 1995).
"Intelligent agents continuously perform three functions: perception of dynamic conditions in the environment; actions to effect the conditions in the environment and reasoning to interpret perceptions, solve problems, draw inferences, and determine actions" (Hayes-Roth, 1995).
DefiniçõesDefinições "An agent is the fundamental actor in a domain. It combines one or
more service capabilities into a unified and integrated execution model which can include access to external software, human users and communication facilities." (a definição da FIPA- veja-se o Glossário).
"An agent is a computational system that inhabits a complex, dynamic environment. An agent can sense, and act on, its environment, and has a set of goals or motivations that it tries to achieve through these actions" (P. Maes, 1994).
"An agent is a program that a person or organisation vests its authority, that can run unattended for a long time and that can meet and interact with other agents. The person or organisation is the agent´s authority" (White, 1994).
DefiniçõesDefinições "An agent is a software based computer system that enjoys the
properties of: autonomy, social-ability, reactivity and pro-activeness" (Wooldridge e Jennings, 1995).
"Along with mobility agents have the following computational characteristics: autonomous; asynchronous; local interaction; parallel execution and object passing" (IBM Aglets White paper, 1997).
"Most often the term agent is used to refer to an entity that functions continuously and autonomously in an environment in which other processes take place and other agents exist" (Shoham, 1994).
DefiniçõesDefinições "In hope of demystifying the term, we enumerate a list of
characteristics that have been proposed as desirable agent qualities: autonomous (goal-oriented, collaborative, flexible); temporal continuity; character; communicative; adaptive and mobile" (Etzioni, 1994).
"Um agente é uma entidade real ou abstracta que 1) é capaz de agir sobre ela própria e o seu ambiente, que 2) dispõe de uma representação parcial sobre este ambiente, que 3) pode comunicar com outros agentes num universo multi-agente, e 4) cujo comportamento é a consequência das observações, do seu conhecimento e das interacções com os outros agentes" (Ferber e Gasser, 1991).
Definição (mais recente)Definição (mais recente)
Agents are computer systems with two important capabilities. First they are at least to some extent capable of autonomous actionautonomous action – of deciding for for themselvesthemselves what they need to do in order to satisfy their design objectives. Second, they are capable of interacting with other agents-interacting with other agents- not simply by exchanging data, but by engaging in analogues of the kind of social activity that we all engage in every day of our lives: cooperation, negotiation and the like.
M. Woodridge, 2002
Propriedades de AgentesPropriedades de Agentes As definições não nos dizem praticamente nada da
forma como os agentes vão ser. Assim, actualmente caracterizam-se os agentes pelas
suas “PROPRIEDADES”.
ReactividadeReactividade
Se um ambiente de um agente é garantidamente fixo, então o agente não tem que se preocupar se as suas acções são ou não bem sucedidas.
No entanto, no mundo real as coisas não são assim. O MUNDO MUDA e os ambientes são DINÂMICOS.
Para construir sistemas (software) para estas situações o agente necessita de considerar que “pode falhar”! Logo, tem que reagir constantemente ao estado do ambiente….
Um agente Reactivo é aquele que mantém uma interacção constante com o seu ambiente, respondendo às mudanças que aí ocorrem (em tempo da resposta ser útil).
Pro-actividadePro-actividade Reagir ao ambiente é simples… (estímulo -> resposta -
baseada em regras)
Mas nós queremos que os agentes façam coisas por nós…!!!
Ou seja, queremos COMPORTAMENTO BASEADO EM OBJECTIVOS.
Pro-actividade = é a propriedade de gerar e tentar atingir objectivos; não somente reagir a eventos.
É a propriedade que está associada à Tomada de Iniciativa.
Para tal, é necessário reconhecer situações e oportunidades de agir..
Capacidade SocialCapacidade Social O mundo real é um sistema multi-agente: não podemos andar
pelo mundo tentando atingir objectivos sem ter os outros em consideração.
Alguns objectivos só podem ser alcançados em cooperação com os outros agentes…
Capacidade Social: é a capacidade que os agentes têm de interagir com os outros numa linguagem de comunicação entre agentes.
Propriedades de AgentesPropriedades de Agentes
-
PROPRIEDADES
Acompanhamento Capacidade de controle sobre o ambiente envolvente de forma a garantir a autonomia da realização de tarefas.
Adaptação Capacidade dos agentes se adaptarem (aprenderem) às mudanças (flexibilidade) que ocorrem no meio onde estão inseridos
Autonomia Capacidade de operação sem a intervenção directa dos seres humanos e de controle sobre as suas acções e estados internos. No entanto, para outros, e segundo P. Norvik, um sistema é autonomo na medida em que o seu comportamento é determinado pela sua experiência passada, e logo não depende directamente de intervenção do exterior.
Benevolência Quando não existem objectivos conflictuosos e podem executar o que lhes é pedido.
Propriedades de AgentesPropriedades de AgentesPROPRIEDADES
Carácter Possuidor de veracidade e personalidade.
Colaboração Capacidade de empenhamento, isto é não obediência cega a ordens, e de modificação dos pedidos através da sua clarificação para o alcance de “objectivos comuns”.
Comunicabilidade Capacidade de interacção com um utilizador (ou outros agentes) para receber instruções (de delegação) e para informar sobre o estado da realização de uma tarefa.
Continuidade Capacidade de ter processos em execução contínua (do ponto de vista temporal).
Credibilidade Capacidade de dar ao utilizador a noção de “vida” criando a “suspensão da descrença”
Propriedades de AgentesPropriedades de AgentesPROPRIEDADES
Delegação Execução de um conjunto de tarefas (actuação) em nome de um utilizador (ou outro agente) e sob sua aprovação (propriedade fundamental da agência).
Emotividade Capacidade de representação e exibição de estados emocionais.
Personalidade Capacidade de exibir um comportamento que demonstra estar de acordo com uma dada personalidade.
Intencionalidade Capacidade de ter um comportamento que pode ser guiado por objectivos (realizar uma acção), e explicado através das noções crenças, desejos e intenções.
Propriedades de AgentesPropriedades de AgentesPROPRIEDADES
Mobilidade Capacidade de deslocação (transporte) de sitio (frequentemente uma máquina) para outro durante a sua execução, e tendo em atenção a privacidade e segurança
Pró-Actividade Capacidade de exibição de um comportamento dirigido por objectivos e de tomada de iniciativas.
Reactividade Capacidade de reacção ao ambiente em que o agente está inserido, bem como às suas mudanças. Existe um conjunto de estímulos aos quais o agente reage. Os agentes puramente reactivos não têm uma representação explícita do ambiente a actuam usando um tipo de comportamento baseado em estímulo/resposta , ou seja, respondem ao estado actual do ambiente no qual estão embebidos. Varias das definições previamente apresentadas (Russel e Norvig, 1995), (a definição da FIPA) assumem como propriedade básica dos agentes a sua reactividade.
Propriedades de AgentesPropriedades de AgentesPROPRIEDADES
Racionalidade Capacidade de intervenção de acordo com critérios de avaliação (utilidade) das suas acções, e de justificação das decisões.
Sociabilidade Possibilidade de interacção com outros agentes através de uma linguagem de comunicação.
Veracidade Propriedade de não comunicação de informações falsas.
Combinação de propriedadesCombinação de propriedades
Segundo (Wooldridge, 1994), podemos encarar duas grandes classes de agentes: • “uma fraca”, onde se destacam as propriedades de
autonomia, sociabilidade, e pró-actividade, • “outra forte”, onde além destas propriedades é costume
adoptar outros conceitos apenas habituais quando se falam dos seres humanos, tais como o conhecimento, a crença, a intenção e a obrigação (Shoham, 1993).
Este desvio antropomórfico pode ainda ir mais além, como no caso dos agentes “emocionais” ou “credíveis” (Bates, 1994), dos ícones gráficos tipo desenhos animados, ou ainda das faces animadas (Maes, 1994)- personagens sintéticas.
Problema da autonomiaProblema da autonomia Segundo Castelfranchi (Castelfranchi, 1995) podemos detectar vários graus de
autonomia, dado que esta é um conceito relacional (ou melhor, um conceito social).
Assim: um agente só é autonomo em relação à influência dos outros agentes.
• Qual a relação entre a autonomia de um agente e a sua capacidade de colaboração e aprendizagem?
Tendo em conta que os agentes são situados, adaptando-se ao ambiente
onde estão inseridos, bem como a outros agentes, então a autonomia de um agente tem necessáriamente que ser limitada.!
Problema de Descartes: - Como é que o comportamento humano responde e se adapta ao ambiente,
e ao mesmo tempo, é independente dos estímulos externos?
Problema da autonomiaProblema da autonomia
Autonomia em relação ao contexto fisico (ao ambiente)- Este tipo de autonomia entre em conflito com a necessidade de adaptação de um agente. Ou seja, quanto mais autonomo o agente é do ambiente, menos necessidade tem de se adaptar a ele e de interagor com ele. No extremo, um agente que não interage com o ambiente comporta-se de forma autista.
Problema da autonomiaProblema da autonomia
Autonomia em relação ao contexto social (a outros agentes)- este tipo de autonomia tem a ver com os objectivos dos agentes. Poder-se-á dizer que o grau de autonomia é dado pelo numero e valor dos objectivos que o agente tem que não consegue atingir sem a ajuda de outros. Este tipo de autonomia pode ainda ser decomposto em dois tipos: autonomia relativa aos meios de execução e autonomia relativa aos objectivos.
Problema da Autonomia
Postulatos que caracterizam um agente social autónomo (Castelfranchi). - O agente tem os seus próprios objectivos (e não são derivados dos
objectivos dos outros);- O agente é capaz de tomar decisões relativas a vários objectivos que
podem estar em conflito;- O agente adopta objectivos de outros agentes e do exterior (é
influenciável)- Adopta objectivos de outros agentes como consequência de uma escolha- Adopta objectivos de outros agentes se vê que a sua adopção o leva a
atingir os seus próprios objectivos.
Contraste entre tipos de AgentesContraste entre tipos de AgentesAgentes Reactivos Agentes Cognitivos
Nenhuma representação Representação explícita do
ambienteNenhuma memória da sua história Podem ter em conta o seu passadoFuncionamento estímulo/resposta Funcionamento complexoGrande número de agentes Pequeno número de agentes
Enquadramento: Tipologias de Enquadramento: Tipologias de AgentesAgentes
Tipologia de Nwana (1996)
Agentes definidos por dimensões de classificação
• Mobilidade: estático ou móvel• Modelo simbólico de Raciocínio: deliberativo ou reactivo• Papeis• Filosofias Híbridas• Atributos Secundários• Atributos Primários: autonomia, cooperação, aprendizagem
Enquadramento – Tipologia de Enquadramento – Tipologia de NwanaNwana
Mundo de Agentes
Cooperação Aprendizagem
Autonomia
Agentes de Interface
Agentes Colaborativos com Aprendizagem
Agentes
Inteligentes
Agentes
Colaborativos
Comparação entre duas entidades da Comparação entre duas entidades da IAIA
Agente/Programa Sistema Pericial
Utilizador utilizador comum peritoTarefa tarefa vulgar/simples tarefa sofisticadaDomínio domínio pessoal domínio específicoDependência autónomo dependente
do utilizadorAdaptação ao meio adaptativo conhecimento (+/-
est) Meio/ambiente distribuído (social) isolado
Agentes e IA…Agentes e IA… Não são os agentes um outro projecto de IA? Não temos que resolver TODOS os problemas da IA para
conseguir construir agentes?
“A LITTLE INTELLIGENCE GOES A LONG WAY!”
Oren Etzioni a falar da experiência com o NETBOT
We made our agents dumber and dumber and dumber … until finally they made money…
Exemplos de AgentesExemplos de AgentesAgente Percepções Acções Ambiente
Robot jardineiro
localizar-se; verificar se chove; se jardim limpo, se jardim sujo, se planta seca, se planta fraca, se ervas daninhas grandes, se planta a crescer, se planta com flores:
andar, regar, cortar as ervas daninhas, limpar, plantar, semear, dar alimento, e cortar ramos a planta.
O jardim
Planta Detecta sol, detecta agua crescer, murchar e morrer O jardim
Taxista artificial
Câmeras velocímetro; GPS; sonar; microfone
Rodar o volante; acelerar; travar; falar com o passageiro
Estradas, outros carros, peões..
Agente de informação numa rede
Monitorar ficheiros e directórios, determinar se um host está ligado, verificar se um site é atingível.
Criar outros agentes, enviar mensagens, mover-se de site para site
Uma rede heterogénea e que muda
Exemplos de AgentesExemplos de AgentesAgente Percepções Acções Ambiente
Agente de compras
Procurar "site" de compras, procurar atributos de produtos à venda.
Mover-se para um "site", dar conselhos ao utilizador, comprar produtos.
WWW, e sites WWW de compras
Agente jogador na liga do simulador do RoboCup
Sensores para determinar onde é que o jogador está colocado no campo, onde está a bola e onde estão os outros jogadores.
Deslocar-se no campo, atirar a bola, defender a bola.
O campo de football (fornecido pelo simulador) com uma bola e outros jogadores.
Um agente tutor de matemática
Acções dos alunos; respostas de aplicações às acções dos alunos; acções de outros agentes.
Sugestões de matéria, sugestões de exercícios, correcções, exemplos, dicas.
Uma situação de aprendizagem (uma aula)
Agente Reactivo SimplesAgente Reactivo Simples
function Agente_Jardineiro(percepção) returns acção static regras % as regras de condição acção estado <- INTERPRET-INPUT(percepção) regra <- RULE-MATCH(estado,regras) acção <- RULE-ACTION(regra)return acção
Agente jardineiro reactivo simples (veja-se (Russell e Norvig, 1994)
Se flor-murchar ENTAO regar
Regra que relaciona as percepções com as acções:
Agente Reactivo Com EstadoAgente Reactivo Com Estado
function Agente_Jardineiro(percepção) returns acção static regras % as regras de condição acção estado-mundo % estado do mundo estado-mundo <- UPDATE-STATE(estado-mundo,percepção) regra <- RULE-MATCH(estado-mundo,regras) acção <- RULE-ACTION(regra) estado-mundo <- UPDATE-STATE(estado-mundo,acção) return acção
Agente jardineiro reactivo com representação do estado (veja-se (Russell e Norvig, 1994)
Agente Com ObjectivosAgente Com Objectivos
function Agente_Jardineiro(percepção) returns acção static regras % as regras de condição acção estado-mundo % estado do mundo objectivos % objectivos estado-mundo <- UPDATE-STATE(estado-mundo,percepção) regra <- RULE-MATCH(estado-mundo,regras,objectivos) acção <- RULE-ACTION(regra, objectivos) estado-mundo <- UPDATE-STATE(estado-mundo, acção) objectivos <- UPDATE-GOALS(objectivos, estado-mundo, acção) return acção
Agente jardineiro com objectivos (veja-se (Russell e Norvig, 1994)
Os agentes e o ambiente: como Os agentes e o ambiente: como abordar o estudo de agentesabordar o estudo de agentes
“um agente como uma entidade sistémica que observa e interpreta o ambiente que o cerca através de sensores e que intervém sobre o ambiente através de actuadores (Russell e Norvig, 1994)”.
SISTEMA
AMBIENTE
percepções
estados internos acções
Os agentesOs agentes Normalmente:
• Não tem controle completo sobre o ambiente, quando muito parcial (pode influenciar, mesma acção pode não produzir os mesmos resultados, pode falhar)
• Tem um reportório de acções (nem todas efectuadas em todas as situações – pre-condições)
• Tem de decidir que acções efectuar de forma a melhor satisfazer os seus objectivos – arquitectura de agente = de tomada de decisão
SISTEMA
AMBIENTE
percepções
estados internos acções
Propriedades dos AmbientesPropriedades dos Ambientes Que propriedades podemos encontrar nos ambientes
que condicionam as propriedades dos agentes?
Ambiente Acessível versus Ambiente Inacessível - Um ambiente diz-se acessível se o seu aparelho sensorial lhe permite aceder ao estado do ambiente. Caso isto aconteça, o agente não tem que manter no seu estado interno a trajectória do mundo.
Propriedades de AmbientesPropriedades de Ambientes Deterministico versus Não-Determinístico - Se o próximo estado do
ambiente é completamente determinado pelo estado actual do ambiente e pelas acções do agente, então o ambiente diz-se determinístico. Dado que normalmente existem outros agentes no ambiente (incluindo utilizadores humanos), a maioria dos ambientes nos quais os agentes estão embebidos são não-determinísticos.
Estático versus Dinâmico - Se um ambiente muda enquanto o agente está em deliberação então diz-se que o ambiente é dinâmico. Caso contrário é estático. Exemplos de ambientes dinâmicos são os ambientes de football das ligas do RobotCup, ou o ambiente de agentes de pesquisa de informação na Web.
Discreto versus Contínuo - Se o numero de percepções e acções é limitado diz-se que é discreto. Caso contrário é continuo.
Propriedades de Ambientes: Propriedades de Ambientes: ExemplosExemplos
Agente Ambiente Acessível Determinístico Estático Discreto
Jogador Xadrez Sim Sim Sim Sim
Taxista artificial
Estradas, trafego, peões
Não Não Não Não
Agente num ambiente virtual 3D
Floresta com outros agentes num ambiente virtual 3D
Não Não Não Parcial
Agente de informação numa rede
Rede heterogénea
Parcial Não Não Parcial
Um novo desafio na IAUm novo desafio na IA
Xadrez Robocup
Ambiente Estático Dinâmico
Mudança de Estado Voltas Tempo real
Acessibilidade Completa Parcial
Leitura dos sensores Simbólica Não simbólica
Controlo Central Distribuído
Ambientes simuladosAmbientes simulados Russell e Norvig, a simulação de um ambiente poderá fazer-se através de um
procedimento com a seguinte aparência (simplificado): procedure simula-ambiente(estado, FUNCAO-MUDANCA, agentes, término) inputs estado % estado do mundo função-mudança %
agentes % término %
repeatfor each agente in agentes do
PERCEPT(agente) <- GET-PERCEPT(agente,estado)endfor each agente in agentes do
ACTION(agente) <- RUN-AGENT(agente)(PERCEPT(agente))endestado <- FUNCAO-MUDANCA(acções, agentes, estado)until término(estado)
Ambientes SimuladosAmbientes Simulados
Ambientes SimuladosAmbientes Simulados
Ambientes Reais: exemplosAmbientes Reais: exemplos
Ambientes MistosAmbientes Mistos Ambientes que combinam o mundo
real e o mundo virtual...
Ambientes Mistos (Void*)Ambientes Mistos (Void*)
<<<Void* VIDEO>>>
ResumoResumo
Linguagens de formalização
Comportamento possível/ Teoria informal/ Conceptualização
Caracterização do ambiente
TEORIA DE AGENTES
ARQUITECTURAS DE AGENTES(modelos)
CONSTRUÇÃO DE UM AGENTE i
SOCIEDADE DE AGENTES
Teorias de comunicação/ de cooperação/ de negociação
Bancadas Linguagens
APLICAÇÕES