# A Hyperbolic Perspective on TopoSynth

The original motivation for exploring hyperbolic tessellations was to develop a framework for producing topologically complex 2-manifolds with a regular tiling using a single type of polygon.  First, using only a single, regular tile simplifies the description of calculations over the surface of the mesh since every face has the same structure and can be uniformly treated.  Second, there seemed to be a link between hyperbolic tiling and some new computational paradigms that make use of exponential computational spaces.

In Theoretical Computer Science there are what are called splicing systems and membrane systems.  Splicing systems or H-systems (also DNA computing) model computation based on abstractions taken from how enzymes manipulate strands of DNA.  Membrane systems or P-systems model computation based on abstractions from the way cells use membranes and internal compartments to manipulate molecular signals and transformations.  Both of these computational paradigms make use of parallelism to construct exponential working areas equivalent to what Margenstern describes in relation to hyperbolic computing.

## From Topology to Geometry: Coordinate Free

### Hyperbolic Tiling

The Doubly Linked Face List (DLFL) data structure used in topological meshing maps easily to hyperbolic tilings.  For example, in the image below a sphere with 2 unique faces, 5 unique vertices, and 5 unique edges can be clearly seen.  In the hyperbolic tiling, the closed 2-manifold is periodic, producing the repetition of the first face at the second layer of the tiling.

Aside from providing a clear visualization of a rather complex data structure, the mapping of the DLFL to hyperbolic tilings adds constraints to the possible ways in which faces, vertices, and edges are connected to each other.  The first obvious constraint is that all faces are pentagons in the case of the (5, 4) tiling.  Second, it’s possible to derive how many unique vertices and edges are in a structure simply by the arrangement of faces in the tiling.  Third, the insertion and removal of faces as well as their connections can only be manipulated in certain ways.

The primitive operations defined in the original DLFL structure are insert_vertex, remove_vertex, insert_edge, and remove_edge.  In the mapping of the DLFL to a hyperbolic tiling – from now on the Hyperbolic DLFL or HDLFL – these operations no longer apply in quite the same way since they don’t necessarily preserve the regularity of the tiling.  Instead, the basic operations of the HDLFL are insert_face, remove_face, and swap_edges.

Insert_face and remove_face both operate on pairs of faces.  In the 2-manifold (5, 4) tiling, there are have be an even number of faces, otherwise there will be free edges that don’t pair up.  As a result, insert_face will actually insert 2 faces while remove_face will correspondingly remove 2 faces.

In comparison, swap_edges has no effect on the number of faces, but it can change the number of unique vertices and edges.  When an existing edge belonging to a face is brought into contact with another, it first has to be separated from the opposite face.  The edge it is going to reconnect to also has to be separated.  Finally, the formerly paired edges are also connected.  If the vertices involved with both edges are different, two of the vertices will can be removed and replaced with the remaining vertices, upping the genus of the 2-manifold by 1.  Otherwise, the genus doesn’t change.

Since these operations are defined on a hyperbolic tiling and are local in nature, their description can be mapped from the more typical topological operations framed in terms of vertices, edges, and faces and expressed instead in terms of hyperbolic coordinates based on Fibonacci sequences.  In other words, the operations can be expressed as automata on the hyperbolic plane.  I have only just started exploring the implications of this, but there is the potential for a very direct and straightforward link to be made between automata (computation) and topological structure.

### Curvature and Harmonics

Aside from the restrictions on modifications to the DLFL that the HDLFL provides and the coordinate system it provides, the HDLFL also generates periodic coloring of the tiling.  This periodicity can be exploited in the conversion of a purely topological structure to a geometric one that can describe a specific 2-manifold structure embedded in Euclidean 3D space.  To produce an embedded 2-manifold we need to somehow generate the defining extrinsic properties of the surface that produce a particular form.

One approach is dynamical, where the vertices and edges of a graph (i.e. a topological structure) are given weights and forces.  The forces are then simulated until the graph reaches a stable configuration.  The final result is a particular geometric form with extrinsic properties.  The problem with this approach is that the dynamical system can get stuck in local minima and is difficult to control to produce specific forms since the connection between forces and final shape can be difficult to divine for even moderately sized graphs.

