Modelagem Orientada a Agentes
Professores :
Edson Scalabrin Ph.D
Marcos Shmeil Ph.D
Pontifícia Universidade Católica do Paraná ( PUCPR )
Programa de Pós-Graduação em Informática Aplicada (
PPGIA )
LAboratório de Sistemas Inteligentes ( LASIN )
e-mail: { scalabrin, shm } @ ppgia.pucpr.br
Da Inteligência Artificial
à Inteligência Artificial Distribuída
Como reunir, em um único sistema
“inteligente”, todos os conhecimentos
( ou expertises ) necessários para a
realização de tarefas complexas, que
habitualmente são efetuadas
por seres humanos ?
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
2
Da Inteligência Artificial
à Inteligência Artificial Distribuída
A principal dificuldade, envolvendo a IA clássica, surge
principalmente quando se busca :
• modelar um processo de produção,
• uma missão espacial
• a pilotagem de um avião
Os limites da IA são devidos as necessidades da assimilação :
• de kwon-how e de uma grande quantidade competências diferentes
para efetuar uma programação centralizada.
A IAD, ao contrário IA, integra em sua essência, a natureza
distribuída destas competências e expertises.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
3
Por que distribuir a inteligência ?
Os problemas são fisicamente distribuídos
 Os problemas são funcionalmente bem distribuídos e
heterogêneos
 As redes impõem uma visão distribuída
 A complexidade dos problemas impõe uma visão local
 Os sistemas devem poder adaptar-se as modificações de
estrutura e de ambiente
 A engenharia de software caminha para uma concepção
em termos de unidades autônomas interagentes

PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
4
Por que distribuir a inteligência ?
 Os problemas são fisicamente distribuídos
• Os problemas complexos são efetivamente na maior parte
do tempo fisicamente distribuídos !
Exemplos:
• uma rede de transporte é naturalmente repartida sobre um
grande espaço
• um sistema de controle industrial
– refinarias, linha de montagem
• a gestão de tráfego de veículos
– cada avião ou carro é uma entidade autônoma
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
5
Por que distribuir a inteligência ?
 Os
problemas são funcionalmente
bem distribuídos e heterogêneos
Exemplo:
• A concepção de um carro de Formula 1.
• Intervenção de vários de especialistas :
–
–
–
–
–
especialista em motores
especialista em chassis
especialista em pneumáticos
engenheiro em chefe
piloto
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
6
Por que distribuir a inteligência ?
 As
redes de computadores impõem
uma visão distribuída
 Exemplo:
• Internet ( World Wide Web )
• Sistemas abertos “à la Hewitt” ( interoperabilidade radical do
sistemas de informação )
• Teleinformática móvel
Os sistemas multi-agentes são fortes candidatos para a
construção de arquiteturas abertas distribuídas,
heterogêneas e flexíveis, capazes de oferecer uma grande
quantidade de serviços em um trabalho coletivo, sem
impor uma estrutura a priori.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
7
Por que distribuir a inteligência ?
A
complexidade dos problemas
impõe uma visão local
Quando um problema é muito grande para ser analisado
globalmente, as soluções baseadas em abordagens
locais permitem com uma certa freqüência resolver-los
mais rapidamente
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
8
Por que distribuir a inteligência ?
 Os
sistemas devem poder adaptar-se
as modificações de estrutura e de
ambiente
• Saber conceber sistemas computacionais eficientes,
confiáveis e corretos não é mais suficiente !
• Como devem então ser construídos os novos
sistemas?
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
9
Por que distribuir a inteligência ?

Os novos softwares devem ser altamente adaptáveis as
modificações de contexto de trabalho :





mudança de sistema operacional,
gerenciador de base de dados,
interfaces gráficas,
adição de outros softwares, etc.
Eles devem possuir capacidades para evoluir frente a certas
necessidades, tais como :
 adição de novas funcionalidades,
 modificações sobre sua utilização,
 integração de um novo software, etc.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
10
Por que distribuir a inteligência ?
 Os SMA, pela sua natureza distribuída :
 envolvendo sempre um raciocínio local, e
 permitindo a integração dinâmica de novos agentes
. . . são arquiteturas aptas a levar em conta as evoluções e
adaptações necessárias para o funcionamento destes
novos sistemas.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
11
Por que distribuir a inteligência ?
A
engenharia de software caminha
para uma concepção em termos de
unidades autônomas interagentes

