Sistema Multiagente com Teoria de
Jogos: Abordagem Promissora
Profa. Célia Ghedini Ralha
InfoKnow - Grupo de Sistemas Computacionais para o
Tratamento de Informação & Conhecimento
ComNet – Communication & Network Laboratory
Departamento de Ciência da Computação
Universidade de Brasília
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Sumário
Visão Geral - Conceitual Inteligência Artificial
Agente
Sistema Multiagente
Sistemas Mutiagentes Reativos
Sistemas Multiagentes Deliberativos Agentes BDI
Agentes Racionais Utilidades e Preferências
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
O que é IA? Conceito Segundo Luger (2004):
“ramo da ciência da computação que se ocupa com o comportamento inteligente”
Segundo Rich (1994):
“estudo de como fazer os computadores realizarem coisas que, atualmente, os
humanos fazem melhor”
Objetivos entender entidades inteligentes e reproduzir o comportamento inteligente
desenvolver sistemas para realizar tarefas que
não possuem solução algorítmica satisfatória pela computação convencional
[1] Luger, George F. Inteligência Artificial: Estruturas e Estratégias para a Solução de Problemas Complexos.
4ª ed. Porto Alegre: Bookman, 2004. 774 p. ISBN 85-363-0396-4
[2] Rich, Elaine; Knight, Kevin. Inteligência Artificial. 2ª ed. Rio de Janeiro: McGraw-Hill, 1994. 722 p. ISBN
85-346-0122-4
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Fundamentos
IA: Primeiros anos Logo após 2 Guerra Mundial - artigo do matemático Alan Turing [1]
John McCarthy: cunhou termo [2]
Primeiros anos (1952-1969): sucesso
GPS (GeneralProblemSolver) – Newell and Simon 1960
Linguagem LISP – McCarthy 1958
Micro-mundos – Minsky 1963 (problemas domínios limitados)
problemas clássicos da matémática
Aristóteles – explica o raciocínio dedutivo
Boole – 1840 formalização de operações lógicas
Frege – 1880 lógica de primeira ordem, termo e predicado, quantificação
Tarski – 1940 relação dos objetos da lógica c/ objetos do mundo (modelo)
Turing e Church – 1940 computabilidade, tratabilidade (complexidade)
Bayes (1760) – probabilidade
[1] Alan Turing. Computing Machinery and Intelligence (em inglês). Acesso em 19/06/12.
[2] J. McCarthy, M. L. Minsky, N. Rochester e C.E. Shannon. A Proposal for the Dartmouth
Summer Research Project on Artificial Intelligence (em inglês). Acesso em 19/06/12.
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Dimensões/Abordagens de IA
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Agindo de forma humana:
Teste de Turing
•Turing (1950) "Computing machinery and intelligence":
•The Imitation Game
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Sub áreas IA
Resolução de problemas (algoritmos + heurísticas)
Representação de conhecimento
Raciocínio lógico (teórico)
Sistemas especialistas (prático)
Processamento de linguagem natural (interdisciplinar)
Agentes inteligentes e sistema multiagente
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Paradigmas
Simbólico (IA clássica): metáfora linguística,
comunicação e interação
sistemas especialistas, agentes inteligentes
Conexionista: metáfora cerebral
redes neurais
Evolucionista: metáfora da natureza
algoritmos genéticos, vida artificial
Estatístico/Probabilístico
Redes Bayesianas, sistemas difusos
IA Clássica comportamento individual humano
Psicologia representação do conhecimento
raciocínio
aprendizagem
“sistemas inteligentes devem ser capaz de adaptar-se a novas situações, raciocinar, entender relações entre fatos, descobrir significados, reconhecer a verdade e aprender com base em sua experiência”
IA Distribuída (IAD) início 1980s, major research area in AI mid1990s
comportamento social
Sociologia comportamento inteligente atribuído a entidades coletivas
grupos, colônia de formigas, time de futebol, etc
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
IAD
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
O que é um Agente?
Não há um consenso
Shoam (1997)
“a software agent is an entity that functions
autonomously and continuously in a particular
environment always inhabited by other agents and
processes”
autonomia: agente realiza as suas atividades sem
a intervenção constante de uma pessoa
agente não existe isoladamente!!!
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Agente
Russel & Norvig (2009) [1,2]
“agente é qualquer entidade:
percebe seu ambiente através de
sensores (ex. câmeras, microfone,
teclado, finger, ...)
age sobre ele através de
efetuadores (ex. vídeo, auto-falante,
impressora, braços, ftp, ...)”
[1] Stuart Russel & Peter Norvig. Inteligência Artificial: Uma
Abordagem Moderna, Campus/Elsevier, 2004. ISBN: 8-
53-521177-2
[2] S. Russel & P. Norvig. Artifical Intelligence: A Modern
Approach, Prentice Hall , 3rd edition, 2009. 1152 p. ISBN
978-0136042594 (http://aima.cs.berkeley.edu/)
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Agente: resumo
é uma entidade real ou virtual;
que está inserida em um ambiente;
que pode perceber o seu ambiente;
que pode agir no ambiente;
que pode se comunicar com outros agentes;
que tem um comportamento autônomo como consequência de suas observações, de seu conhecimento e de sua interação com outros agentes.
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
História: Agentes Inteligentes
Abordagem Micro:
Entender agente como um todo
Entender funcionamento interno de agentes
incorporados a ambientes reais e com entradas
sensoriais contínuas
Abordagem Macro:
Entender como funciona uma sociedade de agentes
comunicação, interação, coordenação, cooperação,
competição
Baseada na psicologia social, sociologia, economia
Exemplos de Agentes
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Adele (segundo funcionalidade) (http://www.isi.edu/isd/ADE/papers/its98/ITS98-WW.htm)
Agente
pedagógico
animação na
Web
(ambiente
simulação)
Desenvolvido
no Center for
Advanced
Research in
Technology
for Education
da University
of Southern
California,
USA.
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Agente Racional
(McCarthy & Hayes 69, Newell 81)
Agente Racional: fazer a melhor coisa possível segue um princípio de racionalidade:
dada uma sequência perceptiva, o agente escolhe, segundo os seus conhecimentos, as ações que satisfazem melhor seu objetivo
Racionalidade dif. Onisciência limitações:
sensores
atuadores
máquina de inferência (conhecimento, tempo, etc.)
agir para obter mais dados perceptivos é racional!
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Desempenho
Mapeamento
[f: P* A]
Medida de desempenho (MD): Critério que define o grau de sucesso de um agente na realização de uma dada tarefa MD deve ser imposta (projetista)
Má escolha da MD -> comportamento indesejado
Compromissos entre objetivos múltiplos conflitantes
Resta o problema de saber quando avaliar o desempenho
e.g., aspirador de pó, provador de teoremas, filtragem de mails, policial de trânsito, avaliador de clima...
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Ambiente
Classes de ambientes Físico: robôs
Software: softbots
Realidade virtual (simulação do ambiente físico): softbots e avatares
Propriedades de um ambiente acessível x inacessível
estático x dinâmico
determinista x não-determinista
discreto x contínuo
episódico x não-episódico
tamanho: número de percepções, ações, objetivos,...
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Exemplos de Ambientes
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
sensores
percebem
ambiente
completo
próximo
estado
definido
atual +
ação
Cada
episódio
depende
ações
episódios
anteriores
ambiente
não se
altera
enquanto
agente
escolhe
ação
existe
conjunto
finito de
percepções
a cada
momento
Propriedade dos Agentes de Software
Agentes devem possuir as seguintes habilidades (noção
fraca) [1]:
• autonomia
•agir sem a intervenção de humanos;
• reatividade
percebe o ambiente e reage a ele;
• pró-atividade
toma a iniciativa;
• habilidade social
interação com outros agentes.
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
[1] M. Wooldridge and N.R. Jennings. Intelligent Agents: Theory and Practice.
Knowledge Engineering Review, 10(2):115–152, 1995.
Propriedade dos Agentes de Software
Noção Forte mobilidade: mover pela Internet;
veracidade: agente não irá comunicar informação falsa;
benevolência: irá ajudar os outros agentes;
racionalidade: agentes não irão agir de forma a impedir os seus objetivos de serem realizados;
cooperação: coopera com o usuário
intencionais
emocionais
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Tipos de Agentes Agentes devem ter todas as capacidades
inteligentes estudadas pela IA clássica: representação do conhecimento, raciocínio e aprendizagem ? Agente tabela
Agente reativo
Agente reativo baseado em modelo (estado interno)
Agente baseado em objetivos (cognitivo)
Agente baseado na utilidade (otimizado)
Agente com aprendizagem (adaptativo)
Autonomia
Complexidade Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Agente Tabela
Limitações
• Mesmo Problemas simples -> tabelas muito grandes (e.g. xadrez 30100)
• Nem sempre é possível, por ignorância ou questão de tempo, construir
a tabela
• Não há autonomia nem flexibilidade
Ambientes
• observável, determinístico, episódico, estático, discreto e pequeno!
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Agentes Reativos (FERBER, 1994)
Introduzida por Brooks (1986) no domínio da Robótica.
não há representação explícita do conhecimento
não possuem representação interna simbólica do ambiente agem através de um comportamento do tipo estímulo/resposta
para responder ao estado atual do ambiente ao qual estão inseridos;
não há memória das ações
organização biológica
grande número de membros
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Agentes Cognitivos ou Deliberativos
Derivam do paradigma do pensamento deliberativo [1] “agents that possess an explicitly represented, symbolic model of
the world and in which decisions (for example about what actions to perform) are made via symbolic reasoning”
Capacidades Inteligentes: percepção e interpretação de dados de entrada e mensagens;
raciocínio sobre suas crenças, desejos, intenções (BDI);
tomada de decisão (seleção de objetivos);
planejamento (seleção ou construção de planos de ações, resolução de conflitos e alocação de recursos);
[1] M. Wooldridge and N.R. Jennings. Intelligent Agents: Theory and Practice. Knowledge Engineering
Review, 10(2):115–152, 1995.
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Agente baseado em utilidade (otimização)
Agentes vs Sistema Multiagente
Agentes
•cada uma das entidades
•PEAS: Performance measure, Environment,
Actuators, Sensors
Sistema Multiagente (SMA)
•coleção de entidades
•entidades que se comunicam através de uma
linguagem comum
•cada agente tem conhecimento e habilidades para
executar uma determinada tarefa, podendo
cooperar ou não, para atingir um objetivo global.
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Taxonomia de Interação
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Michael Huhns & Larry Stephens, Multiagent Systems and Societies of Agents, Chap 2,
Multiagent Systems- A Modern Approach to Distributed Artificial Intelligence, G. Weiss (ed.),
MIT Press, 1999.
Segundo [1], SMA é grupo agentes que interagem
Trocando mensagens através da rede com uso de um protocolo de
comunicação (Internet: TCP/IP, SMTP, HTTP)
KQML-Knowledge Query Manipulation Language (origem Speach Act [2])
KIF - Knowledge Interchange Format
FIPA- ACL (Agent Communication Language padrão FIPA - Foundation
for Intelligent Physical Agents)
Utilizando protocolo de interação
Contract net , market places - protocolo de negociação
Blackboard systems - protocolo de cooperação
Frameworks de desenvolvimento SMA
JADE-Java Agent Development [2] (Java e padrão FIPA), Jadex Agents
SPADE Multiagent and Organization Platform (Python)
[1] Wooldridge, M. Introduction to MultiAgent Systems. John Wiley & Sons, 2nd edition., 2009
[2] Austin book, How to Do Things with Words, 1962.
[3] Bellifemine, F. Developing Multi-agent Systems with JADE. John Wiley & Sons, 2007
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Abordagens de Comunicação
Duas escolas: mental vs. convencional [1]
Mental – atitudes (crenças e intenções)
explicam o comportamento dos agentes, mas não
verificável, não sendo útil como base p/ sistemas
abertos de comunicação baseado em significado
Convencional – normas públicas
Baseado em convenções públicas e interações
sociais
[1] M.P. Singh. Agent Communication Languages: Rethinking the
Principles. IEEE Computer, 31(12):40–47, 1998.
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Abordagem Mental - BDI
[1] especificam agentes em termos de:
conjunto de crenças (beliefs)
conjunto de objetivos ou desejos (desires)
conjunto de intenções (intentions)
Muitas propostas tem sido feitas para
axiomatização do relacionamento entre
beliefs/desires/intentions em lógica multimodal.
[1] A.S. Rao and M.P. Georgeff. An Abstract Architecture for Rational Agents.
Proc. KR-1992.
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Abordagem Convencional - FSM
Protocolos que especificam o comportamento dos
agentes, e.g. FSM [1]
semântica social definida para o comportamento dos
agentes
Adequado para sistemas abertos de comunicação
baseado em significado
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
[1] BLACK, Paul E. (12 May 2008). "Finite State
Machine". Dictionary of Algorithms and Data
Structures. U.S. National Institute of Standards and
Technology.
SMA: Estrutura Típica
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Jennings. On Agent-based Software Engineering, Artificial Intelligence, 117:277-296, 2000.
agents organization
sphere of influence
environment
Economia A Ciência da Economia (1776)
Teoria da Decisão:
probabilidade + teoria da utilidade
grandes grupos
Teoria dos Jogos
estuda situações estratégicas onde jogadores escolhem
diferentes ações na tentativa de melhorar seu retorno;
Dilema dos prisioneiros
Utilidade e Preferência Assuma que existem somente 2 agentes: Ag = {i,j}
Agentes são competitivos (self-interested)
Agentes tem preferências sobre como o ambiente está
Assuma que existem um conjunto de saídas que os agentes tem
preferências:
W = {w1, w2, ...}
Existe uma função de utilidade que captura preferências:
ui: W -> R
uj: W -> R
Função de utilidade leva a uma ordem de preferência
w »i w’ significa que ui (w) ≥ ui (w
’)
w »i w’ significa que ui (w) > ui (w
’), mas não ui (w) = ui (w’)
(preferência estrita)
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
O que é utilidade?
não é simplesmente moeda
suponha que seja recurso/moeda
Analogia útil - típica relação entre utilidade e moeda
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
SMA Model Precisamos de um modelo de ambiente para ação dos
agentes
Agentes podem escolher ações simultaneamente para agir no
ambiente
Como resultado da ação teremos um conjunto de saídas
W = {w1, w2, ...}
O estado atual do ambiente depende da combinação das ações
dos agentes
Assuma que cada agente tenha somente uma possibilidade de
ação C (cooperar) e D (defender)
O comportamento do ambiente é dado pela função de
transformação Ƭ
Ƭ: Aci (ação agente i) X Acj (ação agente j) -> W
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Imagine um ambiente sensível a ação 2 agentes
Ƭ(D,D)= w1 Ƭ(D,C)=w2 Ƭ(C,D)=w3 Ƭ(C,C)= w4
Imagine um que nenhum tenha influência
Ƭ(D,D)= w1 Ƭ(D,C)= w1 Ƭ(C,D)= w1 Ƭ(C,C)= w1
Imagine um ambiente controlado agente j
Ƭ(D,D)= w1 Ƭ(D,C)= w2 Ƭ(C,D)= w1 Ƭ(C,C)= w2
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Agentes Racionais Suponha que 2 agentes influenciem a saída
através da função utilidade
ui (w1) = 1 ui (w2) = 1 ui (w3) = 4 ui (w4) = 4
uj (w1) = 1 uj (w1) = 4 uj (w1) = 1 uj (w1) = 4
Abusando um pouco
ui (D,D) = 1 ui (D,C) = 1 ui (C,D) = 4 ui (C,C) = 4
uj (D,D) = 1 uj (D,C) = 4 uj (C,D) = 1 uj (C,C) = 4
Preferência do agente i:
C, C »i C,D »i D, C »i D,D
C é a escolha racional para o agente i
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Matriz de payoff
Podemos caracterizar o cenário em uma
matriz payoff
Agente i é a coluna
Agente j é a linha
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Conceitos de Solução
Como podemos definir uma ação racional
em qualquer cenário?
Estratégia dominante
Equilíbrio de Nash
Estratégias Pareto Eficiente
Estratégias de maximização social
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Estratégia Dominante
Quando a estratégia Si é dominante par ao
agente i independente da estratégia de Sj
Mas na realidade não existe uma estratégia
sempre dominante
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Equilíbrio de Nash Dizemos que duas estratégias estão em equilíbrio de Nash
se:
Sob a condição do agente i escolher a estratégia S1 , o
agente j não pode ter melhor opção do que a estratégia S2
e
Sob a condição do agente j escolher a estratégia S2 , o
agente i não pode ter melhor opção do que a estratégia S1
Nenhum dos agentes tem incentivo para alterar suas
estratégias
Infelizmente nem todo cenário tem Equilíbrio Nash
Alguns cenários tem mais que um Equilíbrio Nash
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Pareto Eficiente
Uma saída é dita como Pareto ótima ou
Paretto Eficiente se não existir outra saída
que tenha melhor resultado sem que traga
pior resultado ao outro agente
Desta forma pelo menos um agente vai
relutar em alterar sua estratégia (sendo
que pode ficar pior) – agente racional
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Maximização Social
A saída w deve ser a soma de todas as
utilidades de cada agente que produzir
Σi Ɛ Ag ui (w)
Entendam como soma de todo o recurso ou
moeda do sistema
A solução é global e não individual do
agente.
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Conclusão
a área de SMA tem muito que estudar
para auxiliar na resolução de problemas
complexos, reais, e as teorias econômicas
podem auxiliar nestes resultados!!!
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Obrigada.
Perguntas????
Profª Célia Ghedini Ralha
página pessoal: http://www.cic.unb.br/~ghedini
CV Lattes: http://lattes.cnpq.br/5632722847264046
Seminário de Pesquisa - Ciclo 2012-I
CIEF/CERME/ECO/UnB
Top Related