In cellular automata theory, reversible computation processes have been devised on a regular grid of cells to simulate, in a discrete fashion, diffusion [1, 2] or systems capable of universal computation[3, 1]. Some of these processes take the form of alternating the application of the automaton rules in 2 distinct subdivisions of the square grid of the automaton (figure 1a). In each timestep, the update rules are designed to be reminiscent of an exchange of values between neighbouring positions of the grid. By doing this, the number of positions with the same state does not change, and conservation of simulated particles is warranted. An interesting analogy to this procedure that we can think of is to cut a physical surface by two identical square packings of circles, the second one shifted in respect to the first one so that the circles of these two packings intersect perpendicularly (figure 1b). This allows, by independent rotation of the circles of either one or the other packing, for specific degrees (multiples of the right angle), the shuffling of the lenses to different positions. If we assign boolean values to the lenses, The act of shuffling them by rotation using the same rules as the automaton we are trying to recapitulate can give the correct evolution of the system. This discovery made us wonder how such a system can be physically realised. A surface can be cut out this way and the pieces can possibly be designed as to allow for rotation with minimal interlocking due to misalignment. This can give a modular, kinetic tiling where a specific lens can move to any other lens position, not unlike how the pieces of a Rubik’s cube move. We have yet to find an interesting engineering approach to make these pieces mobile in a regular fashion. Another question that arises is what other patterns using circles can lead to a well structured grid of positions that could recapitulate known cellular automata. A candidate pattern is to start with a hexagonal circle packing and then increase (figure 1c), or double the radius of the circles (figure 1d). In the last tiling (figure 1d), essentially every position of the surface is kinetic.
We were further interested in how we can produce fully kinetic tiled surfaces, so we explored a bit more the design space without considering its possible connection to automata theory. As the circles do not have to be the same size, and smaller circles could give an arbitrarily better precision of movement to tiles, we strived to find a natural geometric construction using circle packings that in theory could move, by rotating the circles, any position of the divided space to any other. We found the following natural fractal construction to be interesting.
First fractal definition
The fractal “T” can be made by taking an infinite circle packing in 2D space (circles of the same radius, touching each other, with their centers defining a isosceles triangular lattice), and applying to it, in each iteration of the fractal, the following transformation: This simply states that we take the starting circle packing , and we make a new one by turning it by 30 degrees, and scaling it by . This leads to a second, smaller circle packing, with few of the smaller circles having the same center as the big ones and all the others being at the intersection of any three of the larger ones (figure 2a-d). This transformation can be applied iteratively on each new circle packing, to get the fractal Τ with any number of levels (or its inverse to get the level) . Figure 2e represents the fractal after infinite iterations. We observed that the space is not homogeneously subdivided, so canonical rotations might lead to “jamming” of the circles of distant fractal levels. After 3 iterations of the fractal, some circles are not radialy symmetric anymore, in terms of inner pieces arrangement.
Second fractal definition
The fractal T
can also be made by applying a production rule to each circle of the original circle packing separately. Each cirlce must have a vector denoting its polarity. The polarity vectors for the circles of the original circle packing are all the same, pointing all in the same direction of one of the angle bisectors of the triangular lattice defined by their centers. We can then define the following fractal constructionΩ for each of the circles. For each circle of radius , polarity angle , we create three new circles of radius , touching externally serially, their centers on the line defined by the polarity angle . The center of the middle circle has the same center as the original bigger circle, and one new circle is above and one bellow. The polarity of the new circles is (they are rotated +30º degrees after placement) (figure 3a). We can then apply the same procedure on the new circles to get multiple iterations of the fractal Ω, getting in each iteration a curve which we would like to name Athena’s curve (“A”), reminiscent of the dragon curve (figure 3c). Like the latter, A is able to tile the 2D space, in any iteration, to give a complete circle packing (figure 3b). The sum over the iterations of Athena’s curve (the fractal Ω), when applied to all circles of the original circle packing N, gives the fractal . An interesting property of Athena’s curve is that the total area that the circles occupy, , is invariable to the iteration number , as , where is the original circle’s radius, and the produced circles do not overlap. The length of the curve however diverges to infinity as . An intriguing open problem is to find what is the area the fractal Ω, in its combined infinite iterations, encompasses.
Here we present a mapping, from discrete reversible computational processes, made in cellular automata, to the shuffling of pieces created by cutting a two-dimensional surface by overlaping circle packings. We find this connection amusing, as it means that we can simulate block automatons in a physical setting. This surface geometry might have interesting applications. For example one can envision a surface cut in this manner to be kinetic, its pieces being free to move about, mobilised by a robotic understructure, without sacrificing the surface integrity. Pieces that need to be replaced can then move to the periphery, and changed there. Pieces that have specific properties, on the other hand, can be directed to the part of the surface that are needed most. At the same time, block automaton rules can be applied and the pieces will recapitulate, with their movement, biophysical processes.
We strived to find a recursive subdivision of space, using this general
formula of overlaying circle packings, that would be able to move,
by the rotation of the circles, the pieces formed, effortlessly. This
is an interesting open problem, namely, if it is feasible to construct
a fractal subdivision of space, using circles, that keeps the radial
symmetry of the pieces inside each circle.
Aknowledgements: I would like to thank Eugenio Azpeitia for helping in creating the second fractal definition, using Lpy, and for interesting discussions.
-  Margolus, Norman H (1998) Physics and computation, Massachusetts Inst. of Tech, Cambridge lab for Computer Science
-  Margolus NH (1998) Crystalline computation, arXiv preprint comp-gas/9811002
-  Fredkin E, Toffoli T (2002) Conservative logic, Collision-based computing, Springer
-  Davis C, Knuth D (1970) Number representations and dragon curves, Journal of recreational Mathematics, volume 3-2, pages 66-81
-  Fry B, Reas C and others (2001) Processing
-  Boudon F, Cokelaer T, Pradal C, Godin C (2010) L-Py, an open L-systems framework in Python, 6th International Workshop on Functional-Structural Plant Models, pages 116-119
-  Mara A (2013) Social Integration, Discrimination and Acceptance of Lesbian Parenting in the Netherlands. An in-depth study