Abstract
Causal Graph Dynamics extend Cellular Automata to arbitrary timevarying graphs of bounded degree. The whole graph evolves in discrete time steps, and this global evolution is required to have a number of symmetries: shiftinvariance (it acts everywhere the same) and causality (information has a bounded speed of propagation). We add a further physicslike symmetry, namely reversibility. In particular, we extend two fundamental results on reversible cellular automata, by proving that the inverse of a causal graph dynamics is a causal graph dynamics, and that these reversible causal graph dynamics can be represented as finitedepth circuits of local reversible gates. We also show that reversible causal graph dynamics preserve the size of all but a finite number of graphs.
This is a preview of subscription content, log in to check access.
Access options
Buy single article
Instant unlimited access to the full article PDF.
US$ 39.95
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
US$ 99
This is the net price. Taxes to be calculated in checkout.
References
Arrighi P, Dowek G (2012) Causal graph dynamics. In: Proceedings of ICALP 2012, Warwick, July 2012, LNCS, vol 7392, pp 54–66
Arrighi P, Dowek G (2013) Causal graph dynamics (long version). Inf Comput 223:78–93
Arrighi P, Martiel S (2012) Generalized Cayley graphs and cellular automata over them. In: Proceedings of GCM 2012, Bremen, September 2012. Preprint. arXiv:1212.0027, pp 129–143
Arrighi P, Nesme V (2011) A simple block representation of Reversible Cellular Automata with timesymmetry. In: 17th international workshop on cellular automata and discrete complex systems, (AUTOMATA 2011), Santiago de Chile, November 2011
Arrighi P, Martiel S, Nesme V (2018) Cellular automata over generalized Cayley graphs. Math Struct Comput Sci 18:340–383 arXiv:1212.0027
Arrighi P, Martiel S, Perdrix S (2015) Block representation of reversible causal graph dynamics. In: Proceedings of FCT 2015, Gdansk, Poland, August 2015, Springer, pp 351–363
Arrighi P, Martiel S, Perdrix S (2016) Reversible causal graph dynamics. In: Proceedings of International Conference on Reversible Computation, RC 2016, Bologna, Italy, July 2016, LNCS 9720, Springer, pp 73–88
Arrighi P, Nesme V, Werner R (2010) Unitarity plus causality implies localizability. J Comput Syst Sci 77:372–378 QIP 2010 (long talk)
Bennett CH (1973) Logical reversibility of computation. IBM J Res Dev 17(6):525–532
Boehm P, Fonio HR, Habel A (1987) Amalgamation of graph transformations: a synchronization mechanism. J Comput Syst Sci 34(2–3):377–408
Chalopin J, Das S, Widmayer P (2013) Deterministic symmetric rendezvous in arbitrary graphs: overcoming anonymity, failures and uncertainty. In: Search theory, Springer, pp 175–195
Danos V, Laneve C (2004) Formal molecular biology. Theor Comput Sci 325(1):69–110
DurandLose J (2001) Representing reversible cellular automata with reversible block cellular automata. Discret Math Theor Comput Sci 145:154
Ehrig H, Lowe M (1993) Parallel and distributed derivations in the singlepushout approach. Theor Comput Sci 109(1–2):123–143
Gromov M (1999) Endomorphisms of symbolic algebraic varieties. J Eur Math Soc 1(2):109–197
Hamma A, Markopoulou F, Lloyd S, Caravelli F, Severini S, Markstrom K, Brouder C, Mestre Â, JAD F.P, Burinskii A, et al (2009) A quantum BoseHubbard model with evolving graph as toy model for emergent spacetime. Arxiv preprint arXiv:0911.5075
Hasslacher B, Meyer DA (1998) Modelling dynamical geometry with lattice gas automata. In: Expanded version of a talk presented at the seventh international conference on the discrete simulation of fluids held at the University of Oxford
Hedlund GA (1969) Endomorphisms and automorphisms of the shift dynamical system. Math Syst Theory 3:320–375
Kari J (1991) Reversibility of 2D cellular automata is undecidable. In: Cellular automata: theory and experiment, vol 45. MIT Press, pp 379–385
Kari J (1996) Representation of reversible cellular automata with block permutations. Theory Comput Syst 29(1):47–61
Kari J (1999) On the circuit depth of structurally reversible cellular automata. Fundam Inf 38(1–2):93–107
Klales A, Cianci D, Needell Z, Meyer DA, Love PJ (2010) Lattice gas simulations of dynamical geometry in two dimensions. Phys Rev E 82(4):046705
Löwe M (1993) Algebraic approach to singlepushout graph transformation. Theor Comput Sci 109(1–2):181–224
Maignan L, Spicher A (2015) Global graph transformations. In: Proceedings of the 6th international workshop on graph computation models, L’Aquila, Italy, July 20, 2015, pp 34–49
Papazian C, Remila E (2002) Hyperbolic recognition by graph automata. In: Automata, languages and programming: 29th international colloquium, ICALP 2002, Málaga, Spain, July 813, 2002: proceedings, vol 2380. Springer, pp 330
Sorkin R (1975) Timeevolution problem in Regge calculus. Phys Rev D 12(2):385–396
Taentzer G (1996) Parallel and distributed graph transformation: formal description and application to communicationbased systems. PhD thesis, Technische Universitat Berlin
Taentzer G (1997) Parallel highlevel replacement systems. Theor Comput Sci 186(1–2):43–81
Tomita K, Kurokawa H, Murata S (2002) Graph automata: natural expression of selfreproduction. Phys D Nonlinear Phenom 171(4):197–210
Acknowledgements
This work has been funded by the ANR12BS0200701 TARMAC grant, the ANR10JCJC0208 CausaQ grant, and the John Templeton Foundation, grant ID 15619, the STICAmSud project 16STIC05 FoQCoSS. The authors acknowledge enlightening discussions with Gilles Dowek, Emmanuel Jeandel and Bruno Martin. This work has been partially done when PA was delegated at Inria Nancy Grand Est, in the project team Carte.
Author information
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix 1: Formalism
This appendix provides formal definitions of the kinds of graphs we are using, together with the operations we perform upon them. None of this is specicific to the reversible case; it can all be found in Arrighi and Martiel (2018) and is reproduced here only for convenience.
Graphs
Vertex names. Let \(\pi\) be a finite set, \(\varPi =\pi ^2\), and \(V={{{\mathcal {P}}}}(\varPi ^*)\), where ‘.’ represents concatenation of words and \(\varepsilon\) is the empty word, as usual. Each vertex of a graphs nonmodulo will be uniquely identified with a name u in V. This particular choice of the universe of names is irrelevant until Definition 30, when it becomes natural.
Definition 23
(Graph nonmodulo) A graph nonmoduloG is given by

