In discrete processes, as computational or genetic ones, there are many entities
and each entity has a state at a given time. The update of states of the entities
constitutes an evolution in time of the system, that is, a discrete dynamical system.
The relations among entities are usually represented by a graph. The update of the
states is determined by the relations of the entities and some local functions which
together constitute (global) evolution operator of the dynamical system. If the
states of the entities are updated in a synchronous manner, the system is called a
Modeling discrete processes is one of the most important tasks in modern mathematics. In fact, several mathematical concepts have become fundamental in order to establish discrete mathematical models for several phenomena coming from science and engineering. Some of them are
Boolean algebras give symbolic form to Aristotle’s system of logic. In the second half of the nineteenth century, the English mathematician George Boole (1815–1864) defined an algebraic structure which encodes several rules of relationship between mathematical quantities limited to two possible values: true or false, mathematically modeled by 1 or 0. This algebraic structure is currently known as Boolean algebra. The results of the study were published in a survey [
Graphs appear in many different fields of science and engineering as a tool to represent the relations among the elements of a system [
The notion of
These three concepts are mixed properly to construct a mathematical model named
This mathematical model constitutes a generalization of other relevant ones which appeared previously in the literature, as
A CA has been traditionally conceived as a grid of cells, where each cell has a state belonging to a finite set (usually
CA has revealed as a suitable mathematical model to capture the essential features of digital computers: synchronicity, regular distribution, and locality of iterations. Although they were introduced for the first time in the works of Ulam and von Neumann [
In [
A BN of size
BN appeared, almost at the same time, in applied models created for the simulation of aspects of the behavior of biological systems. This occurred in [
In the last two decades, many works have focused their attention on mathematical modeling of several computer processes. The first one of a series of these works was [
Computer processes involve generation of dynamics by iterating local mappings. In fact, a computer simulation is a method for the composition of iterated mappings, typically on local dependency regions [
In the computational context, it is common to rename the local mappings as
In this sense, each entity
Thus, the update of the states is determined by the dependency graph relations of the entities and the local functions which together constitute the (global)
CA, when finite, can be considered as a special kind of PDS by considering cells as entities. On the other hand, BN are a generalization of (finite) Boolean CA but, at the same time, a particular case of PDS by considering nodes as entities. One of the main differences with CA is that, in BN, the state of each node is not affected necessarily by its neighbors but potentially by whichever node in the network. Thus, the uniform structure of neighborhood in CA disappears. However, some homogeneity remains, since each node is affected by
Since CA and BN are special cases of PDS, their applications can be assumed as applications of PDS. Some applications of CA and BN that appear in the literature are enumerated below in order to give an idea of the great interest of this tool for modeling discrete processes from science and engineering.
As said before, Boolean networks appear for the first time in [
In [
In the eighties, two important works appeared relating CA and ecological modeling [
More recently, two works [
On the other hand, in [
In the book [
Also in sociology, there exist some works where CA are used for modeling the corresponding systems (see, for instance, [
According to [
In this particular case, as the state space of the system is finite, every orbit is periodic or eventually periodic. Note that, for a system with
In view of that, the unique way to give general results for these systems is to find out their properties analytically, as done in [
What is the length of the limit cycles?
What is the number of different limit cycles?
If one considers two different initial states, when do they arrive in the same limit cycle?
Actually, these are the main questions reviewed in this paper for PDS. More specifically, this paper reviews the full characterization of the orbit structure of PDS over undirected graphs covering all the casuistry, since it shows the behavior of any parallel dynamical system regardless the type of graph, the number of entities, and the relationships among them. Also, essential properties of the orbit structure of PDS over directed dependency graphs are revised. Besides, two extensions of the concept of PDS are shown.
The paper is organized as follows. In the next section we present theoretical foundations of PDS and compare them with CA and BN in detail. In Section
In computer processes, there are many entities and each entity has a state at a given time (see [
If we denominate this graph
On the other hand, for every vertex/entity
Nevertheless, in many occasions, the process of information exchange is not bidirectional [
Recalling that, given vertices
As the natural way to consider if the state of any entity is activated or deactivated, the basic Boolean algebra
Mathematically, a
It is common to denote the operation
It is natural to introduce the algebraic structure of Boolean algebra as a
If
In this Boolean algebra, the neutral and universal elements are given, respectively, by
Two Boolean algebras
In particular, we have that
One of the most important facts in the algebraic structure of Boolean algebra is the existence of some basic elements, named
The atoms allow us to express any element of the Boolean algebra, different from the neutral one
Another important feature is the
Concerning Boolean algebras, another important concept throughout this work is the following.
Let
A Boolean function describes how to determine a Boolean output from some Boolean inputs. Thus, such functions play a fundamental role in questions as design of circuits or computer processes [
An important point is that the set of all the Boolean functions of
Maxterms and minterms are both special cases of Boolean functions.
A Boolean function of
In this sense, the simplest maxterm corresponds to the one where each of the
With all the variables in their complemented form, we have the maxterm NAND:
Minterm is the dual concept of maxterm, changing the disjunction operator for the conjunction one.
A Boolean function of
The simplest minterm corresponds to the one where each of the
With all the variables in their complemented form, we have the minterm NOR:
As one can check, there exist exactly
In particular, see [
Mathematically, a
The most general way in which the evolution operator is given is by means of a family of maps depending on
Depending on the time set
In this review, we deal with a special kind of discrete dynamical systems. A discrete dynamical system is fully specified by defining only one map
In our particular case, as the state space is finite, the timeone map can be represented by a table which is called
When the evolution operator is defined for both negative and positive values of the time, the system is called
We actually determine a dynamical system over a (directed or undirected) dependency graph
In fact, the evolution or update of a system over a (directed or undirected) dependency graph is implemented by local (Boolean) functions. These local functions are either restrictions of a global function or jointly constitute the (global) evolution operator of the system.
If the states of the entities are updated in a parallel manner, the system is called a
Let
Let
Basic objects associated to a dynamical system are its orbits and consequently the
The
Orbits of a discrete dynamical system are ordered sequences of states in the phase space that can be enumerated by increasing integers.
It is worthwhile to recall that, given a discrete dynamical system with global evolution function
If
If there exists an integer
When an initial state
If there does not exist any state
According to [
The representation of the orbit structure of a system is called
In the next simple example, the different notions related to PDS that were introduced before will be studied in order to clarify them. Let us consider the PDS
This lookup table corresponds to the application of the maxterm
Note that the system is not invertible, since there are 3 initial states that have not any predecessor: 001, 010, and 100. They constitute the GOE of the system and all of them are in the basin of attraction of the attractor cycle
On the other hand, the system does not present any fixed point, although it has a 3periodic orbit
The absence of fixed points and the presence of periodic orbits of period greater than two in this kind of PDS over directed dependency graphs are two important breakpoints with respect to the pattern followed by those defined over undirected graph (see [
Lookup table for the timeonemap of the PDS

111  110  101  100  011  010  001  000 











Graphic representation of the dependency digraph
Transition diagram of the PDS
As shown before, in spite of their relation with classical dynamical systems, the theory and analysis of PDS (and SDS) are based on techniques from algebra, combinatorics, and discrete mathematics in general. In fact, due to the especial
In the specific literature, several topics which are related to PDS appear. In this section, an overview about them is given. The list of related topics presented is reduced to the most similar ones. The purpose is only to provide an introduction in order to compare them with PDS. Specifically, the nearest concepts, namely,
Following Wolfram [
Thus, CA can be contemplated as a particular case of (infinite) PDS (the concept of PDS can be easily extended to involve an infinite number of entities), if one considers cells as entities. Nevertheless, CA have a more restricted and uniform structure and, in contrast to PDS, CA are usually considered over inf of the system are fixed mple,
The more restricted and uniform structure of CA is reflected by both the neighborhood
Onedimensional (Boolean) CA with two possible values for the state of the cells, 0 and 1, in which the neighborhood of a given site is simply the site itself and the sites immediately adjacent to it on its left and right, are studied in [
Threeneighborhood structure for onedimensional CA.
For twodimensional CA, two of the most used neighborhood structures are the
Von Neumann neighborhood structure for twodimensional CA.
Moore neighborhood structure for twodimensional CA.
CA over finite lattices with
by imposing
by imposing
Local rules for the updating of Boolean CA are in fact Boolean functions of
For a onedimensional, threeneighborhood, Boolean CA, a local function has to determine the (output) state value of the central cell, from the (input) state values of the central cell and its two immediately adjacent ones. As we are considering Boolean values, there are only
As from any input state values the output state value can be 0 or 1; there are
Denomination of the updating of the state of any entity

111  110  101  100  011  010  001  000 











Thus, the elementary CA rule 0 erases any initial configuration, while 204 does not change any initial configuration; that is, it corresponds to the identity transformation. One of the most important elementary threeneighborhood CA is the one given by the local function
Updating of the state of any entity

111  110  101  100  011  010  001  000 



1  0  0  1  0  1  1  0 
Its importance is due to its applications to cryptographic protocols (see [
CA, when finite, can be considered as a special kind of PDS by considering cells as entities. It is easy to understand that the lattice of a CA allows us to infer a PDS dependency graph by considering the cells as entities, being any entity adjacent to those that are its neighbors in the lattice. Even, when infinite, CA can be considered PDS, since the concept of PDS can be easily extended for an infinite number of entities.
Also, CA are updated in a parallel or synchronous manner by applying local functions on a subset that contains the (state value of the) cell. Nevertheless, in the last few years some extensions of the concept of CA considering sequential or asynchronous updating have appeared in the literature (see [
However, CA are restricted cases of PDS in several ways. First of all, for a CA seen as a PDS, the dependency graph, which is derived from the lattice and the neighborhood structure, is regular, whereas the graph of a general PDS can be arbitrary. Secondly, CA have the same local function or rule associated with every cell, while general PDS can have distinct local functions to update different entities, which can be the restriction of a global one (see [
Although theoretically the set
Summing up, PDS are a generalization of CA, where the state value of each entity is not affected necessarily by its neighbors (see Figure
Graphic representation of comparative dependency graphs for CA, BN, and PDS.
A Boolean network (BN) of size
Another important difference with CA is that local Boolean functions of
BN with
As in PDS, the state space is finite with
As for the case of CA, originally the updating of BN was synchronous, but, also in this case, several recent works provide some extensions of the concept, considering asynchronous updating schedule [
Although first Kauffman models were deterministic, in the last decade some authors have studied an extension of the concept considering a probabilistic updating schedule [
Let
The construction explained before is basic in the sense that only two kinds of functions with two probabilities are considered to update the nodes of the BN. Obviously, more functions could be considered and then the probabilistic phase space would be the result of the superposition of all the transitions diagrams obtained deterministically with any global operator, considering for any arc that appears in more than one of this transitions diagrams the weight resulting of the sum of all the probabilities assigned to any of the diagrams where this arc appears.
Finally, observe that the PDS notion could be extended in order to capture probabilistic updating in the same sense that probabilistic BN do. Nevertheless, in this case, they would lose the structure of (deterministic) dynamical systems.
This section is devoted to review the orbit structure of parallel discrete dynamical systems with maxterms and minterms Boolean functions as global evolution operators. As a result, it is shown that the orbit structure does not remain when the system is perturbed.
In [
Dually, for a parallel dynamical system
Observe that the orbit structures of
In [
If all the variables are in their direct form, only fixed points or eventually fixed points can appear.
If all the variables are in their complemented form, only 2periodic orbits or eventually 2periodic orbits can appear.
Otherwise, both kinds of situations coexist.
As before, dually, for a parallel dynamical system
These results provide a complete characterization of the orbit structure of parallel discrete dynamical systems with maxterms and minterms Boolean functions as global evolution operators. In particular, one can infer that when other maxterms (resp., minterms) different from
In this section, the orbit structure of parallel discrete dynamical systems over directed dependency graphs (PDDS) (the abbreviation PDDS will be written for the singular and plural forms of the corresponding term, since it seems better from an aesthetic point of view) with Boolean functions as global evolution operators is reviewed. In this sense, for the cases corresponding to the simplest Boolean functions
In [
Nevertheless, comparing with the undirected case studied in the previous section, for the directed one the number of fixed points can increase significantly, except if the digraph is strongly connected (i.e., if for all pairs of vertices
Besides, also in [
Subsequent research [
However, it is not easy to control the orbit structure when the dependency graph has cycles. In such a case, the orbital structure depends on both the global evolution operator and the structure of the digraph. In particular, in [
In this section, two extensions on parallel dynamical systems are reviewed. The first one is related to the manner of defining the evolution update and the second one to consider that the states of the entities can take values in an arbitrary Boolean algebra.
When Kauffman introduced BN for the first time [
In particular, for a PDS
Consider the undirected dependency graph given by
Moreover, for a PDS
Finally, also in [
In [
As said before, in [
Since the coexistence of periodic orbits depends on the number of entities, their connections, and the Boolean operator, several matrix algorithms for the computation of orbits in PDDS over directed dependency graph are developed in [
These matrix methods of computation of orbits provide an especial mathematical linearization of the system, by means of particular products of the adapted adjacency matrix of the dependency graph and the state vectors.
We think the algorithms established can help to infer some analytical results on the orbit structure of PDS and SDS over special classes of digraphs, since they can be used to reveal some orbit patterns.
The results on PDS reviewed provide a full characterization of the orbit structure of PDS over undirected graphs covering all the casuistry, since it studies the behavior of any parallel dynamical system regardless the type of graph, the number of entities, and the relationships among them. Specifically, when the evolution functions are
On the other hand, essential properties of the orbit structure of PDS over directed dependency graphs are achieved. In fact, evolutions with
Motivated by these findings, computation methods for calculating orbits in PDS are also developed. Besides, two extensions of the PDS concept are shown.
The study developed so far opens several future research directions. Most of the problems that can arise after this study of PDS correspond to extensions of the model, some of which have already begun to be studied in some works in the narrower context of CA or BN. It would be interesting to extend this study to the more general context of PDS (or SDS).
One of the initial questions posed by this work is to check if the results for PDS are transferable to the case of SDS. Paper [
Results in [
In the case of directed dependency graphs, the extension of the results to SDS seems much more complicated, as one can check with simple examples.
When modeling discrete processes, it can occur that the entities are updated in a mixed manner between parallel and sequential one. This happens when there exists a partition of the set of entities
The original definition of CA [
In [
On the other hand, to give a fair explanation about how a system evolves when the entities can have state values in a finite set would open the door to the definition and posterior study of a fuzzy version of PDS.
Of course, one can also think in the possibility of considering an infinite set of state values for the entities. But, again, this is not a natural situation in the processes modeled by PDS.
Also in the original definition of CA in [
In the same sense as before, one can also think in the possibility of considering an infinite number of entities and a finite or infinite set of state values for the entities.
The notion of dynamically equivalent systems allows us to describe theoretically the class of all dynamically equivalent systems. Therefore, it should be desirable to find out some properties in the dependency graph and the evolution operator which provide or characterize PDS equivalent to a given one. A first approach in this sense appears in [
The authors declare that there is no conflict of interests regarding the publication of this paper.
This work has been partially supported by Grants MTM201123221.