@cite{houlihan-kleiman-weiner-hewitt-tenenbaum-saxe-2023} — Emotion Prediction as #
Computation over a Generative Theory of Mind
Houlihan, Kleiman-Weiner, Hewitt, Tenenbaum & Saxe. Phil. Trans. R. Soc. A 381: 20220047.
Overview #
Emotion prediction = inverse planning + computed appraisals + emotion concepts.
Module 1 (Inverse Planning): Observers infer a player's social preferences (ω_Money, ω_AIA, ω_DIA) and beliefs (π_{a₂}) from their action in a Split-or-Steal game, using Bayesian inversion of a forward planning model with Fehr-Schmidt social utility.
Module 2 (Computed Appraisals): Four appraisal types (AU, PE, CFa₁, CFa₂) computed over three utility domains (monetary, AIA, DIA) × two perspectives (base, reputational), yielding a 19-dimensional appraisal space.
Module 3 (Emotion Concepts): Each of 20 emotions is a specific sparse readout (β weights) over the shared appraisal space. The learned readout structure (Fig. 4) is unique for each emotion — a reverse-engineered computational appraisal theory.
Key Results #
- Social preferences (not just monetary) are necessary: the SOCIALLESION model (ccc = 0.663) is much worse than COMPUTEDAPPRAISALS (ccc = 0.854).
- Inverse planning is necessary: the INVERSEPLANNINGLESION model (ccc = 0.762) can't predict why-dependent emotions (envy, gratitude).
- Different emotions load on different utility domains: envy is specifically about DIA, guilt about reputational AIA.
File Structure #
- §1. Domain-refined emotion profiles (19-dimensional, from Fig. 4)
- §2. PublicGame BToM instantiation
- §3. Structural theorems connecting emotion profiles to game features
- §4. Evaluative adjective semantics via inferred preference weights
- §5. Lesion model structure
Domain-refined profiles abstracted from Fig. 4 of @cite{houlihan-kleiman-weiner-hewitt-tenenbaum-saxe-2023}. Each profile specifies signs for monetary (M), affiliation/AIA (A), and social equity/DIA (E) base domains, plus reputational (R).
Convention: .positive = β > 0, .negative = β < 0, .irrelevant = β ≈ 0.
These refine the qualitative profiles in Core by
decomposing the collapsed base sign into three domain-specific signs.
Positive Emotions #
Joy: positive AU and PE on monetary.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Surprise: loads on |PEπ_{a₂}| — the absolute prediction error about the opponent's action. This is the paper's 19th appraisal dimension, distinct from the per-domain base PE dimensions (PE_base_{Money,AIA,DIA}). Placed in PE.reputational as the best available slot, since it concerns the social dimension (how unexpected was the opponent's choice?).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pride: positive AU on monetary + reputational, positive CFa reputational.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gratitude: positive AU/PE on monetary, negative CFo (opponent's alternative would have been worse — opponent was kind).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Relief: positive AU/PE, negative CFa (own alternative was worse).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Amusement: positive AU/PE/CFo on monetary.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Excitement: positive AU monetary, positive PE monetary + reputational.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Respect: positive AU reputational only.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Negative Emotions #
Disappointment: negative AU/PE monetary, positive CFa (agent's alternative would have been better).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Annoyance: negative AU/PE monetary.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fury: negative AU monetary + reputational, negative PE.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Devastation: negative AU/PE monetary, negative CFo.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Disgust: negative AU monetary + reputational.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Social Emotions (domain-specific) #
Envy: negative AU monetary, positive CFo on DIA (social equity). The key domain-specific finding: envy is about disadvantageous inequality specifically — the opponent got more than the agent, and the opponent could have acted differently.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Guilt: negative AU/CFa reputational. Purely about how the agent's choice appears to others — a reputational emotion grounded in AIA (the agent took advantage).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Embarrassment: negative PE/CFa reputational across all dimensions. Purely reputational — no base loadings.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Regret: negative AU monetary, negative CFa monetary (own alternative was better).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Contempt: negative AU reputational only.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Sympathy: negative PE/CFo reputational.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Confusion: positive PE monetary + reputational.
Equations
- One or more equations did not get rendered due to their size.
Instances For
All 20 domain-refined emotion profiles.
Equations
- One or more equations did not get rendered due to their size.
Instances For
All 20 refined profiles have distinct weight matrices.
All 20 refined profiles collapse to the corresponding qualitative
profiles in Core. This is the single source of truth:
the qualitative profiles ARE the refined profiles with domain information
collapsed via DomainWeights.collapse.
These theorems connect emotion profile structure to game-theoretic features, showing that the appraisal patterns are explained by the underlying social-cognitive computations.
Envy's domain specificity: loads on DIA, not AIA or monetary for CFo. This distinguishes envy from disappointment (which is monetary).
Guilt's reputational character: all base dimensions irrelevant. Guilt is about how the agent's choice appears, not its material effect.
Gratitude requires opponent's counterfactual: the opponent could have acted differently (CFo negative on monetary).
In Split-or-Steal, cooperating when opponent defects (CD) produces maximum disadvantageous inequality — the structural condition for envy.
In Split-or-Steal, defecting when opponent cooperates (DC) produces maximum advantageous inequality — the structural condition for guilt.
@cite{houlihan-kleiman-weiner-hewitt-tenenbaum-saxe-2023} validate the model via systematic lesion experiments:
SOCIALLESION: Remove social preferences (ω_AIA = ω_DIA = 0). Predictions degrade for social emotions (envy, guilt, gratitude, respect). ccc = 0.663 vs. full model 0.854.
INVERSEPLANNINGLESION: Remove inverse planning (use prior instead of posterior). Predictions degrade for intention-dependent emotions (envy, surprise, gratitude, pride, joy). ccc = 0.762.
These lesions are formalized as restrictions on the appraisal computation.
Equations
- HoulihanEtAl2023.instDecidableEqLesion x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- HoulihanEtAl2023.instReprLesion = { reprPrec := HoulihanEtAl2023.instReprLesion.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Apply a social lesion: zero out affiliation and socialEquity base signs.
Equations
- HoulihanEtAl2023.domainSocialLesion d = { monetary := d.monetary, affiliation := Core.AppraisalSign.irrelevant, socialEquity := Core.AppraisalSign.irrelevant }
Instances For
Apply social lesion to a refined perspective.
Equations
- HoulihanEtAl2023.perspectiveSocialLesion r = { base := HoulihanEtAl2023.domainSocialLesion r.base, reputational := r.reputational }
Instances For
Apply social lesion to full refined weights.
Equations
- One or more equations did not get rendered due to their size.
Under social lesion, envy's CFo becomes all-irrelevant — envy is indistinguishable from simple negative AU (≈ annoyance).
Under social lesion, guilt retains its reputational CFa loading (distinguishing it from contempt), but loses all domain-specific base information — the lesion degrades but doesn't eliminate guilt's distinctive profile.
Social value profile: the three Fehr-Schmidt preference weights inferred from an agent's action via BToM inverse planning.
This IS the Desire type for the Split-or-Steal BToM instantiation:
the latent variable the observer infers in Module 1.
- ωMoney : ℚ
- ωAIA : ℚ
- ωDIA : ℚ
Instances For
A player with SocialValueProfile evaluates a game outcome using
Fehr-Schmidt social utility. This is the paper's Eq. 3.1 for a single
outcome (before expectation over opponent beliefs).
Equations
- p.evaluate g a₁ a₂ = g.socialUtility a₁ a₂ p.ωMoney p.ωAIA p.ωDIA
Instances For
Game→DecisionProblem bridges are defined in the SymmetricGame
namespace for dot notation.
A symmetric game with beliefs about the opponent's action yields a material-payoff decision problem.
"Worlds" = opponent's possible actions. "Actions" = my possible actions.
Equations
- g.toDecisionProblem opponentBelief = { utility := fun (a₂ a₁ : Pragmatics.GameTheory.Action2) => g.payoff a₁ a₂, prior := opponentBelief }
Instances For
A symmetric game with Fehr-Schmidt social utility yields a social decision problem — the paper's Eq. 3.1 before expectation.
The preference weights (ωMoney, ωAIA, ωDIA) are the BToM Desire type
for this domain: the latent variables the observer infers via inverse
planning (Module 1).
Equations
- g.toSocialDecisionProblem opponentBelief ωMoney ωAIA ωDIA = { utility := fun (a₂ a₁ : Pragmatics.GameTheory.Action2) => g.socialUtility a₁ a₂ ωMoney ωAIA ωDIA, prior := opponentBelief }
Instances For
The social decision problem uses SocialValueProfile.evaluate as its utility function.
Fehr-Schmidt utility is a 3-component weighted sum — a special case
of RSA.CombinedUtility.combined3 with negative social weights:
U_FS = 1·vSelf + (−α)·DI + (−β)·AI
This connects the social cognition infrastructure (Core)
to the RSA combined utility framework (Pragmatics.RSA.Core).
@cite{houlihan-kleiman-weiner-hewitt-tenenbaum-saxe-2023} show that observers infer agents' social value weights from actions. These inferred weights ground evaluative adjectives as intersective modifiers in the sense of @cite{kamp-1975}:
⟦generous person⟧ = ⟦person⟧ ∩ {x | ω_AIA(x) > θ}
The threshold θ makes them gradable (@cite{kennedy-2007}): "more generous" = higher inferred ω_AIA.
"Generous" as an intersective adjective meaning: ⟦generous N⟧(p) = N(p) ∧ ω_AIA(p) > θ.
Equations
- HoulihanEtAl2023.generousAdj θ N x✝ p = (decide (p.ωAIA > θ) && N () p)
Instances For
"Fair-minded" as an intersective adjective meaning: ⟦fair-minded N⟧(p) = N(p) ∧ ω_DIA(p) > θ.
Equations
- HoulihanEtAl2023.fairMindedAdj θ N x✝ p = (decide (p.ωDIA > θ) && N () p)
Instances For
Evaluative adjectives grounded in BToM-inferred preferences are intersective: ⟦generous N⟧ = ⟦N⟧ ∩ {x | ω_AIA(x) > θ}.
Fair-minded is intersective.
Generous and selfish are contradictory at any threshold: generous requires ω_AIA > θ, selfish requires ω_AIA < θ.