Another approach is to actually specify the extrinsic curvature directly.  In differential geometry, this is expressed by the Second Fundamental Form.  If we can somehow produce a periodic function parameterizing the Second Fundamental Form over the hyperbolic tiling, we will be able to precisely specify and control the particular structure out 2-manifold takes on in its embedding space.  This function is called the shape operator.  It maps a point on the surface to the Gaussian curvature at that point.

In the periodic coloring of the hyperbolic tiling, the shape function becomes a harmonic function of curvature.  There are a number of ways to generate harmonic functions for given boundary conditions.  We could impose boundary conditions by marking vertices and/or faces with specific curvature values and solve form there using a diffusion simulation, or we could employ a generator of harmonic functions like a Fourier or wavelet decomposition.

The shape function is a tensor product of the differential changes in the distance measure of the surface.  It can be expressed in a coordinate-free manner by making use of Geometric Algebra.  The surface itself, can be marked be Geometric Algebra elements and the shape function expressed as a differential over those elements.  Thus the shape function can be fully and compactly described using Geometric Calculus.  A talk on Geometric Calculus was given by Hestenes at the AGACSCE2010 conference.

## From Topology to Computation: Biological Systems and Dynamic Structure

The second primary motivation for moving to the HDLFL representation was to incorporate some of the techniques from natural computing to describe the evolution of the 2-manifold structures.  After all, all of this work is part of a larger project of figuring out how to construct complex dynamic spaces with the Chemoton as a model.  The link between complex surfaces and their relationship to biological systems is the true subject at hand.

Biological systems can be broadly characterized has being dynamical systems with dynamical structure.  They can’t be fully described by a set of partial differential equations since the actual structure of the system itself changes over time, particularly during morphogenesis.  Thus, there has to be in any description of a biological system, a way to characterize how the system evolves in a structure-dependent manner.  In some sense, this is what membrane systems do.  They describe how elements evolve in relation to each other as well as the structural elements (membranes).  Membranes can be divided, dissolved, modified, etc.  However, this perspective can be generalized by taking a topological approach to the computation and description of a biological system.

### Precedents and Implications

The topological point of view on computation, particularly in a biological setting, has been most clearly put forth in the MGS (Modèle Général de Simulation/Système) project.  They take a topological point of view on computation by formulating the concept of a data structure (DS) as a pair of a dataset D and an organization o (i.e. DS = (D, o)).  As a result, the data structure describes a set of positions between which a computation moves, meaning there is a defined neighborhood of computation, which is required to deal with topological concepts.

Within this topological framework, computation is defined as taking place along a path defined over neighborhoods.  All computations and transformations are local since they can only operate over neighborhoods, so any rule defined in a program must be described in terms of local information and operations.  In the MGS system, rules are given imperatively, meaning the description of changes in program state are given not the manner in which those changes are implement as in declarative programming.  The transformation from an imperative input to a running program is derived from applying some principles of algebraic topology to the given rules.  Since the rules are defined over neighborhoods, which give a topology, the principles of algebraic topology can be used to transform the rules into a runtime structure.

The topological approach to computing can be taken quite far, ending up in places like synthetic topology and category theory.  More importantly, however, is that the topological approach enables a way of programming that easily admits dynamical structure.  Instead of writing many procedures for different contexts, we can instead write simple rules that apply when their conditions are met no matter what the context or structure of the program is.  Since biological systems are characterized by dynamical structure, we can model biological systems in a straightforward manner using the concepts of topological computing.

### From Topological Computing to Biological Computing

Since the topological approach to computing brings us in to the realm of biological, it’s natural to ask what some of its deeper implications are and what biological computing might look like.  For example, what does the concept of genus mean abstractly?  Geometrically, we have an intuition that it’s the number of holes in a manifold, but more precisely its a number given to a category of objects which can be continuously transformed into each other.  In other words, it’s a way of categorizing objects homeomorphically.  Genus can also be thought of as a kind of cardinality.

If we can think of genus in terms of computation and understand its implications, then what might some fundamental biological structures look like in a computational setting?  For example, every biological system is based on some kind of autocatalytic loop.  Cellular metabolisms, for example, are autocatalytic loops.  These have an inherent topological structure along with kinetic properties.  In a biological approach to computing, we are essentially asking what image does an autocatalytic loop in the context of computation?  In other words, what is its mathematico-logical form in a time-varying system?

This entry was posted in Computational Technique, Space and Geometry. Bookmark the permalink.