The question
Can artificial-life simulations that include pleasure help explain sexual experience and behaviour across species? Even if orgasm is specific to mammals, simulating it can reduce uncertainty by analogy, add evidence on whether insects have subjective experience, and help understand and prevent sexual aggression.
Three ways to represent sentience
An agent has two parts: rules of behaviour (including memory) and a generator of experiences. The body and the environment feed both. With that structure, sentience can be represented in three ways:
| Case | Sentience | Related theory |
|---|---|---|
| 1 | Ignored: there is no experience layer. | Eliminativism |
| 2 | Present but without causal effect: an emergent epiphenomenon. | Monist emergentism |
| 3 | Experiences change behaviour. | Dualism (interactive) |
Cases 2 and 3 can be formally equivalent. If A causes B and B causes C, it makes no observable difference whether B is "an experience" or "a physical state that comes with an experience". Making that equivalence explicit is part of the project.
Design in GaiaBasic
Agents have rules to approach pleasure and a rule to stop when satisfied. The project lets anorgasmia, single orgasm and multiple orgasm evolve, and then checks what happens when the copulation rules are removed from part of the population: those behaviours should disappear.
import gaiabasic as gb
for model in (gb.Eliminativism(), gb.Epiphenomenalism(), gb.Dualism.interactive()):
w = gb.World("pleasure", seed=5)
w.sentience = model
w.populate(gb.species.SexualAgent, n=1_000,
rules=[gb.rules.ApproachPleasure(), gb.rules.StopWhenSatisfied()])
w.populate(gb.species.SexualAgent, n=1_000, tag="control",
rules=[gb.rules.StopWhenSatisfied()]) # no copulation rule
r = w.run(steps=200_000)
print(type(model).__name__, r.distribution("orgasm_pattern", by="tag"))
What would count as a result
The simulation succeeds if it reproduces the known patterns and distributions of human orgasm. It can then be tested on other species, and used to explore questions such as the relation between promiscuity and testicle size.
Status
Concept and simulation design. Next step: implement the required GaiaBasic components and publish the code and results here.
Related: Short version in Examples · Concepts · Documentation.