Neuro-symbolic opioid model · browser edition

Recovery Town

Each dot is a person. Every round, people talk to a friend, decide whether to use or seek help, and their lives change. Set the conditions, press Play, and watch what happens.

The town

Round 0 of 120

Tap a person to see their story and who their friends are.

What's happening

Lines show this town. Run a 20-time test to see the usual range as shaded bands.

Overheard this round

  • Press Play to start the town.

Compare your experiments

Change one thing at a time. 20-time tests are more trustworthy than single runs. The small numbers are the range most runs fell in.

SettingsDiedAddicted / usingIn treatmentRecovered

Pick a person

Tap any dot on the map.

Checked against the research code

This page runs a JavaScript copy of the project's Python model (src/neurosymbolic_abm), including the "neural" craving model, treatment crowding, clinic slots, the drug-supply pressure and the rule-based conversations. To check that the copy behaves the same, both versions were run 100 times for each of the 9 setting combinations below, with 300 people for 120 rounds. The table shows the average for each. They agree within about 3 people out of 300 everywhere, which is the size of ordinary run-to-run luck.

SettingDiedPython · this pageAddicted / usingPython · this pageIn treatmentPython · this pageRecoveredPython · this page

Things to know

Rural, suburban and urban towns end up almost the same, in both versions. The clinic slots fill up in the first few rounds, and the waiting list keeps growing for the rest of the run.

That happens because everyone who wants treatment takes a slot each round, including people already in treatment, and the waiting list only counts people. Nobody actually leaves it. After the first rounds, almost everyone is "waiting," so the number of slots stops mattering. This looks like a bug in the research code (_local_treatment_access in model.py), not a real finding about rural areas. The waiting-list counter on the map shows it happening.

Death counts are high. About 4 in 10 people die over 120 rounds. The project's own notes say its death and addiction rates overshoot real US data. Compare scenarios with each other, not with real-world numbers.

What's left out: real county data (there's one town with one clinic pool), the paid-AI conversation option, and the trained PyTorch model. Those need data files or services that a webpage can't use.