P-zombies and motivation

A matrix of worlds: sentient or not, with or without different outcomes. Some combinations turn out to be incoherent, and that is a result too.

Author
Manu Herrán
Code
gaiabasic-projects/p-zombies
Status
Concept and simulation design
Started at
Sentience Research
Open draft. This project is being developed in the open. The text is incomplete and the code uses the planned GaiaBasic API, so it will change. Comments and collaboration are welcome on GitHub.

The question

A philosophical zombie (p-zombie) is a being that behaves exactly like a sentient being but feels nothing. If p-zombies are possible, sentience does not change what we do. If they are impossible, sentience must have some effect on behaviour or on the physical world.

This project lays out the main combinations as separate worlds and checks which of them are coherent. It is a companion to Is there more suffering than enjoyment in nature?, where the answer to this question changes how suffering in nature should be counted.

The four configurations

Different outcomes from a zombieSame outcomes as a zombie
Sentient and motivated by experienceA. The common intuition for mammals: feeling pain makes you act differently.B. Sentience exists but has no effect on fitness or behaviour.
Not sentient (zombie)C. Something is missing in physics: the zombie behaves differently, so experience must be doing something physics does not describe.D. Physics as we know it: behaviour is fully explained without experience.

On top of the matrix, two families of models are compared: those in which p-zombies are possible and those in which they are impossible.

Design in GaiaBasic

import gaiabasic as gb

matrix = gb.Grid(
    sentient=[True, False],
    affects_outcome=[True, False],
    zombies_possible=[True, False],
)

for cfg in matrix:
    w = gb.World(str(cfg), seed=4)
    w.sentience = gb.Emergentism(enabled=cfg.sentient,
                                 causal=cfg.affects_outcome,
                                 p_zombies=cfg.zombies_possible)
    w.populate(gb.species.Mammal, n=200)
    matrix.record(cfg, w.run(steps=10_000))

matrix.table(columns=["coherence", "fitness", "rule_breaks", "contradictions"])

What would count as a result

Coherence failures are valid results. If a cell of the matrix cannot be built without contradiction, that tells us something about the theory that cell represents. For example, a world where zombies are impossible but sentience has no effect on behaviour may turn out to need extra, unexplained rules.

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.