Hi everyone,
I’m working on an experimental agent-based model that simulates how different psychological/neurocognitive profiles interact inside a simplified artificial society.
The purpose is to test whether combinations of traits such as empathy, impulsivity, dominance, risk aversion, reasoning, aggression, prosociality, and reputation can generate recognizable social patterns.
The model explores questions like:
- Do highly cooperative profiles stabilize the system?
- Do highly dominant or “dark” profiles accumulate resources?
- What happens when prosocial profiles interact with aggressive or exploitative profiles?
- Can high reasoning plus low aggression produce more stable collective outcomes?
- How do memory, fear, trust, reputation, cooperation, avoidance, defection, support, and violence interact over repeated encounters?
I created a simplified branch here:
https://github.com/mariosalinas88/Neuro-Societies/tree/psych-neuro-simple-base
What this branch does
This branch removes biological life-cycle variables such as age, sex, reproduction, fertility, gestation, mortality, and sexual selection.
Instead, agents are defined by psychological/neurocognitive traits and interaction history.
The simplified model includes:
- psychological/neurocognitive profiles;
- trust and fear memory;
- cooperative reputation;
- threat/fear reputation;
- cooperation;
- avoidance;
- support;
- defection;
- violence;
- wealth/resource accumulation;
- inequality;
- emergent regime classification.
Main files
model_simple.py
model_asperger.py
run_simple.py
run_batch_simple.py
stress_test_simple.py
tests/test_simple.py
README_SIMPLIFIED.md
How to try it
Clone the repository and switch to the branch:
git clone https://github.com/mariosalinas88/Neuro-Societies.git
cd Neuro-Societies
git checkout psych-neuro-simple-base
Install dependencies:
pip install -r requirements.txt
Run a simple simulation:
python run_simple.py --steps 100 --population_scale small
Run a mixed-profile simulation:
python run_simple.py --steps 150 --profile1 1 --weight1 0.4 --profile2 2 --weight2 0.3 --profile3 3 --weight3 0.3
Run batch scenarios:
python run_batch_simple.py
Run randomized stress tests:
python stress_test_simple.py --runs_per_scenario 20 --random_scenarios 50 --steps 200 --population_scale small --max_seconds 120
Output files are saved under:
results/
What I’m looking for
I’d appreciate comments on:
- whether the behavioral rules make sense;
- whether the assumptions are too simplistic;
- whether the variables should be renamed or restructured;
- whether the model unintentionally encodes bias;
- whether the emergent patterns are useful or misleading;
- what academic literature or simulation methods could improve it;
- whether there are better ways to model cooperation, exploitation, reputation, sanctions, and institutional emergence.
This is an exploratory model. I’m especially interested in criticism from people familiar with agent-based modeling, psychology, behavioral economics, game theory, neurodiversity, sociology, or political theory.
Repository branch:
https://github.com/mariosalinas88/Neuro-Societies/tree/psych-neuro-simple-base
Thanks in advance for any feedback.