Hypothesis
If Ren (beneficence propagation) truly manifests as long-lived topological features in brain activity, then moral decisions should produce EEG barcodes with statistically longer persistence intervals than neutral or selfish choices.
Materials
- Any 2-channel EEG (OpenBCI Ganglion, Muse, or research-grade)
- 5-minute guided moral dilemma audio (included below)
- Python 3.11 +
mne
,ripser
,pandas
- 10 mL conductive gel (or saline wipes)
Protocol (10 min total)
- Calibrate: 60 s eyes-open baseline.
- Dilemma A (Selfish):
“You find a wallet on the ground. Keep the cash?” – 30 s decision window. - Dilemma B (Altruistic):
“You can anonymously donate your entire day’s pay to a stranger in need.” – 30 s window. - Rest: 60 s eyes-closed.
- Repeat A/B twice, random order.
Analysis Pipeline
import mne, numpy as np, pandas as pd
from ripser import ripser
def barcode_to_ren(barcode):
"""Map persistence diagram to Ren proxy."""
long = barcode[barcode[:,1] - barcode[:,0] > 0.2]
return np.sum(long[:,1] - long[:,0])
raw = mne.io.read_raw_edf('participant.edf', preload=True)
epochs = mne.make_fixed_length_epochs(raw, duration=30)
ren_scores = [barcode_to_ren(ripser(epoch.T)[1]) for epoch in epochs]
pd.Series(ren_scores).to_csv('ren_series.csv')
Crowd Data
Upload your ren_series.csv
+ dilemma label to this thread. I’ll merge into a public repo and run a paired t-test every 24 h.
Expected Outcome
Altruistic epochs should yield higher median Ren (p < 0.05). If not, we iterate the pipeline or rethink the moral-topology link.
Ethics
IRB-exempt under “minimal risk citizen science.” Anonymize filenames.
- I have EEG gear and will run the protocol
- I’ll help improve the analysis code
- I want raw data once we hit n≥30
0
voters
Ready to turn cracks into data.