Está en la página 1de 154

MARCOS VINICIUS POLICARPO CRTES

UEBDI : UMA ARQUITETURA PARA


AGENTES EMOCIONAIS BDI

Dissertao apresentada ao Programa de


Ps-Graduao em Co mputao da
Universidade Federal Flu minense, como
requisito parcial para obteno do Grau de
Mestre na rea de Concentrao
Engenharia de Software.

Orientadora: Prof. Dr. VIVIANE TORRES DA SILVA

Niteri
2013

Ficha Catalogrfica Esta pgina deve ser removida na verso a ser entregue para a banca,
mas deve ser reinserida na verso final, com a ficha catalogrfica fornecida pela biblioteca.
Informaes sobre este processo devem ser obtidas na secretaria da ps-graduao.

MARCOS VINICIUS POLICARPO CRTES

UEBDI : UMA ARQUITETURA PARA AGENTES EMOCIONAIS BDI

Dissertao apresentada ao Programa de PsGraduao em Computao da Universidade


Federal Fluminense, como requisito parcia l
para obteno do Grau de Mestre. rea de
Concentrao: Engenharia de Software.

Aprovada em janeiro de 2013

BANCA EXAMINADORA

_____________________________________________________________
Prof. Dr. Viviane Torres da Silva Orientadora
UFF - Universidade Federal Fluminense

_____________________________________________________________
Prof. Dr. Anselmo Antunes Montenegro
UFF - Universidade Federal Fluminense

_____________________________________________________________
Prof. Dr. Ricardo Choren Noya
IME - Instituto Militar de Engenharia

Niteri
2013

Agradecimentos
Ao meu pai e meu irmo por me acompanharem neste perodo. Aos colegas que fiz na
ps-graduao, minha orientadora Viviane Torres Silva, aos professores e funcionrios da
UFF que me ajudaram no decorrer deste trabalho. A Jomi Hbner, coautor do Jason, pelo
suporte a ferramenta. Ao CNPq, pelo apoio financeiro dado atravs do processo n
146846/2010-9.

Muito Obrigado

Resumo
Agentes Emocionais BDI so uma classe de agentes que estende a arquitetura BDI
para resolver os problemas de capturar, expressar e simular o fenmeno emocional em
sistemas computacionais. Algumas abordagens de Agentes Emocionais BDI simulam a
emoo de forma explcita, construindo uma base de emoes que influencia as outras
instncias da arquitetura e funes que revisam o estado emocional sobre a arquitetura BDI.
Visto que no existe abordagem prvia que tenha realizado todas as possveis
influncias usando um embasamento terico vlido, esta Dissertao de Mestrado prope uma
arquitetura abstrata para lidar com a influncia emocional sobre todas as outras instncias da
arquitetura. Alm disto, esta proposta foi mapeada e implementada sobra a Plataforma de
Agentes Jason e uam srie de experimentos foram feitos para valid-la.
Palavra chave: Agentes emocionais, Agentes BDI, Arquitetura de Agente, Agentes
Emocionais BDI.

Abstract
Emotional BDI Agents are a class of agents that extend BDI architecture to solve
problems of capturing, expressing and simulating emotional phenomena on computational
systems. Some approaches of Emotional BDI Agents simulate emotion in an explicit way,
building an emotional base that influences other architectures instances and functions to
review the emotional state over the BDI architecture.
Since no previous approach has fulfilled all possible influences using a valid theorical
basis, this Masters Thesis proposes an abstract architecture to deal with emotional influence
on every other architectures instance. Furthermore, the proposed approach was mapped and
implemented using Jason Agent Platform and a serie of experiments has been performed to
validate it.
Keywords: Emotional Agents, BDI Agents, Agent Architecture, Emotional BDI Agents.

Lista de Figuras
Figura 1: Agent Function .............................................................................................. 21
Figura 2: Arquitetura BDI............................................................................................. 25
Figura 3: Estrutura geral do Jason ................................................................................ 26
Figura 4: Fluxo de execuo Jason ............................................................................... 27
Figura 5: Tpicos da Computao Afetiva ................................................................... 35
Figura 6: Arquitetura UEBDI internamente ................................................................. 70
Figura 7: Perception Function ...................................................................................... 72
Figura 8: Perception Function (internamente).............................................................. 73
Figura 9: Funes de Reviso Emocional..................................................................... 78
Figura 10: First Emotion Review Function................................................................... 80
Figura 11: First Emotion Review Function internamente ............................................. 81
Figura 12: Second Emotion Review Function ............................................................... 83
Figura 13: Second Emotion Review Function internamente ......................................... 83
Figura 1: Belief Review Function.................................................................................. 84
Figura 15: Belief Review Function (internamente) ....................................................... 84
Figura 16: Option Function .......................................................................................... 87
Figura 17. Option Function (internamente) .................................................................. 89
Figura 18: Filter Function ............................................................................................ 91
Figura 19: Filter Function internamente....................................................................... 91
Figura 20: Execute Function ......................................................................................... 94
Figura 21: Execute Function Internamente ................................................................... 95
Figura 22: Mapeamento Perception Function .............................................................. 99
Figura 23: Mapeamento Belief Review Function ........................................................ 101
Figura 24: Mapeamento Option Function................................................................... 102
Figura 25: Mapeamento Filter Function..................................................................... 104
Figura 26: Mapeamento Execute Function ................................................................. 105

Figura 27: Mapeamento das funes de emoo ........................................................ 107


Figura 28: L por intensidade de Relaxado-Ansioso .................................................... 113
Figura 29: Nota por Sresposta ......................................................................................... 117
Figura 30: Mdia de Nota por decValue ..................................................................... 121
Figura 31: Nota por valor de decEmoValue................................................................ 122
Figura 32: PI total dos agentes .................................................................................... 135
Figura 33: PC total dos agentes .................................................................................. 135
Figura 34: PG dos agentes .......................................................................................... 136
Figura 35: Mdia de nscore por tarefa t ...................................................................... 143

Lista de Tabelas
Tabela 1: Estados emocionais adotados nas arquiteturas ............................................. 38
Tabela 2: Comparao Funo x Base .......................................................................... 68
Tabela 3: Resumo das bases e funes da arquitetura UEBDI ..................................... 97
Tabela 4: Resumo do mapeamento da UEBDI para o Jason ...................................... 109
Tabela 5: Mdia de sobreviventes e tempo de simulao ........................................... 115
Tabela 6: Notas por valor de decValue ....................................................................... 121
Tabela 7: Notas por valor de decEmoValue................................................................ 122
Tabela 8: Contra-Desempenho para assaultTax=0.1.................................................. 126
Tabela 9: Contra-Desempenho para assaultTax=0.3 .................................................. 126
Tabela 10: Contra-Desempenho para assaultTax=0.5................................................ 127
Tabela 11: Matriz de Pontos Individuais da Rodada .................................................. 131
Tabela 12: Matriz de Pontos de Cooperao da Rodada ............................................ 131
Tabela 13: Agentes/estratgias adotados .................................................................... 132
Tabela 14: Estratgia adotada em dado estado emocional.......................................... 133
Tabela 15: Resultado de cada combate do experimento IPD.A.................................. 136
Tabela 16: Resultado geral do experimento IPD.A .................................................... 136
Tabela 17: Incremento/Decremento da funo de mudana....................................... 139
Tabela 18: Configurao dos Servidores .................................................................... 141
Tabela 19: Intensidade Emocional dos Clientes pelos Servidores.............................. 142
Tabela 20: Figuras usadas no diagrama ...................................................................... 154

Sumrio
1

Introduo ................................................................................................................14

1.1

Motivao.................................................................................................................16

1.2

Soluo Proposta .......................................................................................................16

1.3

Contribuies ............................................................................................................18

1.3.1

Arquitetura abstrata UEBDI .................................................................................. 18

1.3.2

Implementao da arquitetura UEBDI sobre o Jason ............................................ 18

1.3.3

Conjunto de experimentos ..................................................................................... 19

1.4

Organizao do texto .................................................................................................19

Referencial Terico ...................................................................................................20

2.1

Agentes ....................................................................................................................20

2.1.1

Agente Racional..................................................................................................... 21

2.1.2

Agente Reativo ...................................................................................................... 22

2.1.3

Agente Deliberativo ............................................................................................... 22

2.1.4

Agente BDI ............................................................................................................ 23

2.2

Agentes BDI .............................................................................................................23

2.3

Jason ........................................................................................................................25

2.4

Teoria da Emoo .....................................................................................................29

2.4.1

Teorias apreciativas ............................................................................................... 29

2.4.2

Teorias multicamadas ............................................................................................ 30

2.4.3

Teorias neurolgicas .............................................................................................. 31

2.5

Computao Afetiva ..................................................................................................33

2.6

Agentes Emocionais ..................................................................................................35

2.6.1

Aspectos do fenmeno emocional ......................................................................... 36

2.6.2

Agentes Emocionais BDI ...................................................................................... 39

Trabalhos Relacionados .............................................................................................42

3.1

BDIE (Hernndez et al. 2004) ....................................................................................42

3.1.1

Mdulo de percepes ........................................................................................... 43

3.1.2

Mdulo de crenas ................................................................................................. 43

3.1.3

Mdulo de desejos ................................................................................................. 44

3.1.4

Mdulo emocional ................................................................................................. 45

3.2

EBDI (Jiang and Vidal 2006) .....................................................................................47

3.2.1

Mdulo de percepes ........................................................................................... 47

3.2.2

Mdulo de crenas ................................................................................................. 47

3.2.3

Mdulo de intenes .............................................................................................. 48

3.2.4

Mdulo de emoes ............................................................................................... 48

3.3

Abordagem proposta em (Neto and Da Silva 2010, Neto 2010) ....................................50

3.3.1

Mdulo de percepes ........................................................................................... 50

3.3.2

Mdulo de crenas ................................................................................................. 50

3.3.3

Mdulo de intenes .............................................................................................. 51

3.3.4

Mdulo de emoes ............................................................................................... 52

3.4

Emotional-BDI (Pereira et al. 2005)............................................................................53

3.4.1

Mdulo de percepes ........................................................................................... 53

3.4.2

Mdulo de Emoes .............................................................................................. 54

3.5

AAFA (Signoretti 2012) ............................................................................................54

3.5.1

Mdulo de percepes ........................................................................................... 55

3.6

Abordagem proposta em (Oliveira and Sarmento 2003) ...............................................55

3.6.1

Mdulo de crenas ................................................................................................. 56

3.6.2

Mdulo de intenes .............................................................................................. 56

3.6.3

Mdulo de emoes ............................................................................................... 57

3.7

Abordagem proposta em (Steunebrink 2010) ...............................................................59

3.7.1

Mdulo de intenes .............................................................................................. 60

3.7.2

Mdulo de emoes ............................................................................................... 60

3.8

Cathexis (Velsquez 1996) e Kismet (Breazeal 1998) ..................................................61

3.8.1

Mdulo de desejos ................................................................................................. 61

3.8.2

Mdulo de aes .................................................................................................... 62

3.8.3

Mdulo de emoes ............................................................................................... 63

3.9

Abordagem proposta em (Padgham and Taylor 1997) ..................................................64

3.9.1

Mdulo de crenas ................................................................................................. 64

3.9.2

Mdulo de emoes ............................................................................................... 64

3.10

Agent Flow Model (Morgado 2006) ............................................................................65

3.11

Abordagem proposta em (Sloman 1999) .....................................................................66

3.11.1

Mdulo de Percepo ............................................................................................ 67

3.12

Comparao..............................................................................................................67

Unified Emotional BDI Architecture ..........................................................................69

4.1

Mdulo Perceptivo ....................................................................................................70

4.2

Mdulo Emocional ....................................................................................................76

4.2.1

Nossa Proposta....................................................................................................... 76

4.3

Mdulo de Crena .....................................................................................................83

4.4

Mdulo de Desejo .....................................................................................................86

4.5

Mdulo de Inteno ...................................................................................................89

4.6

Mdulo de Atuao ...................................................................................................93

Mapeando UEBDI no Jason .......................................................................................96

5.1

Fluxo de execuo UEBDI.........................................................................................96

5.2

Descrio do mapeamento .........................................................................................97

5.2.1

Bases de dados atpicas (Resource, Action e Emotion Base)................................. 98

5.2.2

Base de Intenes .................................................................................................. 98

5.2.3

Mapeamento do mdulo de percepes................................................................. 99

5.2.4

Mapeamento do mdulo de crenas .................................................................... 100

5.2.5

Mapeamento do mdulo de desejos..................................................................... 101

5.2.6

Mapeamento do mdulo de intenes ................................................................. 104

5.2.7

Mapeamento do mdulo de atuao .................................................................... 105

5.2.8

Mapeamento do mdulo de emoes .................................................................. 106

5.3

Resumo do Mapeamento.......................................................................................... 107

Experimentos .......................................................................................................... 110

6.1

Incndio: Influncia sobre o mdulo de percepo..................................................... 110

6.1.1

Agente Emocional ............................................................................................... 111

6.1.2

Mapeamento e Implementao ............................................................................ 114

6.1.3

Experimento......................................................................................................... 114

6.2

ProfessorAluno: Influncia sobre o modulo de crenas............................................... 116

6.2.1

Mapeamento e Implementao ............................................................................ 118

6.2.2

Experimentos ....................................................................................................... 118

6.3

Diverso: Influncia sobre o mdulo de desejos ........................................................ 122

6.3.1

Agente Emocional ............................................................................................... 123

6.3.2

Mapeamento e Implementao ............................................................................ 125

6.3.3

Experimento......................................................................................................... 125

6.4

IPD: Influncia sobre o mdulo de intenes ............................................................. 128

6.4.1

Definio.............................................................................................................. 130

6.4.2

Estratgias ............................................................................................................ 132

6.4.3

Agente Emocional Jiang-IPD .............................................................................. 132

6.4.4

Mapeamento e Implementao ............................................................................ 134

6.4.5

Experimento......................................................................................................... 134

6.5

TaskAlloc: Influncia sobre o mdulo de aes ......................................................... 138

6.5.1

Cliente Emocional ............................................................................................... 139

6.5.2

Mapeamento e Implementao ............................................................................ 140

6.5.3

Experimento......................................................................................................... 140

Concluso ............................................................................................................... 144

7.1

Contribuies .......................................................................................................... 145

7.2

Limitaes .............................................................................................................. 145

Referncias ........................................................................................................................... 147


Anexo A Diagrama de Arquitetura de Agentes..................................................................... 152

14

1 Introduo

Recentes estudos evidenciam que a emoo desempenha importante papel no


comportamento inteligente e participa ativamente na tomada de deciso (Picard 2000 p. 2), no
processo de adaptao do indivduo ao ambiente (relacionando os diversos aparatos
cognitivos e suas respostas) (Sloman 1999) e na economia de recursos (LeDoux 2002). Alm
de participar de inmeros processos cognitivos, como memria, percepo, aprendizagem e
fala (Oliveira and Sarmento 2003, Picard 1997).
Atualmente vastamente aceito que as emoes so importantes nas atividades
humanas (Hernndez et al. 2004). Isto motiva vrios pesquisadores a investigarem os
fenmenos emocionais a fim de simul-los em sistemas computacionais. (Picard 1997 p. 50)
prope que adaptar emoes humanas em computadores tornar a tomada de deciso destes
sistemas mais flexvel e dar maior capacidade para lidar com mltiplos interesses e
preocupaes. A habilidade de reconhecer afeto e de expressar afeto ajudar a estes sistemas a
ajustar seu comportamento, melhorando a interao com seus usurios humanos.
Um agente de software uma entidade (computacional) autnoma que est inserida
em um ambiente, muitas vezes incerto, havendo impreciso na sua percepo e incerteza na
efetuao de suas aes (Wooldridge 2009). Este conceito muito importante para a rea de
Inteligncia Artificial (IA), pois estas caractersticas facilitam a modelagem de problemas
reais e permite que o agente lide melhor com cenrios onde a IA clssica, lgica e formal tem
dificuldade de atuar (Russel and Norvig 2004 p. 6). Da mesma forma, a comunidade de
Engenharia de Software (ES) vem adotado os conceitos de agncia para representar e
implementar sistemas de software onde so exigidos requisitos de ubiquidade, interligao,
delegao, humanizao e inteligncia (Wooldridge 2009 p. 4).
Dentro do estudo de agentes existe uma classe distinta chamada Agentes BDI (Rao and
Georgeff. M. 1995) que procura modelar e construir agentes adotando os conceitos de
crenas, desejos e intenes (destes termos vem a sigla que o representa: Beliefs, Desires and
Intentions), o que facilita sua representao.

15

observado que existe uma srie de trabalhos que adotam agentes que implementam
algoritmicamente o fenmeno emocional para tratar os problemas da computao afetiva. A
Computao Afetiva busca simular o fenmeno emocional em sistemas computacionais,
sendo o uso da teoria de agentes natural neste contexto, visto que preciso representar a
causa, a responsabilidade dos fenmenos emocionais como uma entidade externa ao sistema
que a contempla (Marsella and Gratch 2009 p. 75). Uma lista exaustiva destes trabalhos pode
ser encontrada em (Picard 1997) e uma verso mais atualizada em (Picard 2003). Os trabalhos
(Silva et al. 2006), (Moridis and Economides 2008) e (Rumbell et al. 2011) tambm
apresentam outras propostas focadas em problemas especficos.
Ainda so poucos os trabalhos que se dedicam exclusivamente a estudar a influncia
da emoo sobre os processos cognitivos do agente de software (Neto and Da Silva 2010 p.
103, Neto 2010 p. 9). Este problema difcil de se lidar, visto que o embasamento da teoria da
emoo ainda excipiente e impreciso (Picard 2003).
Especificadamente, para o problema de modelagem e simulao do fenmeno
emocional encontramos trabalhos sobre interao com o usurio, visando: (i) o entretenimento
(Bates et al. 1994), (ii) a simulao de emoes robs (Breazeal 1998, Hernndez et al. 2004,
Velsquez 1996), (iii) a criao de um sistema computacional para interao musical com o
usurio (Camurri and Coglio 1998), (iv) a otimizao e adaptao do agente ao ambiente
(Oliveira and Sarmento 2003, Signoretti 2012, Signoretti et al. 2010) e (v) a tomada de
deciso (Jiang and Vidal 2006, Neto and Da Silva 2010, Oliveira and Sarmento 2003, Pereira
et al. 2005, Velsquez 1998b), seja para otimizao de desempenho (Morgado 2006,
Signoretti et al. 2010) ou para simulao de comportamento humano (Neto 2010).
Convencionou-se a chamar os agentes que implementam os fenmenos emocionais de
Agentes Emocionais. No existe uma definio formal aceita (Scheutz 2002), mas elas
convergem para a seguinte: Agentes Emocionais so agentes que buscam solucionar os
problemas da computao afetiva (Camurri and Coglio 1998) de perceber, expressar, simular
internamente emoes (Meyer 2004, Oliveira and Sarmento 2003, Steunebrink 2010) e para
tomar decises que sejam teis ao agente (Pereira et al. 2005). Inclusive, algumas propostas
de agentes emocionais vm adotando como base a arquitetura BDI, chamados de Agentes
Emocionais BDI (Hernndez et al. 2004, Jiang and Vidal 2006, Meyer 2004, Neto and Da
Silva 2010, Padgham and Taylor 1997, Pereira et al. 2005, Signoretti 2012, Steunebrink
2010), conforme discutiremos mais afundo a seguir.

16

1.1 Motivao
Embora estes trabalhos de agentes emocionais BDI tenham obtido xito em
desenvolver solues baseadas na arquitetura BDI, eles isoladamente satisfazem apenas
alguns aspectos do fenmeno emocional, e principalmente lidam somente com algumas das
possveis influncias do fenmeno emocional sobre mdulos da arquitetura BDI. Por
exemplo, uma dada proposta trabalha bem com modelos emocionais de confiana entre
agentes (Jiang and Vidal 2006), porm a arquitetura no lida com algoritmos de foco de
ateno influenciados pelas emoes (Morgado 2006, Oliveira and Sarmento 2003, Signoretti
2012), pois no implementa a influncia da emoo sobre o mdulo de percepo do agente.
A seguir mencionamos brevemente alguns destes trabalhos e suas limitaes.
O trabalho de (Hernndez et al. 2004) apenas contempla a influncia do estado
emocional sobre crenas e desejos, e as abordagens de (Jiang and Vidal 2006, O liveira and
Sarmento 2003) focam seus modelos na influncia das emoes sobre as intenes. J (Neto
2010) cria uma arquitetura concreta sobre a plataforma Jason (Bordini et al. 2007) onde
contempla influncia das emoes na seleo de percepes, crenas e intenes, mas no
define uma arquitetura abstrata que possa ser implementada em outra plataforma.
(Steunebrink 2010) define uma fomalizao lgica BDI extendida com um modelo bem
definido, porm apenas considera a influncia das emoes sobre as intenes do agente.
(Signoretti 2012) define um framework que s usa emoes para filtrar as emoes existentes
e implementa tal framework utilizando Jason. O autor tambm preferiu criar um conjunto de
bibliotecas ao invs de estender o Jason. Por fim, (Pereira et al. 2005) cria uma arquitetura
onde muitos mdulos BDI so influenciados pela emoo, mas os autores no justificam as
motivaes para tais influncias.
Como vemos, utilizando apenas uma proposta no possvel desenvolver um agente
emocional onde as emoes sejam consideradas em todo processo de raciocnio dado que
cada proposta contempla apenas a influncia das emoes em um subconjunto dos mdulos
BDI. Alm disto, como todos os estudos so parciais quanto a influncia emocional sobre as
instncias BDI, a literatura carece de um estudo e proposta de um agente emocional BDI que
possibilite todas as influncias possveis do fenmeno emocional sobre o resto da arquitetura.

1.2 Soluo Proposta


Como dito no tpico anterior, a impossibilidade das propostas anteriores em
representar apenas algumas das influncias emocionais em sua arquitetura, motivou o

17

presente trabalho a desenvolver uma proposta unificada que contemple estas influncias do
fenmeno emocional sobre todos os mdulos BDI.
O objetivo com esta nova proposta permitir modelar e implementar fenmenos
emocionais e as diversas influncias das emoes nos mdulos BDI atravs de uma nica
abordagem. Um desenvolvedor de agentes emocionais poder programar agentes que utilizem
diferentes influncias do fenmeno emocional lidando com cenrios emocionais diversos e
utilizando para isto uma nica arquitetura abstrata e um nico framework de implementao.
Para desenvolver a nossa abordagem, adotamos a seguinte metodologia: (i) levantar o
estado da arte das propostas que implementam agentes emocionais se baseando na arquitetura
BDI; (ii) propor uma arquitetura para agentes emocionais BDI chamada UEBDI que unifique
as caractersticas apresentadas nas propostas estudadas, de tal forma que o resultado seja
consistente e compatvel com a arquitetura BDI e com a teoria emocional; (iii) mapear a
UEBDI sobre uma implementao de agente BDI a escolhida foi o Jason; e (iv) demonstrar,
via cenrios de uso, que possvel utilizar as caractersticas adotadas pela arquitetura em
diferentes contextos explorando as diferentes influncias das emoes nos mdulos BDI.
Adotou-se a arquitetura BDI como base principalmente porque (i) a arquitetura BDI
um padro de fato nas comunidades de IA e ES para desenvolver agentes de software (Jiang
and Vidal 2006 p. 2, Neto and Da Silva 2010 p. 34, Pereira et al. 2005 p. 1, Signoretti 2012);
(ii) ela foi construda para lidar com o s problemas de reconsiderao e planejamento,
problemas clssicos de IA (Bordini et al. 2007, Wooldridge 2009) e (iii) ela baseada em
psicologia informal (Pereira et al. 2005), instncias intencionais (Wooldridge 2009) e simula a
tomada de deciso humana (Hernndez et al. 2004), o que facilita relacionar conceitos do
fenmeno emocional arquitetura.
J a plataforma Jason foi adotada porque (i) ela um interpretador da linguagem
formal AgentSpeak(L) (Rao 1996) que preserva os conceitos formais de BDI; (ii) ela opensource, o que nos ajudou na economia de custos do projeto e no acesso ao cdigo fonte,
possibilitando compreender melhor como ele funciona internamente; e (iii) Jason possui
razovel documentao de apoio.
Para desenvolver a arquitetura unificada focou-se, principalmente, nas propostas de
agentes emocionais explicitamente desenvolvidas sobre BDI (Hernndez et al. 2004, Jiang
and Vidal 2006, Neto and Da Silva 2010, Pereira et al. 2005, Signoretti 2012) e nas propostas
que usam os conceitos BDI e que adicionavam algum algoritmo importante de influncia
emocional sobre a arquitetura, embora algumas no tenham seguido o fluxo de execuo BDI
explicitamente (Breazeal 1998, Lino 2006, Morgado 2006, Oliveira and Sarmento 2003,

18

Velsquez 1998b). Preferiu-se usar como base as arquiteturas explicitamente desenvolvidas


sobre BDI pela sua semelhana com esta proposta e pelo objetivo deste trabalho de unificar as
diversas propostas. Tambm se preferiu as propostas que construram algoritmos de influncia
do fenmeno emocional sobre arquitetura, pois elas contriburam com nosso objetivo de
desenvolver uma arquitetura focada na influncia emociona l e no na simulao do estado e
dinmica emocional.
Outras propostas no foram exaustivamente utilizadas, pois algumas focavam na
simulao de um modelo emocional especfico (Bazzan and Bordini 2001, Steunebrink 2010),
o que difere da escolha que fizemos de deixar esta tarefa a projetista de agente. Outras no se
preocupavam com a influncia da emoo no resto da arquitetura (Marsella and Gratch 2009),
que justamente a meta principal desta dissertao. E ainda algumas se preocupavam com a
formalizao lgica do fenmeno emocional (Meyer 2004, Steunebrink 2010), o que colide
com nosso objetivo de deixar o modelo emocional em aberto na arquitetura.

1.3 Contribuies
Como principais contribuies deste trabalho, podemos citar:
1.3.1

Arquitetura abstrata UEBDI


Foi desenvolvida uma arquitetura abstrata para o desenvolvimento de agentes

emocionais estendendo a arquitetura BDI. A extenso se deu de tal forma (i) que as
implementaes feitas em UEBDI possam usar conceitos e ferramentas conceituais j
desenvolvidas para BDI; (ii) que a nova arquitetura unifique os conceitos propostos pelas
abordagens anteriores para o desenvolvimento de agentes emocionais com o mesmo
propsito, permitindo desenvolver diferentes fenmenos emocionais em uma s abordagem;
(iii) que a arquitetura abstrata fosse independente do fenmeno emocional; e (iv) que a nossa
abordagem focasse em explicitar a influncia da emoo sobre os diversos mdulos da
arquitetura, e no na implementao do estado e da dinmica emocional.
1.3.2

Implementao da arquitetura UEBDI sobre o Jason


A arquitetura abstrata foi mapeada para a arquitetura concreta Jason e depois

implementada sobre esta plataforma. Como resultado, foi criado um framework para a
implementao dos agentes emocionais definidos de acordo com a arquitetura abstrata. O

19

framework deixa explcitos os pontos que podem e devem ser estendidos para a
implementao de um agente emocional.
1.3.3

Conjunto de experimentos
Foi criado um conjunto de experimentos para verificar a viabilidade da utilizao da

arquitetura e do framework UEBDI para desenvolver agentes emocionais. Nosso critrio de


completude foi criar um experimento para cada influncia do mdulo emocional sobre outra
instncia BDI. Os experimentos so: (i) simulao de incndio (influncia sobre a percepo),
(ii) simulao de teste dado por um professor a um aluno (influncia sobre o mdulo de
crenas), (iii) simulao de drive (pulso) diverso (influncia sobre o mdulo de desejos),
(iv) dilema do prisioneiro iterado IPD (influncia sobre o mdulo de intenes) e (v)
alocao de tarefas (influncia sobre o mdulo de aes).

1.4 Organizao do texto


Esta dissertao ser divida nos seguintes captulos:
Captulo 2

Referencial terico: Aborda uma srie de conceitos bsicos envolvidos com


nosso trabalho, como a Teorias da Emoo, Agentes de Software, Agentes
BDI, Computao Afetiva e Agentes Emocionais;

Captulo 3

Trabalhos Relacionados: Trata das abordagens de agentes emocionais


relacionadas com nossa proposta;

Captulo 4

Unified Emotional BDI Architecture: Prope a nossa proposta de arquitetura


abstrata para agentes Emocionais BDI unificando as propostas anteriores;

Captulo 5

Mapeando UEBDI no Jason: Mapea a UEBDI na plataforma Jason,


demonstrando a viabilidade de implementao da arquitetura;

Captulo 6

Experimentos: Experimenta a proposta com uma srie de cenrios de


fenmeno emocional, focando em exercitar as influncias do mdulo
emocional sobre o resto da arquitetura;

Captulo 7

Concluso: Por fim, discutido quais as contribuies, limitaes e possveis


trabalhos futuros deste trabalho.

20

2 Referencial Terico
Neste captulo ser abordado um conjunto de temas que servem de apoio terico para
esta dissertao. O tpico 2.1 apresenta o que so agentes de software, servindo de teoria base
para nossa pesquisa. O tpico 2.2 aborda uma classe especial de agentes chamada de Agentes
BDI, que se preocupa em representar o raciocnio simblico com instncias de crenas,
desejos e intenes. O uso desta representao torna simples a modelagem de problemas de
deliberao e planejamento, por exemplo, que so problemas clssicos de IA. O tpico 2.3
discute a implementao BDI Jason. O tpico 2.4 discutir as teorias da emoo, apontoando
conceitos importantes adotados em nossa dissertao, como eliciao, emoes multicamadas,
entre outros. O tpico 2.5 discute sobre a computao afetiva, rea de pesquisa interessada em
relacionar emoes e computao. Por fim, no tpico 2.6 apresentamos o que so agentes
emocionais, agentes capazes de simular, expressar e perceber emoes, e uma subclasse deste,
que estende a arquitetura BDI para que seja capaz de representar emoes, chamados de
agentes emocionais BDI.

2.1 Agentes
Em computao, podemos dizer que agentes so uma classe de sistemas que exigem
certo grau de autonomia, sendo capazes de atingir uma tarefa por si mesmos (Bordini et al.
2007 p. 2, Wooldridge 2009 p. 15). Em Inteligncia Artificial, este conceito junto com o de
ambiente servem de arcabouo conceitual para estudar como desenvolver sistemas com
desempenho timo (Russel and Norvig 2004 p. 7).
Considera-se um agente de software como um sistema computacional autnomo
inserido em um ambiente, que recebe pe rcepes deste e capaz de realizar aes.
Considera-se que as qualidades desejveis para este sistema so: autonomia, proatividade,
reatividade e capacidade de sociabilizao (Bordini et al. 2007 p. 3). Nota-se que incomum
e muitas vezes irreal existir um nico agente em um ambiente. Neste caso, um ambiente

21

usualmente repleto de agentes que podem interagir, trocando mensagens e recursos. Neste
caso, considera-se o conjunto ambiente e os seus agentes um Sistema Multi-Agente.
Segundo os autores (Russel and Norvig 2004, Wooldridge 2009) uma arquitetura
genrica de agente pode ser definida por trs funes, como exibido na Figura 5: (i) o
comportamento de um agente implementado por uma funo de agente (Agent Function),
(ii) a percepo do ambiente por sensores (Sensor) e (iii) sua atuao por atuadores
(Actuator). O agente trabalha em ciclos, de tal forma que para operar ele executa as funes
Sensor, Agent Function e Actuator, nesta ordem. A reas de IA e Engenharia de Software se
preocupam principalmente em descrever a Agent Function, visto que nela reside o raciocnio
propriamente dito. A Agent Function dada pela (Eq. 1), onde S o conjunto de sensaes
que atingem os sensores e A a ao (ou conjunto de aes) tomada pelo agente.

Figura 1: Agent Function

Agf: S A

(Eq. 1)

Na literatura, convencionou-se classificar os agentes em tipos de acordo com sua


constituio, seus objetivos e como atingem suas tarefas. Falaremos de quatro tipos
importantes para nosso estudo: (2.1.1) Racional, (2.1.2) Reativo, (2.1.3) Deliberativo e (2.1.4)
BDI.
2.1.1

Agente Racional
Agentes racionais so agentes que fazem tudo certo (Russel and Norvig 2004). Agente

racional aquele que ao realizar uma tarefa obtm o melhor resultado/pontuao e


preferencialmente em menor tempo (ou menor custo de forma geral). Formalmente, um
agente racional aquele que maximiza (ou minimiza) sua medida de desempenho (Russel
and Norvig 2004 p. 36). Esta uma medida especificada pelo problema que representa o quo
bom foi o resultado gerado por um agente que o solucionou. Por exemplo, imagine que
temos o problema de arrumar uma sala. Para medirmos o quanto uma sala est arrumada
podemos contar quantos objetos esto jogados no cho. Esta medida quantos objetos esto

22
no cho a mtrica de desempenho do problema. Os agentes podem solucionar este
problema de vrias maneiras, mas aquele(s) que ao final obtiverem menor valor da medida
(menos objetos no cho) um agente racional.
Nota-se que agente racional meramente uma definio que serve de ferramenta de
anlise de um problema. As outras definies de agente abaixo iro discutir a constituio do
agente, e no seu desempenho em um problema. Por isto, um agente dos tipos discutidos
abaixo podem ser racionais ou no, isto depende se o algoritmo que eles implementam obtm
melhor desempenho ou no.
2.1.2

Agente Reativo
Agentes reativos reagem diretamente aos estmulos do ambiente, sem raciocinar sobre

isto (Wooldridge 2009 p. 85). Funcionalmente, um agente reativo aquele que age de acordo
com suas percepes atuais, ignorando as percepes anteriores e no armazenando qualquer
informao (Russel and Norvig 2004 p. 36). Um agente reativo pode ser representado como
uma funo que mapeia diretamente uma configurao das percepes do agente na ao
adequada a ser realizada. Uma viso mais geral prope que um agente reativo aquele que
no raciocina simbolicamente, no transforma suas percepes em smbolos de uma
linguagem, e como no tem smbolos no consegue aplicar operaes sobre estes
smbolos (Morgado 2006 p. 15). Normalmente estes tipos de agentes so usados quando o
problema no exige solues complexas ou quando se espera que o comportamento timo no
venha de um nico agente, mas sim da interao de vrios agentes simples (Bordini et al.
2007 p. 86, Morgado 2006 p. 15).
2.1.3

Agente Deliberativo
Agentes deliberativos processam e armazenam informaes obtidas do ambiente

usando smbolos e raciocinam sobre os smbolos com regras lgicas (Wooldridge 2009 p.
50). Ao contrrio do agente reativo, um agente deliberativo representa explicitamente seu
ambiente, as percepes, as aes e toda a tomada de deciso por smbolos e os opera atravs
de regras lgicas pr-estabelecidas (Morgado 2006 p. 14). Alm disto, devemos considerar
literalmente que um agente deliberativo delibera utilizando seus smbolos e operaes,
capaz de analisar o ambiente e gerar uma resposta adequada. Tambm se utiliza o termo
agentes cognitivos para designar este tipo de agente (Signoretti 2012).

23

Normalmente, para que estes agentes consigam ser racionais, eles internalizam a
medida de desempenho, podendo assim medir quo bom ser agir de tal forma para que
maximize a medida. Por estas propriedades, duas caractersticas so possveis e desejveis em
agentes deliberativos: (i) a primeira que tenha memria e armazene seu passado, permitindo
que consiga aperfeioar sua tomada de deciso de acordo com esta informao e (ii) como
podem conter a medida de desempenho, sejam capazes de prever o resultado de suas aes e
com isto aperfeioem seu comportamento, procurando a racionalidade (maximizar a medida
de desempenho).
2.1.4

Agente BDI
So agentes deliberativos que seguem um estilo de modelagem baseada nos conceitos

de crenas, desejos e intenes (Bordini et al. 2007 p. 16, Morgado 2006 p. 14). No iremos
entrar em detalhes aqui, pois o tpico 2.2 abaixo ser dedicado a sua anlise.

2.2 Agentes BDI


Ao falarmos de agentes BDI, podemos estar nos referindo a trs conceitos diferentes
que so usadas nesta classe de agentes. O primeiro o modelo BDI, que prope um arcabouo
conceitual para modelar agentes, baseado nos conceitos de crena, desejos e intenes. Estes
conceitos nos ajudam a representar a soluo de problemas, similarmente como o diagrama de
classes de UML nos ajuda a construir um sistema orientado a objetos. O segundo a
arquitetura BDI que define a semntica lgica que um agente adotar para raciocinar sobre o
modelo BDI. Por fim, o terceiro a Implementao BDI, que representa a implementao da
arquitetura em uma linguagem real que permitir concretizar um agente BDI.
Para modelar o comportamento de agentes complexos (inclusive humanos) foi
desenvolvida por (Bratman 1987 apud JIANG 2006) uma ferramenta de abstrao chamada
intentional stance. O princpio bsico desta abordagem permitir usar termos de psicologia
informal (folk psycology 1 ), como crenas, desejos e intenes (Bordini et al. 2007 chap. 2)
para a modelagem de problemas complexos. Estes termos e suas associaes so eficientes
para descrever um problema ou um sistema de forma abstrata, permitindo compreender sua

A traduo literal seria psicologia popular. Mas este termo mu ito usado na literatura co m o sentido

de psicologia informal. Sendo aceito pela co munidade cientfica para representar certas teorias, mas que sem no
tem embasamento terico.

24

estrutura. Consideraremos neste trabalho que o modelo BDI a forma de representao de um


problema utilizando os conceitos de crena, desejo e intenes.
Esta ferramenta til para descrever sistemas no determinsticos e que no possuem
seu funcionamento completamente conhecido. Porm fraca e, s vezes inapropriada, quando
a lgica de funcionamento do sistema claramente conhecida e definida atravs de modelos
formais, lgicos ou fsicos (Wooldridge 2009 sec. 2.4).
Devemos lembrar tambm que o modelo intentional instance serve para predio e
explicao do comportamento de sistemas, sem se preocupar como o sistema realmente
trabalha (Braubach and Pokahr 2010 sec. 1.2.1). Ento preciso construir um mecanismo de
raciocnio que opere sobre este modelo de descrio do problema/sistema para podermos
desenvolver um sistema til. Na literatura, este mecanismo representado por uma
linguagem lgica que define como operar o raciocnio do agente de forma genrica. Chamase na literatura este mecanismo de arquitetura BDI.
Em tese, poderiam existir vrias arquiteturas, pois sua funo meramente
operacionalizar o modelo BDI. Entretanto, o padro adotado pela literatura o Raciocnio
Prtico (Practical Reasoning), proposto em uma srie de trabalhos e implementaes de
Wooldridge e seus contribuidores (Wooldridge 2009).
Esta arquitetura se preocupa em modelar o raciocnio do agente atravs de aes
(Wooldridge 2009 p. 66). Para isto, ele realiza duas atividades bsicas: (i) a primeira
descobrir o que se deseja obter e (ii) a segunda descobrir como obter estes desejos. Alm
disto, esta tarefa deve ser realizada em um tempo limitado e com recursos limitados
(processador, memria, energia, entre outros) (Rao and Georgeff. M. 1995). Observe que a
primeira atividade reflete o problema de tomada de deciso (deliberao) e a segunda o
problema de planejamento, ambos so problemas clssicos de IA. (Bordini et al. 2007 p. 18,
Rao and Georgeff. M. 1995, Wooldridge 2009 p. 66). Tambm observe que lidar com estas
atividades em separado importante, pois podemos rever tanto o deliberado quanto o
planejado para podermos lidar com a incerteza e o dinamismo do ambiente atravs da
reconsiderao dos desejos e intenes.
Podemos resumir o fluxo de execuo da arquitetura BDI da seguinte forma, como
apresentado na Figura 2. A informao que o agente percebe do ambiente, isto , suas
percepes so utilizadas para atualizar as crenas do agente utilizando Belief Review
Function (Brf). Em seguida, ele gera um conjunto de desejos baseado nas suas crenas atuais
e nas suas intenes utilizando a Option Function (Of). Depois disto, o agente seleciona
alguns destes desejos que iro formar o conjunto de intenes. As intenes sero associadas

25

a planos, permitindo ao agente atingir suas intenes com a Filter Function (Ff). Por fim, o
agente executa as aes dos planos com a Execute Function (Ef). Isto modifica o ambiente e
refletir nas percepes do agente no prximo fluxo de execuo.

Figura 2: Arquitetura BDI

Embora a arquitetura BDI j seja bem difundida e validada para o desenvolvimento de


agentes, ela no contempla os fenmenos emocionais. Os agentes emocionais ainda carecem
de um formalismo para tratar o raciocnio, tomada de deciso e deliberao. Devido a isto,
muitos trabalhos se dedicam criao de agentes BDI com componentes emocionais
(Hernndez et al. 2004, Jiang and Vidal 2006, Neto 2010, Oliveira and Sarmento 2003,
Padgham and Taylor 1997, Pereira et al. 2005, Signoretti 2012), sendo estes chamados de
agentes Emocionais BDI (Emotional BDI Agent) (Jiang and Vidal 2006, Pereira et al. 2005),
discutidos no tpico 2.6.2.
Dentre as implementaes BDI, que concretizam a arquitetura BDI em uma linguagem
ou framework, uma das mais conhecidas e talvez a primeira do paradigma BDI o sistema
PRS (Procedural

Reasoning System), de acordo com (Wooldridge 2009 p. 83). PRS

influenciou vrias outras propostas que vieram a seguir (Braubach et al. 2005 p. 46). Entre
elas, iremos discutir a implementao Jason a seguir.

2.3 Jason
Existem vrias implementaes de agentes BDI, entretanto, julgamos mais adequado
adotar a plataforma Jason, pois (i) ela um interpretador da linguagem formal AgentSpeak(L)
(Rao 1996) que preserva os conceitos formais de BDI; (ii) ela open-source, o que nos
ajudou na economia de custos do projeto e no acesso ao cdigo fonte, possibilitando
compreender melhor como ele funcionava internamente; e (iii) Jason possui razovel
documentao de apoio. Outros autores chegaram a concluso similar (Neto 2010, Signoretti
2012). Um resumo de vrias outras propostas pode tambm ser encontrado em (Bordini et al.
2006, Neto 2010).

26

O Jason um interpretador da linguagem AgentSpeak(L) proposta por (Rao 1996). Ele


possui embutido um middleware que permite adotar seu ciclo BDI assim como a linguagem
sobre vrias plataformas de agente, alm de possuir sua prpria plataforma. Inclusive, possui
um conjunto de pacotes de desenvolvimento, IDE prpria e plugins para desenvolvimento
dentro da IDE Eclipse (Bordini and Hbner 2007, Hbner and Bordini 2009).
Observando a Figura 5, podemos considerar que um agente Jason um agente
deliberativo que internamente conta com um mdulo de raciocnio, uma base de crenas e
uma base de planos, sendo possvel ao desenvolvedor especificar estas duas bases em
AgentSpeak(L). Internamente ao mdulo de raciocnio existem duas outras bases: a de
eventos e de intenes, que refletem os eventos internos e externos ocorridos com o agente e
quais as intenes ele est realizando em dado momento.

Figura 3: Estrutura geral do Jason

Para desenvolver um agente em Jason se manipula quatro artefatos: (i) cdigo em


AgentSpeak(L) especificando quais as crenas e planos do agente, (ii) e xtenso da classe
Agent em Java que representa a classe de raciocnio em si, permitindo que o desenvolvedor
customize as principais funes da arquitetura, como a funo de reviso de crenas; (iii)
extenso da classe AgArch em Java, que especifica caractersticas da infraestrutura na qual o
agente est residindo, de tal forma que para cada infraestrutura (Centralised, Jade ou JACI) se
deve implementar uma classe derivada da AgArch. Sendo esta o corpo do agente dentro do
sistema 2 . E parte da percepo e atuao dos agentes est contida nesta extenso da AgArch.
Por ltimo (iv) a classe Environment, responsvel pelo ambiente, determinando as percepes
e aes que o agente ter neste ambiente.
Na Figura 4 exibido o fluxo de execuo Jason (Bordini and Hbner 2007 p. 68)
usando o diagrama por ns proposto no Anexo A. Veja que as caixas em cinza indicam

O modelo descrito foi simplificado e anterior a verso 1.3.6. A partir desta verso a arquitetura de

agente representada por u ma imp lementao do padro chain of responsability onde o ltimo item a
infraestrutura propriamente dita.

27

funes que no so customizveis pela extenso da classe Agent. Descreveremos o


comportamento de cada funo a seguir:

Figura 4: Fluxo de execuo Jason

1. Perceive: Retorna as percepes do ambiente atravs de uma implementao da classe


AgentArch.
2. BUF (Belief Update Function): Esta funo recebe as percepes do ambiente e atualiza a
base de crenas. Esta atualizao utiliza a funo BRF para revisar as operaes de adio
e excluso. Alm disto, quando aceita a operao, esta funo gera eventos
representando a insero ou remoo de crenas na base de crenas.
3. BRF (Belief Review Function): Quando ocorrer uma remoo ou adio de crenas, o
sistema utiliza esta funo para verificar a integridade destas operaes e para gerar
crenas derivadas, mantendo a integridade dos dados. Por exemplo, pode-se inibir que
uma crena seja inserida contradizendo outra j existente, evitando parado xos. Ou ainda
se pode criar a crena estou doente quando se recebe a crena estou com febre e
estou com coriza. importante destacar que esta operao sempre ocorre em uma
nica crena a ser inserida ou removida, ao contrrio do que ocorre com a BUF, que

28

opera sobre um conjunto de percepes. A funo BRF no faz parte do fluxo principal,
sendo chamada apenas pelas funes BUF e Execute Intention.
4. Check Mail: Obtm uma coleo de mensagens do ambiente para que o agente possa
interpret- las. As mensagens trocadas entre os agentes no so recebidas atravs de
Perceive, mas atravs desta.
5. Select Message: Dada as mensagens que o agente recebeu, seleciona uma para ser
interpretada.
6. SocAcc: Dada a mensagem selecionada pela Select Message, verifica se ela deve ser
aceita ou rejeitada. Aps a confirmao, o Jason automaticamente torna a mensagem
recebida uma espcie de meta que deve ser interpretada por um plano. Por padro, o
Jason interpreta todas as mensagens atravs de planos pr-especificados que manipulam a
mensagem de acordo com seu contedo, tornando-a uma crena, uma meta ou ainda um
plano, dependendo de seu contedo.
7. Unify Event: Esta funo seleciona todos os planos que tratam o evento selecionado pela
Select Event.
8. Check Context: Esta funo verifica dentre o conjunto de planos selecionados pela Unify
Event quais so vlidos de acordo com a base de crenas (indicando que os pr-requisitos
foram atendidos). Esta verificao gerar um subconjunto de planos que tratam o evento
e possuem pr-requisitos vlidos de acordo com as crenas do agente.
9. Select Option: Com os planos j selecionados, esta funo seleciona qual dos planos deve
ser adotado para aquele evento. Por padro, o Jason seleciona o primeiro que chegar
lista de opes. Depois de selecionado, o par composto pelo evento e plano se torna uma
inteno que adicionada base de intenes.
10. Select Intention: Como a base de intenes pode possuir vrias intenes ao mesmo
tempo, em cada ciclo de execuo o Jason usa esta funo para selecionar apenas uma
inteno para ser processada. Por padro, o Jason utiliza a poltica Round Robin (Bordini
et al. 2007 p. 80) e faz um rodzio da execuo da intenes, tentando fazer com que
todas sejam executadas uniformemente.
11. Execute Intention: Dada a inteno selecionada, o agente tentar executar um passo do
plano. Este plano composto por aes internas, que atualizam o estado mental do agente
ou realizam operaes elementares, ou por aes externas, que modificam o ambiente.
Vale lembrar que o envio de mensagens (SendMsg) realizado por uma ao interna. J
as aes externas deixam o plano inativo at que seja concluda e sua execuo ocorre na
classe Environment.

29

2.4 Teoria da Emoo


O conceito de emoo de senso-comum, entretanto difcil desenvolver uma teoria
cientfica (Morgado 2006 p. 7) e concisa (Sarmento 2004 p. 19) sobre o termo e outros fatores
relacionados, no havendo uma definio padro aceita (Jiang and Vidal 2006 p. 3, Picard
2000 p. 21, Sloman 1999 p. 1). Alm disto, o nmero de teorias que abordam a emoo
cresceu demasiadamente (Scherer 2005 p. 696) dificultando encontrar uma interseo entre
elas, assim como detectar conflitos tericos (Gadanho and Hallam 2001 p. 8).
De qualquer forma, o tema e sua investigao possuem grande importncia devido a
sua relao com outros processos cognitivos (Oliveira and Sarmento 2003 p. 305). O
fenmeno emocional desempenha um papel crucial na habilidade de tomar decises de forma
inteligente (Damsio 2004, Sloman 1999). Alguns pesquisadores obtiveram significantes
avanos experimentais na relao entre emoo e seus mecanismos sobre cognies
sofisticadas, como tomada de deciso, aprendizagem, planejamento, gerncia de riscos,
memria e criatividade (Gadanho and Hallam 2001 p. 6, Oliveira and Sarmento 2003 p. 305).
Por convenincia chamaremos de Teorias da Emoo as que descrevem a relao do
fenmeno emocional sobre determinados aspectos, com o objetivo de elucidar a dinmica e as
funes deste fenmeno. No foco deste trabalho realizar um levantamento exaustivo das
teorias da emoo, visto que existem mais de 92 definies diferentes (Jiang and Vidal 2006
p. 3). Entretanto vamos abaixo descrever trs classes de teorias que so adotadas por agentes
emocionais: (i) teorias apreciativas, (ii) teorias multicamadas e (iii) teorias neurolgicas.
Julgamos adequado discutir estas trs classes devido a seu exaustivo uso nos agentes
emocionais.
2.4.1

Teorias apreciativas
O princpio central das teorias apreciativas (ou teorias de avaliao, do ingls

appraisal theories) que as emoes so eliciadas e diferenciadas atravs da avaliao ou


apreciao subjetiva do indivduo sobre uma situao, objeto, evento ou um agente usando um
conjunto de critrios (ou dimenses) (Scherer 1999 p. 637).
O primeiro modelo adotado pelas pesquisas em IA foi o modelo OCC (Ortony et al.
1990) e acabou se tornando o modelo padro para sistemas computacionais (Picard 2000 p.
196). O modelo OCC um modelo cognitivo que define 22 classes de emoes, descreve
formalmente quais as regras que as eliciam e prope o relacionamento entre estes grupos. Isto
vem se refletindo at os trabalhos atuais, onde alguns usam o modelo OCC original (Bates et

30

al. 1994, Bazzan et al. 2002, Steunebrink 2010) ou em conjunto com outros modelos para
complementar partes que ele no lida, como dinmica emocional, temperamento e
personalidade (Breazeal 1998, Hernndez et al. 2004, Neto 2010, Signoretti 2012, Velsquez
1998b). Deve-se destacar que este modelo no foi feito para gerao (simulao) de emoes,
mas sim apenas a sua descrio (Neto 2010, Picard 2000 p. 196), o que fora os autores que
os usam a adicionarem novos conceitos ao modelo, como regras para decaimento da
intensidade emocional e da sua influncia sobre o comportamento do agente. O trabalho de
(Steunebrink 2010 chap. 2) apresenta uma releitura deste modelo sobra a tica da
computao, observando o modelo proposicio nalmente, e no mais agrupado por eventos
eliciadores como o original, o que facilita a compreenso por pesquisadores de IA e ES.
J o modelo proposto por (Mehrabian 1996) estende o modelo OCC adicionando um
modelo para modelar humor chamado PAD (pleasure arousal dominance) e um modelo
para representar a personalidade chamado OCEAN. Comumente este modelo chamado de
modelo afetivo, pois representa outras instncias alm da emoo. Alguns autores de
computao tem preferido este modelo em relao ao OCC puro, devido a sua maior
representabilidade (Neto 2010, Signoretti 2012).
2.4.2

Teorias multicamadas
Existe um problema nas teorias da emoo que decidir se um determinado fenmeno

emocional refere-se a estados somticos do organismo ou tambm a suas avaliaes


cognitivas. E se sabe tambm que no possvel definir uma distino absoluta (Wilson and
Keil 1999 p. 272).
As teorias multicamadas (ou multinveis) da emoo visam tratar este problema
criando uma hierarquia de tratamento da informao percebida pelo indivduo (agente), onde
cada camada opera processos de avaliao em diferentes escalas de tempo e/ou diferentes
camadas de sofisticao (Marsella and Gratch 2009 p. 71). Nesta tica, a principal tarefa do
estudo da emoo seria entender estas camadas e descrever a relao deles com o fenmeno
emocional (Teasdale 1999 p. 665). Tal paradigma j bem consolidado em outras reas de
pesquisa, como a psicologia clnica e estudos sobre a memria (Scherer 1999 p. 646).
O trabalho de Leventhal e Scherer (1987) (apud Van Reekum and Scherer 1997 pp.
262263, apud Scherer 1999) sugere a adoo de camadas de processamento. Onde uma
primeira camada trataria da parcela fisiolgica, reativa e inata da emoo. Enquanto que uma
segunda trataria da resposta emocional aprendida. E uma terceira de respostas que exijam
obter generalizaes a partir dos eventos percebidos. A definio destas camadas est

31

relacionada a complexidade fisiolgica de cada um, oriunda de uma evoluo genealgica e a


evoluo do seu uso em relao a idade dos seres humanos, onde a primeira camada est
relacionada a capacidade emocional de um recm nascido, a segunda camada s emoes
adquiridas no decorrer do desenvolvimento e a terceira a capacidade emocional adulta
(Teasdale 1999 p. 668).
2.4.3

Teorias neurolgicas
Por ltimo, as teorias neurolgicas propem uma viso

multicamadas do

processamento da emoo, porm, diferente da anterior, esta se embasada na fisiologia


cerebral e em experimentos neurolgicos. Consideram que certas reas do crebro
responsveis pela tomada de deciso so tambm responsveis pelo processamento
emocional. Os principais autores, Damsio (Damsio 2004) e Ledoux (LeDoux 2002)
propem atravs destas evidncias que a emoo est relacionada com a tomada de deciso e
raciocnio.
Damsio em (Damsio 2004) prope a hiptese do marcador somtico, que seria a
rotulao de imagens mentais com o estado fisiolgico do indivduo. Por exemplo, imagine
que uma pessoa se depara com um cachorro raivoso que quer ataca- la. A pessoa perceber o
cachorro pelos seus sentidos (viso, audio e olfato) e estas percepes sero rotuladas com
o seu estado fisiolgico que seria: sudorese e aumento do batimento cardaco. Com isto, o
crebro tenderia a associar a percepo com as percepes geradas, criando um cluster de
informaes que podem ser resgatados posteriormente em conjunto. Caso esta mesma pessoa
observar novamente outro cachorro, s que manso e brincalho, poder ter as mesmas
sensaes de sudorese e aumento do batimento cardaco.
De acordo com Damsio, os dois episdios so fenmenos emocionais, porm de
classes distintas, os quais chama de dois tipos de emoes 3 : (i) as primrias so respostas
fisiolgicas do organismo a um evento sendo disposies inatas a resposta de um estmulo,
controladas pelo sistema lmbico; e (ii) as secundrias seriam a recordao do estado
fisiolgico associado imagens mentais relacionadas a eventos passados similares ao evento
atual. Assim estas relaes so aprendidas pelo indivduo e envolvem categorizao destes
estmulos, em especial a sua avaliao boa ou ruim. O crtex cerebral, junto com o sistema
3

Da fo rma co mo (Damsio 2004) define emoo, o termo tipo mal emp regado pela literatura. Um

nome melhor seria estado emocional primrio (reat ivo) e secundrio (deliberat ivo). J que no so duas
emoes primria e secundria que so desencadeadas por um evento, mas sim u ma mesma emoo que
evolui no processo emocional.

32

lmbico, ento o responsvel pelas emoes secundrias (Morgado 2006 p. 54, Tomaz and
Giugliano 1997 p. 410). Muitos autores de agentes emocionais usam esta teoria para dar
suporte a sua proposta de emoo multicamadas (Hernndez et al. 2004, Jiang and Vidal 2006
p. 1, Velsquez 1998b) ou como substrato conceitual para memria emocional (Morgado
2006, Neto 2010).
J Joseph Ledoux realiza investigaes sobre a emoo medo e descreve quais so os
possveis percursos desta emoo dentro do crebro. O primeiro caminho inferior
descreve como um estmulo de medo passa diretamente do tlamo sensorial e vai direto a
amgdala, gerando respostas rpidas e simplistas no comportamento e alteraes fisiolgicas
autnomas 4 e hormonais. J o segundo o caminho superior leva a informao para o
crtex sensorial que tem a capacidade de gerar uma resposta mais elaborada e precisa
(Teasdale 1999 p. 677), porm de forma mais lenta. E s depois esta informao levada para
a amgdala (LeDoux and Rogan 1999, Morgado 2006 p. 56).
Um exemplo prtico disto realizar uma experincia de condicionamento utilizando
um estmulo e um choque. Se este estmulo condicionado for simples (por exemplo, uma
campainha) o indivduo em teste ir usar o caminho inferior. Caso seja um estmulo mais
complexo que requeira categorizao, ele realizado pelo caminho superior (LeDoux and
Rogan 1999). O segundo caminho tambm est relacionado com a parada da elicitao de
estado emocional, promovendo o autocontrole do indivduo, de tal forma que o processo de
decaimento da intensidade de uma emoo seja condicionado pelo segundo caminho
(Teasdale 1999 p. 677).
Algumas crticas cabveis as teorias neurofisio lgicas so devidas a sua abordagem
bottom-up (partem de explicaes neurolgicas para explicar fenmenos cognitivos
complexos), o que as limitam a cenrios particulares. O prprio Ledoux (LeDoux and Rogan
1999) reconhece a limitao do seu trabalho vendo que seus estudos sobre o medo no
podem, sem a devida elucidao, serem generalizados para todas as emoes. O trabalho de
(Damsio 2004) embora de grande influncia, faz devidas propostas sobre relao entre
emoo e tomada de deciso com argumentos em relao topologia cerebral e aos
experimentos realizados, mas no diz explicitamente que emoes ou quais processos
emocionais so requeridos para a inteligncia (Sloman 2004).

p269 - autonomic

33

2.5 Computao Afetiva


Segundo (Neto 2010), a computao afetiva o estudo de sistemas computacionais
(incluindo-se sistemas robticos, de software e/hardware) capazes de reconhecer, sintetizar e
expressar emoes. A relao entre o fenmeno emocional e sistemas computacionais ocorre
desde o momento em que foi postulada que uma teoria geral do pensamento e da soluo de
problemas (planejamento / tomada de deciso), para serem completas, devero lidar com o
fenmeno emocional (Picard 1997 p. 1).
Muitos autores (Hernndez et al. 2004, Jiang and Vidal 2006, Neto 2010, Steunebrink
2010 p. 9) consideram ou usam o trabalho (Picard 2000) de Rosalind Picard como a principal
referncia neste campo, sendo o livro que cunhou o nome Affective Computing. Neste
trabalho, a autora define um conjunto de conceitos bases, como tipos de emoes, emoes
fisiolgicas e cognitivas, emoes primrias e secundrias, entre outros, que so largamente
adotados atualmente no estudo de agentes emocionais.
Inclusive, ela determina quais so os limites de pesquisa da Computao Afetiva
definindo quatro grupos de tarefas que envolvem a relao de seres humanos (usurios) e
computadores: (i) reconhecimento de emoes; (ii) expresso de emoes; (iii) fazer os
computadores terem emoes; e (iv) alm de ter emoes um computador deve ter
inteligncia emocional para que seja til ao ser humano.
Veja que ter emoes, inclusive em seres humanos, um conceito de difcil definio,
pois envolve vrios conceitos que so ainda abertos a discusso. Picard em (Picard 2000 p.
60) para evitar cair nesta discusso, define um conjunto de cinco componentes que devem
estar presentes em um sistema para consider-lo como tendo emoes:
1.

Possuir emoes emergentes e comportamento emocional (preferencialmente sem a


representao explcita das emoes ns discutimos melhor este conceito no tpico
2.6.1);

2.

Possuir emoes primrias (rpidas) discutimos este conceito no tpico 2.4.2;

3.

Possuir emoes secundrias (cognitivas) discutimos este conceito no tpico 2.4.2;

4.

Possuir experincia emocional isto , o sistema capaz de perceber que est no meio
de um fenmeno emocional atravs da percepo cognitiva, fisiolgica e subjetiva;

5.

Ocorrer interao entre o fenmeno emocional a nvel cognitivo e fisiolgico isto ,


fatores emocionais ocorridos primariamente de forma cognitiva (ex. pensamos em um
evento do passado que emocionalmente relevante) eliciaro um fenmeno emocional
fisiolgico (ex. esta lembrana causa aumento do batimento cardaco).

34

Por fim, ter inteligncia emocional, como usado pela autora refere-se, ao mesmo
conceito homnimo de inteligncia emocional em humanos: Um ser humano adulto
inteligente emocionalmente se ele souber lidar com suas emoes, seja (i) atravs da
capacidade de perceber e expressar suas emoes (ele capaz de perceber que outro indivduo
esta triste ou feliz e capaz de expressar suas prprias emoes de forma nem exagerada e
nem contida), (ii) regulando-as para que no sejam nocivas a si mesmo ou ao prximo (por
exemplo, caso o indivduo sofra uma agresso, ele ser capaz de conter a raiva, no
explodindo); ou ainda (iii) utilizando-as como um motivador (por exemplo, o indivduo
frente a um fracasso em um jogo de futebol, no ver isto como o fim do mundo e ir
treinar mais para que no prximo jogo tenha melhor desempenho).
Logo, segundo (Picard 2000), inteligncia emocional em um computador a
capacidade deste sistema de reconhecer e expressar emoes de forma coerente e no
exagerada/contida em relao ao usurio. E, principalmente, sua simulao de emoes deve
ser usada para aperfeioar o sistema. Por exemplo: caso o computador falhe em uma tarefa, as
emoes geradas por exemplo, tristeza devem ser usadas para que ele melhore seu
desempenho alocando, por exemplo, mais recursos para conseguir realizar a tarefa que falhou.
E no para que ele piore seu desempenho por exemplo, o computador desistir da tarefa e
considerar-se inapto para realiz-la.
Vamos apresentar a seguir os tpicos da computao afetiva sobre o enfoque da
computao. Na Figura 5 vamos considerar quatro subreas da computao afetiva em um
grfico ilustrativo usando o conceito de agentes. As reas so (i) percepo do fenmeno
emocional; (ii) expresso do fenmeno emocional; (iii) simulao do fenmeno emocional; e
(iv) estudo do fenmeno emocional real. Neste trabalho, consideraremos que computao
afetiva a rea de pesquisa interessada na investigao da interao de um sistema
computacional em um ser humano ou com outro sistema que lide com o conceito de emoes
sobre pelo menos uma das subreas.
Veja que consideramos o item (iii) como simulao da emoo ao invs de ter
emoes. Consideramos simular mais adequado que ter, pois notamos que, na prtica, os
autores pesquisados estavam mais preocupados com a simulao (implementar um algoritmo
que simule o fenmeno emocional) do que seguir os postulados dados pela autora. A prpria
autora, em trabalho posterior (Picard 2003), comenta que a modelagem de afeto um
problema em aberto, de tal forma que nenhuma definio de ter emoes aceita pelos
pesquisadores de Computao Afetiva.

35

Figura 5: Tpicos da Computao Afetiva

Tambm se considera como rea de interesse da computao afetiva o estudo do


fenmeno emocional real (em humanos). Embora esta seja de responsabilidade primria da
Psicologia e outras cincias humanas, consideramos necessrio cit- la como rea de estudo da
Computao Afetiva visto que, de fato, uma srie de autores consultados dedicaram alguns
tpicos ao estudo da teoria da emoo (Morgado 2006, Neto 2010, Picard 2000, Scheve et al.
2006, Signoretti 2012, Sloman 1999, 2004, Steunebrink 2010).
Nossa proposta de agente emocional, assim como os outros trabalhos que prope um
agente deste tipo se encontram justamente na parte (iii) de simulao, pois eles no esto
preocupados em expressar emoes para um usurio (subrea ii) e nem obt- las (subrea i),
mas estudar a melhor forma de implementar um fenmeno emocional, orientando-se na
definio de uma arquitetura de agente.

2.6 Agentes Emocionais


Uma srie de trabalhos comearam a adotar agentes inteligentes para solucionar os
problemas da computao afetiva (Moridis and Economides 2008, Rumbell et al. 2011, Silva
et al. 2006). natural que isto acontea, pois a interao entre um ser humano emocional com
outros seres humanos, animais ou o ambiente est diretamente relacionada ao paradigma
orientado a agentes (Wooldridge 2009). Inclusive, comum ver nos modelos emocionais o
uso dos conceitos de agncia quando preciso determinar a causa e a r esponsabilidade de
dado evento (Marsella and Gratch 2009 p. 75, Ortony et al. 1990, Velsquez 1998b).
No existe uma definio formal aceita do que seriam agentes emocionais (Scheutz
2002), mas elas convergem para a seguinte: Agentes Emocionais so agentes que buscam
solucionar os problemas da Computao Afetiva (Camurri and Coglio 1998) de perceber,
expressar, simular internamente emoes (Meyer 2004, Oliveira and Sarmento 2003) e para
tomar decises que sejam teis ao agente (Pereira et al. 2005).

36

Estes agentes so usados na literatura para desenvolver personagens interativos


emocionalmente credveis para entretenimento (Bates et al. 1994, Rodrigues 2007), simular o
fenmeno emocional em robs (Breazeal 1998, Gadanho and Hallam 2001), e explorar a
influncia do estado emocional sobre o comportamento dos agentes (Velsquez 1998b). E
dentro desta proposta de controle comportamental, tenta-se usar a influncia do estado
emocional sobre a capacidade de adaptao do agente e sobre os algoritmos de tomada de
deciso (Jiang and Vidal 2006, Neto 2010, Oliveira and Sarmento 2003, Pereira et al. 2005,
Signoretti 2012, Steunebrink 2010, Velsquez 1998b). Alguns estudos esto adotando o
conceito de emoo em nvel macro, auxiliando o controle de sistemas multi-agentes atravs
de normas (Fix et al. 2006, Scheve et al. 2006, Staller and Petta 2001) e de reputao (Jiang
and Vidal 2006).
2.6.1

Aspectos do fenmeno emocional


Existem trs aspectos sobre o fenmeno emocional que so de uso comum nos

trabalhos sobre agentes emocionais: estado emocional, dinmica emocional e influncia


emocional.
O primeiro aspecto, estado emocional, a representao das emoes que esto
ocorrendo no agente em dado momento. Grande parte dos agentes emocionais (Breazeal
1998, Hernndez et al. 2004, Neto and Da Silva 2010, Padgham and Taylor 1997, Signoretti
et al. 2010, Velsquez 1998a) define explicitamente um estado emocional para o agente,
diferenciando apenas na sua representao. Esta representao que define o conjunto de
estados possveis chamada espao emocional, de tal forma que o estado emocional um
elemento (ou subconjunto) deste espao emocional. Alm disto, considera-se o estado
emocional como um subconjunto do estado mental por convenincia, j que faz parte da
mente do agente.
Existem basicamente duas formas de representao do espao emocional: um conjunto
de rtulos, utilizado em (Padgham and Taylor 1997, Velsquez 1998a), ou um hbrido de
rtulos e tuplas numricas, utilizado em (Breazeal 1998, Hernndez et al. 2004, Neto and Da
Silva 2010, 2010, Signoretti et al. 2010). Quando o estado emocional explicitamente
definido na arquitetura, dizemos que este estado emocional explcito.
Entretanto, existem outras propostas como (Morgado 2006, Staller and Petta 2000)
que procuram no determinar explicitamente a emoo e so principalmente suste ntadas pela
ideia de que o fenmeno emocional um fenmeno referente s alteraes em vrios
componentes, incluindo componentes cognitivos e motivacionais (Scherer 2000 p. 71).

37

(Picard 1997 p. 24) define estado emocional como sendo o estado interno e dinmico do
agente que inclui o estado mental e fsico. Tambm o trabalho (Morgado 2006) considera que
existe uma classe de agentes emocionais, chamada de modelos arquitetnicos, cujo fenmeno
emocional no explicitamente definido, mas sim uma consequncia da forma que a
arquitetura foi definida. Assim, o fenmeno emocional aplicado nestas arquiteturas pela
dinmica destes componentes, mas no h uma representao explcita do estado emocional.
Quando se adota esta perspectiva de fenmeno emociona l, dizemos que o estado emocional
implcito.
Entretanto, os prprios autores que prope o estado emocional implcito reconhecem
que, em alguns momentos, necessrio saber qual este estado emocional e propem
tcnicas para obteno deste estado derivado.
Por ltimo, algumas propostas de agente BDI (Jiang and Vidal 2006, Oliveira and
Sarmento 2003, Pereira et al. 2005) concordam na existncia de um estado emocional
explcito, entretanto no definem qual o seu formato, isto , qual a natureza do espao
emocional, deixando esta tarefa a cargo do projetista. Notoriamente, como visto na Tabela 1 e
levantado por (Picard 2000 p. 196) e (Signoretti 2012 p. 80), normalmente se adota o modelo
OCC (Ortony et al. 1990) da emoo sozinho, com modificaes informais ou em conjunto
com algum outro modelo. Isso ocorre pois ele no define o aspecto dinmico da emoo
(Bazzan et al. 2002) e no representa outras entidades importantes no processo afetivo, como
a personalidade (Silva et al. 2006). E mais recentemente, vm se adotando um modelo misto
feito por (Mehrabian 1996), que concatena um modelo de emoes (OCC), um modelo de
humor (PAD) e um modelo de personalidade (OCEAN) (Neto and Da Silva 2010, Neto 2010,
Signoretti 2012, Signoretti et al. 2010), a qual chamam de modelo afetivo.
Arquitetura

Autor

Espao Emocional

Teoria Base

Tok (Oz Project)

(Bates et al. 1994 p.


4)

Discreto, definio
informal

Sem nome

(Bazzan et al. 2002


p. 114)

Rtulos do OCC, mas a


dinmica e a influncia
emocional foram definidas
informalmente (Bates et al.
1994)
OCC

Kismet

(Breazeal 1998,
2000)

Agent Flow
Model

(Morgado 2006,
Morgado and

Discreto (Felicidade,
Ressentimento,
Compaixo e Raiva)
com limiar de ativao
Trs dimenses
Emoes discretas de Ekman e
(Valncia, Excitao, espao de emoes (Ekman and
Postura) com regies
Davidson 1994, Izard 1993)
rotuladas
Duas dimenses e
Modelo emocional de Scherer
quatro rtulos
(Reekum and Scherer 1997)

38

Gaspar 2005)

Sem nome

Cathexis

(Steunebrink 2010,
Steunebrink et al.
2009)
(Velsquez 1998a,
1996, 1998b)

BDIE

(Hernndez et al.
2004)

Emotional BDI

(Jiang and Vidal


2006)
(Oliveira and
Sarmento 2003)
(Padgham and
Taylor 1997)

Sem nome
Sem nome

Emotional BDI

(Pereira et al. 2005)

ALEC

(Gadanho and
Hallam 2001)

Sem nome

(Neto and Da Silva


2010, Neto 2010)

AAFA

(Signoretti 2012,
Signoretti et al.
2010)

Discreto (OCC)

Discreto (seis emoes


de Ekman)
Duas dimenses
(Valncia, Excitao)
com regies rotuladas
No definido
(Tarefa do projetista)
No definido
(Tarefa do projetista)
Discreto: Felicidade,
Tristeza, Agradecido,
Esperanoso,
Desapontado e
Culpado
No Definido
(Tarefa do projetista)
Discreto - Felicidade,
Tristeza, Medo e
Raiva
Discreto (OCC)
mapeado em um
modelo contnuo PAD
(Mehrabian 1996) e
parametrizado por
fatores de
personalidade do
OCEAN (McCrae and
John 1992)
Discreto (OCC)
mapeado em um
modelo contnuo PAD
e parametrizado por
fatores de
personalidade do
OCEAN

apoiado pelas memrias


emocionais (marcador
somtico) de Damsio
(Damsio 2004)
OCC

Emoes discretas de Ekman e


teoria da mente de Minsky
(Minsky 1988)
Mesmo de (Breazeal 1998)

No definido
(Tarefa do projetista)
No definido
(Tarefa do projetista)
(Dyer 1987)

No Definido
(Tarefa do projetista)
(Wilson 1991)

(Mehrabian 1996)

(Mehrabian 1996)

Tabela 1: Estados emocionais adotados nas arquiteturas

O segundo aspecto do fenmeno emocional a ser definido neste trabalho a dinmica


emocional. A partir do momento que o fenmeno emocional possui caractersticas temporais,
ele possui um comportamento (dinmica) que varia de acordo com o estado mental do agente.
Ento, a dinmica emocional definida como uma funo que verifica o estado mental do

39

agente e altera seu estado emocional. Arquiteturas com estado emocional explcito tendem a
possuir uma ou mais funes que avaliam certos aspectos do estado mental e atualizam o
estado emocional (Scheutz 2004 p. 2). J nas arquiteturas com estado emocional implcito, a
dinmica emocional realizada por aspectos essenciais da arquitetura, como mecanismos de
interrupo (Sloman 1999), mtricas derivadas da capacidade do agente em alcanar suas
metas (Morgado 2006) ou atender s normas impostas (Staller and Petta 2000). As funes
que modificam o estado emocional so compostas por um conjunto de sub-funes, regras de
produo ou funes reativas chamadas de eliciadores (elicits) ou lanadores (releasers). Elas
monitoram o estado mental e as percepes enquanto modificam a base de emoes quando
determinada alterao ocorre.
Alguns autores definem tambm um comportamento emocional chamado de
decaimento e mocional. Este comportamento faz com que uma emoo, depois de eliciada,
decaia sua intensidade com o tempo (Bazzan et al. 2002, Breazeal 1998, Hernndez et al.
2004, Neto 2010 p. 106, Oliveira and Sarmento 2003, Padgham and Taylor 1997, Signoretti
2012, Velsquez 1998b). Entretanto, nem todas as abordagens considerem isto (Jiang and
Vidal 2006, Morgado and Gaspar 2005).
O terceiro aspecto do fenmeno emocional a influncia emocional, que a
influncia do estado emocional em outras cognies do agente. Em particular, em alguns
agentes BDI (Jiang and Vidal 2006, Neto 2010, Oliveira and Sarmento 2003, Pereira et al.
2005, Signoretti 2012) esta influncia acontece pela parametrizao das funes que o
compe por uma base de dados que armazena o estado emocional.
Acredita-se que estes trs aspectos sejam suficientes para caracterizar e estudar o
fenmeno emocional em agentes emocionais. Alm disto, consideraremos que o conjunto dos
trs chamado de modelo emocional computacional. A tarefa de modelar um agente
emocional consiste em obter uma teoria que explique o fenmeno emocional, desenvolver um
modelo emocional computacional em cima desta e posteriormente mapear este modelo em
uma arquitetura de agente.
Usaremos estes aspectos daqui por diante para analisar os trabalhos relacionados
(captulo 3) e na definio da arquitetura (captulo 4).
2.6.2

Agentes Emocionais BDI


Mais recentemente alguns autores vm estendendo a arquitetura BDI para dar suporte

ao desenvolvimento de agentes BDI emocionais. A maioria destes autores prope novas

40
arquiteturas focando na incorporao de um mdulo emocional na arquitetura BDI que se
relaciona com os outros mdulos a fim de simular o fenmeno emocional.
Eles apontam uma srie de vantagens em modelar agentes emocionais baseados na
arquitetura BDI, tais como:

A arquitetura BDI possui clara distino entre componentes importantes em um agente


inteligente, facilitando a modelagem e a implementao (Hernndez et al. 2004);

A arquitetura BDI permite lidar com planos to complexos quanto necessrio


(Hernndez et al. 2004);

A arquitetura BDI inspirada em psicologia informal (Pereira et al. 2005) e permite o


desenvolvimento de tomada de deciso similar a humana (Hernndez et al. 2004), pois
reflete o processo prtico de raciocnio humano (Jiang and Vidal 2006 p. 2) ;

uma arquitetura j amplamente aceita para agentes e existe uma gama de


implementaes e frameworks implementados (Jiang and Vidal 2006 p. 2, Neto 2010
p. 34, Pereira et al. 2005 p. 1, Signoretti 2012);

Existem framerworks lgicos formais que descrevem a arquitetura BDI e permitem a


verificao de seu funcionamento (Pereira et al. 2005);

Permite desenvolver comportamento adaptativo (Neto 2010 p. 34);

A arquitetura BDI permite implementar dois conceitos fundamentais em IA:


deliberao e planejamento (Bordini et al. 2007), o que permite relacionar emoes a
estes dois conceitos;

A arquitetura BDI compatvel com outras arquiteturas de agentes j propostas, como


a reativa, em camadas e lgico (Jiang and Vidal 2006, Neto 2010); de tal forma que se
for preciso criar um agente emocional e reativo, poder se usar uma ferramenta que
misture BDI e um mdulo Emocional;

natural e formalmente permitido estender a arquitetura BDI, j que ela baseada em


conceitos de psicologia informal. No caso de emoes, vantajoso adicionar um
mdulo emocional que contenha explicitamente representaes do estado
emocional, pois isto embasado em vrias teorias de emoes (Norling 2004).
Entretanto, os autores de agentes emocionais BDI apenas contemplam em suas

propostas uma faceta do fenmeno emocional. Por exemplo, o trabalho de (Hernndez et al.
2004) somente contempla a influncia do estado emocional do agente sobre as crenas e os
desejos, enquanto as abordagens de (Jiang and Vidal 2006, Oliveira and Sarmento 2003)
focam seus modelos na influncia das emoes do agente sobre as intenes. O proposto em

41

(Pereira et al. 2005) chega a criar um modelo de influncia das emoes sobre os outros
componentes da arquitetura BDI, todavia no deixa explcitas as razes para tal feito. Por
ltimo, o trabalho de (Neto 2010) bastante completo e apresenta bons resultados no uso de
um mdulo emocional na arquitetura de agentes Jason, entretanto apresenta uma srie de
limitaes devido a ser uma proposta menos generalista.
Esta parcialidade das propostas indica a necessidade de uma arquitetura unificada e
genrica, que abarque todas as possveis influencias que um mdulo emocional possa realizar
sobre o resto da arquitetura BDI.

42

3 Trabalhos Relacionados
Iremos analisar as abordagens de agentes emocionais relacionadas com nossa
proposta. A maioria destas abordagens so arquiteturas Emocionais BDI (Hernndez et al.
2004, Jiang and Vidal 2006, Neto 2010, Padgham and Taylor 1997, Signoretti et al. 2010,
Steunebrink 2010), enquanto outras so apenas arquiteturas emocionais, mas que contribuem
efetivamente para nossa com algoritmos ou modelos que sero mapeados no modelo BDI
(Breazeal 1998, Morgado 2006, Oliveira and Sarmento 2003, Sloman 1999, Velsquez 1996).
Outras propostas no foram exaustivamente utilizadas, pois algumas foca vam na
simulao de um modelo emocional especfico (Bazzan and Bordini 2001, Steunebrink 2010),
o que difere da escolha que fizemos de deixar esta tarefa a projetista de agente. Outras no se
preocupavam com a influncia da emoo no resto da arquitetura (Marsella and Gratch 2009),
que justamente a meta principal desta dissertao. E ainda algumas se preocupavam com a
formalizao lgica do fenmeno emocional (Meyer 2004, Steunebrink 2010), o que colide
com nosso objetivo de deixar o modelo emocional em aberto na arquitetura.
Nossa anlise ser orientada a discutir cada mdulo da arquitetura BDI e cada tpico
abaixo discutir uma abordagem e seus subtpicos discutiro um componente BDI ou
possveis mdulos de percepo e atuao, alm do mdulo emocional. Quando esta
arquitetura no for BDI, ser feita a mesma organizao e ser apontado como esta proposta
trata do respectivo mdulo em discusso. Quando um subtpico de um mdulo no for
especificado, indica que a abordagem no trata deste mdulo.
Aps apresentar os trabalhos, no tpico 3.11, iremos fazer uma comparao destas
abordagens.

3.1 BDIE (Hernndez et al. 2004)


A arquitetura BDIE (Hernndez et al. 2004) apresenta uma proposta no conservativa,
incorporando um componente emocional que influencia as percepes do agente, a gerao de
seus desejos e tambm a execuo de seus comportamentos. Em adio, as crenas, metas e

43

emoes correntes do agente contribuem com a reviso destas emoes. Todavia, esta
arquitetura no se preocupa com a influncia das emoes sobre a Filter Function, como
outros autores fizeram (Jiang and Vidal 2006, Pereira et al. 2005, Steunebrink 2010).
Um ponto importante nesta proposta que eles deliberadamente no criaram uma
influncia da emoo sobre as intenes e as aes, pois consideraram que mesmo que seja
pertinente ter esta influncia para obter uma resposta rpida do sistema, isto iria prejudicar a
modularidade do sistema e seria teoricamente incompatvel com a teoria emocional adotada.
3.1.1

Mdulo de percepes
Os autores consideram que o estado emocional interfere no processo perceptivo. Por

exemplo, dado o estado emocional raiva, o sensor de viso deve funcionar limitadamente
(focando somente no objeto que causou raiva). Entretanto, os autores no definem
explicitamente uma funo e base de percepes, no do maiores detalhes de como
realizada esta influncia e a influncia no demonstrada em seu exemplo.
Inversamente, consideram que a percepo influencia o estado emocional, mas para
isto ele insere esta percepo na base de crenas. De tal forma que s possvel influenciar as
emoes se esta percepo for envelopada em uma crena.
3.1.2

Mdulo de crenas
Este mdulo foi alterado para suportar a teoria emocional multicamadas. Na sua

abordagem, as emoes secundrias e ternrias seriam compostas por emoes primrias


(fisiolgicas/reativas) e crenas. Para dar suporte a esta caracterstica, o autor considera que o
conceito de emoes multicamadas implementado na base de crenas e as crenas podem
ser de trs tipos, refletindo trs camadas: a primeira camada so as percepes dos agentes em
sua forma original, a segunda camada so as crenas compostas por relaes e transformaes
em cima das crenas do primeiro nvel e a terceira camada seria a combinao das crenas do
segundo nvel (Hernndez et al. 2004 p. 4). A base de crenas monitorada por avaliadores
classificados tambm por nveis: os avaliadores primrios so simples funes de verificao
associados com um valor de limiar, tal como o modelo de (Velsquez 1998b). Os avaliadores
secundrios, que monitoram as crenas de segundo nvel, so mais complexos e possuem
comportamento deliberativo. Segundo autor, tambm deveriam existir avaliadores ternrios,
entretanto no foram implementados.

44

Entretanto, os autores no especificam como os outros elementos da arquitetura BDI


(por exemplo, os planos do agente) influenciam na reviso das crenas. Alm disso, a
proposta de estender o conceito de nveis s crenas foi uma representao criada pelos
autores e no possui uma motivao clara, no apresentou nenhum ganho arquitetura e
aumentou a complexidade do problema analisado. De acordo com o exemplo usado para
validao da arquitetura o motivo apenas classificar as crenas similarmente como as
emoes so.
3.1.3

Mdulo de desejos
Quanto aos desejos do agente, eles so suas metas (goals) e suas variveis

homeostticas (homeostatic variables). Uma varivel homeosttica um valor que varia com
o decorrer do tempo. A ela esto associados limiares inferiores e superiores, que indicam um
estado indesejvel do agente, promovendo algum tipo de resposta. O caso clssico de
varivel homeosttica a fome. Que aumenta com o tempo e quando extrapola certo limiar,
promove um conjunto de fenmenos e comportamentos para que o indivduo se alimente,
diminuindo a fome e a fazendo voltar a valores entre os limiares (estado de homeostase).
Os desejos so classificados por suas prioridades e importncias 5 . O agente sempre
selecionar os desejos com maior prioridade e depois selecionar os com maior importncia.
Isto , se um desejo A mais prioritrio que um desejo B, ele ser selecionado, mesmo que B
seja mais importante que A. Alm disto, quando um desejo no consegue ser satisfeito, todos
os desejos que possuem prioridade igual ou menor a dele sero desativados. Segundo o autor,
isto permite que o sistema atenda aos desejos que realmente se relacionam com o atual
contexto. Os nveis de prioridade so dinmicos e podem variar no decorrer da execuo do
agente.
Quanto funo de gerao de desejos desta arquitetura, ela definida tal como a BDI
original e os autores aludem que as emoes primrias ativam certos desejos para gerar
resposta rpida na arquitetura e que todas as emoes so potenciais fontes de desejos. Os
desejos tambm influenciam as emoes, principalmente durante sua satisfao e insatisfao
(promovendo alegria ou tristeza, respectivamente).
Este esquema do mdulo de desejos inovador, pois unifica o conceito de motivaes
ou drives, segundo (Velsquez 1996, 1998b) e (Breazeal 1998) e o conceito tradicional de
desejos da arquitetura BDI. Entretanto, podemos enumerar as seguintes problemticas desta
5

A diferena semntica entre importncia e prioridade no est clara em (Hernndez et al. 2004).

45

proposta: (i) o uso de prioridades confuso, (ii) no explicada qual a diferena entre
prioridade e importncia e (iii) no h indcio que esta abordagem melhore a capacidade do
agente de ateno em determinado problema ocorrendo no mundo.
3.1.4

Mdulo emocional
Esta proposta define um modelo emocional constitudo por trs classes de emoes.

Emoes primrias so as relacionadas com tarefas fundamentais para a vida. So rpidas e


pr-definidas, sendo ativadas quando uma situao particular ocorre. Elas so importantes
dentro do sistema j que podem gerar desejos prioritrios que interrompem planos correntes
para priorizar a execuo de planos que lidem com esta emoo. Medo e surpresa podem ser
consideradas emoes primrias. As emoes secundrias so relacionadas com cognies de
alto-nvel que interpretam as percepes do agente e promovem a alterao do estado
emocional. Este tipo de emoo possui funes como a comunicao e interao com outros
agentes. Normalmente a alegria, tristeza e raiva podem ser consideradas secundrias. Por
ltimo, as emoes ternrias so resultado e cognio reflexiva como vergonha e apreo, por
exemplo. Entretanto tais emoes no foram implementadas na arquitetura proposta. A
principal motivao para esta diviso das emoes melhorar o desempenho da avaliao das
mesmas, onde as emoes primrias gerariam respostas rpidas a eventos, tomando o controle
do sistema em situaes de emergncia/fundamentais (Hernndez et al. 2004 p. 3). E como
comentado, para os autores emoes constituem a base de crenas e elas prprias podem ser
aglomerados de crenas, o que exigiu alterar a base de crenas, como comentado acima.
O espao emocional hbrido e composto por um espao contnuo com os eixos
Excitao e Valncia/Favorabilidade (Arousal e Valence) particionado por regies discretas
que representam emoes discretas, como o proposto por (Breazeal 2000). Um estado
emocional um ponto neste espao contnuo e a regio que o contm.
A dinmica emocional representada por eliciadores que monitoram as crenas do
agente e que so divididos de acordo com o tipo de crena (veja o tpico crena acima) e por
um fator de decaimento associado a partio onde a emoo est representada decrementando
a emoo automaticamente de acordo com este fator.
Os eliciadores primrios monitoram as crenas primrias e alteram as emoes
primrias, sendo normalmente simples computaes que monitoram se um dado fator excedeu
um limiar. Quando h uma eliciao primria atribui-se um ponto absoluto no espao de
Excitao x Valncia. J os eliciadores secundrios monitoram as crenas secundrias e
alteram as emoes secundrias. Estes, aps elic iados, podem consultar outras bases da

46

arquitetura, como a de desejos, e modificar o estado emocional atual. Quando um eliciador


primrio acionado, no se faz a computao dos secundrios, sobre a justificativa de que
uma emoo primria representa uma situao de emergncia que o sistema deve lidar com
prioridade.
Entretanto, o autor no define explicitamente se existe uma ou mais funes de reviso
de emoes, havendo apenas determinado que existam estes eliciadores que devem ser
executados aps a reviso de crenas. Entendemos ento que ele embora use os conceitos de
emoes multicamadas, adota somente uma funo de reviso de emoes.
O autor tambm considera que esta eliciao, alm de monitorar as crenas, pode ser
influenciada pelas metas (Hernndez et al. 2004 p. 3). Entretanto no faz nenhuma
formalizao disto, definindo os parmetros da funo. Entendemos ento que esta funo de
reviso de reviso de emoes influenciada pelas emoes, desejos e crenas.
O modelo proposto em (Hernndez et al. 2004) inovador, porm se limita em vrios
aspectos:
(i) O uso do espao emocional hbrido mais verstil que o uso das emoes discretas,
porm manter os rtulos discretos facilita a computao da influncia das emoes sobre as
outras instncias psquicas. Mas a definio das parties no trivial e foi realizada de forma
informal.
(ii) A definio do processo de eliciao utilizando apenas crenas inicialmente e
dando prioridade s emoes primrias, embora faa com que o agente lide melhor com
situaes de urgncia, o impede de fazer computao de emoes secundrias. O prprio
conceito de emoes secundrias diferente do usado por outras abordagens, visto que est
relacionado com a complexidade do algoritmo de eliciao e suas prioridades, e no com sua
estrutura como feito por (Velsquez 1998b). Tal proposta parece interessante, j que os nveis
de emoes visam obter economia de recursos computacionais e melhor respostas
emergenciais, mas a fundamentao terica para esta adoo precria e no houve
experimentos para comprovar sua efetividade.
(iii) O exemplo apresentado descreve que o agente deve reagir iluminao do
ambiente muito simples e no permite uma melhor investigao das avaliaes cognitivas
nesta arquitetura. O exemplo indica a adoo da funo emocional de comunicao. Por
ltimo, o autor considera que apenas as crenas e os desejos influenciam as emoes
ignorando assim a influncia das intenes (tal com feito por (Jiang and Vidal 2006, Neto
2010)) e que as emoes s influenciam nos desejos e nas aes do agente.

47

3.2 EBDI (Jiang and Vidal 2006)


Em (Jiang and Vidal 2006), os autores apresentam outra extenso conservativa da
arquitetura BDI com componente emocional. Eles adicionam um novo mdulo emocional
com duas camadas emocionais e associam estas camadas a funes de reviso para que o
componente emocional seja capaz de acessar os outros componentes e inferir o novo estado
emocional. Seu foco foi expandir o trabalho de (Pereira et al. 2005), validando as influncias
propostas e procurando construir uma arquitetura independente do modelo emocional
adotado.
Os autores citam que a emoo controla a priorizao dos desejos e que o sucesso ou o
fracasso de um desejo pode eliciar emoes. Entretanto no apresentam nenhuma relao
entre desejos e emoes na sua arquitetura. Desta forma, a emoo apenas influencia as
crenas e as intenes. As percepes, aes e desejos no so influenciados.
O interessante desta arquitetura que ela prope considerar emoes primrias e
secundrias de forma separada, o que permite representar o gerenciamento de recursos e a
diferenciao das emoes primrias e secundrias explicitamente. E, embora defina esta
separao, no define um modelo emocional especfico, permitindo o desenvolvedor embutir
qualquer modelo que deseja e seja mais adequado ao seu cenrio.
3.2.1

Mdulo de percepes
Os autores consideram que a funo de reviso de crenas deva ser dividida em trs:

brf-see, que lida com as percepes do agente; a brf-msg, que lida com as mensagens trocadas
entre agentes e a brf-in, que realiza a reviso das crenas do agente, considerando o estado
emocional e as intenes para isto. Neste caso, ele explicita uma funo reviso de percepes
e mensagens, mas no h influncia de nenhuma base influencia estas funes.
3.2.2

Mdulo de crenas
Como comentado em 3.2.1, funo de reviso de crenas segmentada em trs e

somente a brf-in influenciada pela base de crenas, de intenes e de emoes para realizar
o seu trabalho. E o comportamento desta funo um hot-spot a ser definido pelo projetista.

48

3.2.3

Mdulo de intenes
Quanto ao mdulo de intenes, ele mantm as influncias da arquitetura BDI e

adiciona a influncia da base de emoes. Segundo os autores isto serviria principalmente


para criar uma relao entre intenes e crenas, permitindo prevenir, pelas emoes, a
inconsistncia entre estas. Por exemplo, se um agente est realizando uma inteno, porm cr
que esta no lhe trar benefcios, ele se sentir triste (Jiang and Vidal 2006 p. 4).
Eles consideram que as intenes iro influenciar as duas Funes de Reviso de
Emoes. Entretanto, a influncia da inteno sobre as crenas se apresenta confusa no
decorrer do trabalho (Jiang and Vidal 2006 p. 4): os autores descrevem que as intenes no
iro influenciar as crenas diretamente, mas sim indiretamente pelas emoes. Apesar disto,
no diagrama apresentado em seguida a funo de reviso de crenas contemplativa
influenciada pela base de intenes e no exemplo proposto as intenes so utilizadas como
forma de priorizao das crenas.
3.2.4

Mdulo de emoes
O mdulo emocional inspirado na teoria de emoes primrias e secundrias de

(Damsio 2004), onde os autores interpretaram que as emoes primrias so as sentidas


primeiro representando uma primeira resposta a uma situao/evento. J as secundrias so
geradas a partir das emoes primrias e de inferncias mais complexas, geradas com o
resultado da tomada de deciso do agente e podendo substituir uma emoo primria. O
conceito de marcador somtico no representado na arquitetura, apenas a diviso das
camadas. Entretanto foi parcialmente desenvolvida no prottipo, visto que uma emoo
associada ao agente de origem, e esta associao ser usada posteriormente para alterar o
comportamento do agente.
Devido a isto, a dinmica emocional representada por duas funes, cada uma
responsvel por um tipo de emoo e sofrendo influncia de diferentes fontes de dados. A
Primary Emotion Update Functon recebe as percepes do agente, as emoes anteriores e as
intenes e as verifica para atualizar as emoes primrias. J a Secondary Emotion Update
Function verifica o estado emocional anterior, as crenas e as intenes para gerar o novo
estado emocional. Veja que no definido como ocorrer a eliciao nem qualquer outro
processo de controle temporal da emoo, pois os autores consideram isto dependente de
domnio.

49

Inversamente ao que (Hernndez et al. 2004) realiza, este trabalho no ignora a


computao das emoes secundrias caso uma primria seja eliciada. Ao invs, ele sempre
gera o novo estado emocional com as emoes secundrias e, caso este novo estado seja
diferente do anterior e haja tempo para realizar uma nova deliberao, repete-se a reviso das
crenas, a reviso dos desejos e a seleo das intenes utilizando o novo estado emocional.
Quanto ao espao emocional, os autores no definem um a priori, podendo ser
utilizada qualquer forma de representao. No seu exemplo, ele considera as emoes como
sentenas lgicas em primeira ordem, associando uma emoo ao agente ao qual dirigida a
emoo (o agente odeia o outro agente, por e xemplo) ou ao estado do mundo (o agente est
com raiva do seu concorrente, por exemplo). Da mesma forma, o estado emocional ser
derivado de um elemento deste espao customizado.
A influncia emocional bem definida e representada pela influncia de uma base de
emoes sobre as funes de reviso de crenas e de filtro de intenes. Alm disto, no
exemplo descrito no artigo o sistema emocional possui a funo avaliativa, trabalhando como
um sistema de reputao distribudo (De Weerdt et al. 2007) onde um agente tem um
sentimento em relao aos outros, que pode ir do amor at o dio, representando o quanto este
outro agente foi confivel durante as interaes. A funo de atualizao de emoes
primrias verifica se o que um agente vizinho informa condiz com o que o agente est
percebendo do mundo e a funo de atualizao de emoes secundrias realiza a mesma
inferncia, s que utilizando as crenas do agente.
Por exemplo, em um primeiro instante, um agente A recebe uma mensagem do agente
B dizendo o dlar caiu e custa R$ 1,6. Porm o agente A percebe que o dlar custa na verdade
R$ 1,7. Na primeira funo de reviso de emoes, ele recebe o dado percebido (U$ 1,7) e a
mensagem de B (dlar caiu para U$ 1,6) e como B errou, ele passa a desconfiar de B.
Posteriormente, na segunda funo de reviso de emoes, o agente tem acesso a suas crenas
sobre o preo do dlar no decorrer do tempo e descobre que o dlar estava custando R$ 1,3.
Isto , o dlar est aumentando de preo e o agente B mentiu quanto ao dlar ter cado, o que
far o agente A desconfiar muito de B.
Esta proposta segue uma viso tambm proposta por em (Oliveira and Sarmento 2003,
Pereira et al. 2005) de que o espao emocional deve ser algo definido pelo desenvolvedor e
no pela arquitetura. Isto aumenta a abrangncia da arquitetura, visto que uma proposta de
modelo mais adequada que outra dependendo do problema a ser atacado.
O exemplo apresentando no artigo (Jiang and Vidal 2006) utiliza tanto a emoo
quanto a inteno como formas de priorizao de crenas (dando uma ordem a elas para

50

facilitar seu acesso pelo resto do sistema). O uso das emoes, embora validado, no foi
comparado com o desempenho de agentes no-emocionais.

3.3 Abordagem proposta em (Neto and Da Silva 2010, Neto 2010)


A proposta de Neto e da Silva (Neto and Da Silva 2010, Neto 2010) procura adicionar
um modelo emocional que engloba emoes, humores e personalidade (Mehrabian 1996) e os
conceitos de marcador somtico de Damsio na implementao BDI Jason. Sua modificao
conservativa, pois insere um mdulo ao Jason e cria um conjunto de regras de eliciao
chamadas durante a reviso de crenas e cria trs filtros influenciados pelas emoes: um para
crenas, outro para planos e um terceiro para percepes, que eliminam itens no compatveis
com o estado emocional atual.
Esta proposta apresenta a desvantagem de usar o modelo emocional fixo. Os autores
tambm implementam sua soluo diretamente sobre o Jason, o que dificulta transferir sua
abordagem para outra plataforma. A base de desejos no influenciada pelas emoes, como
proposto por (Hernndez et al. 2004, Pereira et al. 2005). E por fim, sua dinmica emocional
s influenciada pelas percepes e usando apenas uma funo, no aproveitando as
metodologias multicamadas, como propostas em (Hernndez et al. 2004, Jiang and Vidal
2006, Velsquez 1998b).
3.3.1

Mdulo de percepes
As percepes iro eliciar um conjunto de emoes e sero rotuladas por elas. Estas

percepes, aps rotuladas, sero filtradas de acordo com este rtulo e sua similaridade com o
estado emocional corrente. Logo, o filtro de percepes influenciado pelas emoes e as
percepes, somente.
Esta proposta de influncia emocional sobre as percepes clara e funcional. Alm
de ser embasada em teorias que explicam a percepo e m seres humanos, diferente do
realizado por (Lino 2006), que faz uma abordagem informal desta influncia, e de (Signoretti
2012) que apenas usa a intensidade emocional na influncia. No h detalhes se outras
instncias cognitivas influenciam a percepo, como a inteno ou as crenas.
3.3.2

Mdulo de crenas
A base de crenas a mesma do Jason. Os autores no definem uma influncia das

crenas sobre as emoes e as emoes no participam na criao de crenas. Por outro lado,

51

ele tem uma viso similar a de (Oliveira and Sarmento 2003) de que as crenas possuem
rtulos contendo informao sobre o estado emocional. Porm, da mesma forma que as
percepes, so filtradas de acordo com a similaridade deste rtulo com a base de emoes.
Devido a isto, podemos considerar que a base de emoes influncia a reviso de crenas.
Esta interpretao do rtulo de crenas inovadora em relao ao trabalho que
(Oliveira and Sarmento 2003) j que o usa como mecanismo de seleo de crenas e no
como um algoritmo de clusterizao e indexao das crenas para futuro resgate. O exemplo
que prope usa o filtro de crenas para que o agente tenha comportamento mais prximo que
um ser humano e no diz nada se tal filtro ajudaria na tomada de deciso ou outro quesito de
otimizao.
3.3.3

Mdulo de intenes
Quanto ao mdulo de intenes, foi criado um filtro na seleo de planos baseado,

segundo o autor, na teoria do marcador somtico de (Damsio 2004). Assim um plano possui
um marcador representando um valor positivo ou negativo, indicando a qualidade do estado
emocional atingido aps as vrias execues deste plano (Neto and Da Silva 2010 p. 50).
Na proposta terica deste filtro os autores propem a seleo dos planos com
marcao mais positiva (Neto 2010 p. 68) e na implementao se seleciona o plano com
marcao mais afim com o estado emocional (Neto 2010 p. 83). Esta relao de afinidade
entre marcador somtico e estado emocional dependente do domnio j que reflete relaes
definidas no modelo emocional adotado. No exemplo oferecido pelo autor em (Neto 2010 p.
74), caso o estado emocional do agente seja arrogante, o agente ir selecionar um plano entre
testemunhar e no testemunhar com maior nmero de marcaes positivas, entretanto
multiplicar o nmero de marcaes do plano testemunhar por trs, dando mais chances
deste ser selecionado.
Com isto podemos dizer que a Funo de Execuo influenciada pela base de
intenes e pela base de emoes.
Este filtro de planos uma proposta concreta e operacional. Os seus experimentos
verificaram a efetividade desta no ambiente do Dilema do Prisioneiro Iterado em alterar o
comportamento do agente. Entrementes, existem dois problemas na sua abordagem:
O primeiro que no ficou claro em qual momento do ciclo de execuo um marcador
somtico de um plano atualizado e como detectado. Na definio da arquitetura ele diz que
no filtro de planos so selecionados os planos com marcao mais positiva. Entretanto na

52

implementao, em vez disto, ele seleciona um plano com marcao positiva ou negativa
dependendo do estado emocional corrente.
A segunda a fuga do conceito de emoo. O marcador somtico foi mal definido e a
forma como foi utilizada se entende apenas como uma mtrica indicando qual plano foi mais
eficiente que outro em alcanar suas metas (Neto 2010 p. 68). A prpria implementao
realiza simplificaes em relao ao modelo proposto: no h associao exata do marcador
ao plano, mas sim um marcador somtico geral que indica a desempenho do agente no
problema atacado. Alm disto, se a seleo do plano utilizar apenas a mtrica de sucesso,
nada garante que s porque um plano no foi bem sucedido at agora, no o ser no prximo
cenrio.
3.3.4

Mdulo de emoes
Foi adicionado um mdulo afetivo baseado no modelo afetivo de (Mehrabian 1996),

conforme discutido no tpico 2.4.1. Considera-se ento que o estado/espao emocional


composto por estes trs componentes (emoo, humor e personalidade), sendo adotado trs
modelos cognitivistas para cada componente.
Quanto a dinmica emocional, se define que a eliciao das emoes ocorre logo
aps a atualizao das crenas junto com a atualizao do humor e usa regras de produo
derivadas do modelo OCC. Entretanto, considera-se que somente as percepes influenciam
as emoes, pois o autor considera que apenas os eventos do Jason gerados pelas percepes
eliciam emoes. E o decaimento da emoo ocorre com o tempo utilizando uma funo de
declnio.
Esta abordagem apresenta a implementao do modelo emocional bastante completa,
se comparada aos trabalhos de arquiteturas anteriores (Gadanho and Hallam 2001, Hernndez
et al. 2004, Lino 2006, Padgham and Taylor 1997, Velsquez 1996). O modelo embarcado
em uma implementao de agente BDI bem consolidada, neste caso o Jason, o que no
acontece nas outras arquiteturas BDI emocionais.
A interao entre humores e emoes parecida com a proposta de (Breazeal 1998,
Hernndez et al. 2004) em seu modelo emocional hbrido. Entretanto nesta arquitetura a
eliciao ocorre na parcela discreta do modelo atravs das regras de produo do modelo
OCC e a parcela discreta do modelo que possui associada valores que indicam o quanto
aquela emoo pertinente, diferentemente do adotado pelos outros modelos, que no
armazenam esta emoo. Isto permite que o agente esteja em um estado emocional

53

momentneo (alegre), mas seu humor permanea entediado (valores de prazer, excitao e
dominncia baixos).

3.4 Emotional-BDI (Pereira et al. 2005)


O trabalho (Pereira et al. 2005) apresenta uma extenso da arquitetura BDI
conservativa, adicionando um mdulo de percepo e um mdulo emocional. Alm destes, ele
desenvolve um mdulo responsvel por interpretar o estado mental e determinar quais os
recursos e capacidades o agente possui. Segundo os autores, necessrio explicitar estas
entidades para permitir saber quais os meios (means) os agentes possuem para atuar sobre o
ambiente.
Um problema central nesta abordagem construir um agente emocional onde o
mdulo emocional desta proposta influencia todos os outros, porm no existem bases
tericas nem justificativas para explicar estas influncias. Da mesma forma, os autores no
apresentam um exemplo de uso da abordagem, o que impede chegarmos a alguma concluso
sobre a sua validade. Por isto, no abordaremos a influncia entre a emoo e as crenas,
desejos e intenes.
Por outro lado, eles propem um mdulo explcito de percepes com justificativas
razoveis e com influncia emocional. E um mdulo emocional distinto e sem modelo
definido, como (Jiang and Vidal 2006), para no tornar a proposta dependente de domnio.
Por isto, discutimos estes dois pontos a seguir.
3.4.1

Mdulo de percepes
Esta abordagem considera que preciso interpretar um estmulo vindo do ambiente

para construir conceitos que faam sentido ao raciocnio do agente ao invs de trabalhar
diretamente com estes estmulos. Ento eles decidem criar um mdulo de sensao e
percepo (Sensing and Perception Module). Este mdulo composto por uma funo de
percepo (Perception Filter) responsvel por atribuir rtulos semnticos a uma sensao e
uma funo de sensao (Sensing Filter) responsvel por transformar as sensaes obtidas em
outras mais coerentes ao raciocnio do agente.
Este mdulo de percepes influenciado pelas crenas, emoes, capacidades e
recursos do agente. As crenas so importantes para a interpretao semntica da informao
recebida pela Perception Filter e os recursos e capacidades so usadas pela Sensing Filter

54

para realizar filtro de percepes de acordo com os recursos disponveis e capacidades que o
agente possui no momento.
Com esta funo explicitamente definida, o projetista do agente possuir melhores
bases para especificar o processo perceptivo do agente. Todavia tal modelo no possui um
embasamento terico e sua escalabilidade limitada. Como ele centraliza a funo de
percepo em dois componentes, que tratam de todos os sensores do agente (aquele que
realiza a seleo e aquele que atribui informao semntica), isto tornar tal mdulo
sobrecarregado, tendo de lidar com sensaes de naturezas diferentes.
3.4.2

Mdulo de Emoes
O mdulo emocional uma caixa preta que deve ser definida pelo projetista, no

especificando como so o estado e a dinmica emocional. Logo, o projetista de agente, em


tempo de projeto, que deve definir qual o modelo emocional. Novamente, como no foi
levantada nenhuma referncia sobre modelo emocional, o autor no nos d pistas de como
implementar este mdulo e como ocorreria a influncia emocional, embora ele considere que
este mdulo influencie todos os outros mdulos e influenciado por todos os outros.
Devido a este problema fundamental, o trabalho (Jiang and Vidal 2006) rel este
trabalho e atribui contedo terico a algumas influncias e elimina outras.

3.5 AAFA (Signoretti 2012)


A arquitetura proposta por (Signoretti 2012, Signoretti et al. 2010) chamada AAFA
Affective Attention Focus Agent implementada sobre a plataforma BDI Jason (Bordini et
al. 2007). Seu foco foi adotar o modelo afetivo de (Mehrabian 1996) para fazer filtro de
percepes, tanto qualitativo (preferir certas percepes de acordo com a emoo) quanto
quantitativo (eliminar algumas percepes menos significantes de acordo com o estado
emocional), baseado principalmente no trabalho j feito por (Morgado 2006) e similarmente
como feito por (Neto 2010). Embora bem sucedido, sua proposta se limita ao filtro de
percepes e no busca investigar a influncias das emoes nas outras entidades BDI. Por
isto, apenas discutiremos o mdulo de percepo.
A autora de (Lino 2006) prope um agente similar anteriormente a este proposta,
tambm baseado em (Morgado 2006). Porm sua proposta muito mais simples e limitada
que esta, sem se preocupar com os detalhes formais do modelo emocional e sem ter um rigor
para experimentao.

55

3.5.1

Mdulo de percepes
Este mdulo foi desenvolvido pelos autores baseado na proposta de (Morgado 2006).

Eles tambm adotam o Jason como arquitetura base e o modelo emocional (Mehrabian 1996),
como (Neto 2010) realizou. Entretanto, os autores ao invs de focarem na seleo por
pertinncia do estado emocional eliciado em as percepes do agente, eles usam uma mtrica
derivada do estado do humor do agente simbolizando quanto o agente est angustiado ou
relaxado com o ambiente para determinar quantos elementos percebidos iro para a base de
crenas. Quanto mais prximo o valor desta mtrica estiver de zero, maior ser esta parcela
das percepes a serem consideradas (Signoretti 2012 p. 177). Alm disto, eles definem que o
agente rotule suas percepes com o que eles chamam de behavior conjunto de aes que o
agente executa em dado momento e seus relacionamentos de dependncia (Signoretti 2012 p.
64). E consideram tambm que um behavior pode influenciar a percepo do agente,
procurando selecionar quais so mais pertinentes para o behavior atual. Se considerarmos um
behavior uma espcie de plano orientado a metas em conjunto com informao semntica
sobre as percepes do ambiente, podemos dizer que em sua proposta a percepo
influenciada pelas intenes, crenas e emoes do agente.
Esta proposta obteve bons resultados na otimizao do tempo gasto pelos agentes em
uma situao estressante, onde a poda das percepes usadas permitiu que o raciocnio fosse
mais rpido, sem perda drstica de desempenho dos agentes. Entretanto, deve ser lembrado
que no modelo proposto pelos autores no s a emoo que realiza a poda das percepes,
h anteriormente todo um processo de priorizao das percepes utilizando como critrio de
priorizao tanto a relevncia da percepo para o agente quanto a taxa de mudana da
percepo em relao ao instante anterior. Ambas as priorizaes so importante no processo
de seleo e no sofrem influncia da emoo.

3.6 Abordagem proposta em (Oliveira and Sarmento 2003)


Embora os autores em (Oliveira and Sarmento 2003) no proponham uma extenso
explcita da arquitetura BDI, eles descrevem a influncia da emoo sobre os algoritmos de
percepo do agente, e sobre os algoritmos de planejamento. Em adio, propem a influncia
dos desejos sobre a funo de reviso de emoes.
No iremos discutir o mdulo de desejos, pois os autores, embora considerem que
deva existir a influncia das emoes neste mdulo, eles no definem como isto deva ocorrer.

56

3.6.1

Mdulo de crenas
No proposto um mdulo de crenas em si, mas sim o uso de duas otimizaes para

a base de crenas do agente: Rotulao Emocional e Congruncia de Memria por Humor


(Emotional Tagging e Mood-Congruent Memory). A primeira visa rotular as crenas com o
estado emocional no momento que se adquiriu aquela crena. Esta rotulao permite a seleo
de crenas que deveriam ser mantidas por longo tempo, por curto tempo ou serem eliminadas.
A motivao para isto a conjectura de que memrias com maior intensidade emocional
deveriam ser persistidas por mais tempo. J a Congruncia de Memria por Humor, dado que
as crenas esto rotuladas, visa agrupar as crenas, formando clusters, para aperfeioar a
busca de dados nesta base, com a conjectura de que eventos que promovam um estado
emocional exigiro informaes obtidas em outro estado emocional similar.
O caso de teste proposto pelos autores para estas otimizaes foi fracamente discutido
e somente a Rotulao de Crenas utilizada. No existe em (Oliveira and Sarmento 2003)
resultados de desempenho desta arquitetura e nem foi comentado se a Rotulao de Crenas
modificou o comportamento do agente, comparado a no usar esta estratgia para julgar a
persistncia de crenas. Neste trabalho tambm no foi feita nenhuma considerao sobre a
Funo de Reviso de Crenas e muito menos qual a influncia das emoes neste processo.
3.6.2

Mdulo de intenes
Esta proposta considera o conceito de planejamento para que o agente realize suas

atividades. No h seleo explcita de intenes, mas sim a execuo de planos de acordo


com um desejo do agente e uma influncia da emoo sobre este no algoritmo de
planejamento.
Consideram que um algoritmo de planejamento pode ser influenciado pelo estado
emocional atravs da modificao dos seus seguintes atributos : (i) granularidade, indica se
prefervel um plano com poucos passos ou muitos passos; (ii) tempo de execuo, indica o
tempo permitido ao sistema de planejamento para elaborar um plano ; (iii) conjunto de aes
(Action Set), indica qual conjunto de aes o plano poder utilizar; e (iv) estilo de
algoritmo/heurstica usado, i.e., se ele deve ser um algoritmo exato ou uma heurstica
aproximativa. Por exemplo, (segundo os autores) durante o perodo que o humor ansiedade
est ativo o algoritmo de planejamento (i) deveria diminuir a granularidade dos planos, pois a
emoo ansiedade prev um maior detalhamento das atividades sendo realizadas pelo agente,
(ii) deve incrementar o conjunto de aes, pois isto ajudar a descobrir boas oportunidades de

57

planos; (iii) deve usar heursticas conservativas, visto que o agente deve ser pessimista diante
das suas aes; e (iv) deve aumentar o tempo permitido ao planejamento, permitindo melhor
refinamento dos planos.
No mesmo trabalho tambm proposto que os algoritmos adotados por um agente
para solucionar um problema podem ser classificados pela sua complexidade e seu nvel de
influncia pela emoo. Por exemplo, um algoritmo heurstico possui baixa complexidade
computacional, mas pode ter grande influncia da emoo. De acordo com os autores,
dependendo do estado emocional um agente poder preferir um dado tipo de algoritmo (se em
pnico, ele preferir algoritmos reativos).
No exemplo de (Oliveira and Sarmento 2003) adotado tanto o uso de calibragem do
algoritmo de planejamento quanto a seleo dos algoritmos de acordo com sua classe atravs
do estado emocional. Estas duas tcnicas, embora bem explicadas, so postas muito
abstratamente em relao ao estado emocional. Isto , utiliza quatro estados emocionais
distintos e define qual a influncia de cada um sobre o algoritmo de planejamento e o de
seleo de classe de algoritmos, entretanto no h indicao de literatura que possa ser usada
pelo projetista para relacionar as emoes com as tcnicas adotadas. Alm disto, a tcnica de
calibragem de planejamento informal. Tambm no provado se tal tcnica promove
alterao do comportamento ou melhor desempenho do agente.
3.6.3

Mdulo de emoes
Sua proposta para o mdulo emocional foca em dois pilares bsicos: (i) a emoo tem

funo bsica de orientar o sistema de gerao de metas do agente (funo regulao de


comportamento); e (ii) no definido um estado/espao emocional prprio, mas sim apenas
as influncias da emoo em outros aspectos da arquitetura e a dinmica emocional.
Para os autores, a emoo reflete a capacidade do agente de satisfazer seus
desejos/metas em relao ao estado do ambiente e representada por uma viso funcional
conhecida como potencial de satisfao (potential copping) (Oliveira and Sarmento 2003 p.
306). Em outras palavras, a eliciao das emoes depende das chances do agente em
satisfazer suas metas. Como por exemplo, se o agente recomendador tem como meta
encontrar livros que um usurio do site possivelmente esteja interessado, mas o agente cr no
haver nenhum livro no estoque que esteja de acordo com o perfil do usurio, o agente pode
desencadear um processo emocional, como a frustrao.
Quanto a dinmica emocional, eles consideram que a eliciao emocional
parametrizada por uma meta, o estado mental do agente e suas percepes do ambiente. Por

58

isto, se mapearmos sua proposta para a BDI, consideramos que as crenas, metas e percepes
influenciam a emoo.
Tambm no definido o estado/estado emocional, uma generalizao da proposta
de (Velsquez 1996, 1998b), pois os autores consideram que o estado emocional em si como
algo flexvel, devido ao fato de existirem vrias propostas para eliciao das emoes,
similarmente ao concludo por (Jiang and Vidal 2006, Pereira et al. 2005). Entretanto, o
decaimento emocional fixo e implementado como um fator numrico que decrementar a
intensidade da emoo eliciada, sendo fixo e definido pelo projetista do agente. Importante
notar que os autores consideram que um fenmeno afetivo pode ser uma emoo, um humor
ou um temperamento, dependendo da sua intensidade emocional e do tempo gasto para a
intensidade decair.
Esta proposta apresenta um avano em relao as anteriores, visto que generaliza o
estado emocional. Entretanto, quanto a dinmica emocional, no est claro se as regras de
eliciao so literalmente parametrizada pelas metas ou se somente as regras devem ser
definidas de acordo com as metas. Alm disto, o prprio uso da meta como fator chave para a
eliciao da emoo limita a arquitetura para casos que no necessariamente exijam uma meta
explcita.
Considere por exemplo que estamos fazendo uma simulao onde um agente deseja ir
a um teatro assistir a uma pea. Ele possui a meta Assistir pea e est executando o plano
Ir ao Teatro; Comprar Bilhete; Entrar na sala. Quando vai executar a ao Entrar na sala,
ele notificado pelo recepcionista (outro agente) que proibido o uso das suas vestimentas
por exemplo, short e no poder entrar na sala. O agente, devido a esta restrio, sentir a
emoo vergonha. Veja que a emoo vergonha no est relacionada com a falha em concluir
o plano nem de alcanar a meta Ver pea, mas sim com a restrio que lhe foi atribuda. Em
uma arquitetura de agente, a recepo desta restrio poderia gerar diretamente uma emoo,
sem que haja relao com as metas que estavam sendo realizadas nem a necessidade de criar
uma meta artificial, que nosso exemplo poderia ser a meta de No sofrer restries ou
punies.
Outro detalhe que os autores deixam fixo o decaimento da intensidade emocional
usando um valor que subtrado do valor da emoo por instante de tempo. Embora a maioria
dos trabalhos considerem isto (Hernndez et al. 2004, Neto 2010, Padgham and Taylor 1997,
Signoretti 2012, Steunebrink 2010, Velsquez 1998b), no h bases tericas para corroborar
com o uso desta abordagem para todos os domnios. Os trabalhos (Jiang and Vidal 2006, Lino
2006, Morgado 2006) so exemplos que no adotam este comportamento.

59

Alm disto, os autores propem uma taxonomia que possui importante va lor para a
rea de agentes j que permite uma melhor anlise do problema, em especial no momento em
que o projetista deve especificar as emoes do agente. Por outro lado, a definio desta
taxonomia no tem embasamento terico e existem outras propostas mais concretas e gerais,
como a de (Scherer 2005).
Por ltimo, a rotulao de crenas e o agrupamento por humor no so bem definidos
e possuem uma srie de problemas quando so implementados. Detalhes so explicados no
tpico (4.3).

3.7 Abordagem proposta em (Steunebrink 2010)


Esta abordagem se preocupa primeiramente em estudar o modelo emocional OCC e
model- lo logicamente, permitindo que se derivem teoremas e se consiga assim provar
consequncias sobre este modelo (Steunebrink 2010 p. 9). Alm disto, ele define uma
dinmica emocional com intensidade contnua e uma influncia emocional baseada nos
conceitos de tendncia de ao e Marcador Somtico de Damsio. Isto tudo sobre uma
variante da arquitetura abstrata BDI KARO.
A influncia emocional proposta foca principalmente no mdulo de intenes.
Entretanto, como uma definio lgica, possvel que esta emoo influencie os outros
mdulos sem maiores problemas, porm no haver um embasamento terico/semntico para
isto. Por isto, apenas iremos discutir sua influncia sobre o mdulo de intenes e o seu
mdulo de emoes.
Talvez o trabalho de Steunebrink (2010) seja o mais completo e denso de agentes
emocionais, pois prope solues para o estado, a dinmica e a influncia emocional usando
um formalismo estritamente lgico. O seu ponto forte fazer toda sua proposta logicamente e
propor minuciosamente a definio do modelo OCC sobre a arquitetura BDI. Entretanto,
justamente por sua complexidade, torna difcil a interpretao das suas propostas, o que pode
desencorajar um projetista de agentes emocionais a adot- la. Como fica preso ao modelo
OCC, sua abordagem no lida com humor e personalidade explicitamente, como as
abordagens (Neto 2010, Signoretti 2012), e nem independente de domnio, como os autores
(Jiang and Vidal 2006, Oliveira and Sarmento 2003, Pereira et al. 2005) tentaram realizar. A
sua influncia emocional parcial, sem propor uma soluo para a influncia da emoo
sobre o mdulo perceptivo e, principalmente, o de desejos.

60

3.7.1

Mdulo de intenes
Os autores consideram que as emoes influenciam primordialmente a manipulao de

aes e intenes, e por isto podemos considerar que na sua proposta as emoes influenciam
a Execute Function e a Filter Function. Eles se baseiam no conceito de regulao emocional
de e tendncia de ao de (Frijda 1987). Sua proposta realiza duas coisas: a primeira cria uma
relao entre as classes de emoes e as aes, e definindo quanto uma ao capaz reduzir a
intensidade de uma emoo, para voltar a um valor homeosttico. A segunda propor que o
estado emocional, mais precisamente a emoo esperana ativa a gerao de planos, a emoo
medo ativa a anlise dos planos correntes para prever falhas de aes, afim de eliminar o
plano, a emoo alegria promove a execuo de planos e a emoo angstia promove a
reconsiderao de planos, interrompendo a execuo do plano atual para permitir o agente
ter ateno a outro plano ou substituir ou interromper o plano atual.
Embora estas propostas sejam importantes, a primeira puramente terica e no
possvel implement- la diretamente devido ao seu indeterminismo. J a segunda pode-se
implementar, porm lida apenas com a influncia de quatro tipos de emoes sobre o mdulo
de intenes. E, segundo os prprios autores, se poderia explorar outras influncias.
3.7.2

Mdulo de emoes
Quanto ao estado emocional, ele adota o modelo emocional OCC, que, segundo o

autor, possui as qualidades de (i) possuir uma classificao clara dos tipos de emoo; (ii)
uma descrio concisa dos eliciadores emocionais e (iii) so adotados conceitos similares ao
do modelo BDI, o que tornaria mais simples seu uso. Entretanto, como a lgica adotada no
seu trabalho proposicional, o trabalho prefere redefinir todo o modelo focando sua descrio
das emoes em termos proposicionais, ao invs de focar-se em quais eventos as eliciam.
Quanto a dinmica emocional, elas so eliciadas pelas percepes do agente e pelas
motivaes (cocerns). Devemos lembrar que as percepes para este trabalho so as
percepes do modelo OCC, que podem ser consequncias de eventos aes de agentes ou
atributos destes objetos/agentes. E as motivaes sobre sua tica no so metas, mas sim
so literalmente o raciocnio sobre estas percepes em relao aos desejos do agente. Por
exemplo, se determina que uma percepo positiva ou negativa se esta percepo
desejvel (est na base de desejos). Por isto, podemos cons iderar que as emoes so
influenciadas pelas percepes e desejos.

61

O processo de atualizao e decaimento emocional so definies lgicas de um valor


de intensidade no negativo atribudo a uma classe de emoo. Definindo, inclusive, funes
de decaimento e valores de limiares. Tais conceitos j foram explorados nos trabalhos de
emoes fisiolgicas como (Breazeal 1998, Gadanho and Hallam 2001, Velsquez 1996) e
largamente adotado na maioria dos modelos de agentes emocionais BDI (Hernndez et al.
2004, Neto and Da Silva 2010, Pereira et al. 2005, Signoretti 2012).

3.8 Cathexis (Velsquez 1996) e Kismet (Breazeal 1998)


Iremos tratar do trabalho de agente emocional proposto por Velsquez em seus
trabalhos (Velsquez 1996, 1998b) e do trabalho de Breazeal em (Breazeal 1998, 2000)
conjuntamente. Somos levados a fazer isto porque o trabalho de Breazeal uma extenso do
de Velsquez, com algumas adies. Iremos abaixo descrever como as propostas contriburam
para agentes emocionais de acordo com o mdulo BDI que pode ser beneficiado com esta
contribuio.
3.8.1

Mdulo de desejos
A proposta de (Velsquez 1996) possui o conceito de Drives que representam o desejo

que impulsiona o agente a realizar uma ao (Velsquez 1998b p. 2). Embora seja um desejo,
um drive tem a semntica diferenciada. Por exemplo, se um agente tem o drive fome ele
possui a necessidade de comida. A fome de tempos e tempos ser ativada e este momento
depender de vrios fatores, como as aes que o agente tomou o agente gastou muita
energia em suas tarefas ou as informaes que recebeu do ambiente ele pode ter visto um
bife saboroso, o que aumentaria sua fome. O conceito de drive aqui tem uma semntica
genrica, que vai desde as necessidades inatas da espcie, aos moldes da etologia,
necessidades fisiolgicas, necessidades sociolgicas ou psquicas.
Desta forma, os autores propem que um drive seja influenciado pelas percepes do
agente e quando ativo influencie os comportamentos que satisfazem este drive. Um drive
tambm pode influenciar as emoes, visto que a urgncia de uma necessidade pode
promover emoes, como medo e raiva. J o trabalho apresentado em (Breazeal 1998)
propem uma abordagem similar, porm neste caso o drive possui um fator de incremento,
fazendo-o aumentar com o decorrer do tempo, mesmo que no haja percepes que
promovam isto.

62

Tal proposta de uso de drives tem duas importncias. A primeira que tal conceito
relevante em agentes emocionais, principalmente para os que implementam a funo de
expresso facial, visto que o uso de valores associados s necessidades do agente e a ativao
de comportamentos quando eles extrapolam um limiar uma alternativa simples e mais
flexvel do quer usar meras regras de produo e mquinas de estados. A segunda relevncia
do uso de drives o fato de contemplar um aspecto no contemplado diretamente pelos
desejos da arquitetura BDI. Um drive possui uma dinmica homeosttica que o associa a um
valor e permanente ao longo da execuo do agente, enquanto que os desejos da arquitetura
BDI no podem representar esta dinmica diretamente. Representar um drive na arquitetura
BDI original algo complexo, j que preciso modelar este comportamento com crenas
(para armazenar o valor do drive) e aes do agente (para alterar este valor).
3.8.2

Mdulo de aes
Estes trabalhos representam as aes do agente pelas entidades comportamento 6 . No

caso de (Velsquez 1996), as percepes, as motivaes (que consideramos metas) e as


emoes podem ativar um comportamento atravs de uma influncia numrica. Isto , quando
uma percepo ocorrer e uma motivao ou emoo estiver ativa, elas geraro um valor
numrico equivalente a sua intensidade e comunicaro os comportamentos influenciados.
Estes comportamentos tambm possuem relaes de excitao e anulao com outros, de tal
forma que se um comportamento estiver ativo, ele inibe ou excita outros (tambm
numericamente).
Ambos os autores consideram que para cada emoo existe uma expresso facial que a
representa de tal forma que quando uma emoo ativada, a expresso facial associada deve
ser exibida. Quando vrias emoes esto ativas, deve-se usar uma poltica de seleo para
selecionar apenas uma, pois o modelo adota uma forma adaptada de emoes discretas.
Podemos considerar que uma expresso facial uma ao e que as emoes influenciam estas
aes.

Consideramos um co mportamento co mo u ma ao devido a seu carter elementar de atuao nestas

arquiteturas. Isto , o co mportamento a ao mnima e indiv isvel que u m agente pode representar, raciocinar e
executar.

63

3.8.3

Mdulo de emoes
Velsquez em (Velsquez 1996) considera o estado emocional composto por um

conjunto discreto de famlias de emoes que compartilham similaridades quanto a sua


ativao e reao, tais como eventos antecedentes, expresso, resposta comportamental e
padres fisiolgicos. O autor definiu seis famlias de emoes: raiva, medo, angstia/tristeza,
alegria/felicidade, desgosto e surpresa. A escolha destas famlias foi feita devido s evidncias
que sugerem sua universalidade. No trabalho posterior (Velsquez 1998a) ele faz uma
proposta para implementao do Marcador Somtico de Damsio, considerando que emoes
primrias seriam as emoes discretas j propostas e emoes secundrias seriam associaes
entre estas emoes com outras ou com crenas. A criao destas relaes tentam relacionar
as emoes primrias com os estmulos e memrias do agente que geraram a emoo. Com
estas associaes, quando um estmulo ocorrer novamente, o agente busca a entidade
estimuladora na memria e ir ativar as emoes associadas a elas, priorizando as associaes
com maior peso.
Quanto a dinmica e mocional, o valor das emoes incrementado por lanadores
(releasers) equivalentes a eliciadores. Por exemplo, um agente presa percebe a presena de
um predador e elicia a emoo medo. E este valor decrementado dado um fator a cada
instante de tempo. Por exemplo, com o passar do tempo, o medo da presa pelo predador
diminuiu caso este no venha a atac-la.
Os eliciadores/lanadores podem ser de quatro tipos: (i) neural, como fatores
neurofisiolgicos que afetam o agente, como temperatura, taxa de hormnios, dieta, entre
outros; (ii) sensrio-motor, como o estado fsico do agente, como expresso, postura-corporal,
potencialidade de ativao de msculos, etc; (iii) motivacional, tal como os drives (variveis
homeostticas) e outras emoes; e (iv) cognitivo, que trata de liberadores que realiza m
cognio sobre as crenas, desejos, memria e eventos.
Podemos ento considerar, de acordo com estes lanadores, que as emoes so
influenciadas pelas percepes, crenas e desejos.
O modelo emocional definido por Velsquez simples e baseado em modelos
fisiolgicos primitivos. Por um lado, isto permite modelar sistemas pequenos rapidamente e
de forma simples. Entretanto, como discutido em (Morgado and Gaspar 2005 p. 64), h uma
dificuldade inerente na especificao das relaes entre emoes, motivaes e aes, visto
que no h uma relao simblica, mas sim numrica, exigindo uma calibrao complicada do
sistema, em especial quando o nmero de emoes e motivaes cresce. Alm disto, a rede

64

associativa entre emoes e suas entidades eliciadoras no apresenta detalhamento nem


verificao para que se possa ser replicada.

3.9 Abordagem proposta em (Padgham and Taylor 1997)


Esta proposta foi uma das primeiras a relacionar emoo e agentes deliberativos e a
primeira arquitetura BDI estendida com um mdulo emocional. conservadora, pois mantm
a arquitetura BDI intacta e implementa os requisitos de um agente emocional sem alter- la,
representando tais requisitos como crenas e regras de produo. Logo, no h uma influncia
explcita da emoo sobre o mdulo de desejos e intenes. Somente para o mdulo de
crenas.
Como conservativa, a proposta permite adicionar aspectos emocio nais a qualquer
agente baseado em BDI sem grande impacto. Alm disto, ela se torna a torna simplista e
intuitiva, facilitando assimilao e desenvolvimento.

3.9.1

Mdulo de crenas
A base de crenas armazena as emoes do agente. J a funo de reviso de cren as

possui regras que geraro crenas de acordo com o estado emocional para ativar os desejos,
seguindo as teorias de (Frijda 1987). Logo, o estado emocional influencia os desejos
encapsulados em crenas que os representam.
3.9.2

Mdulo de emoes
Os autores prope um modelo simples de emoo que considera o estado emocional

composto por pares de emoes, como os pares vergonha e orgulho, felicidade e tristeza ou
amor e dio. Estes pares possuem um valor associado que funciona como um medidor 7 das
duas emoes a cada instante de tempo. Uma emoo associada ao lado negativo do
medidor est ativa quando o valor do medidor extrapola um limiar negativo. J a sua
antagonista positiva ativada quando o medidor extrapola um limiar positivo. Ass im, o
estado emocional o conjunto das emoes derivadas destes medidores. Estes pares so
implementados como crenas e regras de produo dentro da base de crenas.
A dinmica e mocional define como os valores dos pares de emoo decaem ou
incrementam com o tempo, voltando para o valor neutro (zero). A eliciao das emoes se d
7

Do ingls Gauge.

65

pelo tratamento de trs tipos de eventos. O primeiro tipo agrupa eventos que ocorrem com o
agente que desencadeiam uma emoo, como a morte de um ente querido, por exemplo. J o
segundo tipo so eventos de sucesso ou falha na obteno de uma meta, podendo causar, por
exemplo, felicidade ou tristeza. O terceiro tipo so eventos que so reconhecidos como
oportunidades ou empecilhos para o agente atingir suas metas. Como exemplo deste tipo de
evento podemos citar a quebra do carro quando o agente est indo (ou est com a meta de ir)
ao trabalho. Vendo esta classificao, podemos concluir que as percepes (eventos) e desejos
eliciam as emoes.
Todavia, esta proposta de modelo emocional possui um problema conceitual
importante: o uso de polaridade entre emoes positivas e negativas restritivo, porque
impede que emoes ditas antagnicas coexistam e permutem sua ativao. Em muitas
situaes importante que o agente seja capaz de representar emoes antagnicas ao mesmo
tempo, normalmente relacionadas a contextos diferentes. Por exemplo, na dualidade
felicidade-tristeza, um agente pode estar feliz dado a ocorrncia de um evento e triste dado
a ocorrncia de outro evento. Utilizando a abordagem de (Padgham and Taylor 1997), o
segundo evento anularia a felicidade anterior ou a diminuiria, mas no seria possvel
armazenar a informao sobre a emoo de felicidade relacionada a um evento e a de tristeza
relacionada a outro evento. Alm do mais, pelo fato do seu modelo possuir emoes discretas
e valores associados, sofre dos mesmos problemas dos modelos de emoes fisiolgicas,
como comentado por (Morgado 2006), onde o aumento da complexidade do modelo
emocional acarreta em uma dificuldade na implementao devido a calibrao dos pesos das
influncias das emoes sobre outras instncias da arquitetura.

3.10 Agent Flow Model (Morgado 2006)


O autor (Morgado 2006 p. 196) desenvolve um algoritmo genrico de seleo de itens
do estado mental de acordo com a afinidade deste estado emocional associado a este item e a
variao do estado emocional no decorrer do tempo. Levando como parmetro de comparao
o carter positivo ( benfico a algum fator do agente) ou negativo ( malfico a algum fator
do agente) deste elemento, este algoritmo pode ser utilizado em duas entidades importantes:
as percepes, tentando selecionar as com mais afinidade com o estado emocional; ou as
intenes, que s sero executadas se possurem afinidade com o estado emocional. Desta
forma, podemos dizer que as emoes influenciam na seleo de percepes e de intenes.

66

O autor utiliza um modelo emocional implcito. Isto , ele no define uma base e
funes de reviso emocional, mas sim considera que o estado emocional derivado do
estado mental do agente. Mais precisamente, a emoo derivada da afinidade dos
componentes mentais com as metas do agente.
A vantagem desta proposta se encontra no seu carter implcito e genrico: este
algoritmo de seleo no dependente de domnio devido ao fato de que o estado emocional
associado a dada sensao determinado pela distncia da sensao em relao s metas do
agente (apenas exigindo que exista uma funo de comparao entre uma motivao e o outro
elemento). As desvantagens so as seguintes. A proposta, por ser puramente matemtica, (i)
trs complexidade a implementao, pois necessita mapear os conceitos psicolgicos neste
modelo matemtico exige maior conhecimento do projetista ou desenvolvedor, (ii) a definio
desta funo de distncia pode no ser trivial e (iii) apenas se considera o carter positivonegativo da emoo em relao as metas. O que no permite lidar, por exemplo, com a
priorizao de percepes relacionadas a uma meta crtica.
Os autores de (Signoretti et al. 2010) tambm questionam que a proposta de (Morgado
2006) apenas lidam com modelos fisiolgicos e apreciativos, e menosprezam modelos que
lidam com humores (mood) e personalidade. indevido afirmar isto, visto que podemos
desenvolver humores e personalidade usando modelos emocionais, j que, como vrios
autores j citam (Morgado 2006, Neto 2010, Oliveira and Sarmento 2003), humores e
personalidades podem ser interpretados como espcies de emoes com maior perodo de
pertinncia.

3.11 Abordagem proposta em (Sloman 1999)


O autor deste trabalho procura definir uma arquitetura terica de agente biolgico e
artificial dividindo os processos cognitivos em camadas e fluxos. Os fluxos determinam
processos de interao com o ambiente que passam pela percepo, cognio e atuao. E as
camadas se relacionam com a natureza e a complexidade da informao que est sendo
tratada. Segundo os autores a emoo seria um mecanismo de interrupo que auxilia esta
arquitetura a se adaptar ao ambiente e a tomar decises.
A proposta deste autor complexa e abrange todo o processo de eliciao emocional e
considera todas as etapas de percepo, raciocnio e atuao do agente de uma forma
homognea. Porm restrita, pois considera que a emoo mero mecanismo de alarme e
modela as emoes mais complexas como mecanismos da arquitetura, seguindo a Teoria do

67

Marcador Somtico de Damsio (veja tpico 2.4.3). Na perspectiva de ES, ela pouco ajuda,
visto que uma proposta terica e no voltada para uma formalizao explcita.
Entretanto, vamos comentar a viso deste autor sobre o processo perceptivo do agente.
3.11.1 Mdulo de Percepo
Para o autor, em agentes muito simples, as percepes podem ser realizadas por
algoritmos rudimentares, pertencentes ao que o autor chama de camada reativa da percepo.
Percepes mais complexas ou ricas devem ser tratadas por algoritmos mais elaborados, como
processamento simblico, sendo estes pertencentes a camada deliberativa da percepo. Por
ltimo, em caso de percepes muito complexas, preciso adotar algoritmos mais ricos como
aprendizagem ou sistemas especialistas para transformar a percepo. Estes ltimos so
pertencentes a camada meta-gerencial da percepo.
Embora o autor considere que estes algoritmos e processos no so isolados, mas sim
um aglomerado de operaes interconectadas, ele tambm considera que se pode isolar fluxos
de dados para fins de modelagem. Estes fluxos esto relacionados a natureza e origem da
percepo e, muitas vezes, podem atravessar uma ou mais camadas da percepo, de tal forma
que parcelas diferentes da percepo sejam tratadas por camadas diferentes, dependendo da
complexidade desta parcela.
lembrado em (Sloman 1999 p. 6) que este processo perceptivo desempenha
principalmente a funo de filtro de ateno existente entre a camada reativa e deliberativa, de
forma que a camada reativa apenas passaria informao para a deliberativa, com o objetivo
principal de poupar recursos limitados da camada deliberativa (Sloman 1999 p. 19). Autores
como (Morgado 2006, Neto 2010, Signoretti 2012) adotaram esta perspectiva em suas
arquiteturas.

3.12 Comparao
A Tabela 2 destaca resumidamente como cada um dos trabalhos relacionados
apresentados acima aborda as influncias das bases de dados nas funes da arquitetura BDI,
e nas funes de reviso de emoes e percepes. So elas: Brf Belief Review Function. Of
Option Function, Ff Filter Function, Pf Perception Function, 1 Emof e 2 Emof 1 e 2
Emotional Function. Foram definidas duas funes emocionais, como proposto por (Jiang and
Vidal 2006) para podermos representar influncia sobre a segunda funo emocional. As
outras abordagens que possuem influncia sobre o mdulo emocional apenas consideram que

68

existe a 1 Emof. As colunas indicam as bases de crenas, desejos, emoes e a informao


sentida (ou base de percepes). Nas clulas esto os nmeros dos tpicos das abordagens que
consideraram que existe a influencia da base na funo.. As clulas inscritas com BDI
indicam que esta influncia da base sobre a funo j existe na arquitetura BDI original. E as
clulas inscritas com BASIC so influncias triviais, pois referem-se influncia de uma
determinada base sobre a funo cujo objetivo a atualizao desta prpria base.. No nosso
caso, a influncia da Emotional Base sobre as funes 1 Emof e 2 Emof, por exemplo.
Base
Percepes
Pf

BASIC

Crenas
3.4 3.5

Desejos
-

Intenes
3.5

Emoes
3.4 3.3 3.5
3.6 3.10

3.1 3.6 3.8

3.1 3.6 3.7


3.8 3.9

3.2

BASIC

1 Emof

3.2 3.3 3.4


3.6 3.7 3.8
3.9

2 Emof

3.2

3.2

BASIC

Brf

BDI

BDI

BDI

3.3 3.6 3.9

Of

3.8

BDI

BDI

BDI

3.1

BDI

BDI

BDI

3.2 3.3 3.6

Ff
Ef

3.7 3.10
-

BDI

Tabela 2: Comparao Funo x Base

3.7 3.8

69

4 Unified Emotional BDI Architecture


Vamos neste captulo definir nossa proposta de arquitetura de agente emocional
unificada. A metodologia que usaremos ser top-down. Isto , primeiro iremos propor uma
viso macro desta arquitetura para posteriormente ir analisando os mdulos que a constituem.
Achamos esta abordagem mais adequada visto que j adotada por outros autores (Jiang and
Vidal 2006, Neto 2010, Pereira et al. 2005) e mais adequada do que analisar algoritmos
pontuais para a implementao da emoo (Hernndez et al. 2004, Oliveira and Sarmento
2003, Padgham and Taylor 1997, Velsquez 1996), pois permite uma melhor visualizao dos
componentes sobre uma perspectiva de ES.
Nossa arquitetura define a funo Agent Function descrita no tpico 2.1. No incio do
ciclo de execuo a arquitetura recebe um conjunto de sensaes e, aps passar for um
conjunto de funes, gera uma ou mais aes a serem executadas. Na Figura 6 temos um
diagrama para ilustr- la. Tal arquitetura derivada do modelo BDI bsico discutido no tpico
2.2, composto pelas funes Belief Review Function, Option Function e Filter Function e
pelas bases Belief Base, Desire Base e Intention Base. A arquitetura segue ainda a proposta
dada por (Jiang and Vidal 2006), onde se insere duas funes emocionais (First Review
Function e Second Review Function) e uma base para guardar as emoes (a Emotion Base).
A ordem destas funes e as influncias entre os mdulos sero explicadas nos prximos
tpicos.
Foram adicionados ainda dois mdulos arquitetura original BDI: o mdulo de
percepo composto pela Perception Function e pela base Perception Base, que visa
explicitar a influncia da emoo sobre a percepo, como citado por vrios autores
(Hernndez et al. 2004, Jiang and Vidal 2006, Lino 2006, Morgado 2006, Neto 2010, Pereira
et al. 2005, Signoretti 2012); e o mdulo de atuao composto pela Execute Function e pela
base Action Base, que visam explicitar a execuo de planos e suas aes, assim como a
influncia da emoo sobre as aes. Alguns autores descrevem esta influncia direta da
emoo na atuao, em especial (Velsquez 1996) e (Breazeal 2000), mas nenhum explicita

70

um mdulo a parte responsvel por esta tarefa. Embora a arq uitetura original BDI proponha
uma funo de execuo de aes oriundas de planos, ela no trata da representao explcita
da operacionalizao dos planos e nem da influncia da emoo sobre a execuo das aes e
planos. Alm disto, foi adicionada a base Resource Base para auxiliar o processo de
percepo e atuao discutidos a seguir.
Nos tpicos a seguir iremos explicar cada uma das entidades envolvidas nesta
arquitetura e seus relacionamentos.

Figura 6: Arquitetura UEBDI internamente

4.1 Mdulo Perceptivo


Como no modelo BDI, algumas propostas de agentes emocionais no designam um
componente distinto para tratar as percepes, como em (Hernndez et al. 2004, Oliveira and
Sarmento 2003, Padgham and Taylor 1997). Porm importante notar que as percepes de
eventos externos so uma importante fonte de eliciao emocional e a emoo influencia no
conjunto de informaes percebidas (Signoretti 2012).
Na arquitetura tradicional BDI se for preciso fazer um pr-processamento sobre as
percepes preciso atribu- lo a funo de Reviso de Crenas (Brf), como principal exemplo
temos a tarefa de eliminar as sensaes que no interessam ao agente no momento. Usar a Brf
para isto causa problemas quando o nmero de sensores e a quantidade de dados captados por
eles aumentam, tornando a funo de Reviso de Crenas complexa e pouco eficiente.
Embora a arquitetura BDI original no defina um mdulo a parte para lidar com as
percepes, algumas propostas para o desenvolvimento de agentes emocionais como (Jiang

71

and Vidal 2006, Pereira et al. 2005, Signoretti 2012) determinam explicitamente um mdulo
que realiza o processamento da percepo promovido principalmente pela influencia do
estado emocional no aparato perceptivo do agente, como abordado em (Hernndez et al. 2004,
Oliveira and Sarmento 2003, Velsquez 1996). Desenvolveremos tambm um mdulo de
percepo a parte, visto que esta separao vantajosa, pois muito do processamento
semntico que no modelo original BDI deveria ser feito na Belief Review Function, pode
agora ser realizado neste (Pereira et al. 2005). Alm disto, as intenes (Morgado 2006, Neto
2010) e emoes (Lino 2006, Morgado 2006, Signoretti 2012) desempenham um importante
papel na ateno do agente promovida principalmente pela seleo de percepes, e estes
processamentos so de natureza perceptiva, o que torna inconveniente coloca- los na funo de
reviso de crenas.
Alm disto, os autores (Jiang and Vidal 2006, Sloman 1999) propem que o
tratamento da percepo do agente deve ser feito de forma segmentada. Os autores (Jiang and
Vidal 2006) consideram que percepes de origens diferentes devem ser tratadas por funes
diferentes e (Sloman 1999) considera percepes que exigem tratamentos mais complexos
deveriam ser tratadas por funes especficas que adotam algoritmos mais complexos.
Com estes argumentos, julgamos vantajoso definir explicita mente uma funo de
percepo para atingir os seguintes ganhos: (i) diminuir a complexidade da Funo de
Reviso de Crenas e (ii) criar um projeto de sistema perceptivo explcito e segmentado,
descrevendo como ser realizada a seleo das sensaes, como sero atribudos os rtulos
semnticos e como sero realizadas as transformaes semnticas atravs de uma srie de
funes, agrupadas pela origem da percepo e pela complexidade de seus algoritmos.
Em nossa arquitetura, a gerao de percepes do agente ser realizada por uma
funo composta chamada Perception Function (Eq. 2), apresentada na Figura 7. Ele recebe
influncia da base de emoes (E), das crenas (B) e das intenes (I) do agente. Recebe as
sensaes obtidas do ambiente (S) e retorna as percepes geradas para a base de percepes
(P). Observe que esta base de percepes foi criada como mero artifcio de facilitar o
entendimento do modelo, visto que no precisamos dela para fazer nada alm da comunicao
do contedo gerado por esta funo Perception Function com a First Emotion Review
Function e a Belief Review Function.
Pf : S x B x E x I P

(Eq. 2)

72

Figura 7: Perception Function

Os trs principais papis deste mdulo so: (i) selecionar as percepes desejveis
dado o estado mental do agente (por exemplo, um agente selecionar percepes que tenham
relao com suas intenes e eliminar as outras); (ii) atribuir informao semntica
percepo (o agente pode rotular as percepes com informao do estado emocional, como
por exemplo rotular as memrias de um acidente traumtico com as emoes de medo que
ocorreram no momento de sua percepo) ; e (iii) transformar as percepes em uma estrutura
de informao mais til ao resto do sistema (como por exemplo, modificar as percepes
visuais imagens em caracteres via OCR).
Seguindo a proposta de (Sloman 1999) que v que a percepo pode ser tratada em
camadas de acordo com sua complexidade, a considerao de (Jiang and Vidal 2006) sobre o
uso de vrias funes para tratar percepes de acordo com sua origem e de funes de filtro e
atribuio semntica de (Pereira et al. 2005), consideraremos que a Perception Function
possuir vrios fluxos e vrias etapas. Cada fluxo deve estar associado a um sensor do
agente. Se o agente possui os sensores humanos (viso, audio, tato, paladar e olfato) ele
possuir cinco fluxos na funo de percepo. Na Figura 8 os crculos numerados indicam os
fluxos para cada sensor, podendo haver quantos forem necessrios. Esta segmentao lgica
feita para que seja sugestivo ao projetista que tais operaes podem ser realizadas
potencialmente por mdulos independentes e remotos, permitindo processamento paralelo e
especializado para cada tipo de informao proveniente de cada sensor.

73

Figura 8: Perception Function (internamente)

Cada fluxo dividido em etapas, cada uma responsvel por um tipo de operao e que
desempenha um ou mais dos trs papis citados. Estas etapas so: (i) Sensor Filter, (ii)
Resource Filter, (iii) Rules Filter, (iv) Emotional Filter e (v) Intentional Filter. Tal como uma
linha de produo, cada funo gera a entrada da sua subseqente e a informao gerada no
decorrer do processo por cada funo chamaremos de pr-percepo, sendo representada por
Pfuno , onde funo a funo que deu origem a esta pr-percepo. Por exemplo, Psf
representa a pr-percepo depois de passar pela Sensor Filter.
A Sensor Filter, que representa os sensores em si, desempenha o papel de seleo das
sensaes, captando somente as sensaes possveis de serem captadas pelo sensor associado,
assim representando o sensor fsico propriamente dito. Por exemplo, a Sensor Filter que
representa o sensor da audio capta apenas sons e no imagens e nem odores. Estes devem
captados, respectivamente, pelos sensores da viso e do olfato. Alm disso, a Sensor Filter
ainda filtra a percepo de acordo com as limitaes do sensor. Por exemplo, o sensor de
audio de um ser humano no capaz de perceber sons em frequncias to baixas quanto o
sensor de audio de um cachorro. Sendo assim, qualquer som fora de uma determinada faixa
definida nas caractersticas do sensor deve ser eliminado.
Esta funo representada matematicamente pela equao Eq. 3, onde S representa as
sensaes recebidas do ambiente e Psf as sensaes j selecionadas de acordo com o tipo de
sensor e suas limitaes.
Sf: S Psf

(Eq. 3)

A Resource Filter desempenha o papel de seleo verificando se existem, naquele


momento, recursos disponveis para armazenar/manipular aquela percepo. Por falta de
recurso disponvel pode ser que uma determinada percepo no seja propagada para as

74

prximas etapas (por exemplo, o agente ir eliminar percepes caso seu processador esteja
sobrecarregado). Sua frmula dada pela funo Eq. 4, onde Psf a pr-percepo gerada
pela Sensor Filter, R a Resource Base e Pref a pr-percepo gerada pela Resource Filter.
A Resource Filter parametrizada por uma base de informao chamada Resource Filter, que
contm informao sobre os recursos do agente.
Ref: Psf x RPref

(Eq. 4)

J a Rules Filter utiliza uma base de regras para realizar selees, atribuies de
semnticas e transformaes nas percepes que esto sendo geradas. Seu papel de seleo
equivalente ao desempenhado pela funo Sensing Filter da arquitetura (Pereira et al. 2005),
utilizando as crenas sobre o mundo para saber se uma percepo necessria. Por exemplo,
uma pessoa comum ficar incomodada com os barulhos de uma fbrica, enquanto que um
operrio que trabalhe a anos no local ir ignor-los. O papel de atribuio de semntica
similar ao desempenhado pela funo Semantic Association Rules definida em (Pereira et al.
2005) e usa as crenas para determinar quais qualidades o objeto observado possui. Por
exemplo, ao perceber um agente o observador pode reconhecer este agente e lhe atribuir um
nome e um conjunto de informaes associadas relao que possui com o agente observado.
E, por ltimo, o papel de transformao transforma o dado percebido em outro mais til ao
agente. Por exemplo, transforma um som obtido pelo agente observador em uma sequncia de
palavras que o representa.
Neste contexto, a base Resource Base armazena as informaes sobre os recursos do
agente. No representada a atualizao de suas informaes, pois considera-se que estas
informaes sejam fornecidas para a arquitetura abstrata pelo resto do sistema que embarca o
agente e no possvel ao projetista manipul- las.
A representao matemtica da Ruf dada pela funo Eq. 5, onde Pref so as prpercepes da Resource Filter, B a base de crenas e Pruf o conjunto das pr-percepes
geradas aps a aplicao da Rules Filter.
Ruf: Pref x B Pruf

(Eq. 5)

Aps este processamento, o filtro Emotional Filter executado desempenhando o


papel de seleo das percepes de acordo com o estado emocional do agente tal como
proposto em (Lino 2006, Pereira et al. 2005, Signoretti et al. 2010) e sugerido por (Gadanho
and Hallam 2001, Hernndez et al. 2004, Marsella and Gratch 2009, Neto 2010, Oliveira and
Sarmento 2003, Pereira et al. 2005, Velsquez 1996). Por exemplo, um agente com a emoo
felicidade poder ignorar percepes agressivas, ou ainda um agente com raiva, poder

75

eliminar percepes suprfluas e focar no objeto que lhe causa raiva. Alm disto, os
algoritmos (i) de filtragem de percepo relacionadas ao estado emocional corrente (Neto and
Da Silva 2010 p. 201) uma percepo pode ser eliminada caso no seja emocionalmente
relevante naquele momento, como ignorar um erro de outro agente quando este outro agente
querido e (ii) de filtragem de percepes de acordo com a intensidade emocional corrente
(Signoretti et al. 2010) uma percepo eliminada caso a intensidade emocional corrente
seja muito baixa ou alta, como por exemplo eliminar a sensao de dor quando se est com
raiva alta.
Assim, a frmula da funo Ef dada pela equao Eq. 6, onde Pruf o conjunto das
pr-percepes geradas pela Rules Function, E o conjunto dos estados emocionais e Pef o
conjunto de pr-percepes geradas.
Ef: Pruf x E Pef

(Eq. 6)

Por ltimo, o mdulo perceptivo faz uma ltima seleo das percepes utilizando as
intenes do agente com a funo Intentional Filter. Utilizando esta funo, o agente tem sua
percepo orientada s intenes que possui no momento, tal como sugerido por (Jiang and
Vidal 2006). Em outras palavras, se o agente possui a inteno de realizar uma tarefa, ir
selecionar as percepes que auxiliem a realizao de sua inteno. Por exemplo, um agente
que representa uma loja virtual que tem a inteno de recomendar livros a um usurio, ir
atentar para outros livros em seu ambiente (o estoque), ao invs de sapatos ou
eletrodomsticos. De acordo com a equao Eq. 7, a Intentional Filter recebe o conjunto Pef e
as intenes contidas na base de intenes (I) como parmetros e retorna um conjunto de
percepes finais P.
If: Pef x I P

(Eq. 7)

Nossa meta com esta proposta de funo de percepo foi permitir a influncia da
emoo sobre a percepo como proposto por (Lino 2006, Neto and Da Silva 2010, Signoretti
et al. 2010), em especial quanto a seleo de percepes, e segmentar o processamento em
fluxos e etapas, como proposto pelos autores (Jiang and Vidal 2006, Sloman 1999). Alm
disto, nos preocupamos em adicionar a influncia das crenas, que algo j implicitamente
explorado pela prpria arquitetura BDI original (Wooldridge 2009), visto que as percepes
eram diretamente processadas pela funo de reviso de crenas. E tambm nos preocupamos
em adicionar a influncia das intenes, permitindo o agente selecionar percepes mais afins
com seu estado intencional, permitindo simular o fenmeno de ateno no agente. (Signoretti
2012, Signoretti et al. 2010) propem algo similar em sua arquitetura, mas ele considera que

76

as percepes so selecionadas de acordo com seus behaviors, que a nosso ver so uma
espcie de aes possveis do agente que constituem os seus planos em execuo, em vez de
utilizar as intenes diretamente.
Nota-se que a base de desejos no influencia nossa Perception Function. Os dois
principais motivos foram: (i) no haver na literatura de agentes emocionais uma proposta que
adotasse isto com embasamento terico; e (ii) julgarmos que a influncia das intenes
suficiente para promover a ateno do agente s percepes mais adequadas a estas intenes.
Em nossa arquitetura, se for preciso realizar alguma forma de raciocnio utilizando os desejos
sobre as percepes, ele deve ser feito na reviso de crenas, aps a anlise das percepes.
Outra possibilidade seria realizar o raciocnio utilizando os desejos indiretamente via
emoes, de tal forma que um desejo gere uma emoo e esta emoo venha a modificar a
percepo do agente pela Emotional Filter.
A ordem das etapas da Perception Filter representada na Figura 8 no aleatria.
preciso considerar a Sensor Filter como primeira, visto que ela representa as limitaes e
ajustes do sensor fsico. A Resource Filter tambm est intimamente relacionada com o
sensor fsico, visto que a falta de recursos poder interferir fisicamente no sensor,
eliminando percepes que estejam imprecisas ou de baixa confiana. J Rules Filter e a
Emotion Filter devem ser executadas anteriormente a Intention Filter, pois regras semnticas
e emoes tentem a ter uma estrutura mais simples que a estrutura de intenes, desta forma,
espera-se que estas primeiras funes executem mais rpido e eliminem informao a ser
processada pela Intention Filter, que tende a ser mais custosa pela natureza da informao das
intenes.

4.2 Mdulo Emocional


Nas implementaes de agentes emocionais se convencionou definir um mdulo para
gerenciar o fenmeno emocional (Bates et al. 1994, Breazeal 1998, Hernndez et al. 2004,
Jiang and Vidal 2006, Neto and Da Silva 2010, Oliveira and Sarmento 2003, Padgham and
Taylor 1997, 1997, Pereira et al. 2005, Signoretti et al. 2010, Velsquez 1998a). Iremos seguir
esta mesma abordagem e definir um mdulo emocional prprio em nossa arquitetura.
4.2.1

Nossa Proposta
Em nosso trabalho seguiremos a proposta de (Jiang and Vidal 2006, Oliveira and

Sarmento 2003, Pereira et al. 2005) em adotar um estado emocional explcito a ser definido

77

pelo desenvolvedor da aplicao. No consideraremos um estado emocional implcito como


(Morgado 2006) sugere por fugir da proposta inicial de BDI que encontrar um conjunto de
entidades que compe um agente e realizar a modelagem explcita destas entidades. Alm
disto, no utilizaremos um modelo prprio embutido na arquitetura, similar a (Jiang and Vidal
2006, Oliveira and Sarmento 2003, Pereira et al. 2005). Como nos lembra (Signoretti 2012 p.
82), implementaes prticas de agentes emocionais devem definir o modelo emocional de
acordo com as exigncias da aplicao e no como pa rte da arquitetura, visto que os autores
de teoria da emoo no tm um consenso sobre como representar a emoo (por lgica ou
numericamente) e nem qual seria o conjunto de emoes que representaria o fenmeno
emocional.
4.2.1.1 Multicamadas
Veja que na literatura se adotou propostas multicamadas devido aos seguintes
requisitos: (i) diminuir o custo de raciocnio e permitir resposta reativa, utilizando emoes
primrias como gatilho para comportamento reativo (Hernndez et al. 2004, Staller and Petta
2000 p. 5); (ii) tentar economizar recursos, apenas tomando deciso sobre um estado
emocional secundrio quando houver tempo e recursos (Jiang and Vidal 2006); (iii) criar
associao entre um estado emocional e entidades (Jiang and Vidal 2006, Velsquez 1998b);
(iv) facilitar a tomada de deciso atravs de redes associativas (emoes secundrias)
(Morgado 2006, Velsquez 1998b); (v) facilitar a representao da eliciao das emoes em
diferentes cenrios (Teasdale 1999); e (vi) permitir a integrao de modelos emocionais
fisiolgicos com os modelos cognitivos (Leventhal and Scherer 1987, 1987, Reekum and
Scherer 1997, Scherer 1999, 2005).
Devido a estas caractersticas seguiremos a perspectiva multicamada implementando
duas funes de reviso do estado emocional, tal como (Jiang and Vidal 2006) realizaram e
est demonstrado na Figura 9. A First Emotion Review Function eliciar as emoes
primrias e a Second Emotion Review Function eliciar as emoes secundrias.
Podemos exemplificar a diferena destas duas funes da seguinte forma: um agente
presa est dormindo e foi surpreendido por um agente predador. Em um primeiro momento,
ele eliciar a emoo medo, agindo defensivamente e correndo. Em um segundo momento,
quando ele estiver em uma posio segura em relao ao predador, ele notar que o predador
menor do que ele e no aparenta ser um adversrio perigoso, ento ele perder medo e ter
confiana. Note que a eliciao da emoo medo primria e realizada pela First Emotion
Review Function e eliciada por processos reativos a percepes do agente. J o decaimento

78

da emoo medo exige maior elaborao e cognio em relao as informaes do ambiente,


do agente predador e das crenas do agente presa, o que exige maior processamento e
algoritmos mais ricos, o que indica que este decaimento deveria ser realizado na Second
Emotion Review Function. Da mesma forma, a emoo confiana eliciada pela avaliao do
contexto do agente em um nvel mais complexo, o que indica que tambm uma eliciao a
ser realizada na Second Emotion Review Function,
No adotaremos uma funo de emoo ternria visto que elas esto associadas
diretamente a capacidade de abstrao e aprendizagem do agente seguindo a teoria de
(Leventhal and Scherer 1987, Reekum and Scherer 1997), e, portanto, no seria vantajoso ter
esta funo a parte, j que no nosso objetivo projetar agentes com a capacidade de
aprendizagem. Caso seja preciso estender o modelo proposto com estas caractersticas, podese usar a funo secundria para esta tarefa ou ainda criar funes similares a esta dentro da
arquitetura.

Figura 9: Funes de Reviso Emocional

Explicadas as motivaes para a adoo de uma dinmica emocional multicamada,


iremos descrever quais as responsabilidades que estas duas funes devem ter para promover
a dinmica emocional, que so a de eliciao e de atualizao emocional.
4.2.1.2 Eliciao e atualizao emocional
Eliciadores so como gatilhos que promovem certas alteraes no organismo/sistema
caso ocorra um evento. Na literatura de agentes so quase sempre implementados como regras
de produo baseadas no domnio do problema esperando que certo estado mental ocorra.
Alguns trabalhos ainda tentam identificar quais classes de eliciadores existem.
Normalmente, os eliciadores so relativos a eventos no ambiente (Padgham and Taylor 1997,
Velsquez 1996), alteraes nas metas e no cenrio do ambiente, inclusive com previso de
cenrios oportunos ou inconvenientes (Oliveira and Sarmento 2003, Padgham and Taylor
1997), ou ainda fatores fisiolgicos (Velsquez 1996). Todas as abordagens so simplistas e
pouco teis na hora de desenvolver um agente, comparadas com a literatura base, como
(Ortony et al. 1990, Reekum and Scherer 1997), que especificam classificaes bem mais
densas e funcionais.

79

Devido a dificuldade de se especificar um conjunto de eliciadores genrico e no


dependentes de domnio e a no existncia de uma classificao/estr utura genrica na rea de
agentes, no especificaremos um conjunto de eliciadores em nossa arquitetura, mas sim
deixaremos o desenvolvedor adotar um conjunto prprio que seja baseado em uma teoria base
ou informal de acordo com o domnio da aplicao.
J o processo de atualizao emocional define como a emoo se comportar com o
passar do tempo aps sua eliciao. Alguns autores tericos esto convencidos que o carter
dinmico da emoo se deve s vrias reavaliaes de eventos ocorridos no agente (Reekum
and Scherer 1997, Scherer 2000) e que a finalizao de um fenmeno emocional promovida
por deliberaes para modularizar o fenmeno (Teasdale 1999 p. 677), deliberaes tpicas de
emoes secundrias. Entretanto, o que vem sendo usado com mais afinco em agentes que
a emoo, aps eliciada, ter sua intensidade decada com o tempo por certo fator (Bazzan et
al. 2002, Mehrabian 1996, Oliveira and Sarmento 2003, Padgham and Taylor 1997,
Velsquez 1998b). Assim, o processo de decaimento emocional ser tratado dentro da nossa
arquitetura como uma atualizao emocional.
Devido a esta diversidade de opes e supondo que uma proposta mais indicada para
dado cenrio que outra, tambm no consideraremos uma funo de atualizao emocional
especfica, ao contrrio do feito por (Oliveira and Sarmento 2003) por uma funo a parte e o
feito por (Bazzan et al. 2002, Hernndez et al. 2004, Neto 2010, Padgham and Taylor 1997,
Signoretti 2012) implicitamente em uma funo de dinmica emocional.
Por fim, estes dois principais fenmenos (eliciao e atualizao) iro refletir nas
tarefas que as funes emocionais realizaro. A seguir demonstra-se como so implementadas
internamente as funes de First Emotion Review Function e Second Emotion Review
Function e como elas refletiro as tarefas de dinmica e atualizao emocional.
4.2.1.3 First Emotion Review Function
Esta funo atualiza o estado emocional utilizando a percepo do agente (Hernndez
et al. 2004, Neto 2010, Signoretti 2012), seu estado emocional atual, as suas intenes (Jiang
and Vidal 2006, Pereira et al. 2005) e as metas (Morgado and Gaspar 2005, Oliveira and
Sarmento 2003).
As percepes influenciaro principalmente a aliciao de emoes primrias.
Podemos citar dois exemplos: (i) eventos inesperados geraro surpresa e (ii) a apario de
pessoas queridas trar felicidade e a apario de pessoas perigosas, medo.

80

As metas, em especial, possuem uma restrio. Conforme o proposto na teoria


multicamada (tpico 2.4.2), emoes primrias so eliciadas por metas fundamentais e
necessidades fisiolgicas. Ento ns consideraremos que apenas drives, como fome, sede e
socializao podem ser utilizados como metas por esta funo. Impede-se tambm o acesso
desta funo primria s crenas, visto que as emoes primrias devem tender a respostas
reativas (Hernndez et al. 2004, Reekum and Scherer 1997) e as emoes geradas por ela no
so associativas (Hernndez et al. 2004, Jiang 2007, Velsquez 1998b). Sendo assim, a funo
First Emotion Review Function (Eq. 8) leva em considerao a percepo do agente, o estado
emocional atual, as metas em forma de drives e as intenes do agente para atualizar o estado
emocional.
As intenes participaro da eliciao das emoes primrias principalmente pela
reao ao fracasso ou sucesso de intenes. Por exemplo, quando o agente ganha uma
competio, ele conclui a inteno que lidava com este objetivo e esta informao pode ser
usada pela First Emotion Review Function para eliciar a emoo felicidade.
Ferf: P x E x D x I E

(Eq. 8)

Figura 10: First Emotion Review Function

Esta funo ser composta pela First Emotional Elicitors (Eq. 9), que representa um
conjunto de eliciadores que devem disparar as emoes em seu estgio primrio, e pela First
Emotional Update (Eq. 10), que representa a atualizao do estado emocional. Note que esta
abordagem contraditria aos indcios tericos propostos por (LeDoux 2002), que afirmam
que o controle da dinmica emocional, diminuindo sua intensidade, se d por estruturas
deliberativas e mais complexas que as que eliciaram (caracterizando uma dinmica de emoo
secundria). Entretanto precisamos definir esta funo de atualizao primria, pois, se s
existisse atualizao do estado emocional na Second Emotion Review Function, esta
atualizao poderia nunca ser realizada, j que a execuo da Second Emotion Review
Function ocorre s quando a funo Critical Context avalia que h recursos disponveis.

81

Figura 11: First Emotion Review Function internamente

FERFFee: P x E x D x I EE

(Eq. 9)

FERFFeu: P x E x D x I EU

(Eq. 10)

Como visto pelas barras de bifurcao, a First Emotional Elicitors e a First Emotional
Update podem ser executadas sem uma ordem especfica. Embora em todas as arquiteturas
consultadas o processo de eliciao ocorra antes do processo de atualizao, no nosso caso
particular no h nenhuma justificativa, seja terica ou de implementao, para que haja tal
precedncia.
4.2.1.4 Critical Context
Como visto na Figura 9 o sistema s executar a Second Emotion Review Function se
houverem recursos suficientes para isto ou o estado emocional sugerir que o contexto atual
apropriado para realizar as computaes de dinmica emocional secundrias. Por exemplo,
um agente de recomendao de livros recebeu uma solicitao para sugerir um livro a um
novo usurio e s lhe dado uma janela de tempo pequena para isto. Outro exemplo seria um
cenrio onde o agente presa surpreendido por um predador e deve gerar uma resposta
rpida (como por exemplo, fuga).
Ento, para lidar com esta questo, define-se uma funo chamada Critical Context
(representada na Figura 9 por um losango e descrita na Eq. 11) que recebe influncia da base
de emoes e da base de recursos que deve responder verdadeiro ou falso a pergunta: Estou
em uma situao crtica?.
CC: E x R {true, false}

(Eq. 11)

Veja que as arquiteturas de (Hernndez et al. 2004, Jiang and Vidal 2006) adotaram
emoes multicamadas e adotaram uma poltica diferente para evitar a reviso das emoes
secundrias. No trabalho (Hernndez et al. 2004) sempre que ocorre a eliciao de uma
emoo primria no se realiza a eliciao das emoes secundrias. Tal poltica melhora a

82

resposta do agente a situaes emergenciais, mas no evita que o sistema entre em um cenrio
onde as emoes secundrias nunca sero eliciadas.
J (Jiang and Vidal 2006) prope que existe uma funo similar a Critical Context,
porm lidando somente com o recurso tempo. Ele sempre calcula as emoes secundrias,
realizando os passos de gerao de objetivos (Option Function) e de escolha das intenes
(Filter Function) propostos em sua arquitetura. Em seguida, caso haja tempo disponvel e o
estado emocional gerado pela funo secundria for diferente do gerado pela funo primria,
ele executa novamente os passos de Option e Filter Function com o novo estado emocional.
Existem dois problemas com esta proposta: primeiro ele sempre calcula o novo estado
emocional e no considera que a eliciao de um estado emocional possui um custo e este
custo pode ser demasiado; segundo, no deveria ser preciso realizar duas deliberaes s por
que foi alterado o estado emocional.
A forma que propomos similar a de (Jiang and Vidal 2006), mas verificamos antes
da deliberao se o agente tem recurso suficiente para achar este novo estado emocional,
utilizando a Critical Context. Se sim, chama-se a Second Emotion Review Function. Caso no
possua, continua-se a deliberao.
4.2.1.5 Second Emotion Review Function
Conforme discutido, nesta funo que ocorrer eliciao das emoes secundrias,
sendo mais complexas (Hernndez et al. 2004, Jiang and Vidal 2006) e podendo fazer
relaes a outras entidades do ambiente (Velsquez 1998b).
Ela, diferentemente da anterior, sofrer influncia da base de crenas, permitindo que
o agente use informaes das crenas para eliciar emoes. Por exemplo, um agente A passa a
acreditar que um agente B est muito doente. Isto far o agente A eliciar a emoo pena.
A funo tambm recebe influncia de toda a base de desejos, e no somente dos
drives. Isto permite que esta funo note se as metas esto muito tempo na base ou se elas
foram excludas, gerando emoes relacionadas. Por exemplo, um agente deseja viajar para o
Japo. Entretanto esta meta nunca se torna uma inteno, pois ele sempre prioriza outras
metas. Isto pode causar a emoo desapontamento ou tristeza. J a base de intenes
influenciar este funo similarmente como influencia a First Emotion Review Function.
Tal como ilustrado na Figura 12, esta funo (Eq. 12) influenciada por todas as bases
da arquitetura BDI mais a base de emoes. Veja que com acesso s crenas, ela conseguir
fazer associaes entre emoes e crenas do agente, em especial com outras entidades do
ambiente, caracterizando um estilo de emoo secundria proposto por (Velsquez 1998b).

83
Serf: B x D x I x E E

(Eq. 12)

Figura 12: Second Emotion Review Function

Esta funo de reviso ser composta internamente tambm por duas funes, como
ilustrado na Figura 13: uma funo representando os eliciadores secundrios chamada Second
Emotional Eliciators (Eq. 13) e a outra a funo responsvel pelo processo de atualizao
das emoes com o tempo chamada Second Emotional Update (Eq. 14).
SERFSee: B x D x I x E E E

(Eq. 13)

SERFSeu: B x D x I x E E U

(Eq. 14)

Figura 13: Second Emotion Review Function internamente

Igualmente s sub- funes da First Emotion Review Function, a Second Emotional


Elicitors e a First Emotional Update no possuem alguma ordem de execuo predefinida e
podem ser executadas independentemente.

4.3 Mdulo de Crena


As crenas so elementos definidos na arquitetura BDI original que representam a
informao parcial do ambiente que o agente foi capaz de obter e armazenar, sejam oriundas
das percepes ou de inferncias sobre o estado mental (Rao and Georgeff. M. 1995 p. 3). Do
ponto de vista de definio lgico-formal, o conceito de crenas representa a concretizao da
lgica doxstica (Steunebrink 2010 p. 59). Este conceito permite definir agentes que
representam o conhecimento do mundo, o estado em que este mundo se encontra durante a

84

ltima percepo do agente (Georgeff et al. 1998 p. 3) e sobre si mesmo (Signoretti 2012 p.
66), de forma subjetiva. Em outras palavras, o agente obtm/gera esta informao, mas ela
no necessariamente correta em relao a realidade do ambiente.
Existem dois elementos relacionados com a manipulao de crenas: a base de crenas
(Belief Base), que armazena as crenas adotando alguma forma de indexao e estruturao
que permita manipul- las e resgat- las no futuro. E a funo de reviso de crenas (Belief
Review Function), que possui basicamente o papel de atualizar a base de crenas,
adicionando, removendo e transformando suas instncias.
A partir da literatura levantada iremos definir a Funo de Reviso de Crenas ( Belief
Review Function - Brf). Esta funo influenciada pelas percepes do agente, pelas crenas
atuais do agente como j descrito na arquitetura BDI original , por suas emoes (Jiang
and Vidal 2006, Neto 2010, Oliveira and Sarmento 2003, Pereira et al. 2005) e por suas
intenes (Bordini et al. 2007, Bordini and Hbner 2007, Jiang 2007), tal como definido na
Eq. 15 na Figura 14. Esta funo foi subdividida em trs sub-funes tal como descreve a
Figura 15 e que sero detalhadas a seguir.
Brf : B x I x E x P B

(Eq. 15)

Figura 14: Belief Review Function

Figura 15: Belief Review Function (internamente)

A Update Beliefs (Eq. 16) representa a operao esperada da funo de reviso de


crenas na arquitetura BDI tradicional levando em considerao o estado emocional para
realizar a inferncia e tambm as intenes correntes do agente. Sua responsabilidade a de
incluir, excluir e transformar as crenas na Belief Base. Nesta funo, B representa a base de

85

crenas do agente, I a base de intenes, E a base de emoes e P as percepes geradas pela


Perception Function. Bu ento o conjunto de novas crenas que deve conter a Belief Base.
A Emotional Base influenciar a atualizao de crenas adicionando ou removendo
crenas de acordo com o estado emocional. Por exemplo, um agente A que gosta do agente B
pode adicionar crenas relacionadas ao B, como, por exemplo, acreditar que B realizar certas
tarefas em seu favor. Da mesma forma, o agente A pode adicionar crenas que prevejam
informaes futuras se ele estiver confiante consigo mesmo.
UBf : B x I x E x P BU

(Eq. 16)

Dentre as novas adies analisadas na literatura, a que demonstrou possuir uma


funcionalidade importante e que possui um embasamento vlido a de rotulao de crenas
proposto por (Oliveira and Sarmento 2003). Ela permite ao agente esquecer as crenas aps
certo perodo, e este perodo dependente do estado emocional ocorrido no momento da
assimilao da crena. Devido a isto, se adicionou a Tagging Beliefs (TBf - Eq. 18) que utiliza
informao proveniente da emoo para rotular a crena. No objetivo deste trabalho definir
um algoritmo para realizar esta rotulao, cabendo ao projetista escolher um na literatura ou
construir um prprio. Os trabalhos de (Oliveira and Sarmento 2003), (Neto 2010) apresentam
propostas para esta rotulao.
A Tagging Beliefs recebe a BU, que so as crenas j atualizadas pela Update Beliefs, e
o estado emocional do agente (E) e retorna um conjunto de crenas rotuladas, BT.
TBf: BU x E BT

(Eq. 17)

A outra funo necessria para contemplar o processo de esquecimento proposto por


(Oliveira and Sarmento 2003) a Forgetting Beliefs, definida na Eq. 18, que responsvel
por analisar a informao que rotulou uma crena e determinar se ela j pode ser esquecida
(apagada) ou no, removendo-a da base caso positivo. Da mesma forma que a Ubf, no
definiremos um algoritmo ou alguma heurstica para realizar o esquecimento das crenas,
cabendo ao desenvolvedor do agente emocional definir estes algoritmos.
Esta funo recebe as crenas j rotuladas pela Tagging Belief (BT ) e retorna um
subconjunto delas, correspondente as crenas ainda no esquecidas (BF). Por fim a Base de
crenas receber o seu novo conjunto de crenas.
FBf: BT BF

(Eq. 18)

No foram adicionadas outras caractersticas discutidas pela literatura devido aos


seguintes detalhes. A proposta de crena multicamadas de (Hernndez et al. 2004) no

86

apresenta nenhum ganho arquitetura e aumenta a sua complexidade. J a proposta de


(Oliveira and Sarmento 2003) de congruncia de memria por temperamento (Mood-Memory
Congruent) no interessante, pois ela agrupa as crenas de acordo com sua rotulao
emocional para que o sistema ao acessar uma crena tenha um caminho mais rpido para
adquirir s outras. Este conceito seria anlogo ao de princpio de proximidade da memria
cach, uma espcie de princpio de proximidade emocional das crenas. Contudo, os
autores de (Oliveira and Sarmento 2003) no fazem experimentos para comprovar a eficincia
desta proposta em nenhum cenrio, nem ao menos verificam sua efetividade.
Entretanto, na prtica, as crenas so armazenadas e endereadas por campos chave. E
bons algoritmos de estrutura de dados so eficazes, como o mapeamento hash que possui
complexidade O(1). Mesmo se supormos a hiptese de congruncia de memria por
temperamento funciona, j temos algoritmos eficientes para acesso a crenas, o que nos levou
a abandonar a investigao desta proposta.
Tambm se deve lembrar que a responsabilidade de processamento das percepes
para seleo, transformao e atribuio semntica que era da funo de reviso de crenas
ficou a cargo da Perception Function (tpico 4.1), algo similar ao proposto por (Jiang and
Vidal 2006, Pereira et al. 2005, Signoretti 2012).

4.4 Mdulo de Desejo


Os desejos so o conjunto de objetivos que o agente gostaria de alcanar associados
s suas prioridades, vantagens adquiridas quando so alcanados e desvantagens adquiridas
quando no o so (Rao and Georgeff. M. 1995 p. 3). De acordo com (Jiang and Vidal 2006 p.
4), os desejos so opes que guiam o agente ao realizar sua deliberao e definem cursos
possveis de atuao. Um desejo representa usualmente um estado futuro do mundo que o
agente deseja alcanar (Wooldridge 2009 p. 4). Ou ainda, para a teoria de planejamento, uma
meta uma descrio parcial do mundo que se deve satisfazer dentro de certas restries
(Gratch 1999 p. 101). Neste trabalho, no iremos fazer distino entre a definio de desejos e
metas 8 . Em nossa arquitetura, as duas palavras indicaro a mesma coisa: os estados futuros
que o agente almeja alcanar.
Definimos uma funo de gerao de desejos, que chamaremos de Option Function.
Esta funo dada na equao Eq. 19 e influenciada pelas crenas e intenes, tal como j
8

Ambas as palavras aparecem na literatura co mo desires e goals, normalmente representando os desejos

do agente.

87

conhecido na arquitetura BDI original (Wooldridge 2009). Primeiramente, adicionaremos


uma base de desejos que poder persisti- los, como vemos nas arquiteturas concretas (Bordini
et al. 2006, 2007). Os autores de agentes emocionais adicionam uma base de desejo para
permitir sua persistncia e porque preciso armazenar informaes relativas implementao
dos drives (veja os tpicos 3.1 e 3.8), que naturalmente persistem de um ciclo de execuo
para outro.
Adicionaremos tambm a influncia das emoes para podermos realizar sua
influncia sobre os desejos, como descrito a seguir:

Figura 16: Option Function

Of : B x D x I x E D

(Eq. 19)

Consideramos que o estado emocional do agente influencia o mdulo de desejos de


trs diferentes maneiras: (i) incluso/excluso de desejos (Hernndez et al. 2004, Padgham
and Taylor 1997); (ii) uso de variveis homeostticas/drives (Breazeal 1998, Hernndez et al.
2004, Velsquez 1996); e (iii) priorizao dos desejos (Hernndez et al. 2004, Jiang and Vidal
2006, Marsella and Gratch 2009, Padgham and Taylor 1997).
A primeira maneira considera que quando certas emoes ocorrem, o sistema pode
criar ou excluir alguns desejos para lidar com estas emoes. Por exemplo, as emoes
relacionadas com algum objeto e que sejam negativas (como medo de outro agente ou
vergonha de outro agente) podem fazer o agente desejar dado comportamento (como fugir de
outro agente ou ajudar outro agente).A segunda considera que a base de desejos composta
por desejos propriamente ditos e por drives, seguindo o proposto por (Hernndez et al. 2004,
Velsquez 1996). Estes se comportam como variveis homeostticas do agente possibilitando
a representao de necessidades fisiolgicas, como fome e sede, e motivaes em geral (como
desejo de socializao, por exemplo). Conforme o modelo de (Breazeal 1998), os drives
possuem um valor que acumula por instante de tempo e um limiar superior (e/ou inferior).
Ambos, desejos e drives, podem estar ativos ou no. Os desejos se tornam ativos quando a
Option Function os gera devido a um estado mental do agente e o drive se torna ativo quando
seu valor extrapolar seu limiar. A Option Function tambm pode aumentar ou diminuir o

88

valor de um drive dependendo do estado mental e deve incrementar este valor no decorrer do
tempo, para simular sua intensidade, como ocorre com a fome e sede em seres humanos.
Um exemplo prtico e simples de drive a fome: a fome possui uma intensidade que
pode ser representada por um valor numrico. A fome possui um limiar superior. Quando a
sua intensidade ultrapassa o limiar superior, o agente toma conscincia que tem fome,
passa a ter uma srie de fenmenos fisiolgicos e psicolgicos (exemplo a dor na barriga).
Para lidar com estes fenmenos ele deve comer. Quando este agente se alimentar, a
intensidade do drive fome diminuir e no mais ultrapassar o limiar superior, ento o agente
no sentir mais fome.
A terceira diz respeito a priorizao dos desejos de acordo com o estado mental do
agente, incluindo as emoes, permitindo que ele selecione os desejos mais prioritrios
durante o processo de seleo ocorrido na Filter Function. Por exemplo, se o agente gostar de
outro agente, poder priorizar os desejos que favoream este outro agente.
Assim, nossa funo de gerao de opes ser composta por trs funes, uma para
cada forma de influncia emocional discutida, como mostrado na Figura 17. A primeira,
Update Desires (Eq. 20) trata da insero, remoo e transformao de desejos, levando em
conta as crenas (B), os prprios desejos (D), as intenes (I) e as emoes (E). Este ltimo
utilizado para contemplar a capacidade de incluir ou excluir desejos caso o estado emocional
exija isto, como discutido anteriormente. A funo retorna ento um conjunto com o novo
contedo da Desire Base, DUDe. Tambm se deve lembrar que drives, embora seja incomum,
podem ser includos ou excludos em tempo de execuo, e este procedimento seria de
responsabilidade desta funo.
UDef : B x D x I x E DUDe

(Eq. 20)

A segunda funo, a Update Drives (Eq. 21) atualiza o valor de intensidade dos drives
contidos no conjunto DUDe , ativando-os quando extrapolarem seu limiar ou desativando-os.
Isto de acordo com as crenas (B), desejos (D), intenes (I) e emoes (E) do agente gerando
assim o conjunto DUDr.
UDrf : B x DUDe x I x E DUDr

(Eq. 21)

A terceira, Prioritize Desires (Eq. 22) lhes atribui um valor de prioridade aos desejos
j tratados pelas equaes anteriores (contidos no conjunto DDUr). Este valor ser usado nas
etapas seguintes, utilizando as crenas, desejos, intenes e emoes gerando assim o
conjunto DP. Os drives tambm so priorizados por esta funo. S que eles possuem
prioridade insignificante quando esto inativos (por exemplo, o menor valor possvel de

89

prioridade), ou possuem uma prioridade tambm dependente do seu valor atual quando esto
ativos.
PDf : B x DUDr x E x I DP

(Eq. 22)

Figura 17. Option Function (internamente)

A ordem proposta para a execuo destas funes no aleatria. A funo Update


Desires deve ser executada primeiro porque ela atualiza os desejos de acordo com a nova
realidade do agente, permitindo que tanto a Update Drives possa atualizar adequadamente os
drives com suas informaes atualizadas, tanto a Prioritize Desires possa usar informaes
sobre os desejos/drives atualizados para fazer sua priorizao. Update Drive deve ser
executada anteriormente a Prioritize Desires, pois esta precisar saber se um drive est ativo
ou no, podendo decidir se sua prioridade ser insignificante para caso de inativo ou
dependente deste valor, caso ativo.

4.5 Mdulo de Inteno


As intenes so metas que o agente ir tentar satisfazer em determinado momento
utilizando um plano (Rao and Georgeff. M. 1995). Assim, as intenes permitem que o agente
saiba quais as metas est deliberando em dado instante, podendo-se verificar se elas esto
sendo alcanadas com xito pelos planos e, caso no estejam ou exista outra meta mais
importante, reconsiderar estas intenes correntes. (Wooldridge 2009 p. 67) discute um
significado mais genrico propondo que intenes so estados mentais que direcionam
atitudes (pro-attitudes), isto , que tendem a conduzir um agente a ao.
Podemos considerar que existem duas entidades que compe este mdulo de inteno:
uma funo de seleo de intenes, que comumente chamada de Filter Function e uma
base de dados que armazena as intenes do agente conjuntamente com um ou mais planos
que visam satisfazer esta inteno, que chamaremos de Intention Base. A arquitetura abstrata
BDI considera o planejamento como processo necessrio para o raciocnio e tomada de
deciso, mas abstrai como ocorre este processo. Inclusive, considera que o ato de gerar planos

90

pode literalmente construir um plano do zero ou pode ser a busca de planos em uma base de
planos (Wooldridge 2009 p. 74).
Entretanto, pelas questes de (i) compatibilidade com sistemas com capacidade de
gerar planos (Meneguzzi et al. 2004), (ii) a ausncia de planejamento trazer restries aos
agentes autnomos quanto a sua capacidade de lidar com situaes no previstas em tempo de
projeto (Meneguzzi et al. 2004) e (iii) a existncia de propostas que levam em conta a relao
entre emoo e capacidade de planejamento (Gratch 1999, Oliveira and Sarmento 2003), no
podemos desconsiderar o planejamento dentro de nossa arquitetura. Especificaremos, portanto
uma funo geradora de planos, que chamaremos de Generate Plans9 . Esta funo exige uma
base de aes (Action Base) que iro compor o plano. Esta base pertence ao mdulo de
atuao, que ser discutida no tpico 4.6. Porm, como no foco deste trabalho, no iremos
tratar do planejamento em si e nem como a emoo poderia influenci- lo.
As modificaes no modelo BDI encontradas nos modelos emocionais BDI quanto ao
mdulo de inteno so (i) a prpria influncia do estado emocional sobre a seleo das
intenes (Bazzan et al. 2002, Jiang and Vidal 2006, Neto 2010, Pereira et al. 2005) ; (ii) a
configurao do algoritmo de planejamento (Oliveira and Sarmento 2003); (iii) a seleo do
estilo de algoritmo de acordo com o estado emocional (Oliveira and Sarmento 2003); e (iv) a
rotulao dos planos com marcador somtico para selecionar planos cujo marcao somtica
mais afim com o estado emocional atual (Neto 2010).
Ns abstrairemos os detalhes tericos dos processos de influncia propostos, devido ao
fato deles serem dependentes de domnio e alguns como os de (Oliveira and Sarmento 2003)
no possurem experimentos comprovando sua eficincia. Consideraremos ainda que a
emoo influencia principalmente na prpria atualizao de intenes e no processo de
gerao e seleo de planos.
Desta forma, definiremos nossa Filter Function (Eq. 23) apresentada na Figura 18 da
seguinte forma: ela sofre influncia da Intention Base, da Desire Base e da Belief Base, tal
como no BDI original e postulamos a influncia da Action Base porque supomos que nossa
arquitetura abstrata poder ser munida de um sistema de planejamento que potencialmente
usar esta base. Por ltimo, a Emotion Base tambm a influenciar, seguindo o proposto por
(Jiang and Vidal 2006, Neto 2010, Oliveira and Sarmento 2003, Pereira et al. 2005).
Ff : B x D x I x E x A I
9

(Eq. 23)

Entretanto, faremos co mo a arquitetura BDI e tentaremos exp licar co mo se realiza este processo e

como a emoo pode promove-lo e influenci-lo, pois foge do escopo deste trabalho.

91

Figura 18: Filter Function

Seu funcionamento interno exibido na Figura 19. A primeira operao a ser


realizada, Update Intention (Eq. 24), utiliza as bases de desejos, intenes, emoes e crenas
para selecionar o conjunto de intenes atuais do agente. Veja que naturalmente necessrio a
base de desejos e intenes para que se realize o processo de seleo e reconsiderao de
intenes. J a de crenas usada para verificar se uma inteno est condizente com as
crenas do agente sobre o mundo e sobre si mesmo, evitando assim, por exemplo, paradoxos
(uma inteno alcanar um estado do mundo que o agente crer ser impossvel), que foram
discutidos por (Jiang and Vidal 2006). Consideramos tambm que a base de emoes tambm
ser exigida para que o agente possa reconsiderar a inteno de acordo com o estado
emocional, de tal forma que, possa reorden- las ou at mesmo remov- las caso o estado
emocional no esteja favorvel a esta inteno. Podemos citar como exemplo: um agente A
passa a no gostar do agente B. Assim ele passa a eliminar as intenes que tinha de ajudar B.
Os autores (Jiang and Vidal 2006, Oliveira and Sarmento 2003, Pereira et al. 2005,
Steunebrink 2010) tambm consideram esta influncia.

Figura 19: Filter Function internamente

FUIf : B x D x I x E Io

(Eq. 24)

A prxima funo chamada Find Plans (Eq. 25) tem o objetivo de associar planos s
intenes do conjunto Io buscando-os em uma base de planos chamada Plan Base os planos
definidos em tempo de projeto ou gerados pela funo Generate Plans. O resultado desta

92

funo um conjunto de intenes associadas a um conjunto de planos que podem ser


utilizados para alcanar estas intenes. A este conjunto damos o nome de Ip . Para realizar
esta tarefa, a Find Plans precisa da Plan Base (P) para saber quais planos pode utilizar e das
bases de crenas e emoes para saber se o contexto de execuo do plano condiz com o
estado emocional do agente e suas crenas.
Como visto, a emoo influencia na Find Plans, de tal forma que se selecione planos
ou no planos para dada meta de uma inteno. Um exemplo ignorar planos custosos e
demorados quando se est ansioso e considerar planos custosos quando se est relaxado.
Podemos dizer tambm que a hiptese do marcador somtico de Damsio (tpico 2.4.3) pode
ser implementada nesta funo, visto que se pode usar os resultados passados destes planos e
estados emocionais gerados por estes planos para sua seleo posterior, como feito por (Neto
2010).
FFPf : B x E x P x Io IP

(Eq. 25)

Caso exista alguma inteno ainda sem plano aps a execuo de Find Plans, a
Generate Plans (Eq. 26) tentar gerar um ou mais planos para estas intenes. Para isto ela
utiliza a base de crenas, para saber qual o contexto atual e para gerar planos com prrequisitos de acordo com este contexto. A base de emoes, alm de servir para gerar planos
com pr-requisitos adequados com o estado emocional, influenciar o planejamento tal como
(Oliveira and Sarmento 2003) sugere. Por exemplo, quando o agente est no estado emocional
com medo, ele pode forar o seu algoritmo de planejamento a gerar planos curtos para
tentar lidar rapidamente com a fonte do medo e limitar o tempo que o algoritmo ter para
operar. Por ltimo, a base de aes exigida para que o algoritmo de planejamento tenha as
informaes das aes que podem constituir para gerar os planos.
No final, a Generate Plans ir tentar associar novos planos para cada inteno que
continuou sem planos contida na IP, obtendo a nova coleo IG. Esta funo tambm
adicionar todos os novos planos gerados (Pnew) base de planos, permitindo que eles sejam
reutilizados em ciclos posteriores.
FGPf : B x E x A x IP IG, Pnew

(Eq. 26)

Quanto ordem adotada para as funes, observa-se que existem duas tarefas bsicas
representadas: (i) a seleo e reconsiderao de intenes e (ii) a gerao/associao de
planos. Adotou-se esta ordem (primeiro seleciona/reconsidera intenes), pois como
selecionamos primeiro as intenes antes de associar/criar planos, a segunda tarefa se torna
mais rpida, visto que teremos menos metas exigindo planos para satisfaz- las. Esta escolha

93

tambm a mais adotada pelas abordagens BDI e Emocionais BDI (Bordini et al. 2007, Jiang
and Vidal 2006, Neto 2010), o que nos indica sua efetividade. Entretanto existem trabalhos
que prope a ordem inversa, onde primeiro se seleciona/cria planos para metas e s depois
realiza a seleo/reconsiderao de intenes (Meneguzzi et al. 2004). Esta ordem inversa
desejvel quando preciso gerar planos para avaliar a necessidade de manter metas na base
ou utiliz- los para selecionar as futuras intenes, com o custo de ter de planejar/buscar metas
que ainda no se sabe se tornaro intenes.

4.6 Mdulo de Atuao


Considera-se neste trabalho a atuao de um agente como sendo a forma que ele
alterar seu ambiente e se comunica com outros agentes. A arquitetura BDI de (Rao and
Georgeff. M. 1995), no faz nenhuma proposta ao processo de atuao do agente, j a
definio de (Wooldridge 2009) define uma funo que executa aes de plano, porm ela
no trata da operacionalizao dos planos. Alm disto, o processo de atuao notoriamente
dependente de domnio com atuadores que podem ser fsicos (uma garra de um rob) ou
virtuais (um mdulo de comunicao).
Refletindo sobre isto, o Jason no considera em detalhes a atuao em sua arquitetura.
Da mesma forma, as arquiteturas emocionais BDI no discutem sobre a atuao do agente,
assim como sua influncia com o resto da arquitetura e com o mdulo emocional, salvo uma
tmida discusso em (Pereira et al. 2005) relacionando o estado emocional e a informao dos
recursos do agente com a calibrao das aes.
Entretanto, a atuao tem importante papel em arquiteturas emocionais de origem
fisiolgica tal como as propostas em (Breazeal 1998, Velsquez 1996, 1998b p. 199)
como discutido nos trabalhos relacionados. De acordo com as propostas de agentes
emocionais encontradas na literatura, as influncias que o mdulo de atuao pode sofrer so:
(i) uma ao potencialmente parametrizada pelo estado emocional e pelas motivaes do
agente, de acordo com (Breazeal 1998, Velsquez 1996, 1998b); e (ii) uma ao
parametrizada pelos recursos do agente, tal como (Pereira et al. 2005) sugere.
Em virtude disto, iremos definir um mdulo explcito de atuao, contendo uma
funo de execuo de aes, chamada de Execute Function, e uma base de aes chamada
Action Base.
A Action Base possuir informaes sobre as aes para o planejamento, como (i) as
pr e ps-condies das aes; (ii) informao se ela est sendo executada no momento; (iii)

94

informao se est indisponvel por algum motivo; e (iv) equivalncia entre aes, i.e., se uma
ao diferente possui os mesmos pr-requisitos e gera os mesmos ps-requisitos, permitindo
sua troca. As alteraes desta base no so realizadas diretamente pela arquitetura, mas sim
pelo processo de atuao em si, que dependente de domnio.
J a Execute Function ser definida tal como Eq. 27 e executada aps a Filter
Function, como visto na Figura 20. Esta funo influenciada pela base de intenes,
crenas, emoes e recursos. Consideramos que a base de crenas influencia esta funo, pois
os planos podem utilizar informaes das crenas do agente para realizar clculos e
parametrizar aes. Tambm consideraremos que a base de aes influencia este mdulo para
que ele possa observar o estado de uma ao (sua disponibilidade, por exemplo).
Ef : A x B x E x I x R Act

(Eq. 27)

Figura 20: Execute Function

Consideraremos que nossa arquitetura tentar realizar uma inteno qualquer por um
ciclo de execuo, adotando algum critrio de seleo desta inteno e tentar obter seu
objetivo executando todos os planos associados, um de cada vez at obter xito ou acabarem
os planos possveis. Nossa motivao para adotar esta poltica a sua simplicidade,
facilitando o estudo do problema e a implementao da proposta.
Visando esta poltica, a Execute Function ser composta por duas outras funes,
como visto na Figura 21. A primeira a Select Intention (Eq. 28) que, dada a coleo de
intenes, seleciona qual ser a inteno executada no respectivo ciclo, levando em conta a
base de emoes para saber qual inteno mais adequada para um dado estado emocional,
tal como (Pereira et al. 2005) sugere. importante existir esta influncia para que se possa
representar situaes similares a de comportamentos influenciados por emoes como visto
nas propostas de (Breazeal 1998, Velsquez 1996).
Um exemplo de como a emoo influencia na seleo da inteno o seguinte: um
agente tem a inteno de fazer um relatrio antes de limpar sua mesa de trabalho. Outro

95

agente observa a baguna em sua mesa. Isto faz o agente ter vergonha e ele passa a preferir
realizar a inteno de limpar a mesa.

Figura 21: Execute Function Internamente

ESIf : I x E Io

(Eq. 28)

A segunda funo, a Achieve Intention (Eq. 29) deve receber a inteno selecionada
(Io ) e executar os planos associados at satisfazer a inteno. Os planos so executados com
uma ordem de prioridade que pode ser obtida tambm pela informao do estado emocional e
aes. Caso um plano mais prioritrio falhe, a funo ir tentar o prximo mais pr ioritrio, at
que satisfaa a inteno ou todos os planos falhem. Veja que neste processo pode ser utilizada
uma srie de algoritmos para priorizao de planos propostos em (Neto 2010, Oliveira and
Sarmento 2003, Pimentel and Cravo 2009) usando as mtricas do marcador somtico e
similaridade com o estado emocional, respectivamente (veja tpicos 2.4.3 e 3.3.3 para mais
detalhes). Inclusive, devemos levar em conta que o prprio plano pode querer informaes
sobre as emoes no decorrer de sua execuo, e tambm para isto necessrio que a Execute
Function tenha acesso a base de emoes.
EAIf : Io x B x E x R x A I

(Eq. 29)

Alm disto, dentro do processo de execuo de um plano, a Achieve Intention dever


ter a capacidade de substituir aes de um plano por aes equivalentes de acordo com o
estado emocional, o que exige acesso base de aes. Isto til principalmente para que se
possa implementar a expresso das emoes, tal como (Breazeal 1998, Velsquez 1996,
1998b) propem.
Por ltimo ela gera I que ser vazio caso o sistema tenha conseguido atingir a
inteno Io (que deve ser removida da base de intenes) ou conter Io caso no tenha atingido
a inteno associada.

96

5 Mapeando UEBDI no Jason


Com nossa arquitetura UEBDI definida, nosso prximo passo ser propor uma
implementao para a mesma. Para isto, em vez de comearmos uma implementao do zero,
vamos estender a parte de arquitetura do Jason. Ser visto que algumas caractersticas
possuem representantes diretos no Jason, outras precisam de algum ajuste e outras no podem
ser adotadas devido a incompatibilidade da nossa arquitetura com a proposta no Jason.
Chamaremos esta tarefa de mapeamento.

5.1 Fluxo de execuo UEBDI


A ttulo de reviso, iremos descrever na Tabela 3 os principais mdulos, bases e
funes da arquitetura UEBDI. A ordem das funes na tabela reflete a ordem de execuo
das mesmas.
Arquitetura UEBDI
Nome

Descrio

Resource Base

Base descrevendo os recursos do agente

Action Base

Base contendo dados referentes as aes do agente


Mdulo de Percepo

Perception Base

Base contendo as percepes do agente em um ciclo de execuo

Perception Function

Tratamento das percepes antes de se tornarem crenas

Sensor Filter

Filtra as sensaes de acordo com as limitaes do sensor

Resource Filter

Filtra as percepes de acordo com os recursos disponveis

Identity Rules Filter

Filtra as percepes atravs de regras de produo

Emotional Filter

Filtra as percepes de acordo com o estado emocional

Intentional Filter

Filtra as percepes de acordo com as intenes


Mdulo de Percepo

Belief Base

Base de crenas

Belief Review Function

Revisa as crenas

Update Beliefs

Atualiza a base de crenas, inserindo ou removendo crenas e


mantm a integridade da base

97

Tag Beliefs

Rotula a crena de acordo com o estado emocional e o momento da


criao/modificao

Forget Beliefs

Verifica, de acordo com o rtulo, se a crena pode ser esquecida


(deletada)
Mdulo de Desejos

Desire Base

Base de desejos

Option Function

Determina os desejos a serem considerados neste ciclo de execuo

Update Desires

Atualiza os desejos, inserindo ou removendo-os da base de desejos

Update Drives

Realiza o comportamento dos drives, ativando-os ou no, de acordo


com seu valor. Alm de atualizar este valor com o incremento
natural com o tempo e com os eventos ocorridos

Prioritize Desires

Prioriza os desejos de acordo com sua importncia em relao ao


estado mental
Mdulo de Intenes

Intention Base

Base de Intenes

Filter Function

Seleciona quais intenes devem persistir no novo ciclo e quais


desejos devem se tornar intenes

Update Intention

Revisa as intenes e seleciona os desejos que se tornaro intenes

Find Plans

Encontra planos para as intenes sem planos

Generate Plan

Gera planos para intenes sem planos


Mdulo de Execuo

Execute Function

Seleciona uma inteno e executa os planos associados

Select Intention

Seleciona a inteno

Achieve Intention

Executa os planos associados em ordem de prioridade


Mdulo de Emoes

Emotion Base

Base de Emoes

First Emotion Review


Function

Revisa primariamente o estado emocional


Verifica se o sistema est em um contexto crtico. Caso verdadeiro,
no executa a Second Emotion Review Function

Critical Context
Second Emotion Review
Function

Revisa secundariamente o estado emocional

Tabela 3: Resumo das bases e funes da arquitetura UEBDI

5.2 Descrio do mapeamento


Vamos agora proceder com o mapeamento. Para isto iremos fazer a correspondncia
de uma funo UEBDI em outra do Jason. Devemos considerar que a funo UEBDI deve ter
acesso s bases planejadas e a ordem de execuo das funes deve ser mantida. Se os
critrios forem atingidos dizemos que o mapeamento de uma funo foi completo. Caso um
ou outro no seja atingido, dizemos que o mapeamento incompleto. Alm disto, no

98

planejamos alterar a estrutura do Jason e nos limitamos a alterar somente seus pontos
flexveis (ou fronzen-spots).
Iremos realizar esta tarefa por mdulos. Isto , o mapeamento ser realizado a cada
mdulo da arquitetura. Com exceo do mapeamento de bases de recursos, aes, emoes e
intenes, que ser realizado previamente. No final elaboraremos uma tabela resumindo o
resultado final do mapeamento. Pode-se obter informaes mais detalhadas sobre a
arquitetura do Jason no tpico 2.3.
5.2.1

Bases de dados atpicas (Resource, Action e Emotion Base)


Existem trs bases de dados na arquitetura UEBDI no encontradas BDI: (i) a Action

Base responsvel por armazenar informaes sobre os atuadores do agente, assim como seu
estado em dado instante; (ii) a Resource Base armazena informaes referentes a recursos
necessrios para o funcionamento do agente, como por exemplo, o nvel de bateria,
quantidade de projteis, quantidade de material para construir seu objeto de trabalho, entre
outros; e (iii) a Emotion Base utilizada para armazenas as emoes do agente. Tanto a Action
Base quanto a Resource Base podem ser representadas como crenas sem muitos problemas.
J a Emotion Base ser mapeada na base de crenas adotando-se algumas convenes
(explicadas no tpico 5.2.8 abaixo). Logo, todas estas bases sero mapeadas na base de
crenas do Jason.
5.2.2

Base de Intenes
A base de intenes no tem acesso trivial no Jason, pois as intenes so

implementadas no Jason como um conjunto de pilhas de execuo destas intenes e no


existe explicitamente um objeto Base de Intenes como existe a Belief Base, com mtodos
prprios para consulta.
Entretanto, existe uma ao interna chamada .intend que permite aos planos
consultar a base de intenes, verificando se existe uma inteno que seja iniciada por
determinada meta.
Para facilitar nosso mapeamento, foi construda uma base de intenes explcita que
permite consultar a base de intenes com sentenas (metas) que iniciaram as intenes. Para
realizar isto, o comportamento da ao interna .intend foi encapsulado dentro da nova base
de intenes. Com isto, conseguimos acessar, via Java, as intenes de um agente de forma
mais simples, facilitando nosso mapeamento.

99

Lembramos que as pilhas de execuo das intenes no Jason so acessveis de


qualquer funo da classe Agent. Por isto, nossa base de intenes explcita tambm ser
acessvel de qualquer funo da classe Agent.
5.2.3

Mapeamento do mdulo de percepes


Como visto, o mdulo de percepes do UEBDI composto pela Perception Function

e pela Perception Base. A Perception Base foi introduzida como artifcio para representar a
ligao entre a etapa de percepo e a de reviso de crenas. Esta base no essencial visto
que os dados de percepo no precisam ser persistidos entre dois ciclos de execuo. Ento
no preciso mape-la no Jason.
J a Perception Function dividida em vrios fluxos, um para cada sensor do agente.
No Jason, percepes do ambiente so filtradas e inseridas no fluxo padro da arquitetura
BDI, o que torna quase direto o mapeamento da Perception Function do UEBDI na funo
Perceive Jason. J as mensagens do Jason so interpretadas por funes separadas e inseridas
diretamente como metas no agente na base de eventos. Isto faz com que a mensagem no Jason
no siga o fluxo esperado de uma percepo da UEBDI, que de insero na base de
percepes para depois passar pelas Perception Function, e por fim a Belief Review Function.
Em tese, possvel tratar estas mensagens que caem na Event Base, entretanto faz- lo ir
inverter a ordem de execuo original da UEBDI e no ser poss vel acessar a base de
percepes pela Select Event. Por isto, no iremos considerar as mensagens e consideraremos
o mapeamento das mensagens impossvel.
De qualquer forma, ainda podemos tratar as mensagens se a considerarmos uma meta
a ser tratada na Select Event do Jason (ou a Update Desires da UEBDI). E quanto as
percepes normais, iremos mape-las abaixo.
Na Figura 22 representamos o mapeamento. A Sensor Filter da arquitetura faz a
seleo de sensaes pertinentes quele fluxo de percepo e representa o sensor
propriamente dito. Sendo assim, esta funo deve ser mapeada a funo Perceive em Jason
que possui objetivo similar.

Figura 22: Mapeamento Perception Function

100

J as funes Resource Filter, Rules Filter, Emotional Filter e Intentional Filter da


arquitetura podem ser mapeadas para a funo BUF do Jason. Embora estas funes
adicionem comportamento funo BUF, (i) elas tambm possuem o objetivo de tratar as
percepes antes de virarem crenas; e (ii) utilizam bases de dados que foram mapeadas como
sub-bases da base de crenas as quais a funo BUF tem acesso, alm a base de intenes. A
Resource Filter utiliza a Resource Base enquanto a Emotional Filter utiliza a Emotion Base,
ambas mapeadas como sub-bases de Belief Base em Jason.
Com isto, podemos considerar o mapeamento completo, pois a Sensor Filter foi
mapeada na funo Perceive do Jason e as outras na funo BUF, e destas funes temos
acesso a todas as bases necessrias.
5.2.4

Mapeamento do mdulo de crenas


O mdulo de crenas da UEBDI composto pela Belief Review Function e Belief

Base. A Belief Base pode naturalmente ser mapeada na base de crenas do Jason diretamente.
A Belief Review Function da nossa arquitetura visa realizar a incluso, excluso e
transformao/reviso da base de crenas (feito pela Update Beliefs) e dar suporte ao sistema
de rotulao e esquecimento (chamadas na nossa arquitetura de Tag Beliefs e Forget Beliefs).
No Jason, as tarefas de incluso e excluso pertencem funo BUF e aos planos do agente.
J a tarefa de transformao/reviso de crenas realizada pela BRF. Porm existe uma
diferena, a BRF realiza somente a reviso de crenas individuais e no de um conjunto de
crenas medida que cada crena includa ou excluda da base de dados.
Dadas similaridades funcionais, podemos mapear a Update Beliefs na BUF e na BRF
do Jason, respeitando a ordem de execuo original. Tambm possvel mape- la nos planos,
pois estes podem atualizar a base de crenas. Entretanto, neste caso a ordem de execuo
diferente da UEBDI, pois os planos iro executar a atualizao na Execute Function do Jason.
Alm disto, nos planos e na BUF, pode-se acessar a Belief Base, a Emotion Base (contida na
Belief Base) e a Intention Base, permitindo acessar todas as bases necessrias por esta funo.
Devido a isto, consideraremos que este mapeamento completo se implementarmos agentes
estendendo a BUF/BRF do Jason. Caso usemos os planos para atualizar as crenas, o
mapeamento ser incompleto.
A Tag Beliefs pode ser mapeada na BRF do Jason, pois as duas funes operam
durante a incluso de crenas e a BRF j pressupes acesso base de crenas, o que tambm
uma necessidade da Tag Beliefs que precisa acessar o estado emocional do agente. A
informao de rotulao feita para Tag Beliefs pode ser inserida como outras crenas na

101

prpria base de crenas ou como anotaes sobre a crena rotulada, um recurso existente no
Jason. Neste caso, o mapeamento completo.

Figura 23: Mapeamento Belief Review Function

Por ltimo, a Forget Beliefs no pode ser mapeada para a funo BRF do Jason, pois
ela deve ser executada a cada ciclo de execuo, forando com que crenas no estejam mais
disponveis logo aps o seu tempo de vida expirar. Tampouco pode ser mapeada para a
funo BUF, pois podem existir crenas oriundas das percepes que no foram rotuladas
pela Tag Beliefs.
O local mais indicado para incluir a funcionalidade de Forget Beliefs no incio da
funo Select Event, pois ela executada logo em seguida a BUF. Mesmo Select Event no
tendo a funo de tratamento de crenas, o incio desta funo o local ideal para o
procedimento de esquecimento de crenas, que deve ser executado logo no final de todo o
processo de reviso de crenas. A funo s precisa saber qual a crena deve esquecer, assim
como as informaes que a rotulam, ambas contidas na base de crenas e acessveis pela
Select Event. Logo, o mapeamento da Forget Beliefs na Select Event completo.
5.2.5

Mapeamento do mdulo de desejos


Metas no Jason so eventos especiais que so inseridos pelos planos na base de

eventos para notificar ao sistema que ele deseja alcanar dada sentena. Posteriormente este
evento selecionado pela funo Select Event.
Na nossa arquitetura existe o mdulo de desejos que composto pela Desire Base e
pela Option Function. A base pode ser mapeada como subconjunto da base de eventos do
Jason contendo os eventos relativos a metas. Como j discutido no tpico 2.3, o Jason possui
seu sistema de metas limitado, no permitindo implementar metas persistentes diretamente
sem o uso de artifcios. Entretanto iremos considerar que atravs dos padres de projeto
(Hbner et al. 2006) possvel implementar metas persistentes em Jason. Os drives, que at
ento estvamos considerando como parte das metas do agente, so mapeados para a base de
crenas, como discutiremos a seguir.
A Figura 24 demonstra como poder ocorrer o mapeamento. A funo Update Desires
realiza a tarefa de insero e a remoo de metas influenciada pelas crenas, emoes,

102

desejos e intenes. Podemos considerar que esta funo pode ser mapeada nos planos do
agente, onde as emoes e crenas so acessveis pela Belief Base do Jason e desejos e
intenes so acessveis pelas aes internas .desire(x) e .intend(x) do Jason. Veja que
este mapeamento incompleto, pois apesar de conseguirmos acessar as bases de crenas
emoes e intenes pelos planos esta funo ser executada na funo Execute Intention
do Jason junto com os planos, e no logo depois da reviso de crenas e reviso e emoes
pela Second Review Emotion Function (discutida em 5.2.8). Isto inverte a ordem de execuo
original da UEBDI.

Figura 24: Mapeamento Option Function

Posteriormente temos a funo Update Drives. Veja que ela desempenha trs papis:
dado um conjunto de drives, (i) atualizar o valor dos drives e (ii) verificar quais drives
extrapolaram seus limites de ativao e os ativar, assim como verificar se o seu va lor voltou a
estar contido entre seus limites de ativao e o desativar; e (iii) atualizar o valor dos drives
caso ocorra certo evento (como por exemplo, diminuir a cede caso o agente tenha ingerido
gua).
Para implementar a Update Drives no Jason, vamos definir a descrio dos drives
como crenas na forma drive(nome, valor, limiteSup, limiteInf, incremento), onde nome o
nome do drive que ser usado para identific- lo no sistema, limiteSup o valor limiar superior
do drive (quando o valor do drive for maior que este, o drive considerado ativo
superiormente), limiteInf o limiar inferior do drive (quando o valor do drive for menor que
este, ele considerado ativo inferiormente) e incremento um valor usado para incrementar o
valor do drive a cada ciclo de raciocnio.
Alm disto, para atualizar o valor dos drives podemos adotar duas abordagens. A
primeira mapear a atualizao para a funo Select Event do Jason, monitorando o estado
mental do agente e alterando as crenas relativas ao drive. A base de crenas acessvel,
assim como a base de desejos (mapeada como base de eventos) e a base de emoes (contida
na base de crenas). Veja que neste cenrio nenhum critrio de mapeamento ferido, pois a
ordem de execuo pode ser mantida e a Update Drives ter acesso a todas as bases
necessrias.

103

A segunda abordagem utilizar os planos, de tal forma que quando um evento


desejado ocorrer, podemos alterar o valor da crena que representa o drive. Nesta segunda
ser possvel ter acesso s crenas e s emoes (pela base de crenas), desejos e intenes
(por aes internas do Jason). Entretanto, usar planos para atualizar os drives mudar a ordem
de execuo da atualizao dos drives (ela ser feita na Execute Intention do Jason, o que
distante da funo Select Event do Jason, onde ocorre o resto das atualizaes dos desejos) e
isto torna o mapeamento incompleto.
Ns optamos por uma proposta hbrida destas duas, onde o incremento do valor dos
drives e a ativao (ou no) deles quando passam um limiar realizada pela extenso da
Select Event. J o monitoramento de eventos que alterem seu valor realizado pelos planos. A
motivao disto que justamente o processo de incremento e ativao/desativao de drives
independente do domnio, podendo ser reapro veitado em vrios agentes. J o processo de
modificao de seus valores de acordo com eventos ocorridos dependente de domnio e por
isto implementado atravs dos planos, permitindo rpida modificao de um agente para o
outro. Veja que, infelizmente, este mapeamento incompleto, pois como monitoramos os
eventos nos planos, a atualizao dos drives ter uma ordem diferente da original.
Quanto tarefa de verificar quais drives extrapolam ou no seu valor, podemos inserir
um algoritmo na funo Select Event do Jason para realizar tal tarefa. O algoritmo deve
verificar para todo drive da forma drive(nome, valor, limiteSup, limiteInf, incremento)
contido na base de crenas se seu valor maior que o seu limiteSup e no est se desejando
nenhuma meta identificada por nome, ento deve-se inserir um desejo nome(sup) na base de
eventos do Jason. Similarmente, se o valor menor que o limiteInf e no existir meta com o
nome nome(inf), ele deve inserir um desejo nome(inf). Por outro lado, se o valor estiver
entre os limiteSup e limiteInf e se deseja uma meta identificada por nome(sup) ou
nome(inf), ento remove-se esta(s) meta(s) da base de eventos. Por ltimo, deve-se atualizar
o valor do drive, incrementando-o com o valor incremento.
Por ltimo, temos que mapear a funo Prioritize Desires que dever atualizar a base
de desejos rotulando os desejos de acordo com sua prioridade dado o contexto atual. Esta
operao papel da Select Event do Jason, visto que ela detecta qual o evento mais apto a se
tornar uma inteno, priorizando-o com sua seleo. Logo, Prioritize Desires pode ser
mapeada na Select Event devido similaridade. Nosso mapeamento completo, pois colocar
a Prioritize Desires na Select Event manter a ordem de execuo da UEBDI e j que a Select
Event tem acesso a todas as bases exigidas pela funo Prioritize Desires.

104

5.2.6

Mapeamento do mdulo de intenes


A UEBDI define o mdulo de intenes composto pela Intention Base e pela Filter

Function. A Intention Base pode ser mapeada na base de intenes do Jason, adicionando-se
as devidas extenses j discutidas no tpico 5.2.2.
No Jason a seleo e reconsiderao de intenes no ocorrem em uma funo
discriminada, mas sim separadamente. A incluso de intenes ocorre implicitamente na
Select Event, pois o sistema sempre tentar associar um plano ao evento selecionado para
torn- lo uma inteno. A reconsiderao se d pelo pro cesso de excluso de uma inteno por
aes internas do Jason a serem executadas em um plano.
Devido a isto, observa-se na Figura 25 o possvel mapeamento da Filter Function da
UEBDI sobre o Jason. Vamos considerar que a funo Update Intention da arquitetura
UEBDI, que possui o papel de atualizao das intenes, pode ser mapeada na funo de
Select Event (incluso) e nos planos do Jason (excluso), e ser possvel ter as influncias dos
desejos, das crenas e do estado emocional (que est na base de crenas). A Select Event tem
acesso a todas as bases exigidas pela Update Intention. Entretanto, quando houver excluso de
intenes pelos planos, a ordem de execuo ser mudada em relao a UEBDI, o que torna o
mapeamento incompleto.

Figura 25: Mapeamento Filter Function

Quanto a prxima sub- funo do UEBDI, a Find Plans, ela representa exatamente as
funes Check Context e Unify Event do Jason. Consideramos este mapeamento completo,
pois a ordem de execuo da UEBDI foi respeitada e a Find Plans s exige as bases de
crenas e planos, ambas acessveis pela Check Context e Unify Context do Jason.
A Generate Plans naturalmente no poder ser mapeada em nenhuma funo do Jason
visto que o Jason no lida com planejamento. Consideramos que, caso se queira esta
propriedade, deve-se anexar um terceiro mdulo de gerao de planos na Select Option do
Jason. Este mapeamento completo, pois a ordem de execuo mantida e a Belief Base, a
Emotion Base e a Action Base so acessveis pela Select Option.
Outra questo importante que a UEBDI ao trmino da Filter Function especifica um
conjunto novo de intenes onde cada uma contm uma coleo de planos, enquanto que o

105

Jason ao trmino da Select Option especifica uma nova inteno, sempre associada a um
nico plano. Isto faz com que o Jason no tente executar vrios planos para uma inteno at
satisfaz- la. Isto contornvel a partir do momento que existem padres de projeto (Hbner et
al. 2006) e diretrizes de execuo (Bordini et al. 2007 chap. 8) que implementam estas
propriedades s intenes. No consideraremos este fato um problema neste mdulo. Mas isto
se tornar um inconveniente no mdulo de atuao.
5.2.7

Mapeamento do mdulo de atuao


Na arquitetura UEBDI temos a funo Execute Function que visa satisfazer uma

inteno executando os planos associados e promovendo a atuao do agente. Ela composta


por duas subfunes: a primeira, a Select Intention, ir selecionar uma inteno da Intention
Base para ser efetuada. E a segunda, a Archieve Intention, que ir executar os possveis planos
desta inteno at satisfaz- la.
O mapeamento se d como na Figura 26. O Jason possui tambm uma funo
chamada Select Intention que ir desempenhar o mesmo papel que sua homnima na UEBDI,
ento esta pode ser mapeada na Select Intention. Veja que chamar este funo na sua
homnima mantm a ordem de execuo da funo na UEBDI. Alm disto, atravs da Select
Intention do Jason, possvel acessar a base de intenes e a base de emoes (atravs da
base de crenas). O que torna o mapeamento completo.

Figura 26: Mapeamento Execute Function

Antes de continuar, deve-se ressaltar uma diferena fundamental entre o Jason e a


UEBDI: AUEBDI seleciona um conjunto de intenes com seus possveis planos na Filter
Function e persiste esta estrutura at a Select Intention, que selecionar qual a inteno a ser
executada e at a Archieve Intention, que selecionar a ordem de execuo dos planos. J o
Jason faz a seleo de planos antecipadamente. Primeiro ele seleciona o plano associado a
inteno recm criada com a Select Option; posteriormente ele ir selecionar a inteno
corrente atravs da Select Intention. Esta diferena faz com que no seja possvel realizar o
comportamento da Archieve Intention (de executar todos os planos possveis at alcanar a
inteno) de forma direta no Jason. Entretanto possvel simular os mltiplos planos do

106

UEBDI no Jason atravs de padres de projeto (Hbner et al. 2006). O nico problema disto
que a ordem da responsabilidade de selecionar os planos invertida.
Outra diferena no mdulo UEBDI em relao ao Jason a forma de executar um
plano: A UEBDI executa atomicamente os planos associados a uma inteno, enquanto que o
Jason executa, para dada inteno, apenas partes do plano a cada ciclo de execuo.
Novamente, no consideraremos isto um problema maior, pois possvel forar a execuo de
um plano por vrios ciclos atravs da seleo da inteno que o interessa pela Select Intention
ou de diretivas dadas a um plano no cdigo asl do agente.
Posteriormente, a Archieve Intention (UEBDI) executa os planos associados a inteno
em uma ordem de prioridade. No Jason quem faz a seleo de planos a Option Function e
quem executa propriamente um plano associado a Execute Intention.
Assim, a Archieve Intention ser mapeada na Execute Intention e na Select Option,
considerando que possvel simular os mltiplos planos no Jason. Ela exige as Emotion,
Resource e Action Base e todas elas esto contidas na Belief Base e so acessveis. Porm a
ordem de execuo invertida, conforme discutido. Por isto consideramos o mapeamento da
Archieve Intention incompleto.
5.2.8

Mapeamento do mdulo de emoes


Naturalmente no existem representantes do mdulo emocional UEBDI no Jason.

Consideramos que este mdulo composto pela Emotion Base, pela First Emotion Review
Function, pela Second Emotion Review Function e pela Critical Context. Como discutido,
podemos mapear a Emotion Base para dentro da Belief Base. De tal forma que uma emoo
seja uma crena da forma emotion(componente 1 , componente 2 , ..., componente n ) onde a
natureza dos componentes e o nmero de componentes (n) dependem da aplicao que est
sendo desenvolvida. O acesso s emoes pode ser feito diretamente pela base de crenas ou
atravs de uma classe envelope (wrapper) que transformar as crenas em objetos relativos ao
domnio da emoo e mais fceis de manipular durante a dinmica emocional (as funes de
reviso).
Quanto s funes de reviso, v-se seu mapeamento na Figura 27. Iremos adotar a
seguinte estratgia para mape- las: adicionaremos estas funes dentro das funes do Jason
de tal forma que preserve a ordem de execuo definida na UEBDI, mantendo as mesmas
funes predecessoras e sucessoras. Desta forma, a First Emotion Review Function
adicionada na Belief Update Function logo aps a Emotional Filter da Perception Function.
Nesta posio, ela ter acesso s percepes geradas pelas sub- funes da Perception

107

Function, acesso s emoes (atravs da Belief Base), aos drives (que esto contidos na Belief
Base tambm) e s intenes. Como a ordem foi mantida possvel acessar todas as bases
exigidas, consideramos o mapeamento completo.

Figura 27: Mapeamento das funes de emoo

A First Emotion Review Function constituda por duas sub- funes: a First
Emotional Elicitors e a First Emotional Update. Sero implementadas tambm na Buf. Como
vimos, a ordem de execuo destas no importa, ento no nos preocuparemos com isto no
nosso mapeamento e na nossa implementao. O mesmo se aplica a Second Emotional
Review Function.
Posteriormente existe a funo Critical Context e a funo Second Emotion Review
Function. Ambas podem ser colocadas nesta ordem na Select Event do Jason, aps a funo
Forget Beliefs mapeada do UEBDI. A Critical Context ter acesso as suas duas bases
exigidas, a Emotion Base e a Resource Base, contidas na Belief Base do Jason. J a Second
Emotion Review Function ter acesso a Belief Base, a Emotion Base (contida na Belief Base),
a Desire Base (contida na Event Base metas e na Belief Base drives do Jason) e a
Intention Base. Em ambas as funes, a ordem foi mantida e possvel acessar todas as bases
exigidas. Logo, o mapeamento completo.

5.3 Resumo do Mapeamento


Conforme o mapeamento realizado, podemos observar que a maior fonte de
incompatibilidade entre o Jason e a UEBDI foi a ordem de execuo das funes. Destacamos
quatro itens:
1) No possvel tratar o fluxo de mensagens do Jason antes dele ser introduzido na base de
crenas. Ento no possvel trat-lo pela Perception Function;
2) Quando um meta ou drive atualizado em um plano pelos planos, a ordem da Update
Desires e Update Drives trocada em relao a orinal definida na UEBDI;
3) A Update Intention da UEBDI, quando executada nos Planos, tem sua ordem de
execuo invertida;

108

4) Os fluxos de execuo de planos no Jason e na UEBDI so diferentes. No primeiro


executa-se apenas um plano por inteno, em pequenas partes por ciclo. J na segunda, se
executa todos os planos por inteno completamente em um nico ciclo de execuo.
Algumas das incompatibilidades encontradas podem ser contornadas se no forem
usados planos para a implementao da funcionalidade (item (2) e (3)). A questo de
mensagens do Jason (item 1) no um problema maior, pois como elas so eventos, podem
ser tratadas como metas na UEBDI. E a questo da ordem de execuo dos planos que mais
fundamental (item 4), visto que a ordem do Jason diverge em relao a UEBDI e no havendo
uma forma de contornar problema para manter a ordem da UEBDI.
Na Erro! Autoreferncia de indicador no vlida. exibido o resumo do
mapeamento entre a arquitetura UEBDI e o Jason. Os nmeros como expoente indicam o item
discutido acima relacionado a esta extenso. Particularmente a Perception Base no precisa
ser mapeada porque ela foi um artifcio conceitual introduzido pela UEBDI que no exige
implementao (veja tpico 4.1 sobre o assunto).
Arquitetura UEBDI

Jason sem extenso

Resource Base

Belief Base

Action Base

Belief Base

Emotion Base

Belief Base
Mdulo de Percepo

Perception Base

(no necessrio)

Perception Function

(Somente Percepes e no Mensagens do Jason)(1)

Sensor Filter

Perceive

Resource Filter

BUF

Rules Filter

BUF

Emotional Filter

BUF

Intentional Filter

BUF
Mdulo de Crena

Belief Base

Belief Base

Belief Review Function


Update Beliefs

Planos + BUF + BRF

Tag Beliefs

BRF

Forget Beliefs

Select Event
Mdulo de Desejos

Desire Base

Event Base (metas) + Belief Base (drives)

Option Function
Update Desires

Planos(2)

109

Update Drives

Select Event + Planos(2)

Prioritize Desires

Select Event
Mdulo de Intenes

Intention Base

Intention Base

Filter Function
Update Intention

Select Event + Planos(3)

Find Plans

Check Conflicts + Unify Event

Generate Plans

Select Option
Mdulo de Execuo

Execute Function

(fluxo compatvel)

Select Intention

Select Intention

Achieve Intention

Execute Intention(4)
Mdulo de Emoes

Emotion Base
First Emotion
Function
Critical Context

Belief Base
Review BUF
Select Event

Second Emotion Review Select Event


Function

Tabela 4: Resumo do mapeamento da UEBDI para o Jason

110

6 Experimentos
Para validarmos nossa proposta, iremos neste captulo apresentar uma srie de
experimentos que exercitam as influncias do mdulo emocional sobre um dos outros
mdulos da arquitetura BDI. Cada experimento focar a influncia sobre um mdulo em
especfico e ter um sub-tpico chamado mapeamento e implementao que mostra como o
problema foi solucionado com a arquitetura UEBDI e como esta soluo foi mapeada e
implementada no Jason.
Sero ao todo cinco experimentos: (6.1) Incndio, que tratar da influncia da emoo
sobre o mdulo de percepo; (6.2) Professor-Aluno, que tratar da influncia da emoo
sobre o mdulo de crenas; (6.3) Diverso, que tratar da influncia da emoo sobre o
mdulo de desejos; (6.4) Dilema do Prisioneiro Iterado (IPD), que tratar da influncia da
emoo sobre o mdulo de seleo de intenes e (6.5) Alocao de Tarefas, que tratar da
influncia da emoo sobre o mdulo de atuao.
Iremos utilizar um modelo emocional simples para cada experime nto. Ns somos
encorajados a fazer isto visto que (i) nosso foco no o modelo emocional, mas a influncia e
(ii) um modelo simples facilitar a compreenso dos exemplos. Julgamos este conjunto de
experimentos suficiente, pois ele demonstra que as cinco influncias do mdulo emocional
sobre o resto da arquitetura BDI podem ser efetuadas e causaro alterao significativa dentro
do comportamento do agente.

6.1 Incndio: Influncia sobre o mdulo de percepo


O experimento ser embarcado no seguinte cenrio: vrios agentes esto em uma sala
e so surpreendidos por um incndio. Para sobreviverem eles devem fugir o mais rpido
possvel. Este experimento e proposta de agente so uma forma simplificada dos realizados
por Signoretti em (Signoretti 2012, Signoretti et al. 2010 p. 201).
O ambiente uma grade 2D de dimenso 30x30 e cercada por paredes. Nas clulas (6,
15), (23, 15), (15, 6) e (15, 23) sero colocados focos de incndio que se propagaro por todo

111
o cenrio de forma radial 10 . Uma clula pode estar com fogo (em chamas) com uma
intensidade de 0 at 100. Um agente morre quando est em uma clula onde o fogo atinge
intensidade acima de 50. O ambiente tambm possui quatro sadas nas clulas (0,0), (29,29),
(29,0) e (0, 29). O objetivo dos agentes chegar a uma destas sadas, onde podero escapar da
sala e serem salvos do fogo. Um agente pode se mover para as clulas adjacentes a que reside
e um agente no colide com o outro (podendo uma clula conter dois agentes).
Quanto as suas percepes, todos os agentes so onisc ientes, isto , eles recebem do
ambiente percepes de todas as clulas do ambiente da forma: cell(x, y, deltaFire, exit), onde
x e y so a posio da clula, deltaFire indica qual foi a variao de fogo nesta clula e exit
igual true caso exista uma sada nesta clula ou false caso contrrio. Observe que nesta
configurao, um agente ir perceber 30x30 = 900 percepes do ambiente.
Um agente ir utilizar uma verso do algoritmo A* proposta por (Lester 2004) e
implementada para o Jason (como ao interna) para criar o caminho de sua posio atual at
a sada mais prxima utilizando todas as percepes, permitindo a ele fugir dos focos de
incndio e se salvar quando chegar sada.
6.1.1

Agente Emocional
O agente emocional proposto por (Signoretti 2012) tinha como princpio usar um

conjunto de emoes para derivar uma mtrica que representasse o quanto o ambiente est
crtico para o agente. Com esta mtrica o agente diminui o nmero de percepes a serem
passadas para o seu processo de deliberao, acelerando ento a execuo deste processo.
Nosso modelo emocional simplificado constitudo por estado emocional com uma
dimenso emocional chamada de Relaxado-Ansioso, que varia no raio [-1, +1]. O valor zero
considerado o seu valor neutro. O valor negativo -1 indica que o agente est totalmente
ansioso por causas que lhe causaram danos ou por apreenso devido a previso de um evento
prejudicial e o valor +1 indica que o agente est totalmente relaxado por causas que lhe
causaram ganhos ou devido a previso de um evento benfico. A cada ciclo de raciocnio a
emoo Relaxado-Ansioso decrementada (caso sua intensidade seja positiva) ou
incrementada (caso sua intensidade seja negativa) de 0,002, at que volte ao valor neutro 0.
Quanto a eliciao emocional, ns definimos duas regras:

10

Utilizamos um modelo informal para simular o fogo. Resumidamente cada clula tem certa

quantidade de combustvel e quando ela est adjacente a outra que possui fogo, pega fogo tambm at acabar o
combustvel, quando o fogo ser extinto.

112

i) Calcula-se o valor de importance(x, y) de todas as clulas percebidas com valor de


deltaFire negativo e seleciona-se o maior valor, que chamaremos de maxIncEmotion. Este
valor ser usado para incrementar o valor de Estresse. Veja que quando o fogo est
diminuindo (sendo indicado pelo deltaFire negativo), indica que o estado do ambiente est
melhorando para o agente, e isto deve incrementar a intensidade da emoo RelaxadoAnsioso.
ii) Calcula-se o valor importance(x, y) de todas as clulas percebidas com o valor de
deltaFire positivo e seleciona-se o maior valor que ser chamado de maxDecEmotion. Este
valor ser usado para decrementar a emoo Relaxado-Ansioso. Veja que como o valor de
deltaFire est aumentando, quer dizer que o estado do ambiente est se tornando pior para o
agente, e isto deve negativar o valor de Relaxado-Ansioso.
A funo importance(x, y) dada na Eq. 30. Observe que distance uma funo que
acha a distncia entre dois pontos, diagonal o tamanho da diagonal do ambiente e (x 0 ,y0 ) a
posio da clula onde o agente est. O objetivo desta funo obter um valor que represente
a importncia de dada clula, levando em conta a variao do fogo e sua distncia em relao
ao agente. Isto , quanto maior for o valor de importance, mais prxima a clula da posio
atual do agente e maior foi a sua variao de fogo. Vale ressaltar que esta funo
normalizada entre [0, 1], pois dividimos o valor de deltaFire pelo maior valor possvel (100) e
o valor da distncia pelo maior valor possvel (diagonal, que a distncia entre dois cantos do
ambiente 2D).
Observe tambm que sempre selecionado o maior valor de importance obtido entre o
conjunto de clulas com deltas negativos e positivos. Isto feito pelo seguinte motivo: a
clula com maior valor de importance a que est mais prxima e que possui maior variao
de deltaFire, isto indica que ela a mais relevante para o agente dentre todas do conjunto.
Desta forma, o agente sempre est atento emocionalmente percepo mais significativa.
(

| (

(Eq. 30)

Depois de obtidos, deve-se incrementar o valor maxIncEmotion e decrementar o valor


maxDecEmotion da intensidade emocional Relaxado-Ansioso, limitando o seu valor entre [-1,
1], concluindo a eliciao da emoo sobre o estado emocional.
Agora preciso definir a influncia emocional. No nosso agente, o estado emocional
ir influenciar o filtro de percepes, reduzindo o nmero de percepes que sero enviadas
para a Belief Update Function e ao resto do ciclo BDI, em seguida.

113

A primeira coisa a ser feita ordenar de forma crescente as percepes sobre clulas
utilizando a equao importance. Aps isto, deve-se calcular o valor L que indicar a
quantidade de elementos que devem permanecer na lista e serem enviados para o processo de
raciocnio.
Para o clculo de L, os autores de (Signoretti 2012, Signoretti et al. 2010)
consideraram que L deve ter uma relao com a intensidade do estado emocional (intensidade
de Relaxado-Ansioso). Porm deve ser definida de tal forma que quando a intensidade da
emoo Relaxado-Ansioso for neutra (zero) o valor de L deve ser mximo, fazendo o agente
considerar todas as percepes possveis, sobre a conjectura que quando o agente se encontra
neste estado pode gastar recursos processando todos estes elementos. Quando a intensidade de
Relaxado-Ansioso variar para valores positivos ou negativos, o valor de L deve diminuir,
formando uma curva U invertida (gaussiana) em relao ao valor a intensidade de
Relaxado-Ansioso. O princpio terico de utilizar esta curva que existem evidncias que
indivduos com humor moderado tendem a ter maior desempenho nas capacidades cognitivas,
incluindo a percepo. Enquanto que indivduos muito relaxados ou ansiosos tentem a
diminuir o desempenho (Signoretti 2012 p. 92).
Isto far o agente considerar menos percepes no processo de raciocnio, seja porque
o ambiente est inspito, pois o fogo est aumentando (deltaFire positivo) ou seja porque o
ambiente est prspero, pois o fogo est diminuindo (deltaFire negativo). A funo que d o
valor de L definida na Eq. 31. N o tamanho da lista de percepes que ser podada por L e
Int a intensidade do Relaxado-Ansioso. A Figura 28 exibe um exemplo de comportamento
de L com N = 100.
100
80
L
60

40
20

0
-3

-2

-1

Int 3

Figura 28: L por intensidade de Relaxado-Ansioso

(Eq. 31)
Na prtica, dado como nosso ambiente foi definido, o agente ter valores de deltaFire
positivos, fazendo aumentar a intensidade da emoo Relaxado-Ansioso dos agentes aumentar
e, consequentemente, fazendo L diminuir.

114

6.1.2

Mapeamento e Implementao
As regras de eliciao da emoo que incrementam/decrementam a intensidade da

emoo Relaxado-Ansioso de acordo com a percepo corrente so implementadas em nossa


arquitetura na First Emotion Review Function e na sub-funo First Emotional Elicitors. Elas
devem ser implementadas na primeira funo, pois elas usam a informao de deltaFire
proveniente das percepes, que s so acessveis por esta funo de reviso de emoes.
Como previsto no mapeamento, estas funes sero implementadas na funo Belief Update
Function do Jason.
Quanto regra de decremento emocional, que far a intensidade emocional retornar a
zero, decidimos mape- la na sub- funo Second Emotional Update contida em Second
Emotion Review Function. Em tese poderamos implementar esta operao na First Emotional
Update (na First Review Emotional Function) ou na Second Emotional Update, pois esta
operao exige somente a base de crenas, acessada por ambas. Entretanto melhor usarmos
a Second Emotional Update, pois est mais de acordo com a teoria emocional que diz que o
decrscimo emocional ocorre como uma operao cognitiva, tpica da Second Emotion
Review Function, como (Hernndez et al. 2004, Jiang and Vidal 2006) sugerem. Esta funo
foi mapeada na Select Event do Jason, como previsto no mapeamento.
Por fim, quanto a influncia emocional, as percepes sero filtradas naturalmente na
Perception Function e na sua sub- funo Emotional Filter. Esta Emotional Filter foi
implementada na Belief Update Function do Jason, como previsto no mapeamento.
6.1.3

Experimento
A hiptese que trataremos para este problema a seguinte: um grupo de agentes

emocionais conseguir ter mais sobreviventes ao final da simulao se comparado a um grupo


de no emocionais. Espera-se que o uso do modelo emocional e sua influncia sobre as
percepes, filtrando-as, ir diminuir o nmero de percepes manipuladas pelo agente,
tornando este mais rpido e facilitando sua fuga. A hiptese j foi provada pelos autores de
(Signoretti 2012, Signoretti et al. 2010), no que eles chamam de foco temporal, ganhando
significado no nmero de agentes sobreviventes ao final da simulao.
Para verificar a hiptese, usaremos as medidas:
1)

Nmero de agentes sobreviventes ao final da simulao;

2)

Tempo total de simulao em milissegundos (quando todos os agentes se salvam ou


morrem);

115

3)

Nmero de percepes consideradas na tomada de deciso (valor de L).


A medida (1) ser a principal, pois indica diretamente quantos agentes sobreviveram

ao final da simulao. A (2) ser usada para indicar a rapidez com que os agentes
conseguiram tomas as suas decises. A (3) indica a mdia de percepes consideradas pelo
agente aps a filtragem das percepes. Deve-se lembrar que o agente no emocional no ir
filtrar as percepes e por isto sabemos previamente que este valor ser igual ao nmero de
clulas (30x30 = 900).
Observe tambm que a interpretao de (2) carece de um detalhe: O sistema ter seu
tempo de simulao diminudo se os agentes demorarem menos para interagir OU se eles
morrerem mais rpido. Ento esta mtrica s indica uma melhora no desempenho para ns se
ela for acompanhada por um maior nmero de agentes sobreviventes, e no o contrrio.
Sero colocados 10 agentes dentro do ambiente j especificado para se realizar uma
instncia do experimento. Sero executadas 30 instncias deste experimento e obtidas as
mdias das medidas (1) e (2) para o agente no emocional (onisciente) e emocional (com
filtro de percepo) e a mdia da medida (3) para o agente emocional. A Tabela mostra os
resultados:
Emocional
Agentes sobreviventes
Tempo de simulao (ms)
Nmero de percepes consideradas (L)

No Emocional

9,77
8041
330,46

7,40
9479
900

Tabela 5: Mdia de sobreviventes e tempo de simulao

Como podemos observar, o uso do mdulo emocional com filtro das percepes
conseguiu fazer as instncias com agentes emocionais terem maior nmero de sobreviventes
(9,77 contra 7,4 do no emocional) e que a simulao durasse menos tempo na mdia (8041
milissegundos contra 9479 milissegundos do no emocional). Inclusive, o agente emocional
demorou menos tempo e teve maior nmero de sobreviventes, como ns indicamos desejvel
para o bom desempenho de acordo com a medida (2). Alm disto, foi constatado que o valor
de L mdio usado em toda a simulao dos agentes emocionais foi igual a 330,46 percepes
(onde o total gerado pelo ambiente 900), demonstrando que houve uma queda significativa
das percepes a serem tratadas. Com isto, reafirmando os resultados dos trabalhos (Signoretti
2012, Signoretti et al. 2010), h indcios que devido a queda do nmero de elementos
processados durante a simulao (baixo valor de L), o agente emocional conseguiu melhorar o
nmero de agentes salvos (medida (1)) e o tempo de simulao (medida (2)).

116

6.2 ProfessorAluno: Influncia sobre o modulo de crenas


Este experimento consiste na simulao de uma avaliao feita por um professor a um
aluno. O professor ir fazer vrias perguntas, em sequncia da forma: Qual a soma de todos
os nmeros associados a sentena x i?, onde x i o nome de uma sentena (no Jason,
chamamos isto de functor) feita no turno i. O aluno, por sua vez, possui em sua base de
crenas vrias crenas da forma x i(Y), onde Y um valor numrico positivo diferente de zero.
O aluno ento deve somar todos estes valores Y e retornar a soma na forma sum(x i, Sresposta ),
onde Sresposta o valor da soma achada pelo aluno. garantido que o professor sempre
perguntar por um x i cujo existam N elementos na base de crenas do aluno e esta quantidade
de elementos a mesma para qualquer x i. Note que dentro destas restries, o valor de soma
sempre ser positivo maior que zero, pois sempre existe pelo menos um elemento que maior
que zero. Neste agente, sabe-se que o custo da consulta, comparado com o custo da soma de
um elemento, insignificante 11 . Tambm garantido que o professor sabe previamente o
resultado da soma, dado por Scerto .
Por exemplo, sendo x i igual a vendas, e o agente aluno possui em sua base de
crenas os valores {vendas(10), vendas(6), vendas(1)}. Se o professor fizer a pergunta Qual
a soma de vendas?, o aluno deve responder sum(vendas, 17), cujo 17 a soma dos valores
associados as crenas em sua base de crenas (10 + 6 + 1).
O professor esperar no turno i o tempo wait i, em milissegundos, pela resposta do
aluno para a sentena x i(Y). Se o aluno responder a tempo, ele receber uma Nota dependente
da soma respondida Sresposta e da resposta certa Scerto , dada pela Eq. 32. A Figura 29 demonstra
o grfico de nota por S resposta , com Scerto igual a 1. Se o aluno no responder a tempo, ele
receber

. O professor ir enviar a nota ao aluno com a sentena nota(x i, NOTA).

Aps enviar a nota ao aluno e o aluno confirmar o recebimento com ack(i), o professor ir
fazer a prxima pergunta x i+1 . Por fim, o professor acumula a soma destas notas em uma
crena chamada totalNotas.

11

)]

(Eq. 32)

Na imp lementao, operaes falsas e sem resultado durante a soma para garantir esta caracterstica

do problema.

117

1
0,8
0,6
0,4
0,2
0

-0,2

0,2

0,6

1
Nota

1,4

1,8

2,2

Figura 29: Nota por Sresposta

O valor de wait i ir variar da seguinte forma: wait o comear com um valor


determinado e o prximo wait 1 ser igual a wait 0 -1. De tal forma que wait i+1 = wait i -1.
Quando o valor de wait i chegar a zero, o professor interromper o teste. Entretanto, o aluno
no sabe exatamente qual ser o comportamento do professor, apenas que ele esperar menos
no prximo turno.
Observe que um agente pode no responder a tempo devido ao custo da soma. Para
lidar com isto um agente pode somar apenas os L elementos x i(Y) com Y maiores valores (que
so mais significativos na soma). Desta forma, ele diminui o custo do somatrio e pode
responder a tempo. Como sero os L primeiros Y maiores nmeros, a soma deles ser mais
prxima do valor real esperado do que se o agente escolhesse aleatoriamente os Y. O
problema de deciso do agente consiste em justamente determinar este L, o tamanho da lista.
Vamos definir um agente no emocional simples que ir seguir a seguinte heurstica:
Ele no incio da simulao constri uma lista com todos os elementos em ordem decrescente
de valor, onde o tamanho da lista L = N. Ele usar esta lista para determinar quais elementos
ir somar para responder o professor. Quando o agente falhar, ele decrementar decValue de L
e reconstruir a lista. Assim, no prximo turno, como a lista possui menos elementos, ele
somar menos.
Vamos agora definir um agente emocional: este agente possuir uma nica emoo
chamada Estresse com intensidade igual a Eint. O seu valor nunca extrapola o raio de [0, Emax],
onde Emax = 100. A cada resposta atrasada reportada pelo professor, o Estresse incrementado
incEmoValue. E a cada resposta certa, o estresse decrementa um valor igual a decEmoValue.
A emoo Estresse influenciar o tamanho da lista, sendo o nmero de elementos
inversamente proporcional a intensidade Eint.. De tal forma que
(

)]). Note que o valor de L nunca ser menor do que 1 e dever ser no mximo igual a N.

A cada turno que passar, o agente calcular L de acordo com a emoo corrente e reconstruir
a lista. Como a reconstruo ocorre aps o professor dizer se o aluno respondeu a tempo e

118

antes do aluno responder ao professor com ack(i), isto no atrasar o aluno nas prximas
perguntas.
Observe tambm que quando o aluno atrasar a resposta, ele ir decrementar seu
estresse, e, proporcionalmente, diminuir o valor de L. Nos prximos turnos, se ele obter
sucesso na resposta, ir decrementar seu estresse e, proporcionalmente, aumentar o valor de L.
6.2.1

Mapeamento e Implementao
A emoo Estresse incrementada e decrementada a partir das crenas do agente

recebidas como mensagens do Professor. Logo, para realizar a eliciao emocional preciso
acessar a base de crenas e, por isto, implementamos este processo na Second Emotion
Review Function. Como s definimos o processo de eliciao e no de decremento, s ser
preciso modificar a sub- funo Second Emotion Elicitors. Conforme o mapeamento, esta
funo implementada na funo Select Event do Jason.
J a influncia emocional ocorre justamente na construo da lista de maiores valores
baseado na Intensidade de Estresse, de tal forma que a emoo influencia a atualizao das
crenas. Na nossa arquitetura isto feito pela Belief Review Function e pela sub- funo
Update Beliefs. Esta foi mapeada e implementada como um plano no Jason.
6.2.2

Experimentos
Nossa hiptese que o agente emocional consiga obter melhor nota que o agente no-

emocional, visto que ele alm de decrementar seu valor de falha como o agente noemocional tambm ir ajustar o valor de L para um valor que lhe d maior nota, visto que
sua emoo ir decrementar com o tempo, aumentando o valor de L.
Vamos para isso realizar dois experimentos: O primeiro (6.2.2.1) ir achar um valor
ideal de decValue para o agente no-emocional que maximize sua nota final. J o segundo
(6.2.2.2) ir determinar o valor de decEmoValue ideal para um agente emocional que use um
valor de incEmoValue igual ao valor ideal achado para decValue.
Os experimentos foram realizados em um computador AMD Athlon X2 4800 com 2
Gigas de RAM e Java 1.7.
6.2.2.1 Agente no-emocional (decValue)
Quanto ao primeiro experimento, ser realizado da seguinte forma: um professor ir
fazer perguntas ao aluno com um wait 0 = 100 milissegundos e ir decrementando de 1 a cada

119
turno e o professor s realizar perguntas sobre a sentena a ( ). O agente ter um total de
100 crenas onde da forma: {a(100), a(99), a(98), ...}.
Sero realizadas 30 instncias desta configurao para um dado valor de decValue,
para que possamos obter a mdia de totalNotas nas 30 execues. Isto ir eliminar possveis
interferncias nos valores. Sero testados os valores de decValue variando entre [0, 99], de tal
forma que no final sero realizadas 30*100 = 3000 instncias do experimento.
Os resultados so vistos na Tabela 6 e na Figura 30. Observa-se que os melhores
valores de nota obtidos ocorrem com decValue entre [10, 25]. Logo, valores dentro desta
maximizam a nota do aluno.
6.2.2.2 Agente Emocional (decEmoValue)
J o segundo experimento ir executar um agente emocional variando o valor de
decEmoValue entre os valores [0, 15] e com valor de incEmoValue igual a 15, que o valor
mediano entre os valores que otimizaram a nota do aluno no experimento 1. Veja que no faz
sentido usarmos valores de decEmoValue iguais ou maiores que 15, pois isto faria o agente
no ter estresse (visto que nosso incEmoValue 15) e logo no diminuir seu valor L quando
no consegue responder a tempo. Uma instncia deste experimento ser executada 30 vezes
para cada valor de decEmoValue e obteremos a mdia de totalNotas com dado decEmoValue.
Estes valores so exibidos na Tabela 7 e na Figura .
Como podemos ver, o algoritmo do agente emocional no conseguiu otimizar o seu
desempenho, para nenhum valor de decEmoValue, o que nega nossa hiptese inicial.
Inclusive, v-se que a nota foi inversamente proporcional que o valor de decEmoValue, assim
se pode considerar que quanto maior o decEmoValue, pior ser o desempenho do agente.
Vamos proceder com a anlise dos resultados para tentar compreender por que o agente
emocional no conseguiu otimizar o resultado.
Comecemos pelo valor de decEmoValue igual a 0. Em tese, se o Estresse no vai
diminuir, o valor de L nunca ir aumentar novamente, o que torna nosso agente emocional
similar ao agente no emocional. Entretanto, seu desempenho foi inferior. Consideramos que
isto ocorreu pelo prprio custo da arquitetura UEBDI, que fez o agente agir mais lentamente e
a no responder to rpido quanto o no emocional, que no estendido pelo framework.
Antes de analisar valores de decEmoValue no nulos, vamos considerar o seguinte:
neste cenrio decEmoValue equivale a um incValue, que incrementa o valor de L a cada
turno, desta forma podemos desconsiderar a relao entre a emoo Estresse e L.

120

Vamos considerar tambm a seguinte situao perfeita: o custo de acessar os L


elementos igual a 1 milissegundo. Tambm vamos considerar incValue igual a 1 e decValue
igual a 20. Note que o aluno emocional ir atrasar novamente duas vezes mais rpido que o
agente no emocional, pois ele est incrementando a lista em 1 a cada pergunta. Em outras
palavras, enquanto o agente no emocional demora mais ou menos 20 turnos para atrasar
novamente a resposta, o emocional demora s 10, pois ir atrasar mais rpido. Note que o
ganho em nota do agente emocional quando ele faz a incluso de um elemento em um turno
no mximo 100/5050 ~=0,0198, quando ele inclui o elemento mais significativo 100 na soma
(entretanto sabemos que ele nunca chegar a um valor to alto, pois o valor 100 o que tem
mais prioridade e que nunca sai da lista.
Supondo que o agente emocional obtm o lucro mximo pelo aumento de incValue,
ele ter aps 10 turnos um lucro mximo de 0,0198*10 = 0,198. Sendo que ele ter o dobro de
punio (pois errar duas vezes mais) em relao ao no emocional. No nosso caso, em um
turno ele ganha, no melhor caso, 0,198 -1 (lucro com o incremento da lista menos a punio).
Logo, ele ter prejuzo. Isto ocorrer nas prximas falhas, fazendo o agente acumular, no
melhor caso, 0,912 a menos de nota, em relao ao no emocional. O problema se agrava
quando se aumenta incValue, pois como o agente ir aumentar mais rpido o seu valor de L
aps um atraso, ele ir tambm chegar antes a um valor de L igual ao valor de wait que o
professor aguarda, gerando mais atrasos com este comportamento, piorando a relao de custo
x benefcio com o incremento de L.

121

decValue

mdia
totalNotas

decValue

mdia
totalNotas

mdia
totalNotas

decValue

decValue

mdia
totalNotas

-1,00

25

51,20

50

41,17

75

41,83

-1,00

26

51,17

51

42,38

76

40,88

-1,00

27

50,40

52

43,14

77

40,15

-0,97

28

49,72

53

43,22

78

39,20

29,49

29

49,68

54

45,36

79

37,97

37,79

30

47,98

55

45,07

80

37,36

41,79

31

46,57

56

45,28

81

36,17

45,80

32

44,18

57

43,79

82

35,03

48,38

33

44,11

58

44,74

83

33,37

50,87

34

43,97

59

46,08

84

32,76

10

52,86

35

44,41

60

46,06

85

31,32

11

52,08

36

44,62

61

46,05

86

30,16

12

53,32

37

46,89

62

46,26

87

28,93

13

53,23

38

46,26

63

47,32

88

27,45

14

53,44

39

46,86

64

46,84

89

25,95

15

53,30

40

46,84

65

45,14

90

24,21

16

52,48

41

46,42

66

45,93

91

22,87

17

52,81

42

45,31

67

45,50

92

21,43

18

52,80

43

44,82

68

45,03

93

19,51

19

52,31

44

43,52

69

43,91

94

17,99

20

52,62

45

44,04

70

44,53

95

16,05

21

53,33

46

41,90

71

43,68

96

14,50

22

53,17

47

40,85

72

43,62

97

12,71

23

52,24

48

42,24

73

43,09

98

11,86

24

50,88

49

41,05

74

42,62

99

9,87

Tabela 6: Notas por valor de decValue


60
50
40
30

20
10
0
0

10

20

30

40

50

60

70

80

mdia(nota)

Figura 30: Mdia de Nota por decValue

90

122

mdia
totalNotas

decEmoValue

52,03

5,20

46,43

1,30

38,80

10

-0,54

30,94

11

-0,40

24,84

12

-0,29

5
6
7

19,29
14,15
9,17

13
14
15

-0,30
-0,58
-0,10

decEmoValue

mdia
totalNotas

Tabela 7: Notas por valor de decEmoValue


55
45
35
25

15
5
-5

10

12

14

16

18

mdia(nota)
Figura 31: Nota por valor de decEmoValue

6.3 Diverso: Influncia sobre o mdulo de desejos


Exemplificarmos esta influncia sobre o mdulo de desejo atravs de um problema
simples de contingncia e satisfao de desejos, que chamaremos de Problema Diverso.
Consiste no seguinte cenrio: todos os dias o agente possui uma vontade de se divertir e
alcana este desejo indo ao parque pblico ou indo ao cinema. Para representar este
fenmeno, o agente possui um drive chamado Diverso que aumenta 1 ponto 12 a cada dia,
representando o seu desejo de se divertir. O agente pode satisfazer o seu desejo de se divertir
(i.e., diminuir o seu drive Diverso) alcanando uma entre duas metas: (i) ir ao parque
pblico (MParque) ou (ii) ir ao cinema (MCinema). Entretanto, quando o agente vai ao
MParque, ele satisfaz 1 ponto da Diverso, porm sua ida ao MCine ma satisfaz somente um
valor satCinema da Diverso (que reside entre [0, 1] e especificado no experimento). Sendo
assim, todas as vezes que o agente vai ao parque ele satisfaz o seu desejo de se divertir
12

No entraremos em detalhes sobre o conceito drive imp lementado na arquitetura para simp lificar

nossa discusso. Para maiores detalhes veja os tpicos 4.4, 3.1.3 e 3.8 desta dissertao.

123

completamente, i.e, o seu drive Diverso decai de 1 ponto. J quando ele vai ao cinema ele
satisfaz o seu desejo parcialmente, i.e., o seu drive Diverso decai somente satCinema.
Porm, quando o agente vai ao parque ele pode ser assaltado, o que no ocorre quando
ele vai ao cinema. Quando ocorre um assalto, o drive Diverso do agente no decrementado
e ele ainda recebe o custo de 1 ponto (representando as perdas ocorridas no assalto, como por
exemplo, a perda de dinheiro). Durante o processo de MParque, existe a chance assaultTax
do agente sofrer um assalto, valor especificado no momento do experimento. Note que nesta
configurao em MCinema nunca ocorrer um assalto e sempre satisfar o drive Diverso
com satCinema pontos.
Os objetivos dos agentes no experimento so: (i) minimizar a intensidade registrada no
drive Diverso e (ii) minimizar o Custo. Isto , ele deseja satisfazer completamente sua
Diverso evitando ao mximo suas perdas com o assalto, representadas pelo Custo.
Consideremos neste experimento que os agentes desejam minimizar os dois valores com igual
importncia. Isto nos permite definir uma mtrica de desempenho que chamaremos de
Contra-Desempenho igual a Custo + Diverso. Esta mtrica representa igualmente a
importncia das duas medidas para o agente e minimiz- la indica que o agente est
otimizando igualmente as duas medidas.
Observe que um agente que leve em conta somente a satisfao do drive diverso ir
preferir sempre ir ao parque. Contudo, como h assaltos, isto pode no ser vantajoso quando
esta taxa de assalto (assaultTax) muito alta e quando a satisfao de ir ao cinema
(satCinema) no to baixa.
6.3.1

Agente Emocional
Para tentar lidar com esta situao, iremos definir um agente emocional simples

baseado na emoo medo. O estado emocional constitudo pela emoo medo(x, i), onde x
indica uma meta e i a intensidade do medo em relao a esta meta que reside entre [0, ]. Esta
emoo indica que O agente tem medo de tentar realizar a meta x com intensidade i.
De acordo com este estado emocional, podemos definir a seguinte regra de eliciao e
decremento: Quando este agente for assaltado na realizao da meta MParque, ele ir
incrementar seu medo em relao a esta meta em 1 ponto. A cada dia o agente ir decrementar
este medo usando um fator decMedo que deve ser especificado no momento da simulao.
A emoo influencia a seleo de metas da seguinte forma: O agente ir preferir gerar
a submeta que tenha menor valor de medo. Em caso de empate, ele ir selecionar a meta que
lhe traga maior decrscimo do drive Diverso. No nosso caso, um agente preferir MParque

124

sempre que no tiver medo dele (devido a um assalto), e preferir MCinema caso contrrio,
j que a intensidade do medo em relao a meta MCinema sempre 0.
Note que existem trs variveis no definidas no problema: a satisfao de ir ao
cinema (satCinema), o decrscimo do medo (decFear) e a taxa de assalto (assaultTax).
Chamaremos estes valores de configurao do experimento.
No caso de satCinema, caso este valor seja 1, ir ao cinema to vantajoso quanto ir ao
parque, ento um comportamento racional seria ir s ao cinema, j que ir ao parque pode
causar prejuzo. O inverso, satCinema igual a 0, ir ao cinema no trs nenhuma satisfao o
que tornar ir ao cinema desvantajoso. Neste caso sempre melhor ir ao parque, mesmo que
haja alta chance de assalto, pois existe uma chance real de satisfazer o drive Diverso.
Quanto a varivel assaultTax, quando ela mnima (0), a chance de ser assaltado no
parque zero, ento para o agente melhor ir ao local onde haja maior satisfao, que ir ao
parque (a no ser que satCinema seja 1, o que torna ir ao cinema to bom quanto ir ao
parque). Por outro lado, assaultTax igual a 1 faz com que o agente sempre seja assaltado ao ir
ao parque. Logo ele no ter satisfao alguma realizar esta submeta. O que torna mais
vantajoso ir ao cinema, visto que existir pelo menos algum decrscimo do drive Diverso (a
no ser que satCinema seja igual a 0, neste caso tanto faz ir ao parque ou ao cinema, visto que
ir ao parque nunca satisfaz o drive devido aos assaltos e ir ao cinema nunca satisfaz o drive
devido a satCinema ser zero).
Por fim, decMedo ir influenciar a memria do agente quanto aos assaltos que ele
sofrer. Quando o agente assaltado, sua emoo medo de ir ao parque aumenta em 1 ponto.
Isto o far preferir ir ao cinema enquanto o medo no passar (i.e., voltar a intensidade zero). O
valor decMedo decrementar um dado valor a cada dia que passar. Logo, quanto mais alto for
decMedo, mais rpido o agente deixar de ter medo e mais rpido ele voltar a ir ao parque.
Neste contexto, se decMedo for igual a 1, ele nunca ir ao cinema, pois logo aps dele sofrer
um assalto, o agente ir revisar o medo e decrement- lo de 1, o que o far no ter mais medo
logo no dia seguinte. Este tambm o caso de um agente que no se importa com os assaltos
que sofre (i.e., que no tem medo) e que sempre prefere ir ao parque. O contrrio, decMedo
igual a 0, far o agente nunca ir ao parque aps o primeiro assalto, pois ele nunca deixar de
ter medo de ir ao parque, visto que o valor de decremento nulo.

125

6.3.2

Mapeamento e Implementao
A eliciao causada por um assalto ir ocorrer na First Emotion Review Function e na

sub- funo First Emotional Elicitors, pois ela exige processar a percepo do assalto.
Conforme o mapeamento, esta regra foi implementada na Belief Update Function do Jason.
J a regra de decremento emocional do medo tem carter cognitivo, visto que
representa o agente lidando com o trauma do assalto. Consideramos mais coerente coloc- la
na Second Emotion Review Function (na sub-funo Emotional Update) visto que esta
responsvel pelo carter cognitivo da emoo.
O desejo de se divertir foi implementado como um drive que tem limiar inferior -113 e
superior +1. Possui valor inicial igual a 0 e ele possui valor de incremento igual a 1. Sendo
que este valor incrementado a cada dia (informao dada pelo ambiente) e no a cada ciclo.
Por fim, quando o drive extrapolar o limiar superior, ele se tornar ativo e o agente tentar
criar uma inteno para trata- lo. Os drives so implementados de forma hbrida, como
proposto no mapeamento, sub-tpico 5.2.5.
Por fim, quando o agente deseja se divertir, ele ir selecionar entre a sub- meta
MParque e MCine ma atravs da avaliao da intensidade da emoo medo em um plano
executado para o drive Diverso. A insero de uma submeta por deciso tomada sobre
influncia de uma emoo implementada na funo Option Function e na sub- funo
Update Desires da UEBDI. E isto foi mapeado nos planos do Jason, conforme discutido no
mapeamento.
6.3.3

Experimento
Nosso objetivo neste experimento ressaltar quais so as melhores configuraes de

agentes emocionais em cada uma das situaes analisadas.


Sero executadas 30 instncias do problema para dada configurao. Em cada
instncia passam-se 1000 dias e em cada dia o agente decide qual submeta realizar: ir ao
parque ou ir ao cinema. No final dos 1000 dias obtemos os valores de Custo e Dive rso finais
para se calcular o Contra-Desempenho do agente. Aps isto, feita a mdia dos 30 valores
de Contra-Desempenho obtidos das configuraes. Estas mdias sero usadas para
comparao dos resultados de cada configurao.

13

Observe que neste exemp lo s importante o limiar superior, pois no tratado o estado do drive

quando extrapola o limiar inferior.

126

Este experimento foi realizado em um computador com processador Core i5-2450M


com 6Gb de memria e Windows 7 64 bits. Rodando na JDK 1.7.
As configuraes adotadas so: a taxa de assalto assaultTax teve os valores {0.1; 0.3;
0.5}. A satisfao de ir ao cinema satCinema esteve entre os valores {0.0; 0.2; 0.4; 0.6; 0.8;
1.0}. J o valor de decrscimo do medo decMedo variou no mesmo conjunto de satCinema:
{0.0; 0.2; 0.4; 0.6; 0.8; 1.0}.
Os resultados sero agrupados por assaultTax em trs tabelas, uma para cada valor
usado desta varivel. As linhas destas tabelas indicaro um dado valor de satCinema e as
colunas um dado valor de decMedo. De tal forma que uma clula de uma tabela indica o valor
de mdia de Contra-Desempenho obtido para o valor de satCinema de sua linha e o valor de
decMedo de sua coluna. Para facilitar nossa anlise, as clulas da tabela foram pintadas com
tons de cinza, onde os mais claros indicam os valores menores de Contra-Desempenho e
valores mais escuros indicam valores maiores de Contra-Desempenho em relao s outras
clulas na mesma linha (quanto menor o valor melhor desempenho do agente). Os valores
marcados em negrito+itlico so os melhores valores por linha.

satCinema

assaultTax
0.1
0,0

0,0
994,77

0,2
462,30

decMedo
0,4
0,6
327,87
269,33

0,8
276,87

1,0
206,93

0,2

795,95

401,85

291,21

253,13

254,72

197,55

0,4

595,16

328,81

260,01

238,35

239,92

202,55

0,6

397,20

265,55

239,11

222,65

224,67

197,56

0,8

199,70

202,58

200,67

199,82

199,49

199,21

1,0

2,00

134,00

166,80

185,87

183,07

197,80

Tabela 8: Contra-Desempenho para assaultTax=0.1

satCinema

assaultTax
0.3
0,0

0,0
998,47

0,2
841,00

decMedo
0,4
0,6
744,37
684,30

0,8
690,07

1,0
615,20

0,2

799,41

720,68

672,83

650,61

642,49

608,16

0,4

599,66

603,99

601,06

606,89

601,27

599,86

0,6

400,53

480,51

519,75

547,76

560,57

582,17

0,8

201,37

359,08

453,01

511,91

507,66

607,33

1,0

2,00

240,27

370,00

461,73

463,73

602,13

Tabela 9: Contra-Desempenho para assaultTax=0.3

127

assaultTax
0.5

0,2

0,4

0,6

0,8

1,0

1004,27

1005,27

1009,00

1003,97

996,17

0,2

1000,27
800,27

854,76

898,37

936,37

930,41

998,33

0,4

600,60

712,23

797,94

867,23

873,21

1000,81

0,6

401,29

570,68

695,29

795,60

796,44

1000,36

0,8

201,66

424,67

596,93

729,20

731,43

1006,66

1,0

2,00

286,20

500,07

663,67

665,73

1005,60

0,0
satCinema

decMedo
0,0

Tabela 10: Contra-Desempenho para assaultTax=0.5

Vamos observar nestas tabelas como a taxa de assalto influencia o desempenho de um


dado par de decEmotion e satCinema.
Observa-se na Tabela 8 que apenas quando a satisfao do cinema (satCinema) igual
a 1 a submeta MCine ma se torna a melhor opo, visto que o melhor Contra-Desempenho
nesta linha quando o valor de decMedo zero, forando o agente a nunca perder o medo e
forando-o a ir sempre ao cinema aps um assalto no parque. Ele obtm melhor desempenho
nesta situao (Contra-Desempenho igual a 2), pois, como j prevemos, o cinema causa
mesma satisfao que o parque e, ento, melhor visit- lo para satisfazer o drive Diverso
sem ter custo adicional pelos assaltos. Nas outras linhas para valores menores de satCinema
melhor seguir a submeta MParque, pois a taxa de assalto baixa e a satisfao de ir ao
cinema no compensa a troca.
J na Tabela 9 podemos observar que o desempenho do agente bastante dependente
de satCinema. Se satCinema for baixo (i.e., <0,4), mesmo ocorrendo algum assalto quando o
agente vai ao parque, ainda vale mais a pena ir ao parque do que ir ao cinema. Neste caso,
quanto menor for o medo do agente em ser assaltado (i.e., quanto maior for decMedo) melhor.
Porm, se satCinema >= 0,4, o agente passa a preferir ir ao cinema pois a sua satisfao indo
ao parque considerando a possibilidade de ser assaltado no compensa. Neste caso, quanto
maior for o medo do agente em ser assaltado (i.e., quanto menor for decMedo), maior ser o
seu ganho final. Como a taxa de assalto mais alta neste caso, estas configuraes passam a
ter desempenho melhor justamente porque evita os assaltos e conseguem alguma satisfao
indo ao cinema.
Por fim, na ltima tabela, onde a taxa de assalto bastante alta (0,5), melhor ter
menor decrscimo emocional (decMedo) para praticamente todos os valores de satisfao ao
ir ao cinema (satCinema). Este no o caso onde a satisfao igual a 0, onde, notoriamente,
no adianta ir ao cinema, pois ele no satisfaz o drive Diverso, ento melhor ir ao Parque,
onde pelo menos se ir obter alguma satisfao quando no assaltado.

128

Note que o resultado Contra-Desempenho igual a 2 repete-se na configurao


decEmotion = 0 e satCinema=1 nas trs tabelas. Isto se deve ao mesmo motivo: nesta
configurao, no importa a taxa de assalto (basta que seja maior que 0), quando o agente
sofrer o primeiro assalto, ele ter um valor de insatisfao de Diverso acumulado pelo
assalto e um valor de Custo acumulado, e nunca mais tentar a meta MParque, totalizando o
valor 2 encontrado nesta configurao.
Com isto, podemos observar uma tendncia que quanto maior for a taxa de assalto,
melhor se sair um agente cuja emoo medo demore mais tempo a baixar sua intensidade.
Para assaultTax igual a 0.3, agentes emocionais com menor valor de decMedo se tornam
melhores que agentes com maior valor de decMedo quando a satisfao de ir ao cinema
maior que 0.4. E quando o valor de assaultTax for igual a 0.5, um agente emocional com
valores menores de decMedo se tornam melhores do que os com valores maiores em todas as
configuraes, exceto quando a satisfao do cinema zero.

6.4 IPD: Influncia sobre o mdulo de intenes


Iremos demonstrar a influncia sobre o md ulo de intenes atravs da seleo de um
determinado plano entre vrios que tentam atingir uma mesma meta. Usaremos para isto um
problema clssico de teoria dos jogos e sistemas multi-agentes chamado Dilema do
Prisioneiro Iterado IPD (do ingls Iterable Prisioner Dilemma).
Informalmente este dilema descreve um cenrio onde duas pessoas so presas por um
crime e esto sofrendo um interrogatrio. Elas s possuem duas aes possveis: confessar ou
no um crime que cometeram juntas. Se um prisioneiro confessar e o outro no, o ru
confesso libertado e o outro cumprir pena total de 3 anos. Se ambos confessarem, ficaro
detidos por 2 anos. Por fim, se nenhum confessar, ambos ficaro presos apenas 1 ano. Aps a
tomada de deciso dos dois agentes, eles so informados de qual foi a pena lhe atribuda (isto
permite detectar qual foi a resposta da outra pessoa, cruzando o valor da pena com a sua
prpria resposta). Por se iterado, o interrogatrio repetido e os prisioneiros devem tomar a
deciso novamente, durante um nmero finito de vezes.
Este cenrio possui trs caractersticas principais: (i) descreve uma situao de
cooperao/competio, onde o ato de confessar o crime indica que o agente competiu 14 com
o outro e o ato de no confessar indica que o agente cooperou com o outro; (ii) o cenrio
14

Consideraremos que co mpetir equivale a no cooperar. Achamos este termo mais adequado a ser

usado aqui. Embora no seja usado nos trabalhos de (Wooldridge 2009) e (Neto 2010).

129
modelado de tal forma que um agente racional 15 deveria sempre no cooperar (confessar),
visto que o pior caso obtido com esta escolha ficar preso por no mximo 2 anos, enquanto
que no caso de cooperar (no confessar) poder faz- lo ficar detido mais tempo (3 anos)
(Wooldridge 2009 p. 237). Logo, pior cooperar/confessar do que competir/no confessar; e
por fim (iii) a ao de cooperar embora no seja tima para o indivduo, tima quando se
deseja minimizar a pena de ambos os participantes.
Embora simplrio este dilema representa dilemas reais e importantes na vida real,
como por exemplo, tratados de no construo de armas de destruio em massa. Neste
exemplo, no construir armas (cooperar) implica em estar vulnervel a uma possvel no
cooperao da outra parte (Wooldridge 2009 p. 237). Entretanto, no cooperar indica uma
situao perigosa em termos coletivos, j que traz maiores perdas para todas as naes em
caso de guerra.
Outro exemplo, mais corriqueiro, a negociao entre duas pessoas por uma troca.
Uma primeira pessoa quer trocar uma mercadoria por dinheiro com uma se gunda pessoa. E
esta troca realizada de tal forma que tanto a mercadoria quanto o dinheiro estaro ocultos
por um envelope e s possvel saber se o outro colocou o objeto desejado
(mercadoria/dinheiro) no envelope aps a negociao. Nesta situao, uma pessoa pode
cooperar (colocar o dinheiro/mercadoria no envelope) concretizando a negociao ou pode
competir (deixar o envelope vazio), traindo a outra pessoa (Colman 2003 p. 146).
A aplicao deste dilema a agentes emocionais ocorreu no trabalho (Neto 2010) para
demonstrar as vantagens da arquitetura proposta no desenvolvimento de agentes emocionais,
pois, segundo os autores, este dilema permite avaliar a influncia de um mdulo afetivo no
desempenho do comportamento de agentes. Por isto, adotaremos o mesmo problema usando
uma proposta similar a dele para validar a influncia sobre o mdulo de intenes. Como ser
visto, a principal diferena que usamos um modelo emocional mais simples (que chamamos
de modelo emocional de Jiang (Jiang and Vidal 2006)) do que o proposto pelos autores em
(Neto 2010) (baseado no modelo afetivo de (Mehrabian 1996)). Nosso foco tambm ser
diferente: os autores de (Neto 2010) se preocuparam unicamente em analisar a capacidade do
modelo emocional de alterar o comportamento do agente. Ns, por outro lado, iremos discutir
mais afundo o problema IPD e demonstrar que, conforme discutido em (Wooldridge 2009 pp.
238240), o comportamento unicamente competitivo racional quando apenas consideramos

15

Entendemos que racional neste trecho significa racional quanto a mtrica de obter menos anos de

cadeia individualmente.

130

nossa medida de desempenho a diminuio da pena dos agentes. Quando passamos a


considerar tambm uma medida de cooperao, premiando os agentes que cooperam, pois isto
esperado para gerar menos danos aos agentes semelhantes, a estratgia racional passa ser a
que avalia o comportamento do adversrio e tenta ser cooperativo quando o outro e
competitivo caso contrrio. Sendo esta estratgia chamada de TFT (Tit-ForTat Olho por
olho, dente por dente). Alm disto, veremos que o modelo emocional proposto uma forma
generalizada deste algoritmo timo.
J o trabalho (Bazzan and Bordini 2001) utiliza agentes emocionais com modelo
emocional baseado no OCC para aumentar a taxa de agentes cooperadores no IPD. Entretanto
este trabalho considera que os agentes esto em um mundo 2D, como uma matriz de
vizinhanas, e que eles se multiplicam de acordo com a sua pontuao em relao aos
vizinhos. Alm disto, seu foco foi demonstrar que o uso de agentes emocionais aumenta o
nmero de agentes cooperativos nestes cenrios, comparado com outros agentes puramente
cooperativos ou competitivos. Isto diferente do cenrio adotado, no nos permitindo uma
comparao direta.
Seguiremos abaixo na definio do problema e na modelagem do cenrio que ser
experimentado.
6.4.1

Definio
Neste trabalho usaremos como referncia a proposta do IPD contida em (Neto 2010) e

(Wooldridge 2009) e a implementao j existente no Jason do problema. Este dilema


representado por um sistema multi-agente composto por n agentes prisioneiros e por um
agente rbitro. Durante m iteraes (rodadas), o agente rbitro ir selecionar dois agentes
quaisquer e ir realizar um interrogatrio. Primeiro o rbitro ir perguntar a ambos se
cooperam (no confessam) ou no cooperam (confessam) com o outro agente. Os agentes
respondero ao rbitro que ir avaliar a resposta e comunicar a pontuao aos agentes (de
acordo com a Tabela 11). Em seguida o ciclo reiniciado. Quanto a esta nota obtida a cada
rodada chamaremos de Pontos Individuais da Rodada (PIR).
Existem quatro possveis conjuntos de aes em uma rodada: (i) os dois agentes
cooperam e no confessam, (ii) o agente A no coopera com o agente B confessando o crime
e o agente B coopera com o agente o A no confessando, (iii) o agente B no coopera com o
agente A confessando e o agente A coopera com agente B no confessando, e (iv) os dois
agente no cooperam e confessam o crime. De acordo com as respostas obtidas, os agentes
so pontuados pelo rbitro seguindo a Tabela 11.

131

Agente A

Agente B

PIR

Compete

Coopera

Compete

A recebe 2 pontos
B recebe 2 pontos

A recebe 0 pontos
B recebe 5 pontos

Coopera

A recebe 5 pontos
B recebe 0 pontos

A recebe 3 pontos
B recebe 3 pontos

Tabela 11: Matriz de Pontos Individuais da Rodada

Veja que ao final do interrogatrio o agente ter acesso a duas informaes: (i) quem
foi seu oponente e (ii) qual foi sua punio. Pela pontuao e pela resposta obtida possvel
saber qual foi a resposta dada pelo oponente traando estas informaes com a Tabela 11.
Ao final dos n interrogatrios, os agentes tero uma pontuao total equivalente a
soma dos PIR obtido em cada interrogatrio que chamaremos de Pontos Individuais (PI).
Observe que, de acordo com estas definies, um agente ter desempenho melhor ou igual a
qualquer outro agente se ele sempre no cooperar (confessar), seguindo exatamente o que
prev a teoria dos jogos, (a verificao disto simples e exposta em (Wooldridge 2009 pp.
236240) e (Colman 2003)). Contudo, esta situao tima se apenas quisemos obter agentes
individualmente racionais, pois no privilegia a cooperao entre os agentes, minimizando a
pena de todos.
Como comentado, iremos definir outra mtrica para poder medir uma taxa de
cooperao dentro do sistema multi-agente definido. A cada rodada/interrogatrio ser
gerada uma segunda pontuao data pela Tabela 12 que reflete o quo cooperativos os agentes
foram em uma rodada 16 . Chamaremos esta pontuao de Pontos de Coope rao da Rodada
(PCR). Ao final das n rodadas, podemos obter uma medida de cooperao do experimento
igual ao somatrio de PCR, que chamaremos de Pontos de Cooperao (PC). Veja que esta
pontuao no dada a um agente individualmente, mas a todo o sistema de acordo com as
aes tomadas pelos agentes. Se ambos cooperarem, o sistema ganhar 2 pontos. Se apenas
um cooperar, ganhar 1 ponto. Se nenhum cooperar, ganhar 0 pontos.
Agente A

Agente
B

PCR

Compete

Coopera

Compete

Sistema recebe 0 pontos

Sistema recebe 1 ponto

Coopera

Sistema recebe 1 ponto

Sistema recebe 2 pontos

Tabela 12: Matriz de Pontos de Cooperao da Rodada

16

A tabela foi defin ida de tal forma que o valor de pontos de um interrogatrio seja igual a soma de

respostas cooperativas obtidas.

132
6.4.1.1 Mtrica de desempenho
Com nossas medidas definidas iremos propor uma mtrica de desempenho que nos
indique quanto um agente foi apto em maximizar o nvel de cooperao do sistema (PC), mas
sem perder pontos quanto ao seu desempenho individual (PI). Chamaremos esta mtrica de
Pontos Gerais PG, sendo proporcional a multiplicao de PI por PC (Eq. 1), de tal forma
que esta pontuao PG seja mxima quando PI e PG forem mximas e decaia quando alguma
delas for menor que a outra ou as duas forem baixas.
PG PI x PC
6.4.2

(Eq. 1)

Estratgias
Na literatura consultada, j existem vrios algoritmos definidos para o comportamento

de um agente no problema IPD. Na teoria dos jogos, chama-se estes algoritmos de


estratgias. Selecionamos cinco estratgias devido a sua importncia dentro do problema
disponveis nos diferentes trabalhos consultados que adotaram este problema (Bazzan and
Bordini 2001, Neto 2010, Wooldridge 2009). A Tabela 13 descreve as estratgias adotadas no
nosso experimento e a motivao para selecion-las. Cada estratgia em nossos agentes reflete
a um plano que tenta atingir a mesma (sub)meta que responder ao rbitro.
Agente/Estratgia

Sigla

Estratgia

Olho por Olho

TFT

Repetir a ltima ao o adversrio

Pavlov

PAVLOV

Se PIR >= 3, repetir ltima jogada.


Seno troc-la

Nunca cooperar

ALLD

Sempre no coopera

Sempre cooperar

ALLC

Sempre coopera

Aleatrio

RANDOM

Acusa ou no acusa randomicamente

Motivao
Melhor estratgia no
experimento emprico
original
Algoritmo guloso que tenta
otimizar o desempenho do
agente
Maximiza PG / Melhor
estratgia
Minimiza PG / Pior
estratgia
Utilizado para simular uma
situao no determinstica

Tabela 13: Agentes/estratgias adotados

6.4.3

Agente Emocional Jiang-IPD


Desenvolvemos um agente emocional utilizando uma verso adaptada do modelo

proposto por Jiang. A principal motivao para escolha deste modelo que ele o modelo
mais simples que lida com avaliao de outras entidades adotado na literatura consultada. A
forma como ele ser adaptado far o agente emocional cooperar quando o outro agente
cooperar e a no cooperar quando o outro agente tambm no cooperar.

133

O modelo de Jiang representa o estado emocional como um conjunto de tuplas da


forma emotion(nome, alvo), onde nome uma das emoes contidas em {Love, Happy, Like,
Dislike, Unhappy, Hate } e alvo o agente referenciado pelo qual o agente emocional sente
a emoo. Por exemplo, se o agente A possui a tupla e motion(hate, B), isto indica que o
agente A sente hate em relao ao agente B.
Inicialmente, todo agente sente like pelos outros (emotion(like, _)). Como regra de
eliciao usaremos o resultado dado pelo agente rbitro. Dados os agentes rbitro, A e B, se o
rbitro comunicar a A que B cooperou (no confessou o crime), A aumentar a e moo que
sente por B. Por exemplo, ir de emotion(like, B) para e motion(happy, B)). Caso o contrrio,
B no cooperou (e confessou o crime), ento A decrementar a emoo que sente por B (por
exemplo: ir de emotion(like, B) para emotion(unhappy, B)).
Na influncia emocional consideramos que cada emoo do modelo ativar uma
estratgia, tal como descrito na Tabela 14. Lembremos que uma estratgia para ns
representada por um plano que a implementa. Por isto, nosso agente far influencia emocional
sobre a seleo de planos, que reside no mdulo de intenes.
Emoo em
relao ao
agente X

Estratgia
adotada

Explicao

Love

ALLC

O agente confia que o outro tambm ir cooperar

Like

ALLC

Happy

TFT

O agente no possui confiana suficiente para cooperar cegamente com


o outro, ento prefere adotar a poltica olho por olho

Unhappy

TFT

O agente no possui confiana no outro agente para cooperar, ento


adota a poltica olho por olho

Dislike

PAVLOV

No confia no outro agente, mas se a ltima poltica com ele foi boa
(pontuao >=3), ento a mantm, seno a troca

Hate

ALLD

O agente confia que o outro tambm ir cooperar

No confia no outro agente e ir sempre no cooperar

Tabela 14: Estratgia adotada em dado estado emocional

O mapeamento adotado para a influncia emocional tenta refletir a relao de


confiana que um agente desenvolveu pelo outro, de forma similar ao feito por (Neto 2010)
em seu primeiro experimento (sem marcador somtico). A diferena que a dinmica e o
estado emocional do modelo de Jiang muito mais simples que o modelo misto de (Neto
2010). O modelo de Jiang possui apenas seis emoes bsicas discretas enquanto que o
modelo de (Neto 2010) trabalha com um subconjunto do modelo OCC em conjunto com o
modelo de humor PAD e de personalidade OCEAN.

134

6.4.4

Mapeamento e Implementao
Observe que a emoo em relao a um agente se altera quando o agente emocional

recebe informao sobre qual foi o resultado de uma iterao. Isto , a emoo atualizada
quando o agente trata a informao sobre o resultado de uma interao. Na implementao do
problema em Jason, o agente trata esta informao como se fosse uma meta chamada
!take_records. Por isto, para eliciarmos a emoo neste contexto, precisamos considerar que
esta meta !take_records influencia a emoo. Vamos tratar ento esta regra de eliciao na
Second Emotion Review Function, pois uma meta e no um drive (se fosse um drive, ela
poderia ser tratada na First Emotion Review Function). E ser implementada na sub- funo
Second Emotional Update, visto que o que ocorrer uma alterao da intensidade e no
propriamente uma eliciao da emoo. Esta sub-funo mapeada na funo Select Event do
Jason, conforme tratado no mapeamento (tpico 5.2.5).
A influncia emocional foi considerada da seguinte forma: o agente emocional tem a
meta de responder ao rbitro se ir confessar ou no o crime (competir ou cooperar) e deve
selecionar entre cinco planos (um para cada uma das 5 estratgias). Para decidir isto, ele
utiliza a emoo em relao ao outro agente que interage com ele neste turno, como discutido
anteriormente.
Logo, esta influncia trata-se de uma seleo de plano e foi mapeada na funo Filter
Function e na sub- funo Find Plans da UEBDI. Esta ltima foi mapeada nas funes Check
Context e Unify Context do Jason.
6.4.5

Experimento
Nosso experimento foi especificado da seguinte forma: executou-se uma instncia do

experimento IPD somente com dois agentes em 100 rodadas, de tal forma que m igual a 2 e
n igual a 100. O valor 100 foi adotado devido ao seu uso j em trabalhos passados (Neto
2010, Wooldridge 2009) e o fato de que mais do que o suficiente para verificar uma
tendncia dos agentes na seleo de suas estratgias.
Com o uso do nmero de agentes igual a 2, fora-se o rbitro a selecionar apenas os
mesmos dois agentes em todas as rodadas. Com o objetivo de testar todas as estratgias,
utilizamos cinco agentes implementando as cinco diferentes estratgias descritas na Tabela 7
(ALLC, ALLD, RANDOM, PAVLOV e TFT) e um agente emocional utilizando a estratgia
JIANG apresentada na Tabela 14. Executamos instncias do experimento IPD para todos os

135

pares possveis destes agentes, inclusive entre agentes com a mesma estratgia, totalizando 21
execues.
O equipamento adotado para o experimento foi um computador com processador
Athon 2X 4800, com 2,8 Gb de RAM, Windows XP SP3. Usando a JVM 6 e rodando via
linha de comando um pacote JAR.
A Tabela 15 mostra o resultado dos experimentos ilustrando as estratgias utilizadas
por cada um dos agentes e PI e PC obtidos. Os valores de PI dos agentes que ganharam os
combates esto em negrito e os empates esto em itlico.
J a Tabela 16 exibe para cada agente qual foi a soma dos PIs em todos os
experimentos (PI) daquele agente, a soma dos PCs em todos os experimentos daquele
agente (PC) e o somatrio dos PGs obtidos por aq uele agente em seus experimentos
(PG10-3 ). Por convenincia o valor de PG foi multiplicado por 10 -, visto que o que nos
interessa proporo dos PGs entre os agentes e no sua ordem de grandeza. Alm disto, a
tabela exibe os somatrios de PI e PC sem os experimentos realizados com RANDOM (PIPI(RANDOM) e PC-PC(RANDOM) ), para evidenciar a diferena de desempenho dos
agentes com ou sem o fator no-determinstico.
As figuras a seguir: Figura 32, Figura 33 e Figura 34 exibem os dados das tabelas
Tabela 15 e Tabela 16 de forma visual.
2500
2000

PI

1500
1000

PIPI(RANDOM)

500
0
PAVLOV

ALLC

JIANG

TFT

RANDOM

ALLD

Figura 32: PI total dos agentes

1500
1000

PC

500

PCPC(RANDOM)

PAVLOV

ALLC

JIANG

TFT

RANDOM

Figura 33: PC total dos agentes

ALLD

136

2000

10-3

1500

PG

1000
PGPG(RANDOM)

500
0
PAVLOV

ALLC

JIANG

TFT

RANDOM

ALLD

Figura 34: PG dos agentes

Agente A Agente B PI(A)

PI(B)

PC

Agente A Agente B PI(A)

PI(B)

PC

JIANG

JIANG

300

300

200

TFT

PAVLOV

300

300

200

JIANG

PAVLOV

300

300

200

ALLC

TFT

300

300

200

PAVLOV

PAVLOV

300

300

200

TFT

ALLD

198

203

JIANG

ALLC

300

300

200

TFT

TFT

300

300

200

PAVLOV

ALLC

300

300

200

JIANG

RANDOM

221

306

127

ALLC

ALLC

300

300

200

RANDOM

PAVLOV

114

424

138

ALLC

ALLD

500

100

RANDOM

ALLC

410

135

145

JIANG

ALLD

196

206

RANDOM

ALLD

100

350

50

PAVLOV

ALLD

500

100

RANDOM

TFT

252

257

109

ALLD

ALLD

200

200

RANDOM

RANDOM

241

261

102

JIANG

TFT

300

300

200

Tabela 15: Resultado de cada combate do experimento IPD.A


Agente

PI

PC

PG10 -3

PIPI(RANDOM)

PCPC(RANDOM)

PGPG(RANDOM)
10 -3

PAVLOV

1314

1038

1363,93

890

900

801,00

ALLC

1335

1045

1395,07

1200

900

1080,00

JIANG

1617

929

1502,19

1396

802

1119,59

TFT

1655

910

1506,05

1398

801

1119,80

RANDOM

1733

671

1162,84

1492

569

848,95

ALLD

1959

253

495,63

1609

203

326,63

Tabela 16: Resultado geral do experimento IPD.A

6.4.5.1 Discusso
Iremos primeiro comear comparando o Ponto Individual (PI) de JIANG em relao
aos outros agentes. Como esperado, vemos na Tabela 16 e a Figura 32 que ALLD obteve
maior valor desta mtrica, pois ele sempre no coopera, obtendo pontuaes iguais ou
maiores que a do seu adversrio. O agente emocional Jiang ficou co m pontuao
intermediria (1617) entre os adversrios e prximo ao valor de TFT (1655). Vemos tambm
que os valores de PI sem os combates de RANDOM no alteram significativamente o valor
geral.

137

Agora olhando a medida de Pontos de Cooperao (PC) exibida na Figura 33,


observamos que a situao se inverteu: ALLD o ltimo colocado enquanto que seu
antagonista, ALLC, obteve melhor pontuao. Este resultado tambm esper ado por um
princpio anlogo ao anterior: como ALLC sempre coopera, ele sempre ganha as pontuaes
de cooperao maiores ou iguais ao seu adversrio. O agente emocional JIANG novamente
fica no meio da lista (929) e prximo de TFT (910), apenas sendo superior em 19 pontos.
Observe que quanto ao agente TFT, ambos os resultados medianos podem ser
esperados, visto que ele um agente que privilegia a cooperao caso o adversrio tambm
seja cooperativo. Isto , se o adversrio for cooperativo, ele tenta ganhar Pontos de
Cooperao e manter mediano o ganho com pontos Individuais atravs da cooperao (no
acusa). Caso o adversrio no coopere, ele tambm no coopera, evitando a perda de Pontos
Individuais (empatando nesta medida com o adversrio) e perdendo Pontos de Cooperao.
Isto faz com que a estratgia TFT mantenha PI e PC equilibrados, evitando que haja perda
exacerbada de alguma das mtricas.
J o agente emocional JIANG, por sua vez possui princpio similar a estratgia TFT e
tenta adotar polticas cooperativas caso ele goste do adversrio (o adversrio coopere) e adota
polticas competitivas caso no goste do adversrio (o adversrio compita), de forma muito
similar a TFT, o que no final faz com que ambos tenham resultados similares em ambas as
medidas.
Com esta explicao e com a definio da mtrica de Pontos Gerais, esperado que
esta mtrica seja maximizada com TFT e com JIANG, visto que eles tendem a equilibrar os
valores de PI e PC, o que maximiza PG. E isto comprovado na Figura 34, onde tanto JIANG
quanto TFT obtm maiores valores. Mais precisamente, JIANG obtm 1502 mil pontos e TFT
1506 mil pontos. A diferena entre eles, embora seja dos milhares, no tanta comparando
TFT com os outros agentes.
De fato, com os dados obtidos e a relao que criamos entre TFT e JIANG, podemos
concluir que JIANG equivale a TFT e obtm desempenho (PG) prximo ao timo (no
experimento). Uma forma de comprovar isto imaginar a se guinte simplificao: Cria-se um
agente JIANG com apenas duas emoes: gostar e no gostar. Ele gosta do adversrio caso
ele coopere e no gosta caso ele no coopere. Caso ele goste do adversrio ele coopera, caso
contrrio no coopera. E tal dinamismo o mesmo proposto por TFT. Em outras palavras, o

138
agente JIANG equivalente ao TFT, a diferena que como ele demora mais para no
gostar e gostar de um adversrio, ele demora mais a alterar seu comportamento.

6.5 TaskAlloc: Influncia sobre o mdulo de aes


Neste problema um cliente deve escolher o melhor servidor para executar uma tarefa.
Ns consideramos o melhor servidor aquele agente que (i) oferece menor custo para
execuo da tarefa e (ii) a maior probabilidade de sucesso em sua execuo. Estes parmetros
baixo custo e alta probabilidade de sucesso devem ser considerados quando se seleciona o
melhor servidor. Este problema foi inspirado no trabalho de (De Weerdt et al. 2007) de
alocao de tarefas em sistemas multi-agentes usando o protocolo contract-net (Wooldridge
2009 pp. 156158). O estudo minucioso de leiles para soluo do problema encontrada em
(Ramchurn et al. 2009). No cabe comparar suas abordagens com a nossa, visto que nosso
problema uma verso muito resumida do problema atacado por eles e nossos agentes no
foram desenvolvidos para gerarem uma soluo tima. Sendo meramente ilustrativos para a
exemplificao do agente emocional.
Sabendo que os clientes no sabem inicialmente qual a probabilidade de sucesso dos
servidores, eles devem inferir este valor usando informao passada. A Eq. 33 apresenta a
funo usada para selecionar o melhor servidor, onde mfail(server) a mdia da
probabilidade de falha de um server, cost(server, t) o custo que o server pede para executar
a tarefa t e selected o servidor selecionado. Os clientes que selecionam seus servidores por
esta equao sero chamados aqui de clientes racionais. Isto est teoricamente correto, pois,
como veremos, eles conseguem maximizar seu desempenho de acordo com a informao que
tem acesso.
(

))

(Eq. 33)

O algoritmo dos agentes racionais pode ser aperfeioado se ns considerarmos que


estes agentes tambm usam a experincia passada de seus colegas quando interagiram com
um dado servidor. Ns assumimos que os colegas participaram de interaes com servidores
que o cliente ainda no interagiu e que devem ter participado em interaes mais recentes com
servidores que j interagiram com o cliente. Note que isso importante, pois assumimos que a
probabilidade de falha dos servidores pode alterar com o passar do tempo.
Desta forma, um cliente pode perguntar aos outros clientes qual a probabilidade de
falha dos servidores com os quais este j interagiu. Esta informao representa a reputao
dos servidores. Neste caso, o agente faz sua seleo usando a Eq. 34, onde mrfail(server) ir

139

considerar ambas opinies do prprio cliente quando a de seus colegas sobre a probabilidade
de falha do servidor server em questo. Assim, mrfail(server) a media das reputaes do
servidor mais o valor mfail(server). Os agentes que usam a reputao dos servidores so
chamados de cliente reputao.
(
6.5.1

))

(34)

Cliente Emocional
Como modelo emocional, consideremos que um agente pode gostar ou desgostar

(modelo like/dislike) de outro agente, dependendo de suas interaes passadas (que equivale
ao modelo JIANG apresentado no tpico 6.4.3. Devemos ressaltar que existe uma diferena
entre emoes like/dislike e a informao de reputao: embora a dinmica emocional tenha
semntica similar ao valor de reputao (ambos qualificam o que um agente acha de outro
agente), ela no idntica, tendo o agente emocional um comportamento no linear quanto a
sua avaliao dos outros agentes. Alm disto, a forma como o agente emocional influencia
sua seleo diferente da do agente reputao. O segundo ir ranquear simbolicamente seus
servidores, o segundo tentar escolher numericamente o servidor.
Um cliente possui uma Base Emocional que composta por sentenas da forma
like(x,i), onde x um servidor e i a intensidade do sentimento de gostar (like) em relao a
este agente. Podemos classificar a relao entre o cliente e dado servidor x em trs classes: Se
i estiver entre [7, 10], o cliente likes (gosta) do servidor x. Se i estiver entre [4, 6], ento o
cliente neutral (indiferente) em relao ao servidor x. E se i estiver entre [0, 3] o cliente
dislike (desgosta) do servidor x.
Quando o cliente recebe a informao sobre o sucesso ou falha na execuo de uma
tarefa pelo servidor x, ele muda a intensidade de i na sentena like(x, i) relacionada a x. A
funo de mudana dada pela Tabela 17, onde a coluna like, neutral e dislike representa a
classificao prvia para a sentena like(x, i), as linhas success e fail indicam o sucesso ou a
falha na respostada pelo servidor x e as clulas indicam o valor de incremento ou decremento
usado para alterar a intensidade i. Como mostrado pelos incrementos e decrementos, a funo
de mudana prioriza as emoes do agente e no a informao sobre o sucesso e a falha do
servidor.

success
fail

like
+2
-1

if client server
neutral
dislike
+1
+1
-1
-2

Tabela 17: Incremento/Decremento da funo de mudana

140

O cliente emocional definido sobre o agente reputao usando o modelo emocional


like/dislike. Embora o cliente emocional tambm use a Eq. 34 para selecionar o melhor
servidor assim como faz o cliente reputao, ele ir preferir primeiro os servidores que goste,
ignorando os outros no momento de aplicar a Eq. 34. Se no existirem servidores pelos quais
goste, ele ir preferir servidores pelos quais sinta indiferente. Caso este tipo tambm no
exista em sua base de emoes, ele ir selecionar um servidor entre os quais desgoste.
6.5.2

Mapeamento e Implementao
A dinmica emocional ocorre da seguinte forma: o agente emocional ir esperar a

resposta do servidor. Quando isto ocorrer, a informao de sucesso e falha ir se tornar um


evento de incluso de crenas, que considerada uma meta. O Jason trata as mensagens como
eventos / crenas, o que nos impede de interceptar esta mensagem na Belief Update Function
do Jason e logo na nossa Perception Function que implementada neste local.
Por isto consideramos que uma emoo atualizada pela influncia da base de
crenas. Neste caso, temos de mapear a funo de mudana na Second Emotion Review
Function, que tem acesso a base de crenas, e na sub- funo Second Emotional Update que
est a cargo de atualizar o estado das emoes.
Quanto a influncia emocional, nota-se que a emoo influencia na hora de selecionar
o grupo de servidores que sero avaliados pela funo da Eq. 34 para se selecionar o servidor
escolhido. Note que o estado emocional ir parametrizar uma funo de ordenao dos
servidores, que um algoritmo bem determinado e que pode ser implementado dentro de um
plano (ou uma ao interna). Logo, esta influncia mapeada na Execute Function, que
responsvel por executar os planos, mais precisamente na Archieve Plans, e no prprio plano.
No Jason, isto implementado na seguinte forma: A execuo do plano em si est na
funo Execute Intention, e o algoritmo de ordenao foi implementado em uma ao interna
do Jason que chamada pelo plano, conforme discutido no mapeamento.
6.5.3

Experimento
Agora iremos realizar um experimento para comparar o comportamento de trs tipos

de clientes: racional, reputao e emocional. Ns iremos definir uma medida chamada score,
dada pela Eq. 35, que retorna to ruim um servidor com respeito a sua probabilidade de
falha pfail(server) e seu custo. Desta forma, o servidor com menor score o melhor
servidor, e o servidor com maior score o pior servidor. A Eq. 36 normaliza o valor das

141

pontuaes dos servidores e os ordena de forma ascendente. Repare que nscore(best), a


pontuao normalizada do melhor agente, igual a 1 e nscore(worst), a pontuao
normalizada do pior agente, igual a zero.
(

)
(

(
)

)
(

(
(

)
(

)
)

(Eq. 35)
(Eq. 36)

A cada rodada do experimento, ns usamos 5 clientes do mesmo tipo, 5 servidores e


10 tarefas do mesmo tipo. Para simplificar o experimento, todos os servidores cobram o
mesmo custo para executar todas as tarefas que lhe so solicitadas. As probabilidades de
sucesso dos servidores so descritas na Tabela 18. Ns podemos ver que o melhor agente o
serv5 porque seu nscore igual a 1 e o pior servidor o serv1 porque seu nscore igual a 0.
A mquina que usamos para rodar os experimentos foi: Intel Pentium Dual CPU; 2,99 Gb
RAM; Windows XP SP3 e Java SE 1.7.
Para investigar a influncia do modelo emocional proposto like/dislike sobre os
agentes quando selecionam seus servidores ns desenvolvemos quatro variantes de agentes
emocionais com diferentes estados emocionais iniciais, como demonstrado na Tabela 19. O
primeiro (cliente emocional neutro) comea sentindo neutro em relao a todos os servidores,
assim seu valor de intensidade igual a 5. O segundo cliente (cliente emocio nal favorvel)
tem o valor inicial de like/dislike proporcional ao valor de nscore do servidor, de tal forma
que ele goste mais dos melhores agentes para se alocar uma tarefa. O terceiro cliente (cliente
emocional desfavorvel) tem valor inicial de intensidade inversamente proporcional a nscore,
de tal forma que ele goste mais dos piores agentes para se alocar uma tarefa. J o quarto
agente (cliente emocional randmico) inicia com valores aleatrios de intensidade emocional
em relao a todos os servidores, e por isso no est representado na tabela.

server

cost

pfail

score

nscore

serv1

1.00

1.00

0.00

serv2

0.75

0.75

0.25

serv3

0.50

0.50

0.50

serv4

0.25

0.25

0.75

serv5

0.00

0.00

1.00

Tabela 18: Configurao dos Servidores

142

Emotional
client

serv1

serv2

serv3

serv4

serv5

neutral

favorable

10

unfavorable

10

Tabela 19: Intensidade Emocional dos Clientes pelos Servidores

Nossa inteno neste experimento obter as seguintes hipteses:


1. Depois de vrias interaes, a pontuao nscore de todos os agentes ser a mesma. Aps
vrias interaes com vrios servidores, um cliente ser capaz de encontrar qual o melhor
servidor, maximizando nscore.
2. O desempenho do agente reputao deve ser melhor que o desempenho do agente racional.
O cliente reputao ser capaz de encontrar primeiro o melhor agente. Isto deve acontecer
visto que o cliente reputao baseia sua deciso no somente em suas prprias interaes,
mas tambm na reputao reportada por outros clientes.
3. O cliente emocional favorvel obtm melhor desempenho que os outros nas primeiras
interaes. Isto deve ocorrer visto que ele gosta mais dos melhores agentes servidores.
Logo, ir preferir selecion-los.
4. Inicialmente, o desempenho do cliente emocional neutro ser similar ao do cliente
reputao. Sabendo que este cliente emocional neutro sente-se indiferente em relao a
todos os agentes, a emoo no ir influir na seleo dos servidores e o cliente emocio nal
neutro ir adotar o mesmo algoritmo que o agente reputao, tornando-o similar a este.
5. O desempenho do agente randmico depois de algumas interaes ser similar ao do
agente reputao e do agente neutro. A probabilidade do cliente emocional randmico
gostar de um servidor com baixo desempenho e de gostar de um servidor com alto
desempenho igual. Assim, o agente s ser capaz de trocar sua emoo para algo
coerente com a realidade aps algumas interaes.
6. Clientes emocionais desfavorveis sero os que tem pior performance. Sabendo que estes
clientes gostam dos piores servidores, isto far com que o agente tenda a selecion- los
durante as primeiras interaes e ter baixo desempenho.
6.5.3.1 Resultados
Para cada tipo de cliente, ns rodamos 30 experimentos e tiramos a mdia dos nscore
obtidos para cada tarefa, assim removendo possveis outliers e encontrando o desempenho
mdio de cada tipo de cliente. Os valores da mdia de nscore so dados na Erro!
Autoreferncia de indicador no vlida..
O experimento confirma as hipteses 2, 3, 4 e 6. Porm, o desempenho dos agentes
no foi exatamente com esperado pela hiptese 1. Embora todos os agentes tenham alcanado
a mesma performance nas ltimas duas tarefas por selecionar os melhores servidores, o
agente emocional desfavorvel no conseguiu aumentar sua performance. Ns entendemos
que este agente pode melhorar seu desempenho se ele executar mais rodadas de alocao de
tarefas para encontrar quem so os melhores servidores. Este agente leva mais tempo que os

143

outros para encontrar os melhores servidores, pois (i) no incio ele desgosta de todos os
melhores servidores e gosta dos piores, e (ii) o algoritmo para seleo do servidor prioriza o
que o cliente sente pelo servidor ao invs do seu desempenho.

1,0

average nscore

0,8

rational
reputation

0,6

e. neutral
e. favorable

0,4

e. unfavorable
e. random

0,2

0,0
1

5 task 6

Figura 35: Mdia de nscore por tarefa t

10

144

7 Concluso
Este trabalho apresentou a arquitetura de Agentes Emocionais UEBDI. Esta nova
abordagem procura unificar as caractersticas de propostas anteriores e construir uma
arquitetura genrica que contemple todas as possveis influncias do fenmeno emocional
sobre o resto da arquitetura.
O Captulo 2 procurou investigar os temas de computao afetiva, agentes inteligentes
e agentes emocionais, levantando quais tpicos so necessrios para a construo de uma
arquitetura de agente emocional.
o Captulo 3 analisou trabalhos que construram um agente emocional BDI ou que
tenham contribudo com modelos ou algoritmos que podem ser mapeados na arquitetura BDI,
levantando-se quais seus pontos fortes e fracos e obtendo-se o que existe de estado da arte em
agentes emocionais BDI, permitindo a posterior construo da nossa proposta.
O Captulo 4 prope a arquitetura abstrata propriamente dita. A metodologia adotada
foi top-down, propondo uma arquitetura de agente a nvel macro, observando os componentes
de percepo, atuao e raciocnio, e descendo para o nvel intermedirio, que a releitura
das funes clssicas BDI (por exemplo, Belief Review Function) e a adio de novas funes
para apoiar as funes emocionais (Perception Function, First Emotion Review Emotion,
etc...), tal como j feito por alguns autores (Hernndez et al. 2004, Jiang and Vidal 2006, Neto
and Da Silva 2010, Pereira et al. 2005, Signoretti 2012). Por fim, desceu-se mais um nvel,
observando as funes do nvel anterior internamente pelas suas sub- funes, determinando
qual o papel de cada uma, de qual autor/trabalho foi trazida a proposta e qual sua relao com
as outras funes e bases.
Observa-se que a proposta UEBDI no tem preocupao em explicar o fenmeno
emocional ou em implementar uma teoria emocional em especfico, mas sim em construir
uma arquitetura abstrata que operacionalize a lgica do agente BDI e emocional em seus
fronzenspots e ceda hotspots para que o projetista de agentes emocionais ou de modelos
emocionais possam desenvolver seus trabalhos.

145

O captulo 5 mapeou a arquitetura abstrata UEBDI na plataforma de agentes Jason,


permitindo assim implementar uma verso da UEBDI, verificando a viabilidade tcnica da
proposta.
Por fim, o captulo 6 apresentou cinco experimentos com o objetivo de demonstrar o
uso da arquitetura para implementar agentes emocionais. O critrio adotado para a escolha
dos cenrios foi exercitar as influncias do mdulo emocional sobre o mdulo de percepes,
crenas, desejos, intenes e aes, validando a proposta dada por este trabalho.

7.1 Contribuies
A principal contribuio deste trabalho foi propor uma arquitetura de Agente
Emocional BDI abstrata que unifica as arquiteturas j pospostas anteriormente e permite
definir influncias do fenmeno emocional sobre todas as outras instncias da arquitetura
justificando estas propostas,

seja por teorias emocionais, seja por justificativas

computacionais. Nenhuma proposta anterior encontrada consegue atingir tal caracterstica.


Como contribuies secundrias, nossa proposta foi mapeada e implementada sobre o
Jason. E foi experimentada utilizando cinco experimentos diferentes que exercitavam as cinco
influncias possveis do fenmeno emocional sobre as instncias BDI (crenas, desejos,
intenes, percepes e aes). O mapeamento demonstra a viabilidade tcnica da proposta e
os experimentos demonstram a efetividade da proposta em alcanar a meta de permitir as
influncias sobre as outras instncias da arquitetura.

7.2 Limitaes
Como todo trabalho, nossa proposta apresenta limitaes que devem ser levadas em
conta por outros pesquisadores e por projetistas de agentes quem queira adot-la. Elas so:
Reconsiderao: A arquitetura BDI original (Wooldridge 2009) prev reconsiderao de
intenes e planos durante a atuao do agente. Por simplicidade, no consideramos a
reconsiderao dentro da nossa arquitetura abstrata. O trabalho (Jiang and Vidal 2006)
tenta atacar este problema timidamente, mas sem experiment- lo. Acreditamos que
emoes sirvam tambm para auxiliar este problema, visto que ajudariam ao agente
ponderar se devem manter uma inteno ou elimin- la ou replanej-la.
Formalismo Lgico: Existem trabalhos que se preocupam em criar uma lgica formal para
representar agentes emocionais BDI, como os (Meyer 2004, Pereira et al. 2006) e, em
especial, a srie de trabalhos de Steunebrink (Steunebrink 2010, Steunebrink et al. 2008,

146

2009). No procuramos definir um formalismo prprio, pois: (i) no era objetivo central do
trabalho; (ii) a implementao Jason implementa a AgentSpeak(L), que uma linguagem
criada embasada em um formalismo lgico. A partir do momento que mapeamos nossa
proposta no Jason, ela foi mapeada para a AgentSpeak(L) e para este formalismo lgico;

Usabilidade: No foi realizado um experimento para verificar a facilidade de uso da

ferramenta com um conjunto de projetistas de agentes. Conhecer a usuabilidade da


proposta seria um ponto a favor de sua adoo. Alm disto, no foi analisada a usabilidade
de nenhum trabalho relacionado. Considera-se ento este um bom trabalho futuro.

147

Referncias
Bates, J. and Loyall, A. B. and Reilly, W. S., (1994), "An Architecture for Action, Emotion,
and Social Behavior"
Bazzan, A. and Adamatti, D. and Bordini, R., (2002), "Extending the computational study of
social norms with a systematic model of emotions", Advances in Artificial Intelligence, p.
119.
Bazzan, A. L. C. and Bordini, R., (2001), "A framework for the simulation of agents with
emotions". In: Proceedings of the fifth international conference on Autonomous agents, p.
292299
Bordini, R. and Braubach, L. and Dastani, M. and Seghrouchni, A. and Gomez-Sanz, J. and
Leite, J. and OHare, G. and Pokahr, A. and Ricci, A., (2006), "A Survey of Programming
Languages and Platforms for Multi-Agent Systems", Informatica, v. 30, p. 3344.
Bordini, R. H. and Hbner, J. F. and Wooldridge, M., (2007), Programming Multi-Agent
Systems in AgentSpeak using Jason. 1 ed. West Sussex, England, John Wiley & Sons.
Bordini, R. and Hbner, J., (2007), Jason Tutorial.
Bratman, M. E., (1987), Intention, Plans, and Practical Reason. Cambridge, MA, Harvard
University Press.
Braubach, L. and Pokahr, A., (2010), Jadex: BDI Agent System. Jadex (Overview).
Disponvel
em:
<"http://jadex-agents.informatik.unihamburg.de/xwiki/bin/view/About/Overview">. Acesso em: 26 Apr 2010.
Braubach, L. and Pokahr, A. and Moldt, D. and Lamersdorf, W., (2005), "Goal representation
for BDI agent systems", Programming Multi-Agent Systems, p. 4465.
Breazeal, C. F., (1998), "A motivational system for regulating human-robot interaction". In:
Proc. of the fifteenth national/tenth conference on AI/Innovative applications of AI, p. 54
61, Madison, Wisconsin, United States.
Breazeal, C. L., (2000), Sociable machines: Expressive social exchange between humans and
robots, MIT
Camurri, A. and Coglio, A., (1998), "An Architecture for Emotional Agents", IEEE
MultiMedia, v. 5, n. 4 (Oct.), p. 2433.
Colman, A. M., (2003), "Cooperation, psychological game theory, and limitations of
rationality in social interaction", Behavioral and Brain Sciences, v. 26, n. 02, p. 139153.
Damsio, A., (2004), Erro de Descartes, O. So Paulo, Brazil, Companhia das Letras.
Dyer, M. G., (1987), "Emotions and their computations: Three computer models", Cognition
& Emotion, v. 1, n. 3, p. 323347.

148

Ekman, P. E. and Davidson, R. J., (1994), The nature of emotion: Fundamental questions.
Oxford University Press.
Fix, J. and Scheve, C. von and Moldt, D., (2006), "Emotion-based norm enforcement and
maintenance in multi-agent systems: foundations and petri net modeling". In:
Proceedings of the fifth international joint conference on Autonomous agents and
multiagent systems, p. 105107, Hakodate, Japan.
Frijda, N. H., (1987), The Emotions. Cambridge, United Kingdom, Cambridge University
Press.
Gadanho, S. and Hallam, J., (2001), "Robot learning driven by emotions", Adaptative
Behavior, v. 9, n. 1, p. 42.
Georgeff, M. and Pell, B. and Pollack, M. and Tambe, M. and Wooldridge, M., (1998), "The
belief-desire- intention model of agency". In: Proceedings of Intelligent Agents V. Agent
Theories, Architectures, and Languages: 5th International Workshop, ATAL98, p. 630
630, Paris, France.
Gratch, J., (1999), "Why you should buy an emotional planner". In: Proceedings of the
AgentsProceedings of the Agents99 Workshop on Emotion-based Agent Architectures
(EBAA99), p. 99465
Hernndez, D. J. and Dniz, O. and Lorenzo, J. and Hernndez, M., (2004), "BDIE: a BDI
like Architecture with Emotional Capabilities", American Association for Articial
Intelligence, n. 2004, p. 8.
Hbner, J. and Bordini, R. and Wooldridge, M., (2006), "Programming declarative goals using
plan patterns", Declarative Agent Languages and Technologies IV, p. 123140.
Hbner, J. F. and Bordini, R. H., (2009), Jason: a Java-based interpreter for an extended
version
of
AgentSpeak.
Jason
Home.
Disponvel
em:
<"http://jason.sourceforge.net/JasonWebSite/Jason%20Home.php">. Acesso em: 26 Apr
2010.
Izard, C. E., (1993), "Four systems for emotion activation: Cognitive and noncognitive
processes", Psychological Review, v. 100, n. 1 (Jan.), p. 6890.
Jiang, H., (2007), From Rational to Emotional Agents, University of South Carolina
Jiang, H. and Vidal, J. M., (2006), "From rational to emotional agents". In: Proceeding of the
AAAI Workshop on Cognitive Modeling and Agentbased Social Simulation
LeDoux, J., (2002), "Emotion, memory and the brain", Special Editions
LeDoux, J. and Rogan, M., (1999), "Emotion and the Animal Brain", The MIT Encyclopedia
of Cognitive Sciences, p. 269270.
Lester, P., (2004), A * Pathfinding para Iniciantes. A * Pathfinding para Iniciantes. Disponvel
em: <"http://www.policyalmanac.org/games/aStarTutorial_port.htm">. Acesso em: 31
Oct 2012.
Leventhal, H. and Scherer, K. R., (1987), "The relationship of emotion to cognition: A
functional approach to a semantic controversy", Cognition & Emotion, v. 1, n. 1, p. 328.
Lino, N. de L., (2006), Modelo de Percepo de Agentes Inteligentes baseados em Emoes,
Universidade Federal de Pernambuco
Marsella, S. C. and Gratch, J., (2009), "EMA: A process model of appraisal dynamics", Cogn.
Syst. Res., v. 10, n. 1 (Mar.), p. 7090.

149

McCrae, R. R. and John, O. P., (1992), "An Introduction to the Five-Factor Model and Its
Applications", Journal of Personality, v. 60, n. 2, p. 175215.
Mehrabian, A., (1996), "Pleasure-arousal-dominance: A general framework for describing and
measuring individual differences in temperament", Current Psychology, v. 14, n. 4, p.
261292.
Meneguzzi, F. R. and Zorzo, A. F. B. and Mra, M. D. A. C. and Luck, M., (2004),
"Incorporating Planning into BDI Systems", SCPE, v. 2006, p. 20072010.
Meyer, J. J. C., (2004), "Reasoning about emotional agents". Proceedings of 16th Eureopean
Conference on Artificial Intelligence, p. 2227, Valenca Spain.
Minsky, M., (1988), The Society of Mind. Pages Bent ed. Simon & Schuster.
Morgado, L. F. G., (2006), Integrao de emoo e raciocnio em agentes inteligentes. Thesis,
Universidade de Lisboa Disponvel em: <http://docs.di.fc.ul.pt/handle/10455/3314>.
Morgado, L. and Gaspar, G., (2005), "Emotion based adaptive rea soning for resource bounded
agents". In: Proceedings of the fourth international joint conference on Autonomous
agents and multiagent systems, p. 921928, New York, NY, USA.
Moridis, C. N. and Economides, A. A., (2008), "Toward Computer-Aided Affective Learning
Systems: A Literature Review", Journal of Educational Computing Research, v. 39, n. 4
(Jan.), p. 313337.
Neto, A. F. . and Da Silva, F. S. ., (2010), "On the Construction of Synthetic Characters with
Personality and Emotion". In: Advances in Artificial IntelligenceSBIA 2010SBIA2010, p.
102, So Bernado do Campo, Brazil.
Neto, A. F. B., (2010), Uma arquitetura para agentes inteligentes com personalidade e
emoo, USP Disponvel em: <www.ime.usp.br/~fcs/LIDET/bressane.pdf>.
Norling, E., (2004), "Folk Psychology for Human Modelling: Extending the BDI Paradigm".
In: Proceedings of the Third International Joint Conference on Autonomous Agents and
Multiagent Systems - Volume 1, p. 202209, New York, New York.
Oliveira, E. and Sarmento, L., (2003), "Emotio nal advantage for adaptability and autonomy".
In: Proc. of the Second International Joint conference on Autonomous Agents and
Multiagent Systems, p. 305312, Melbourne, Australia.
Ortony, A. and Clore, G. L. and Collins, A., (1990), The cognitive structure of emotions.
Cambridge, USA, Cambridge University Press.
Padgham, L. and Taylor, G., (1997), "A System for Modelling Agents having Emotion and
Personality", PRICAI Workshop on intelligent agent systems, p. 5971.
Pereira, D. and Oliveira, E. and Moreira, N., (2006), "Modelling emotional BDI agents". In:
Workshop on Formal Approaches to Multi-Agent Systems (FAMAS 2006), Riva Del
Garda, Italy (August 2006)
Pereira, D. and Oliveira, E. and Moreira, N. and Sarmento, L., (2005), "Towards an
architecture for emotional BDI agents". In: Proc. of the Twelfth Portuguese Conference
on AI, p. 4047
Picard, R. W., (1997), Affective Computing, Technical 321, MIT.
Picard, R. W., (2000), Affective Computing. 1 ed. Cambridge, USA, The MIT Press.

150

Picard, R. W., (2003), "Affective computing: challenges", International Journal of HumanComputer Studies, v. 59, n. 1, p. 5564.
Pimentel, C. F. and Cravo, M. R., (2009), "Dont think too much! - Artificial somatic
markers for action selection". 3rd International Conference on Affective Computing and
Intelligent Interaction and Workshops, 2009. ACII 2009, p. 1 8
Ramchurn, S. D. and Mezzetti, C. and Giovannucci, A. and Rodriguez-Aguilar, J. A. and
Dash, R. K. and Jennings, N. R., (2009), "Trust-based mechanisms for robust and
efficient task allocation in the presence of execution uncertainty", Journal of Artificial
Intelligence Research, v. 35, n. 1, p. 119.
Rao, A., (1996), "AgentSpeak (L): BDI agents speak out in a logical computable language",
Agents Breaking Away, p. 4255.
Rao, A. and Georgeff. M., (1995), "BDI agents: From theory to practice", Proceedings of the
first international conference on multi-agent systems (ICMAS-95), p. 312319.
Reekum, C. M. and Scherer, K. R., (1997), "Levels of processing in emotion-antecedent
appraisal", In: Matthews, G. [ed.] (eds), Advances in Psychology, , chapter 124, NorthHolland, p. 259300.
Van Reekum, C. M. and Scherer, K. R., (1997), "Levels of processing in emotion-antecedent
appraisal", Advances in Psychology, v. 124, p. 259300.
Rodrigues, P. S. L., (2007), Um Sistema de Gerao de Expresses Faciais Dinmicas em
Animaes Faciais 3D com Processamento de Fala, PUC-Rio
Rumbell, T. and Barnden, J. and Denham, S. and Wennekers, T., (2011), "Emotions in
autonomous agents: comparative analysis of mechanisms and functions", Autonomous
Agents and Multi-Agent Systems, p. 145.
Russel, S. J. and Norvig, P., (2004), Inteligncia Artificial: traduo da segunda edio. 2 ed.
Rio de Janeiro, Brazil, Elsevier.
Sarmento, L. M., (2004), An emotion-based agent architecture, Universidade do Porto
Scherer, K. R., (1999), "Appraisal theory", Handbook of cognition and emotion, , p. 637663.
Scherer, K. R., (2000), "Emotions as episodes of subsystem synchro nization driven by
nonlinear appraisal processes", Emotion, development, and self-organization: Dynamic
systems approaches to emotional development, p. 7099.
Scherer, K. R., (2005), "What are emotions? And how can they be measured?", Social Science
Information, v. 44, n. 4, p. 695 729.
Scheutz, M., (2002), "Agents with or without emotions". In: Proceedings FLAIRS, p. 8994
Scheutz, M., (2004), "How to determine the utility of emotions", IN PROC. OF AAAI
SPRING SYMPOSIUM
Scheve, C. von and Moldt, D. and Julia Fix and R. von Luede, (2006), "My agents love to
conform: Norms and emotion in the micro- macro link", Computational & Mathematical
Organization Theory, 2 ed, chapter 12, Springer
Signoretti, A., (2012), Agentes Inteligentes com Foco de Ateno Afetiv o em Simulaes
Baseadas em Agentes, UFRN
Signoretti, A. and Feitosa, A. and Campos, A. M. and Canuto, A. M. and Fialho, S. V., (2010),
"Increasing the Eciency of NPCs Using a Focus of Attention Based on Emotions and

151

Personality". In: Proceedings of the 2010 Brazilian Symposium on Games and Digital
Entertainment, p. 171181, Washington, DC, USA.
Silva, D. R. D. and Tedesco, P. R. and Ramalho, G. L., (2006), "Usando Atores Sintticos em
Jogos Srios: O Case SmartSim". In: V Brazilian Symposium of Games and Digital
Entertainment (SBGAMES 2006)SBGames, Pernambuco, Brazil.
Sloman, A., (1999), "How many separately evolved emotional beasties live within us?". In:
Presented at workshop on Emotions in Humans and Artifacts Vienna
Sloman, A., (2004), "What are theories of emotion about". In: Proceedings of the AAAI Spring
Symposium: Architectures for Modeling Emotion: cross-disciplinary foundations. AAAI
Technical report SS-04-02. AAAI Press
Staller, A. and Petta, P., (2000), "Introducing emotions into the computationa l study of social
norms". In: In Proceedings of the 2000 Convention of the Society for the Study of
Artificial Intelligence and the Simulation of Behaviour (AISB00), p. 1720, Birmingham,
UK.
Staller, A. and Petta, P., (2001), "Introducing emotions into the computational study of social
norms", Journal of Artificial Societies and Social Simulation, v. 4, n. 1
Steunebrink, B. R., (2010), The Logical Structure of Emotions, Utrecht University
Steunebrink, B. R. and Dastani, M. and Meyer, J. J. ., (2009), "A Formal Model of EmotionBased Action Tendency for Intelligent Agents". In: Proc. of the 14th Portuguese
Conference on Artificial Intelligence: Progress in AI, p. 174186
Steunebrink, B. R. and Dastani, M. and Meyer, J. J. C., (2008), "A Formal Model of
Emotions: Integrating Qualitative and Quantitative Aspects"
Teasdale, J., (1999), "Multi- level theories of emotion", Handbook of cognition and emotion,
Chichester: Wiley
Tomaz, C. and Giugliano, L. G., (1997), "A razo das emoes: um ensaio sobre O erro de
Descartes", Estudos de Psicologia (Natal), v. 2, p. 407411.
Velsquez, J., (1998a), "Modeling emotion-based decision-making", Emotional and
Intelligent: The Tangled Knot of Cognition, p. 164169.
Velsquez, J. D., (1996), Cathexis: a computational model for the generation of emotions and
their influence in the behavior of autonomous agents, MIT Disponvel em:
<http://dspace.mit.edu/handle/1721.1/10651>.
Velsquez, J. D., (1998b), "When robots weep: emotional memories and decision- making".
In: Proceedings Of The National Conference On Artificial Intelligence, p. 7075
De Weerdt, M. and Zhang, Y. and Klos, T., (2007), "Distributed task allocation in social
networks". In: Proceedings of the 6th international joint conference on Autonomous
agents and multiagent systems, p. 76:176:8, New York, NY, USA.
Wilson, R. A. and Keil, F. C., (1999), The MIT Encyclopedia of Cognitive Sciences.
Cambridge, Massachusetts, USA, MIT Press.
Wilson, S. W., (1991), "The Animat Path to AI". In: From animals to animatsProcedings of
the First Conference on Simulation of Adaptive Behavior, p. 1521, Cambridge,
Massachusetts, USA.
Wooldridge, M., (2009), An Introduction to MultiAgent Systems. 2nd ed. West Sussex,
England, John Wiley & Sons.

152

Anexo A Diagrama de Arquitetura de Agentes


Vamos definir um diagrama de descrio de arquitetura dos agentes. Nossa motivao
para definir tal diagrama veio de uma observao sobre a literatura levantada: no existe um
padro largamente aceito e definido formalmente para a descrio de arquiteturas de agentes.
Porm existe uma tendncia a utilizar diagramas derivados do diagrama de fluxo de dados
e/ou do diagrama de atividades da UML, normalmente constitudos pelo relacionamento entre
entidades funcionais e bases de dados (Bordini et al. 2007, Hernndez et al. 2004, Jiang and
Vidal 2006, Meneguzzi et al. 2004, Neto 2010, Pereira et al. 2005, Wooldridge 2009). Este
tipo de diagrama acaba sendo um padro de facto. Devido a isto, nossa proposta nada mais
do que uma formalizao deste modelo que j so adotados informalmente.
O diagrama composto por duas entidades bsicas, chamadas funes e bases de
dados. As funes so entidades que realizam modificaes em dados e podem receber de 0
(zero) a N (vrias) bases de dados como entrada e gerar um novo conjunto de dados para
serem depositados em 1(uma) ou N (vrias) bases de dados. Tambm se pode considerar que
uma funo pode receber dados de uma fonte, por exemplo: uma funo de percepo
recebe dados no de uma base, mas do ambiente. Neste caso, o ambiente uma fonte de
dados. As bases contm um conjunto de elementos de um tipo especfico. Uma funo, por
padro, sempre substitui o contedo de uma base por inteiro, salvo quando dito o contrrio.
Pode-se descrever as bases por seu nome, comeando com a primeira letra da palavra
em maiscula (como, por exemplo, Belief) ou simplesmente as primeiras letras que diferem
seu nome das demais bases (como B). J as funes podem ser descritas pela forma f : X1 ,
X2 ,..., Xn Y1 , Y2 ,..., Ym , onde f o nome da funo, X1 , X2 ,..., Xn so as bases que so usadas
como parmetro de f e Y1 , Y2 ,..., Ym so as bases que so alteradas por f.
Estas entidades se relacionam atravs de setas direcionadas. Quando uma seta parte
de uma funo e vai a uma base, indica que a funo altera o contedo da base. Quando uma
seta parte de uma base em direo a uma funo, indica que a base parmetro da funo.
Quando uma seta parte de uma funo e vai a outra funo, indica aps a execuo da

153

primeira, ser executada a segunda. No pode existir uma seta que parta de uma base e v
para outra base.
Existem duas entidades especiais chamadas de ponto inicial e ponto final. O ponto
inicial indica onde comea o fluxo de execuo e o final onde termina. Elas so representadas
por um ponto preto preenchido e por um ponto preto preenchido com um crculo preto em
volta, respectivamente.
Os relacionamentos entre funes e entre os pontos iniciais e finais podem ter como
descrio o nome de um tipo de dado por exemplo P que indica um tipo de dado que
passado de uma funo a outra. Isto equivalente a dizer que existe uma base de dados
oculta que armazena os dados temporariamente de uma funo a outra. Quando esta descrio
est em um relacionamento partindo de um ponto inicial, indica que antes do incio o fluxo
recebeu dados de algum que o chamou externamente. E em um relacionamento indo para um
ponto final indica que a ltima funo gerou dados que devem ser oferecidos a quem chamou
este fluxo.
Existe uma funo especial chamada ponto de deciso que indica que naquele local o
sistema deve decidir, em tempo de execuo, qua l outra funo ser a prxima. Esta funo
pode receber parmetros como as outras, mas no pode alterar as bases. Nos diagramas podese no indicar quais bases influenciam esta funo, para simplificar a descrio. Tambm, nos
relacionamentos para as funes posteriores, pode-se adicionar um texto descrevendo a
condio para que aquele caminho seja seguido. Entretanto, obrigatrio que se siga por um e
somente um caminho.
Quando for preciso bifurcar o fluxo de execuo em dois independentes usa-se a
barra de sincronizao, cuja semntica similar a do diagrama de atividades: uma seta
direcionada parte de uma funo em direo a um dos lados da barra. Do outro lado partiro
outras duas ou mais setas representando os fluxos independentes. Quando for preciso juntlos novamente, as setas do final do fluxo incidiro sobre um lado de outra barra, e no outro
lado desta barra partir uma nica seta, unificando os fluxos anteriores.
Uma funo composta uma funo composta por outras sub- funes ou sub-bases.
Para representar isto usaremos um retngulo representando a funo composta em si que
conter em seu interior os retngulos de suas sub-funes e/ou os cilindros de suas sub-bases.
O incio e o fim do fluxo dentro desta funo sero representados por pontos inic iais e finais,
respectivamente.
Outra forma de representar uma funo composta por outra usar uma seta-losango
(similar ao relacionamento de composio da UML), onde a funo do lado do losango

154

composta pela outra do outro lado. A diferena desta representao em relao a anterior
que ela perde a ordem de execuo das funes que compe a funo composta.
s vezes preciso dizer que uma funo equivale a outra (ou outras). Quando isto
ocorre dizemos que estamos mapeando uma funo em outra(s) e existe uma funo
mapeada que mapeada em outra funo alvo.
Para representar isto graficamente, desenhamos a funo mapeada como uma funo
qualquer (retngulo arredondado) e desenhamos em volta dela outro retngulo tracejado que
representa a funo alvo. Pode-se mapear uma funo em uma ou mais outras, desde que parte
do retngulo da funo mapeada esteja dentro das outras funes alvo.
Quando, semanticamente, conseguimos mapear todas as responsabilidades de uma
funo em outra, dizemos que este mapeamento um mapeamento completo, caso contrrio,
o mapeamento incompleto. Para representarmos isto, devemos desenhar uma faixa diagonal
no canto superior esquerdo do retngulo da funo alvo.
Nome

Imagem

Retngulo arredondado
Cilindro

Descrio
Funo f
Base de dados do tipo Data (D)

Relacionamento f para D

Funo f alterar a base D

Relacionamento D para f

Base D serve de parmetro para a funo f

Relacionamento f para f

Funo g executada aps a funo f

Ponto inicial

Ponto onde comea o fluxo do diagrama

Ponto final

Ponto onde termina o fluxo do diagrama

Ponto de deciso

Especifica uma condio para decidir entre


dois fluxos posteriores

Barra de sincronizao

Determina a bifurcao e juno de fluxos de


execuo

Funo composta
Seta-losango de
g para f
Base de Dados oculta
Retngulo tracejado
Faixa diagonal

Funo f composta por outras


Funo f composta por funo g
D uma base de dados temporria que
armazena a sada de f e para ser entrada em g
Funo alvo
Funo f mapeada incompletamente
Tabela 20: Figuras usadas no diagrama