Ghost Diagrams

homeblogtwitterthingiverse



New! Javascript/SVG version. Try it now, in your browser!

Caveat: if you do not have Firefox 1.5+, you are not yet cool enough to use this script.

[More screenshots...]


Ghost Diagrams is a program that takes sets of tiles and tries to find patterns into which they may be formed. The patterns it finds when given randomly chosen tiles are often surprising.

It turns out that tiling patterns are a form of computation of equal power to Turing machines, lambda calculus, and cellular automata. For example, here is a tileset implementing "Rule 110", a cellular automaton known to be capable of universal computation. Considerations similar to the halting problem and Godel's theorem apply. There is no upper limit to their capacity to surprise us. Furthermore, tiles have an intuitive quality that other forms of computation lack. You can see how they fit together.

An organism is more than the sum of its organs. When the organs are fitted together, the organism becomes something more. This surprising something more we call "spirit" or "ghost". Ghost Diagrams finds the ghosts implicit in simple sets of tiles.


See Chapter 7 of my PhD thesis for further details.


This software is open source (both the Javascript and Python versions), and is released under the GPL. Any output of the programs is (of course) entirely your own, to do with as you will. This includes the results from built-in tile sets or tile sets based on images featured on my website.

Download (Python version)

This program requires Python (2.3 or higher), GTK (2.4 or higher), and PyGtk (2.2 or higher). Psyco will be used if available.








[æ]