Historicamente, a concepção de software tende :
• a criação de sistemas desenvolvidos como conjuntos de
entidades cada vez mais distribuídas, e
• o interesse pelo desenvolvimento de componentes
independentes e autônomos.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
12
Por que distribuir a inteligência ?
 A partir do surgimento das linguagens orientada a
objetos :
• a engenharia de software passa a construir módulos autônomos
capazes de interagir entre si,
– em particular, módulos concebidos por pessoas,
equipes ou empresas diferentes

Evoluções trazidas pelos Objetos :
• Objetos :

localidade
Evoluções trazidas pelos SMA :
• Agentes : localidade + autonomia +
repartição das tomadas de decisões
Amanhã a
Engenharia Software
será Orienta Agente!
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
13
Princípios dos
sistemas multi-agente

Noções elementares
•
•
•
•
•
indivíduo e grupo / agente e sociedade
conflito
cooperação
colaboração
coordenação de ações
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
14
Princípios dos
sistemas multi-agente
O que é um agente ?
É uma entidade física ou virtual [ J. Ferber ]:
•
•
•
•
•
•
•
•
•
que é capaz de agir em um ambiente,
que pode comunicar diretamente com outros agentes,
que é movida por um conjunto de tendências (na forma de objetivos),
que possui recursos próprios,
que é capaz de perceber (de maneira limitada) seu ambiente,
que dispõe de uma representação parcial desse ambiente,
que possui competências e oferece de serviços,
que pode eventualmente se reproduzir,
cujo o comportamento é satisfazer seus objetivos  levando em conta
seus recursos e suas competências  em função de sua percepção, de
suas representações e de suas comunicações.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
15
Princípios dos
sistemas multi-agente
J. Ferber
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
16
Princípios dos
sistemas multi-agente
O que é um sistema multi-agente ?
É sistema constituído por [ J.Ferber ] :
 um ambiente E, ou seja um espaço que dispõe em geral de uma métrica
 um conjunto de objetos O.
Estes objetos são situados, ou seja, para todo objeto, é
possível, em um dado momento, associar uma posição em E. Estes objetos são
passivos, ou seja, eles podem ser percebidos, criados, destruídos e modificados
pelos agentes.
 um conjunto A de agentes, que são objetos particulares (A  O), os quais
representam as entidades ativas do sistema.
 um conjunto de relações R que une os objetos (e agentes) entre eles.
 um conjunto de operações Op que permite aos agentes de A perceber, produzir,
consumir, transformar e manipular objetos de O.
 operadores encarregados de representar a aplicação destas operações e a reação
do mundo à esta tentativa de modificação, leis do universo.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
17
Princípios dos
sistemas multi-agente
O que é um agente puramente comunicante ?
É uma entidade informática que :







encontra-se num sistema de informática aberto
( conjunto de aplicações, de redes e de sistemas heterogêneos ),
pode comunicar com outros agentes,
é munida por um conjunto de objetivos próprios,
possui recursos próprios,
dispõe somente de uma representação parcial dos outros agentes,
possui competências que ela pode oferecer aos outros agentes,
tem um comportamento que busca satisfazer seus objetivos  levando
em conta seus recursos e suas competências  em função de suas
representações e de suas comunicações.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
18
Princípios dos
sistemas multi-agente
O que é um agente puramente situado ?
É uma entidade física ( ou informática quando simulada ) que :
• encontra-se situada em um ambiente,
• é movida por uma função de sobrevivência,
• possui recursos próprios, sob a forma de energia e de ferramentas,
• é capaz de perceber ( de maneira limitada ) seu ambiente,
• não possui quase nenhuma representação de seu ambiente,
• possui competências,
• pode eventualmente se reproduzir,
• tem um comportamento que busca satisfazer sua função de
sobrevivência levando em conta seus recursos, suas percepções e
suas competências.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
19
Princípios dos
sistemas multi-agente
Níveis de uma organização em um SMA

Nível social,
• trata-se das interações que existem entre dois ou mais agentes e
suas diferentes formas de ligações entre eles

Nível de grupo,
• trata-se das estruturas intermediárias que intervêm na
composição de uma organização mais completa