An at most countable subset \(V(G)\) of V, whose elements are called vertices.

A finite set \(\pi\), whose elements are called ports.

A set E(G) of nonintersecting two elements subsets of \(V(G){:}\pi\), whose elements are called edges. In other words an edge e is of the form \(\{u {:}a, v {:}b\}\), and \(\forall e,e'\in E(G), e\cap e'\ne \emptyset \Rightarrow e=e'\).
The graph is assumed to be connected: for any two \(u,v\in V(G)\), there exists \(v_0,\ldots , v_{n}\in V(G)\), \(a_0,b_0\ldots , a_{n1},b_{n1}\in \pi\) such that for all \(i\in \{0\ldots n1\}\), one has \(\{v_i{:}a_i,v_{i+1}{:}b_i\}\in E(G)\) with \(v_0=u\) and \(v_n=v\).
Definition 24
(Labelled graph nonmodulo) A labelled graph nonmodulo is a triple \((G,\sigma ,\delta )\), also denoted simply G when it is unambiguous, where G is a graph, and \(\sigma\) and \(\delta\) respectively label the vertices and the edges of G:

\(\sigma\) is a partial function from V(G) to a finite set \(\varSigma\);

\(\delta\) is a partial function from E(G) to a finite set \(\varDelta\).
The set of all graphs with ports \(\pi\) is written \({{{\mathcal {G}}}}_{\pi }\). The set of labelled graphs with states \(\varSigma ,\varDelta\) and ports \(\pi\) is written \({{{\mathcal {G}}}}_{\varSigma ,\varDelta ,\pi }\). To ease notations, we sometimes write \(v \in V(G)\) for \(v \in V(G)\).
We single out a vertex as the origin:
Definition 25
(Pointed graph nonmodulo) A pointed (labelled) graph is a pair (G, p) with \(p\in V(G)\).
Here is when graph differ only up to renaming:
Definition 26
(Isomorphism) An isomorphismR is a function from \({{{\mathcal {G}}}}_{\pi }\) to \({{{\mathcal {G}}}}_{\pi }\) which is specified by a bijection R(.) from V to V. The image of a graph G under the isomorphism R is a graph RG whose set of vertices is \(R(V(G))\), and whose set of edges is \(\{\{R(u):a,R(v):b\} \;\; \{u:a,v:b\}\in E(G) \}\). Similarly, the image of a pointed graph \(P=(G,p)\) is the pointed graph \(RP=(RG,R(p))\).
(Pointed graph isomorphism rename the pointer in the same way as it renames the vertex upon which it points; which effectively means that the pointer does not move.)
Our main objects of study are pointed graphs modulo isomorphism.
Definition 27
(Pointed graphs modulo) Let P be a pointed (labelled) graph (G, p). Then \(X=\{(RG,R(p))\;\;R\text { an isomorphism }\}\) is a pointed graph modulo. The set of pointed graphs modulo with ports \(\pi\) is written \({{{\mathcal {X}}}}_{\pi }\). The set of labelled pointed Graphs modulo with states \(\varSigma ,\varDelta\) and ports \(\pi\) is written \({{{\mathcal {X}}}}_{\varSigma ,\varDelta ,\pi }\).
Paths and vertices
When we are considering pointed graphs modulo isomorphism, vertices no longer have a unique identifier. Still they can be designated by a sequence of ports in \((\pi ^2)^*\) that leads, from the origin, to this vertex.
Definition 28
(Path) Given a pointed graph modulo X, we say that \(x\in \varPi ^*\) is a path of X if and only if there is a finite sequence \(x=(a_i b_i)_{i\in \{0,...,n1\}}\) of ports such that, starting from the pointer, it is possible to travel in the graph according to this sequence. More formally, x is a path if and only if there exists \((G,p)\in X\) and there also exists \(v_0,\ldots , v_{n}\in V(G)\) such that for all \(i\in \{0\ldots n1\}\), one has \(\{v_i{:}a_i,v_{i+1}{:}b_i\}\in E(G)\), with \(v_0=p\) and \(x_i=a_ib_i\). Notice that the existence of a path does not depend on the choice of \((G,p)\in X\). The set of paths of X is denoted by A(X).
Notice that paths can be seen as words on the alphabet \(\varPi\) and thus come with a natural operation ‘.’ of concatenation, a unit \(\varepsilon\) denoting the empty path, and a notion of inverse path \({\overline{x}}\) which stands for the path x read backwards. Two paths are equivalent if they lead to same vertex:
Definition 29
(Equivalence of paths) Given a pointed graph modulo X, we define the equivalence of paths relation \(\equiv _{X}\) on A(X) such that for all paths \(x,x'\in V(A(X))\), \(x\equiv _{X} x'\) if and only if, starting from the pointer, x and \(x'\) lead to the same vertex of X. More formally, \(x\equiv _{X}x'\) if and only if there exists \((G,p)\in X\) and \(v_1,\ldots , v_{n},v'_1,\ldots , v'_{n'}\in V(G)\) such that for all \(i\in \{0\ldots n1\}\), \(i'\in \{0\ldots n'1\}\), one has \(\{v_i{:}a_i,v_{i+1}{:}b_i\}\in E(G)\), \(\{v'_{i'}{:}a'_{i'},v'_{i'+1}{:}b'_{i'}\}\in E(G)\), with \(v_0=p\), \(v'_0=p\), \(x=(a_ib_i)_{i\in \{0,...,n1\}}\), \(x'=(a'_{i'}b'_{i'})_{i\in \{0,...,n'1\}}\) and \(v_{n}=v_{n'}\). We write \({\hat{x}}\) for the equivalence class of x with respect to \(\equiv _X\).
It is often useful to undo the modulo, i.e. to obtain a canonical instance \((\varGamma (X),\varepsilon )\) of the equivalence class X.
Definition 30
(Associated graph) Let X be a pointed graph modulo. Let \(\varGamma (X)\) be the graph such that:

The set of vertices \(V(\varGamma (X))\) is the set of equivalence classes of L(X);

The edge \(\{{\hat{x}}{:}a,{\hat{y}}{:}b\}\) is in \(E(\varGamma (X))\) if and only if \(x.ab \in L(X)\) and \(x.ab\equiv _X y\), for all \(x\in {\hat{x}}\) and \(y\in {\hat{y}}\).
We define the associated graph to be \(\varGamma (X)\).
Conventions The following are three presentations of the same mathematical object:

A graph modulo X,

Its associated graph \(\varGamma (X)\)

The algebraic structure \(\langle A(X),\equiv _X\rangle\)
Each vertex of this mathematical object can thus be designated by

\({\hat{x}}\) an equivalence class of A(X), i.e. the set of all paths leading to this vertex starting from \({\hat{\varepsilon }}\),

or more directly by x an element of an equivalence class \({\hat{x}}\) of X, i.e. a particular path leading to this vertex starting from \(\varepsilon\).
These two remarks lead to the following mathematical conventions, which we adopted for convenience in the paper:

\({\hat{x}}\) and x are not distinguished unless otherwise specified. The latter notation is given the meaning of the former. We speak of a “vertex” x in V(X).

Thus ‘\(\equiv _X\)’ and ‘\(=\)’ are not distinguished unless otherwise specified. The latter notation is given the meaning of the former. I.e. we speak of “equality of vertices” \(x=y\) (when strictly speaking we just have \({\hat{x}}={\hat{y}}\)).
Operations over pointed Graphs modulo
Subdisks For a graph G:

The neighbours of radius r starting from p are just those vertices which can be reached in r steps starting from p;

The induced subgraph of radius r around W, written \(G^r_W\), is the subgraph induced by the neighbours of radius \(r+1\) of the set of vertices W, with labellings restricted to the neighbours of radius r and the edges between them.
For a pointed graph (G, p) nonmodulo the disk of radius r, written \(G^r_p\), is the subgraph induced by the neighbours of radius \(r+1\), with labellings restricted to the neighbours of radius r and the edges between them, and pointed at p.
For a graph modulo, on the other hand, the analogous operation is:
Definition 31
(Disk) Let \(X\in {{{\mathcal {X}}}}_{\varSigma ,\varDelta ,\pi }\) be a pointed graph modulo and G its associated graph. Let \(X^r\) be \(\widetilde{G^r_\varepsilon }\). The graph modulo \(X^r\in {{{\mathcal {X}}}}_{\varSigma ,\varDelta ,\pi }\) is referred to as the disk of radius r of X. The set of disks of radius r with states \(\varSigma ,\varDelta\) and ports \(\pi\) is written \({{{\mathcal {X}}}}^r_{\varSigma ,\varDelta ,\pi }\).
Definition 32
(Size) Let \(X\in {{{\mathcal {X}}}}_{\varSigma ,\varDelta ,\pi }\) be a pointed graph modulo. We say that a vertex \(u\in V(X)\) has size less or equal to \(r+1\), and write \(u\le r+1\), if and only if \(u\in V(X^r)\).
Shifts are a notation for the graph where vertices are named relatively to some other pointer vertex u.
Definition 33
(Shift) Let \(X\in {{{\mathcal {X}}}}_{\varSigma ,\varDelta ,\pi }\) be a pointed graph modulo and G its associated graph. Consider \(u\in V(X)\) or \(X^r\) for some r, and consider the pointed graph (G, u), which is the same as \((G,\varepsilon )\) but with a different pointer. Let \(X_u\) be \(\widetilde{(G,u)}\). The pointed graph modulo \(X_u\) is referred to as Xshifted byu.
Operations over pointed Graphs nonmodulo
Definition 34
(Shift isomorphism) Let \(X\in {{{\mathcal {X}}}}_{\pi }\) be a pointed graph modulo. Let \(G\in {{{\mathcal {G}}}}_{\pi }\) be a graph that has vertices that are disjoint subsets of V(X) or \(V(X^r)\) for some r. Consider \(u \in V(X)\). Let R be the isomorphism from V(X) to \(V(X_u)\) mapping \(v\mapsto {\overline{u}}.v\), for any \(v\in V(X)\) or \(V(X^r)\). Extend this bijection pointwise to act over subsets of V(X), and let \({\overline{u}}.G\) to be RG. The graph \({\overline{u}}.G\) has vertices that are disjoint subsets of \(V(X_u)\), it is referred to as G shifted by u. The definition extends to labelled graphs.
We need the standard (Boehm et al. 1987; Löwe 1993) notion of union of graphs, and for this purpose we need a notion of consistency between the operands of the union:
Definition 35
(Consistency) Let \(X\in {{{\mathcal {X}}}}_{\pi }\) be a pointed graph modulo. Let G be a labelled graph \((G,\sigma , \delta )\), and \(G'\) be a labelled graph \((G',\sigma ', \delta ')\), each one having vertices that are pairwise disjoint subsets of \(V(X).{\mathbb {N}}^?\). The graphs are said to be consistent if and only if:

(i)
\(\forall x\in V(G)\,\forall x'\in V(G')\quad x\cap x'\ne \emptyset \Rightarrow x=x'\),

(ii)
\(\forall x,y\in V(G)\,\forall x',y'\in V(G')\,\forall a,a',b,b' \in \pi\)
\(\displaystyle {(\{x{:}a,y{:}b\} \in E(G) \wedge \{x'{:}a',y'{:}b'\} \in E(G') \wedge x=x' \wedge a=a')}\)
\(\Rightarrow (b=b' \wedge y=y')\),

(iii)
\(\forall x,y\in V(G)\,\forall x',y'\in V(G')\,\forall a,b \in \pi \quad x=x' \Rightarrow \delta (\{x{:}a,y{:}b\})=\delta '(\{x'{:}a,y'{:}b\})\) when both are defined,

(iv)
\(\forall x\in V(G)\,\forall x'\in V(G')\quad x=x' \Rightarrow \sigma (x)=\sigma '(x')\) when both are defined.
They are said to be trivially consistent if and only if for all \(x\in V(G)\), \(x'\in V(G')\) we have \(x\cap x'=\emptyset\).
(The consistency conditions aim at making sure that both graphs “do not disagree”. Indeed: (iv) means that “if G says that vertex x has label \(\sigma (x)\), \(G'\) should either agree or have no label for x”; (iii) means that “if G says that edge e has label \(\delta (e)\), \(G'\) should either agree or have no label for e”; (ii) means that “if G says that starting from vertex x and following port a leads to y via port b, \(G'\) should either agree or have no edge on port \(x{:}a\)”. Condition (i) is in the same spirit: it requires that G and \(G'\), if they have a vertex in common, then they must fully agree on its name. Remember that vertices of G and \(G'\) are disjoint subsets of \(V(X).{\mathbb {N}}^?\). If one wishes to take the union of G and \(G'\), one has to enforce that the vertex names are still disjoint subsets of \(V(X).{\mathbb {N}}^?\). Trivial consistency arises when G and \(G'\) have no vertex in common: thus, they cannot disagree on any of the above.)
Definition 36
(Union) Let \(X\in {{{\mathcal {X}}}}_{\pi }\) be a pointed graph modulo. Let G be a labelled graph \((G,\sigma , \delta )\), and \(G'\) be a labelled graph \((G',\sigma ', \delta ')\), each one having vertices that are pairwise disjoint subsets of \(V(X).{\mathbb {N}}^?\). Whenever they are consistent, their union is defined. The resulting graph \(G\cup G'\) is the labelled graph with vertices \(V(G)\cup V(G')\), edges \(E(G)\cup E(G')\), labels that are the union of the labels of G and \(G'\).
Appendix 2: Summary of notations
Notation  Meaning 

Graphs  
\(\pi\)  Set of ports 
a, b  Ports 
\(e,\{x:a,y:b\}\)  Edges 
\(\varPi ^*\)  Words in \(\pi ^2\), possible paths 
V  Possible vertices 
\(\varSigma , \varDelta\)  Set of internal states for vertices/edges 
\(\sigma , \delta\)  Labelling functions for vertices/edges 
r, s, t, m, n  radiuses 
\({{{\mathcal {G}}}}_{\varSigma ,\varDelta ,\pi }\)  Set of graphs 
G, H  Graphs 
E(G)  Edges of G 
V(G)  Vertices of G 
p, u, v, x, y  Vertex of graphs 
u.G  Graph, whose vertex names get prefixed by u 
\(G^r_W\)  Induced subgraph of radius r around W 
\({}^\downarrow G\) (resp. \({}^\uparrow G\))  unmarked (resp. marked and the interface) parts of G 
(G, p), P, Q  Pointed graph 
\(G^r_p\)  Disk of a pointed graph, pointed at p 
R  Graph isomorphism a.k.a Renaming 
\({{{\mathcal {X}}}}_{\varSigma ,\varDelta ,\pi }\)  Set of pointed graphs modulo isomorphism 
\(\widetilde{(G,p)}, X, Y\)  Pointed graphs modulo 
\(\varGamma (X)\)  Graph associated to a pointed graph modulo 
L(X)  Set of paths in X 
u, v, x, y  Paths in a pointed graph modulo 
\({\overline{u}}\)  Inverse path 
u.v  Concatenated paths 
\(u\equiv _{X}v\)  Equivalent paths in X 
V(X)  Vertices of X 
\({\hat{u}}, u, v, x ,y\)  Vertices in a pointed graph modulo 
\(X_u\)  Shifted pointed graph modulo 
\(u\sim _{X}v\)  Shiftequivalent paths in X 
C  A shiftequivalence class 
\(X_{/\sim }\)  A pointed graph modulo isomorphism, modulo shiftequivalence 
\(X^r\)  r–disk of a pointed graph modulo 
u  Minimal r s.t. \(X^r\) contains u 
X(k)  Sequence of pointed graphs modulo 
\({}^\Box X\)  An asymmetric extension of X 
\(\overline{{{{\mathcal {X}}}}}_{\varSigma ,\varDelta ,\pi }\)  Marked pointed graphs modulo isomorphism 
Notation  Meaning 

Dynamics  
r, s  Locality radius, boundedness bound 
f  Local rule 
F  Global function, a.k.a evolution 
\(R_\bullet , S_\bullet\)  Name maps 
\(R_X^m\)  Restriction of \(R_X\) to the codomain \(V(F(X)^m)\) 
\((F,R_\bullet )\)  Global dynamics 
A, B  Local functions 
\((A,S_\bullet )\)  Local dynamics 
\((A_u,A_{u,\bullet })\)  Shifted local dynamics 
\(A_u\cdot B\)  Composition of local functions accounting for renamings by B 
\(\mu\)  Local function : the mark 
K  Local function : the conjugate mark 
Rights and permissions
About this article
Cite this article
Arrighi, P., Martiel, S. & Perdrix, S. Reversible causal graph dynamics: invertibility, block representation, vertexpreservation. Nat Comput (2019) doi:10.1007/s11047019097680
Published:
Keywords
 Bijective
 Invertible
 Injective
 Surjective
 Onetoone
 Onto
 Cayley graphs
 Hedlund
 Block representation
 Latticegas automaton
 Reversible cellular automata