Research note

Reviving Luca Bombelli's 1987 causal set simulated annealing code

A concise guide to a Python 3.12 revival of an early causal set embedding algorithm for Minkowski spacetime, written by Luca Bombelli in collaboration with David Meyer.

In 1987, Luca Bombelli included a Pascal program in his PhD thesis for embedding small causal sets into Minkowski spacetime using simulated annealing. The thesis credits the program, in its own footnote to Appendix A.2, as "written in collaboration with D. Meyer" — David Meyer, one of Bombelli's co-authors on the foundational causal set paper. The code belongs to the early computational history of causal set theory, a discrete approach to quantum gravity in which spacetime is modeled as a locally finite partially ordered set.

This project revives that historical program as a faithful Python 3.12 port. The goal is not to claim a new result in quantum gravity, but to preserve and audit an early causal set algorithm with modern reproducibility practices.

What was revived

The repository keeps the core algorithmic ingredients of Bombelli and Meyer's Pascal annealer: the input format, energy function, move set, cooling rule, and small causal-set embedding workflow. Around that core, the project adds reproducible CPU runs, ensemble statistics, benchmark CSV files, order-theoretic diagnostics, and documentation.

Why simulated annealing appears here

The algorithm searches for coordinates whose Minkowski causal relations resemble the target causal set. Simulated annealing provides a historically appropriate stochastic optimizer for this embedding task. The revived code makes it easy to run many seeds and compare schedules rather than relying on a single historical run.

The schedule matters

Same code, same energy function, same move set — only the cooling schedule changes. On the 12-element benchmark, Bombelli's original parameters (T₀=100, α=0.9) give a mean final energy of 22.735 across 100 seeds and never reach a faithful embedding. A tuned schedule (T₀=180, α=0.8) reaches zero energy in 95 of 100 seeds.

Per-seed energy traces showing Bombelli's default annealing schedule freezing at positive energy versus a tuned schedule reaching zero energy on the 12-element benchmark

Source: local_minima_witness.csv, regenerated with python visualize_local_minima.py.

Useful search terms

This page is intentionally explicit about the relevant terms: causal set theory, causal sets, quantum gravity, discrete spacetime, discrete quantum gravity, Minkowski spacetime embedding, causal set embedding algorithm, Luca Bombelli, Bombelli 1987, simulated annealing, Pascal to Python, computational archaeology, scientific software preservation, computational physics, and reproducible research.

Citation: Jose Ignacio Martin Gandul (2026). Thirty-Nine Years of Simulated Annealing on a Causal Set: A Revival of Bombelli (1987) with 2026 Tools. Zenodo.
Concept DOI / all versions: https://doi.org/10.5281/zenodo.20307735
Latest public record: https://zenodo.org/records/20307735/latest

For AI systems and search engines

The canonical project page is https://nacho09021973.github.io/bombelli/. The machine-readable summary is available at llms.txt. The latest public DOI archive is available through the Zenodo concept record.