Nível de sociedade global (ou população),
• o interesse porta sobre, a dinâmica de um grande número de
agentes, assim como, sobre a estrutura geral do sistema e sua
evolução.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
20
Princípios dos
sistemas multi-agente
Organização
emergência de
funcionalidades
Sistemas
de interação
restrições e
objetivos sociais
Agentes
Relação micro-macro nos sistemas multi-agentes
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
21
Princípios dos
sistemas multi-agente
Social ou biológica

Deve-se fabricar agentes como entidades :
já “inteligentes”, ou seja, capazes de resolver
certos problemas por si-mesmo ?

Deve-se fabricar agentes como entidades
próximas à seres bastante simples, que reagem
diretamente as modificações do ambiente ?
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
22
Princípios dos
sistemas multi-agente
Escola cognitiva


É a escola mais representativa no contexto da IAD
Ela tem por objetivo, na sua origem, o desejo de
fazer comunicar e cooperar sistemas
especialistas clássicos
Ex. Projeto CyC: 1984 - 1994
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
23
Princípios dos
sistemas multi-agente
Escola Cognitiva
Um sistema multi-agente é em geral
composto por um pequeno número
de agentes inteligentes
 Cada agente cognitivo dispõe de :

• uma base de conhecimento, compreendendo um
conjunto de informações e as habilidades
necessárias, para a realização de suas tarefas e para a
gestão das interações com os outros agentes e seu
ambiente.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
24
Princípios dos
sistemas multi-agente
Escola cognitiva

Os agentes são “intencionais”
• eles possuem objetivos e planos
explícitos, que permite os mesmos
cumprir seus objetivos

Os problemas de cooperação se assemelham
fortemente aqueles de pequenos grupos de
indivíduos, que devem
• coordenar suas atividades e
• negociar entre si para resolver seus conflitos
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
25
Princípios dos
sistemas multi-agente
Escola reativa
Tese :
não é necessário que os agentes sejam inteligentes
individualmente, para que o sistema tenha um
comportamento global inteligente.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
26
Princípios dos
sistemas multi-agente
Escola reativa ou biológica :


Um sistema multi-agente é
composto por um grande número
agentes simples.
Os agentes, possuem mecanismos de reação aos
eventos, sem levar em conta :
• nenhuma explicitação de objetivos e
• nenhum mecanismo de planejamento.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
27
Princípios dos
sistemas multi-agente
Exemplo de organização: Formigueiro


todas as formigas, se situam em um mesmo plano de
igualdade, e nenhuma delas possui qualquer tipo autoridade
estrita sobre uma outra.
todas as formigas, coordenam suas ações de tal modo, que a
colônia sobreviva e supere problemas complexos :
•
•
•
•
a busca de alimentos,
os cuidados a efetuar sobre os ovos e larvas,
a construção do ninho,
a reprodução, etc.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
28
Princípios dos
sistemas multi-agente
Agentes Cognitivos


Grande sofisticação e capacidade de raciocinar sobre o mundo
( graças a representação interna e mecanismos de inferência )
Isto habilita os agentes a:
• realizarem tarefas complexas, se compararmos a
simplicidade das faculdades dos agentes reativos
• funcionarem de modo independente
• resolverem problemas complexos de maneira
relativamente individual
• uma grande flexibilidade na expressão de seu
comportamento
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
29
Princípios dos
sistemas multi-agente
Agentes reativos


