Skip to content

Add Axelrod Culture Model example#367

Open
Punya-B-R wants to merge 5 commits intomesa:mainfrom
Punya-B-R:add-axelrod-culture
Open

Add Axelrod Culture Model example#367
Punya-B-R wants to merge 5 commits intomesa:mainfrom
Punya-B-R:add-axelrod-culture

Conversation

@Punya-B-R
Copy link

Summary

Adds an implementation of Axelrod's Culture Model, a classic ABM where agents on a grid hold multi-feature cultural profiles and interact with neighbors based on cultural similarity, producing emergent cultural regions.

Motive

Mesa examples currently focus on spatial and epidemic models. This example demonstrates a culturally-driven diffusion process with continuous interaction probabilities, adding diversity to the example set.

Implementation

  • agents.py: CultureAgent holds F cultural features each with Q possible traits. Agents interact with a random neighbor with probability equal to their cultural similarity, copying one differing trait if interaction occurs.
  • model.py: OrthogonalVonNeumannGrid setup, random culture initialization, cultural region tracking via BFS flood fill.
  • app.py: Solara visualization with a color-coded culture grid and region count over time.

Usage Examples

Run with: solara run app.py

Key parameters:

  • F (features): higher F leads to faster convergence
  • Q (traits per feature): higher Q leads to more fragmentation

Additional Notes

Reference: Axelrod, R. (1997). The dissemination of culture: A model with local convergence and global polarization. Journal of Conflict Resolution, 41(2), 203-226.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant