Architecture developed

A cognitive architecture integrating emotions and social relations

The architecture developed for the ACTEUR project aims at creating easily agents simulating humans. To do so, we have build an architecture with a cognitive part, an emotional feature and dealing with social relations.

  • The cognitive part of our architecture is based on the BDI paradigm in which agents have a belief base, a desire base and an intention base to store the cognitive states about the world. We also use a base for uncertain beliefs that are expected, called the uncertainty base, and used to create emotions about expected facts.

    To represent this knowledge, we use predicates. A predicate unifies the representation of the information about the world so it can represent a situation, an event or an action. As the goal of this work is to create emotions from cognition about events and values of actions from other agents, we represent an information P caused by an agent i with a praiseworthiness value of pr by Pi,pr. The praiseworthiness value can be positive (in this case, the information P is praiseworthy) or negative (in this case, the information P is blameworthy). A predicate Pi represents an information caused by an agent i with any praiseworthiness value and a predicate P represents an information caused by any agent with any praiseworthiness value. We represent the opposite of a predicate P by not P. Depending on the storage base, a predicate can be considered as a belief, an uncertain belief or a desire and it is represented as follows:
    • Beliefi(P): indicates that the predicate P belongs to the belief base of the agent i.
    • Expecti(P): indicates that the predicate P belongs to the uncertainty base of the agent i.
    • Desirei(P): indicates that the predicate P belongs to the desire base of the agent i.
  • For the definition of emotion, we base our work on the OCC theory of emotions. According to this theory, an emotion is a valued answer to the appraisal of a situation. As we use emotions to update dynamically social relations, our definition of an emotion also needs to contain the agent causing the emotion. With this definition, we represent an emotion by Ei(P,A,I,D) with the following elements :
    • Ei: the name of the emotion felt by agent i.
    • P: the predicate that represents the fact about which the emotion is expressed.
    • A: the agent causing the emotion.
    • I: the intensity of the emotion.
    • D: the decay of the emotion's intensity.
  • Based on the work of Svennevig, we define a social link with another agent as a tuple (agent, liking, dominance, solidarity, familiarity) with the following elements:
    • Agent: the agent concerned by the link, identified by its name.
    • Liking: a real value between -1 and 1 representing the degree of liking with the agent concerned by the link. A value of -1 indicates that the concerned agent is hated, a value of 1 indicates that the concerned agent is liked.
    • Dominance: a real value between -1 and 1 representing the degree of power exerted on the agent concerned by the link. A value of -1 indicates that the concerned agent is dominating, a value of 1 indicates that the concerned agent is dominated.
    • Solidarity: a real value between 0 and 1 representing the degree of solidarity with the agent concerned by the link. A value of 0 indicates no solidarity with the concerned agent, a value of 1 indicates a complete solidarity with the concerned agent.
    • Familiarity: a real value between 0 and 1 representing the degree of familiarity with the agent concerned by the link. A value of 0 indicates no familiarity with the concerned agent, a value of 1 indicates a complete familiarity with the concerned agent.
  • We base the automatic creation of emotions according to the mental states of the agent on the OCC model and its logical formalism which has been proposed to integrate the OCC model in a BDI architecture. The twenty emotions defined in this architecture can be divided into three parts: eight emotions related to events, four emotions related to other agents and eight emotions related to actions.

    The eight emotions related to events have the following definition:
    • Joyi(Pj,j) = Beliefi(Pj) & Desirei(P)
    • Sadnessi(Pj,j) = Beliefi(Pj) & Desirei(not P)
    • Hopei(Pj,j) = Expecti(Pj) & Desirei(P)
    • Feari(Pj,j) = Expecti(Pj) & Desirei(not P)
    • Satisfactioni(Pj,j) = Hopei(Pj,j) & Beliefi(Pj)
    • Disappointmenti(Pj,j) = Hopei(Pj,j) & Beliefi(not Pj)
    • Reliefi(Pj,j) = Feari(Pj,j) & Beliefi(not Pj)
    • Fear confirmedi(Pj,j) = Feari(Pj,j) & Beliefi(Pj)
    On top of that, according to the logical formalism, four rules can be defined:
    • The creation of fear confirmed or the creation of relief will replace the emotion of fear.
    • The creation of satisfaction or the creation of disappointment will replace a hope emotion.
    • The creation of satisfaction or relief leads to the creation of joy.
    • The creation of disappointment or fear confirmed leads to the creation of sadness.
    The four emotions linked to other agents have the following definition:
    • Happy fori(P,j) = i likes j & Joyj(P)
    • Sorry fori(P,j) = i likes j & Sadnessj(P)
    • Resentmenti(P,j) = i hates j & Joyj(P)
    • Gloatingi(P,j) = i hates j & Sadnessj(P)
    The terms "i likes j" and "i hates j" have the following definitions:
    • i likes j: agent i has a social relation with agent i with a positive liking value.
    • i hates j: agent i has a social relation with agent i with a negative liking value.
    Finally, the eight emotions linked to actions performed by agents have the following definition:
    • Pridei(Pi,i) = Beliefi(Pi) & Pi praiseworthy
    • Shamei(Pi,i) = Beliefi(Pi) & Pi blameworthy
    • Admirationi(Pj,j) = Beliefi(Pj) & Pj praiseworthy
    • Reproachi(Pj,j) = Beliefi(Pj) & Pj blameworthy
    • Gratificationi(Pi,i) = Pridei(Pi,i) & Joyi(Pi)
    • Remorsei(Pi,i) = Shamei(Pi,i) & Sadnessi(Pi)
    • Gratitudei(Pj,j) = Admirationi(Pj,j) & Joyi(Pj)
    • Angeri(Pj,j) = Reproachi(Pj,j) & Sadnessi(Pi)
    The terms "praiseworthy" and "blameworthy" have the following definitions:
    • praiseworthy: indicates that the fact P has a positive praiseworthiness value.
    • blameworthy: indicates that the fact P has a negative praiseworthiness value.
  • We integrate in our architecture a social engine that updates the social links of an agent according to its cognitive and emotive states. In the following, we study the update of the social link (j,Liking,Dominance,Solidarity,Familiarity) possessed by agent i. Each variable of this social link evolves according to its own rule.
    • Liking: according to Ortony , the degree of liking between two agents depends on the valence (positive or negative) of the emotions induced by the corresponding agent. In our model, joy and hope are considered as positive emotions (satisfaction and relief automatically raise joy in our engine) while sadness and fear are considered as negative emotions (fear confirmed and disappointment automatically raise sadness in our engine). This evolution is made by a fixed level for each positive or negative emotion involved. Thus, the evolution is not related to the intensity of the concerned emotions as our engine creates emotions without intensities. Moreover, some works have shown that the degree of liking is influenced by the solidarity value. The computation rule can be formalized as follows with nbPE(t) the number of positive emotions caused by agent i to agent i at time t, nbNE(t) the number of negative emotions caused by agent i to agent i at time t and &alpha the evolution coefficient between 0 and 1:
      liking(t+1)=liking(t)*(1+solidarity(t))+&alpha*(nbPE(t+1)-nbNE(t+1))
    • Dominance: Keltner and Haid explain that an emotion of fear or sadness caused by another agent represents an inferior status. But Knutson explains that perceiving fear and sadness in others increases the sensation of power over those persons. The computation rule can be formalized as follows with nbONE(t) the number of negative emotions caused by agent i to agent i at time t and nbSNE(t) the number of negative emotions caused by agent i to agent i at time t:
      dominance(t+1)=dominance(t)+&alpha*(nbONE(t+1)-nbSNE(t+1))
    • Solidarity: the solidarity represents the degree of similarity of desires, beliefs and expectations between two agents. In our work, the evolution of the solidarity value depends on the ratio of similarity between the desires, beliefs and uncertainties between agent i and agent j. We compare the desire, belief and uncertainty bases of the two agents and look for similarities and differences. On top of that, according to de Rivera and Grinkis, negative emotions tend to decrease the value of solidarity between two people. The computation rule can be formalized as follows with nbS(t) the number of similarities at time t and nbD(t) the number of differences at time t:
      solidarity(t+1)=solidarity(t)+&alpha(nbS(t+1)-nbD(t+1)-nbNE(t+1))
    • Familiarity: In psychology, emotions and cognition do not seem to impact the familiarity. However, Collins and Miller explain that people tend to be more familiar with other people they appreciate. We model this notion by basing the evolution of the familiarity value on the liking value between two agents. The computation rule can be formalized as follow:
      familiarity(t+1)=familiarity(t)*(1+liking(t+1))