Pouquíssima sofisticação e capacidade de raciocinar sobre o mundo.
Algumas características :
• comportamento bastante rígido
• individualmente estes agentes são bastante fracos
• a força deles vêm de sua capacidade de organizar-se em grupo
( constituir colônias capazes de adaptar-se ao seu ambiente )
• nenhuma ou pouca individualidade
• o principal interesse sobre eles, situa-se a nível de população e das
capacidades de adaptação, e de evolução que emergem das
interações entre seus membros
• a grande quantidade e redundância de agentes em uma colônia,
permite que tarefas complexas possam ser resolvidas
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
30
Princípios dos
sistemas multi-agente
Antecipação e Reação
É a capacidade ou não,
de antecipar-se sobre os eventos futuros
e de preparar-se para tal
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
31
Princípios dos
sistemas multi-agente
Agentes Reativos :
• não possuem nenhuma representação de
seu ambiente e dos outros agentes
• são incapazes de prever o que vai acontecer
e consequentemente de antecipar um
acontecimento planejando as ações a efetua
A ausência de representação do mundo e a reação através de
mecanismos bastante simples baseado na dualidade:
estímulo/resposta, torna o processo de antecipação impossível.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
32
Princípios dos
sistemas multi-agente
Agentes Cognitivos :
• possuem uma representação parcial
de seu ambiente e dos outros agentes
• possuem capacidades, tais como :
– raciocinar sobre a sua representação do
mundo
– memorizar e analisar situações
– prever possíveis reações as suas ações
– planejar seu próprio comportamento
Os agentes podem assim construir e manipular o seu mundo virtual e
até mesmo produzir planos de ações.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
33
Princípios dos
sistemas multi-agente
Agentes cognitivos
Plano abrir-Porta
ir até o local onde se
encontra a chave
pegar a chave
ir até a porta
abrir a porta com a chave
A capacidade de antecipação e planejamento dos agentes
cognitivos, permite-lhes otimizar seu comportamento e
efetuar somente as ações verdadeiramente necessárias.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
34
Princípios dos
sistemas multi-agente
Agentes reativos
Plano abrir-Porta
R1 : se eu estou enfrente a porta
e que eu tenho uma chave
então abrir a porta
R2 : se eu estou enfrente a porta e
sem a chave
então tentar abrir a porta
R3 : se a porta não se abre e
que eu não tenha a chave
então ir procurar a chave
R4 : se eu procuro uma chave e
existe uma chave ao meu alcance
então pegar a chave e ir até a porta
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
35
Princípios dos
sistemas multi-agente
Resumo :
Agentes cognitivos
Agentes reativos
 um plano é construído pelo próprio agente.
 as regras são dadas pelo projetista do agente.
Número de ações executadas :
• os agentes cognitivos, otimizam o número de movimentos, visto que
eles podem prever a seqüência de ações a executar,
• os agentes reativos funcionam na base da tentativa,
Os agentes reativos contêm um conhecimento compilado das ações a
executar :
• eles não precisam construir uma representação mental de seus
mundos, sendo suficiente a reação as situações que se apresentam.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
36
Princípios dos
sistemas multi-agente
Arquitetura e comportamento
 Um agente se caracteriza :
