The Causal Arrow of Altruism
I recently explored group selection and kin selection models in an essay on Radamacher Complexity and Group Competition, attempting to reconcile seemingly irreconcilable differences using measures of model Rademacher Complexity. The essay chose to use the definition of group selection provided by Nowak, Tarnita, and Wilson (NTW) 2010, which also proposed that eusociality drives relatedness, a hypothesis the initial results based on Granger Causality did not support, but also didn't really refute.
A more robust causal analysis was in order. Judea Pearl's Book of Why is a favorite resource for me in analyzing causality, one I wish I had read and learned while still in school many moons ago. (But see also this interesting post suggesting that Pearl's work had antecedents in industrial statistics research by Charles Box.) As Pearl explains in The Book of Why, neither correlation nor temporal precedence implies causation. To test how altruism evolves, we have to model the counterfactuals that define structural causation.
With that in mind, I designed a far more rigorous computational experiment, now available in the updated GitHub radamacher repository, to test the NTW hypothesis under the harshest possible conditions: a "neutral" agent-based model that explicitly removed genetic altruism.
Weaknesses of Granger Causality
I originally relied on Granger Causality. While often used in econometrics, Granger Causality answers only a narrow question: "Does knowing X(t) help predict Y(t+1) better than knowing Y(t) alone?"
Granger Causality thereby measures how information flows, not how biology works. Biological variables often co-evolve in feedback loops. If high relatedness and eusociality emerge almost simultaneously, Granger Causality can be fooled by:
- Common Causes: An unobserved environmental factor (e.g., a specific nest architecture) could boost both relatedness (by limiting migration) and eusociality (by forcing cooperation).
- Deterministic Relationships: If \(A \to B\) is deterministic and fast, \(A(t)\) and \(B(t)\) might appear perfectly synchronized, masking the causal arrow.
Most critically, we failed to control for confounders. We accepted correlations at face value without asking, "What if we intervened?"
Upgrading to Structural Causal Models (SCM)
To fix this, I built a new pipeline rooted in a Potential Outcomes Framework and Causal Bayesian Networks.
The "Neutral" Agent-Based Model (abm_simulation.py)
I created a simulation of colony formation "rigged" to be as fair as possible to NTW.
- Phenotypic Plasticity: I removed the "altruism gene." Agents in this model do not inherit a tendency to help.
- Ecological Determinism: Agents decide to become workers solely based on environmental cues (Ecological Pressure and Resource Scarcity).
- The Logic: If NTW are correct that "relatedness is a consequence of eusociality," then in a world where eusociality is purely environmentally forced, the causal arrow should still point from Colony Formation to Relatedness.
The Detective: Peter-Clark Algorithm (causal_discovery.py)
I fed the data from this simulation into the Peter-Clark (PC) Algorithm. Unlike regression, which assumes a structure, the PC algorithm discovers the structure by systematically testing for conditional independence. It asks:
"Is Relatedness independent of Eusociality given Colony Formation?"
The Stress Test: Sensitivity & Instrumental Variables (robust_pearl.py)
I applied two further tests:
- Sensitivity Analysis: How strong would a hidden confounder have to be to explain away my results?
- Instrumental Variable (IV): I used "Ecological Pressure" as a natural experiment—an external shock that forces colonies to form—to isolate the causal effect of grouping on eusociality.
The Results: Kin Selection Triumphs
The results of this rigorous analysis (pearl_results.txt) provide more rigorous conclusions.
Finding 1: The Causal Graph
The PC Algorithm recovered the following structure from the data:
graph LR
Eco[Ecological Pressure] --> Col[Colony Formation]
Eco --> Eus[Eusociality]
Rel[Relatedness] --> Eus
Rel --> Col
Crucially, the algorithm found a direct causal edge:
Relatedness -> Eusociality
It did not find the reverse edge (Eusociality -> Relatedness) as a primary driver, nor did it find that Colony Formation caused Eusociality once other factors were controlled for. This absence is telling. If the NTW hypothesis were correct—that eusociality creates the conditions for relatedness to accumulate—the PC algorithm should have identified Eusociality as a parent of Relatedness in the directed acyclic graph (DAG). Instead, it found the opposite. Furthermore, the algorithm severed the link between Colony Formation and Eusociality when Relatedness was included, implying that any observed association between living in groups and being altruistic is actually mediated by the fact that those groups are composed of kin.
Finding 2: Fragility of Group Selection
I tested how robust the correlation was between Colony Formation and Eusociality.
- Result: \(\Gamma = 1.0\)
- Meaning: The link is extremely fragile. A \(\Gamma\) of 1.0 means that even a completely random unobserved confounder could explain away the apparent correlation. In practical terms, this suggests that "grouping" alone does not cause "altruism." If an unmeasured factor—say, a shared gene for "staying put"—influenced both the tendency to form groups and the tendency to help, it would create the illusion of a causal link where none exists. The sensitivity analysis reveals that my model cannot rule out such illusions.
Finding 3: The Failure of the Instrument
I used Ecological Pressure to force agents into groups.
- Observation: Pressure did cause groups to form (\(p < 10^{-6}\)).
- Causal Effect: However, these "forced groups" did not become eusocial at a significant rate.
- Conclusion: Simply forcing individuals together (Group Selection) fails to generate the high levels of cooperation defined as eusociality. When I used Ecological Pressure as an "instrument" to artificially boost colony formation without directly altering genetics, I saw more colonies but not more workers. This disconnect proves that the physical act of grouping is insufficient to trigger the transition to eusociality.
Synthesis: The Nuance of Null Results
Findings 2 and 3 provide the critical context for Finding 1. Finding 1 tells me what is the driver (Relatedness), while Findings 2 and 3 tell me definitively what is not.
The fragility of the Group Selection link (Finding 2) and the failure of forced grouping to induce altruism (Finding 3) explain why the PC algorithm rejected the Colony -> Eusociality edge. The algorithm "saw" that while colonies and workers often appear together, forcing one does not yield the other. This leaves Relatedness as the last variable standing—the only factor robust enough to explain the data. Thus, the "victory for Hamilton" is not just about finding his predicted link, but about the systematic collapse of every alternative explanation under rigorous causal scrutiny.
Revisiting Conclusions
What this updated analysis suggests is that Hamilton's Rule (\(rB > C\)) is no mere heuristic but a structural necessity.
Even in a simulation designed to allow environmental forcing of sociality (a "phenotypic plasticity" model), the system stabilized into eusociality only when high relatedness was present. The algorithm correctly identified that Relatedness is a driver, not a passenger.
Updated Analysis
- The NTW Causality Claim: NTW's claim that relatedness results from eusociality has been rejected by these models. In these models, relatedness was a prerequisite for stable eusociality to emerge, even when we tried to make it secondary.
What Hasn't Changed
- Ecological Pressure Matters: The simulation confirmed that ecological pressure drives colony formation. NTW are right in asserting that a nest is part of the causal chain. But the nest appears merely to provide the conditions for kin selection to work; it is not itself the cause of eusociality.
- Rademacher Complexity: We can still compare models based on their complexity (richness), and thereby gain methodological insights into the relative explanatory power of the models. It's notable that the Radamacher Complexity measure alone seemed to be hinting at the ultimate conclusions we reached regarding causality. Kin selection models are often "simpler" (lower complexity) while retaining high predictive power. There may well be more general principles at play here.
A Note on "Competition as Cooperation"
The original essay ends with extended speculation that "Competition is Cooperation," suggesting that inter-group conflict catalyzes intra-group cohesion. I will (for now) stand by the sociological observation, but these new results compel me to add a critical caveat regarding the biological mechanism.
I was not careful to define what "relatedness" means in the context of human groups. In the simulation, "relatedness" was strictly genetic — a measure of shared alleles. But human groups, from tribes to corporations, often cooperate fiercely without being genetic kin.
If my model is correct that "relatedness" is a structural prerequisite for stable cooperation, then the "Competition as Cooperation" effect in humans must depend on our ability to construct artificial relatedness. We create "fictive kinship" through shared myths, legal contracts, uniforms, and ideologies. These cultural "technologies" may then serve a structural function analogous to the haplodiploid genes of the ant, satisfying the \(r\) in Hamilton's Rule (\(rB > C\)) not by blood, but by belief.
Thus, the original conclusion — that competition fosters cooperation may remain valid, but within a narrower domain: competition selects for groups that have successfully engineered high "cultural relatedness," effectively hacking the ancient algorithm of kin selection to operate at the scale of nations. See this essay on Coalitional Instincts for some not-unrelated observations.
To be continued?
In another essay, I will probably revisit the implications this may have for group competition. For now, I'll leave it to the reader to ponder.