Skip to main content

Network Reciprocity

Status

Python-backed. This page describes the moran_models/nowak_mechanisms/network_reciprocity/ package in the sibling EvolvedCooperation repository. It is not yet a browser replay case study.

Network reciprocity is cooperation sustained by population structure. When interactions are restricted to a local neighborhood rather than the whole population, cooperators can form clusters that shield each other from exploitation by defectors — the network does the work that memory or reputation does in reciprocity models.

How It Is Implemented Here

The positive routing kernel is uniform over local grid neighbors with no additional bias. The mechanism relies entirely on the spatial grid structure: the von Neumann or Moore neighborhood restricts who receives cooperative benefit and who competes for reproduction. Cooperator clusters that form through local reproduction maintain higher average fitness within the cluster than the surrounding population, allowing the cluster to expand.

There is no memory, reputation, or lineage bias — the only structural ingredient is the local neighborhood.

Key Parameters

ParameterDefaultRole
positive_kernel_mode"uniform"Uniform routing over local neighbors
initial_identity_count1Number of distinct initial lineage identities
B_plus_scale1.0Scales cooperative benefit produced per unit trait
C_scale0.2Private cost per unit trait

Python Module Layout

moran_models/nowak_mechanisms/network_reciprocity/
__init__.py
network_reciprocity_model.py
network_reciprocity_pygame_ui.py
config/
network_reciprocity_config.py

Usage

./.conda/bin/python -m moran_models.nowak_mechanisms.network_reciprocity.network_reciprocity_model

Live viewer:

./.conda/bin/python -m moran_models.nowak_mechanisms.network_reciprocity.network_reciprocity_pygame_ui

References