• pelo modo que ele é concebido e
• pelas suas ações,
ou seja,
• pela sua arquitetura e
• pelo seu comportamento
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
37
Princípios dos
sistemas multi-agente
Arquitetura :
A arquitetura corresponde o ponto de vista do projetista, que
pode-se resumir em :
• como montar as diferentes partes de um agente de maneira que ele
realize as ações esperadas ?
• perguntas auxiliares :
– os agentes dispõem de uma representação de seu ambiente ou reagem
simplesmente aos estímulos que eles percebem ?
– os agentes são capazes de raciocinar a partir de símbolos ou aplicam
simplesmente as ações pré-estabelecidas ?
As respostas a estas questões encontram-se no “ interior ” dos
agentes ( levantar o “capô” ).
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
38
Princípios dos
sistemas multi-agente
Comportamento :
Trata-se de um fenômeno, que pode ser compreendido por
um observador externo, que, ao ver as ações que o agente
executa, descreve a relação existente entre o agente, seu
ambiente e os outros agentes.
O comportamento pode ser analisado sem conhecer os
detalhes de implementação, ou seja, sem levantar o “capô”.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
39
Princípios dos
sistemas multi-agente
Comportamento :
Exemplo: Avião evitando outro avião
A iniciativa de um avião em evitar um outro avião,
é uma característica de seu comportamento,
independente da maneira que ela foi implementada.
O comportamento caracteriza, assim, o conjunto de
propriedades que um agente manifesta no seu ambiente.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
40
Princípios dos
sistemas multi-agente
Comportamento :
Para compreender o comportamento de um agente, deve-se
olhar sua maneira de evoluir e de responder as
solicitações de seu ambiente.
Esta abordagem, conduz a definição de modelos
comportamentais independentes da arquitetura,
mesmo quando,
certas arquiteturas se prestam melhor que outras na
realização de certos comportamentos.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
41
Princípios dos
sistemas multi-agente
Linguagens, comunicações e representações :
Linguagens de formalização
e especificação
Tipo L5
Linguagens de
Linguagens de descrição
Linguagens de
comunicação
dos comportamentos e
representação de
entre agentes
das leis do ambiente
conhecimentos
Tipo L2
Tipo L3
Tipo L4
Linguagens de
implementação
Realização
Tipo L1
Abstração
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
42
Princípios dos
sistemas multi-agente
Linguagens, comunicações e representações :
Tipo L1 : Linguagens de implementação
Utilizadas para programar os agentes, incluindo :
• as estruturas informáticas utilizadas pelos agentes e pelo ambiente ;
• os mecanismos informáticos para permitir o paralelismo inter e
intra-agente ;
• a implementação efetiva dos comportamentos ;
• as atividades de envio e recepção de mensagens ;
• a percepção de objetos num ambiente ;
• o conjunto de ferramentas necessárias para “ajustar” um SMA.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
43
Princípios dos
sistemas multi-agente
Linguagens, comunicações e representações :
Tipo L2 : Linguagens de comunicação
• Utilizadas nas interações entre agentes, pelo viés da
transmissão de informações e da demanda mutua de
informações e serviços.
• As linguagens de comunicação, constituem o meio pelo
qual os agentes eventualmente heterogêneos podem :
• coordenar suas ações ;
• cooperar sobre um meta comum ;
• integrar-se a um grupo de agentes.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
44
Princípios dos
sistemas multi-agente
Linguagens, comunicações e representações :
Tipo L3 : Linguagens de descrição dos comportamentos e
das leis do ambiente
• elas permitem a descrição do comportamento e das leis do universo
do ambiente de forma independente da linguagem de implementação
e da natureza do agente ;
• elas são linguagens com um alto nível de abstração ;
• regras de produção ;
• redes de Petri, etc.
OBS: Descrever diretamente os comportamentos dos agentes ou as leis do
universo numa linguagem de implementação, introduz um certo número
de detalhes inúteis à compreensão do sistema e esconde os princípios
essenciais (ex. flexibilidade).
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
45
Princípios dos
sistemas multi-agente
Linguagens, comunicações e
representações :
Tipo L4 : Linguagens de representação
de conhecimentos
• As linguagens utilizadas são baseadas em
sistemas formais, possuindo uma sintaxe e
uma semântica rigorosamente definida para
explicitar suas inferências ( sistemas lógicos ),
e servem para :
exprimir os estados mentais dos agentes ;
representar o conteúdo de seus objetivos e crenças ;
descrever o comportamento
dos agentes.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
46
Princípios dos
sistemas multi-agente
Linguagens, comunicações e
representações :
Tipo L4 : Representação de conhecimentos
Exemplos :
• linguagens baseadas em regras ou
quadro negro ;
• linguagens de representação
estruturada de conhecimentos
• as redes semânticas ;
• as frames.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
47
Princípios dos
sistemas multi-agente
Linguagens, comunicações e representações :
Tipo L5 : Linguagens de formalização e especificação
Linguagem abstrata servindo a :
• formalizar um SMA, através da noção de interação,
do conceito de intenção, etc. ;
• especificar as condições que devem ser respeitadas durante a
modelagem e implementação do sistema.
Ex. lógicas modais
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
48
Princípios dos
sistemas multi-agente
Linguagens, comunicações e representações :
Exemplo de ligações entre as linguagens
Um protocolo de negociação, utilizará :
• uma linguagem de comunicação (tipo L2),
• uma linguagem de tipo L3, para descrever os mecanismos de
interpretação das mensagens e as funções de avaliação das
proposições invocadas de uma parte e de outra.
• os componentes da cognição, assim que o modo de raciocínio
poderão ser representados em linguagens de tipo 1, o interpretador
desta linguagem sendo geralmente escrito numa linguagem de tipo
L3.
• o funcionamento geral do sistema, assim que a estrutura de diálogo
empregada deverão respeitar as especificações escritas em L4.
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
49
Princípios dos
sistemas multi-agente
Referências:
Ferber J., 1996, Les systèmes multi-agents : vers une
intelligence collective, Editora: InterEditions
PUCPR / PPGIA / LASIN / Edson Scalabrin e Marcos
Shmeil
50
Download

Linguagens, comunicações e representações