constructor-theory-simulator

David Deutsch 构造理论框架的一个 Python 实现,以代码形式展示关键概念——从简单的 Tasks 和分支基质到量子引力和电磁学。包含一个“通用构造器”,可以从一个 Tasks 列表中自举自身,展示了自复制和构造理论的力量。

“这是一个关于如何在代码中探索构造理论的演示,而不是一个高精度的物理引擎。对于正式的定义,请参阅 David Deutsch 和 Chiara Marletto 最近的论文 “Constructor Theory of Time”(2025 年 5 月 13 日)。

🚀 功能

🛠 开始使用

前提条件

安装

git clone https://github.com/gvelesandro/constructor-theory-simulator.git
cd constructor-theory-simulator

运行单元测试

python -m unittest ct_tests.py

运行 Demos

python demo.py
python bootstrap_demo.py

注意: 如果你没有安装 matplotlib,demos 仍然可以运行;绘图会被跳过并显示警告。

🎯 使用示例

from ct_framework import (
  Attribute, Substrate,
  PhotonEmissionTask, PhotonAbsorptionTask,
  UniversalConstructor, ascii_branch
)
# 1) 定义你的 photon Tasks “程序”
ELEC = Attribute("charge_site")
prog = [
  PhotonEmissionTask(ELEC, emission_energy=5.0, carry_residual=False),
  PhotonAbsorptionTask(ELEC, absorption_energy=5.0)
]
# 2) 在运行时构建一个 Constructor
uc   = UniversalConstructor()
em_cons = uc.build(prog)
# 3) 发射一个 photon
atom = Substrate("A", ELEC, energy=20.0)
branches = em_cons.perform(atom)
print(ascii_branch(branches))
# => * charge_site (A)
#  * photon   (A)
# 4) 把它吸收回来
photon  = next(w for w in branches if w.attr.label=="photon")
restored = em_cons.perform(photon)[0]
print(restored)
# => A:charge_site(E=20.0,Q=0,t=2,F=charge_site)

🤝 贡献

这旨在作为一个教育资源和概念验证。非常欢迎贡献! 请:

📜 许可

MIT License 下发布。

🙏 致谢