Introdução aos Agentes Autónomos Introdução IST- 2003/2004 Ana Paiva.
Transcript of Introdução aos Agentes Autónomos Introdução IST- 2003/2004 Ana Paiva.
Introdução aos Agentes Introdução aos Agentes AutónomosAutónomos
Introdução Introdução
IST- 2003/2004IST- 2003/2004Ana PaivaAna Paiva
A. Paiva
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 ).
A. Paiva
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”.
No entanto diversos autores nos seus artigos apresentam a sua definição de agente....
Dicionário de Português:
• “Agente é Aquele que opera”, ou “Tudo o que age”, ou “Aquele que é encarregue dos negócios de outrem”.
A. Paiva
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).
A. Paiva
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).
A. Paiva
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).
A. Paiva
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).
A. Paiva
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
A. Paiva
Propriedades 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”.
A. Paiva
Reactividade
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).
A. Paiva
Pro-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..
A. Paiva
Capacidade 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.
A. Paiva
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.
A. Paiva
Propriedades de AgentesPropriedades de Agentes
PROPRIEDADES
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”
A. Paiva
Propriedades de AgentesPropriedades de Agentes
PROPRIEDADES
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.
A. Paiva
Propriedades de AgentesPropriedades de Agentes
PROPRIEDADES
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.
A. Paiva
Propriedades de AgentesPropriedades de Agentes
PROPRIEDADES
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.
A. Paiva
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.
A. Paiva
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?
A. Paiva
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.
A. Paiva
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.
A. Paiva
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.
A. Paiva
Contraste entre tipos de AgentesContraste entre tipos de Agentes
Agentes Reactivos Agentes Cognitivos
Nenhuma representação Representação explícita do ambiente
Nenhuma memória da sua história Podem ter em conta o seu passado
Funcionamento estímulo/resposta Funcionamento complexo
Grande número de agentes Pequeno número de agentes
A. Paiva
Enquadramento: Tipologias de Agentes
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
A. Paiva
Enquadramento – Tipologia de Nwana
Mundo de Agentes
Cooperação Aprendizagem
Autonomia
Agentes de Interface
Agentes Colaborativos com Aprendizagem
Agentes
Inteligentes
Agentes
Colaborativos
A. Paiva
Comparação entre duas entidades da IAComparação entre duas entidades da IA
Agente/Programa Sistema Pericial
Utilizador utilizador comum perito
Tarefa tarefa vulgar/simples tarefa sofisticada
Domínio domínio pessoal domínio geral
Dependência autónomo dependente
do utilizador
Adaptação ao
meio adaptativo conhecimento fixo
Meio/ambiente distribuído (social) isolado
A. Paiva
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…
A. Paiva
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
A. Paiva
Exemplos de AgentesExemplos de Agentes
Agente 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, atrirar 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)
A. Paiva
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:
A. Paiva
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)
A. Paiva
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)
A. Paiva
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.
A. Paiva
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 ambientess 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.
A. Paiva
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
A. Paiva
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
A. Paiva
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)
A. Paiva
Ambientes SimuladosAmbientes Simulados
A. Paiva
Ambientes Simulados
A. Paiva
Ambientes SimuladosAmbientes Simulados
A. Paiva
Ambientes Simulados
MRE
A. Paiva
Ambientes Reais: exemplosAmbientes Reais: exemplos
A. Paiva
Ambientes MistosAmbientes Mistos Ambientes que combinam o mundo
real e o mundo virtual...
A. Paiva
Ambientes Mistos (Void*)
A. Paiva
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
A. Paiva
Seminários
A. Paiva
Seminários (cont)
A. Paiva
Bibliografia
Páginas da cadeira... An Introduction to MultiAgent Systems, de Michael Wooldridge,
2002, Software Agents, J. Bradshaw, MIT Press, 1997 Multiagent Systems, G. Weiss, MIT Press, 2000.
A. Paiva
Mais informação
http://mega.ist.utl.pt/~ic-agentes/
A. Paiva
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 internosacções
A. Paiva
Agente deliberativoAgente deliberativo
Ambiente
Agente
Controlador
Estado
Mecanismo
Sensores
Actuadores
PlanoModelo
Estado externo previsto
A. Paiva
Programa
25.09.2001 Apresentação da cadeira 26.09.2001 Introdução aos agentes
Propriedades de agentes 01.10.2001
Metodologia de estudo Introdução às teorias de agentes
Teoria BDI Arquitecturas deliberativas
10.10.2001 Arquitecturas reactivas Arquitecturas híbridas
15.10.2001 Organizações e sociedades de agentes
Comunicação entre agentes