a outros agentes

Propaganda
Introdução aos Agentes
Autónomos
(UD1)
Introdução
IST- 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
Historial
-
-
-
-
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 AgentsAA), 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”


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”.
Historial

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çõ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
environment through effectors" (Russel e Norvig, 1995).

"Intelligent
that
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çõ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ções

"An agent is a software based computer system that enjoys the
properties of: autonomy, social-ability, reactivity and proactiveness" (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çõ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)
Agents are computer systems with two important
capabilities. First they are at least to some extent
capable of autonomous action – of deciding for
themselves what they need to do in order to satisfy
their design objectives. Second, they are capable of
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 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”.
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).
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..
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.
Propriedades 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 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”
Propriedades 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.
Propriedades 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.
Propriedades 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.
Combinaçã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 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 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 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 Agentes
Agentes Reactivos
Nenhuma representação
Nenhuma memória da sua história
Funcionamento estímulo/resposta
Grande número de agentes
Agentes Cognitivos
Representação explícita do ambiente
Podem ter em conta o seu passado
Funcionamento complexo
Pequeno número de agentes
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
Enquadramento – Tipologia de
Nwana
Agentes
Colaborativos com
Aprendizagem
Mundo de Agentes
Agentes
Cooperação
Agentes
Colaborativos
Aprendizagem
Inteligentes
Autonomia
Agentes de Interface
Comparação entre duas entidades da
IA

Utilizador
Tarefa
Domínio
Dependência
Adaptação ao
meio
Meio/ambiente
Agente/Programa
Sistema Pericial
utilizador comum
perito
tarefa vulgar/simples
tarefa sofisticada
domínio pessoal
domínio específico
autónomo
dependente
do utilizador
adaptativo
conhecimento (+/- est)
distribuído (social)
isolado
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 Agentes
Agente
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, Criar outros agentes,
determinar se um host está ligado, enviar mensagens, moververificar se um site é atingível.
se de site para site
Uma
rede
heterogénea
e
que muda
Exemplos 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,
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 Simples
Agente jardineiro reactivo simples (veja-se (Russell e Norvig, 1994)
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
Regra que relaciona as percepções com as acções:
Se flor-murchar ENTAO regar
Agente Reactivo Com Estado
Agente jardineiro reactivo com representação do
estado (veja-se (Russell e Norvig, 1994)
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 Com Objectivos
Agente jardineiro com objectivos (veja-se (Russell e Norvig, 1994)
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
Os agentes e o ambiente: como
abordar 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
estados internos
percepções
AMBIENTE
acções
Os 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 – precondiçõ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
estados internos
percepções
AMBIENTE
acções
Propriedades 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 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:
Exemplos
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 Não
outros agentes
num ambiente
virtual 3D
Não
Não
Parcial
Agente de
informação
numa rede
Rede
heterogénea
Não
Não
Parcial
Parcial
Um novo desafio na IA
Ambiente
Xadrez
Robocup
Estático
Dinâmico
Mudança de Estado Voltas
Acessibilidade
Completa
Leitura dos sensores Simbólica
Controlo
Central
Tempo real
Parcial
Não simbólica
Distribuído
Ambientes 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
%
repeat
for each agente in agentes do
PERCEPT(agente) <- GET-PERCEPT(agente,estado)
end
for each agente in agentes do
ACTION(agente) <- RUN-AGENT(agente)(PERCEPT(agente))
end
estado <- FUNCAO-MUDANCA(acções, agentes, estado)
until término(estado)
Ambientes Simulados
Ambientes Simulados
Ambientes Reais: exemplos
Ambientes Mistos

Ambientes que combinam o mundo
real e o mundo virtual...
Ambientes Mistos (Void*)
<<<Void* VIDEO>>>
Resumo
Comportamento possível/
Teoria informal/
Conceptualização
Linguagens
de formalização
Caracterização
do ambiente
TEORIA DE AGENTES
ARQUITECTURAS DE AGENTES
(modelos)
Teorias de comunicação/
de cooperação/
CONSTRUÇÃO
de negociação
Bancadas
Linguagens
DE UM AGENTE i
SOCIEDADE DE AGENTES
APLICAÇÕES
Download