P-zombis y motivación

Una matriz de mundos: sintientes o no, con o sin resultados distintos. Algunas combinaciones resultan incoherentes, y eso también es un resultado.

Autor
Manu Herrán
Código
gaiabasic-projects/p-zombies
Estado
Concepto y diseño de la simulación
Iniciado en
Sentience Research
Borrador abierto. Este proyecto se desarrolla de forma abierta. El texto está incompleto y el código usa la API prevista de GaiaBasic, así que cambiará. Los comentarios y la colaboración son bienvenidos en GitHub.

La pregunta

Un zombi filosófico (p-zombi) es un ser que se comporta exactamente como un ser sintiente pero no siente nada. Si los p-zombis son posibles, la sintiencia no cambia lo que hacemos. Si son imposibles, la sintiencia debe tener algún efecto sobre el comportamiento o sobre el mundo físico.

Este proyecto plantea las combinaciones principales como mundos separados y comprueba cuáles son coherentes. Complementa a ¿Hay más sufrimiento que disfrute en la naturaleza?, donde la respuesta a esta pregunta cambia la forma de contar el sufrimiento en la naturaleza.

Las cuatro configuraciones

Resultados distintos a los de un zombiMismos resultados que un zombi
Sintiente y motivado por la experienciaA. La intuición común para los mamíferos: sentir dolor te hace actuar de otra manera.B. La sintiencia existe pero no afecta a la aptitud ni al comportamiento.
No sintiente (zombi)C. A la física le falta algo: el zombi se comporta de otra manera, así que la experiencia debe estar haciendo algo que la física no describe.D. La física tal como la conocemos: el comportamiento se explica por completo sin la experiencia.

Además de la matriz, se comparan dos familias de modelos: aquellos en los que los p-zombis son posibles y aquellos en los que son imposibles.

Diseño en 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"])

Qué contaría como resultado

Los fallos de coherencia son resultados válidos. Si una celda de la matriz no puede construirse sin contradicción, eso nos dice algo sobre la teoría que representa esa celda. Por ejemplo, un mundo donde los zombis son imposibles pero la sintiencia no tiene efecto sobre el comportamiento puede acabar necesitando reglas adicionales sin explicación.

Estado

Concepto y diseño de la simulación. Siguiente paso: implementar los componentes necesarios de GaiaBasic y publicar aquí el código y los resultados.

Relacionado: Versión breve en Ejemplos · Conceptos · Documentación.