Abstract

In this paper, we deal with one of the main computational questions in network models: the predecessor-existence problems. In particular, we solve algebraically such problems in sequential dynamical systems on maxterm and minterm Boolean functions. We also provide a description of the Garden-of-Eden configurations of any system, giving the best upper bound for the number of Garden-of-Eden points.

1. Introduction

Network models are the natural way to formalize the evolution of any phenomenon that includes cells, gens, entities, or any kind of distinct elements which interact among them. Thus, it is not amazing the big amount of papers, published in the last decades, associated with sciences (see, for instance, [118]) and engineering (see, for instance, [1924]), where such models appear to represent different phenomena and study their behavior.

Usually, the possible states of the elements of a network model are represented by a (finite) number set , which we will call state set. One of the most common cases occurs when such states are on-off, as happens in computer processes, where the number set representing such states values is the basic Boolean algebra . However, could have a more complex structure as, for example, a general Boolean algebra with elements, for (see [25]).

The interaction among the elements of the phenomena is mathematically modeled by a graph called dependency or wiring graph. In such a graph, the elements are formalized by nodes and an edge between two nodes represents some kind of relation. When the relations are only unidirectional, they are usually named influences and the graph is directed (see, for instance, [26]), with arcs instead of edges. Commonly, the graphs employed in such models are combinatorial; that is, they have no multiple edges or arcs and they are also loop-free.

The evolution of the phenomenon is normally modeled by an operator which consists of local functions that provide the evolution of any vertex, depending on the relation of such a vertex with other vertices. In view of this, these local functions are also called vertex functions [27]. When the vertex functions correspond to the restriction of the operator to every vertex and their related ones, the model is said to be homogeneous. Other less restricted possibility is that the vertex functions are independent as, for instance, in [28]. When the state set is a Boolean algebra, the vertex functions are given by Boolean functions.

The interactions among elements of a phenomenon do typically not occur simultaneously. When it occurs, it is said that the model updates synchronously or parallelly (see [25, 26, 2836]); otherwise it is said that the model updates asynchronously or sequentially (see [20, 27, 3741]). In this last case, an update order is needed to specify the sequence in which the states of the elements evolve. The update order is usually formalized by permutations or finite words over the vertex set of the corresponding wiring graph.

The above four features (i.e., state set, wiring graph, local functions, and update order) determine the most of network models. But, to get a fair model, one should also think if the phenomenon under modelization has some random aspects, as happens, for example, in an infection model, that is, if the system is stochastic or, in contrast, it is deterministic. Stochastic network models can be obtained by choosing relations among elements, local functions, or update orders randomly at every (iteration) time .

In this work, we deal with deterministic network models which are discrete-time dynamical systems. In particular, we focus on models for which the state set is ; the wiring graph could be any combinatorial one; the local functions are restriction of a global operator, given by a maxterm or minterm Boolean function; and the update order is a vertex-indexed permutation. These models will be referred to as sequential dynamical systems (SDS) on maxterm and minterm Boolean functions.

SDS are useful to model phenomena (as evolution of electrical power networks, disease propagation across a social contact network, traffic in large urban areas, transport computations, etc.) where causal dependencies among the elements exist (see [27]). In fact, parallel dynamical systems (PDS) can be seen as a particular case of such models by means of the principle of doubling the graph as shown in [27]. Moreover, SDS generalize the concept of the pioneers network models given by the original cellular automata (CA) [42] or Boolean networks (BN) [14]. (The abbreviations SDS, PDS, CA, BN, and GOE will be written for the singular and plural forms of the corresponding terms, since it seems better from an aesthetic point of view).

Once a SDS is set out, to know the evolution of a phenomenon under modelization, we need to describe the phase portrait of such a dynamical system in relation to the state set, the wiring graph, the local functions, and the update order. The phase portrait is always a directed graph, consisting of disconnected cycles that could be reached by trees. The system states in such cycles are called periodic, while the rest of them are called eventually periodic. In particular, the leaves of the trees are said to be Gardens of Eden (GOE), while the rest of the system states in the trees are called transient states. In view of this, to know the dynamics, we need to derive as much information as possible about the periodic structure of the SDS and their transient and GOE points.

The periodic structure of SDS on maxterm and minterm Boolean functions is studied in [37], where it is proved that any period can appear in their phase portrait, although fixed points cannot coexist with other periods. This issue is someway a generalization of the results in PDS on the same Boolean functions [29, 33], where only fixed points and 2-periodic orbits can appear but not coexist. This generalization on the periodic structure, obtained when passing from PDS to SDS, motivates the study of the behavior of the rest of the states for SDS that we perform in this work.

Given a SDS, the dynamics of the rest of the states can be obtained computationally by brute-force, using algorithms like those in [34, 40]. But, unfortunately, the results in such computations are only valid for such a SDS. Thus, in this work, we try to extract information (algebraically) about the dynamics of such states by exploring the properties of the SDS in relation to its four fundamental features.

The predecessor-existence problems, whose solution gives the GOE and transient points, have been traditionally considered as a computational question together with other ones as the reachability problem or the permutation-existence problem (see [27, 38, 39, 41, 43, 44]). Jointly with the predecessor existence problem (PRE), other related problems are often studied as the unique predecessor problem (UPRE), the coexistence of predecessors problem (APRE), and the number of predecessors problem (#PRE) [43].

As for the periodic structure, the results here obtained for SDS in relation to the existence of predecessors and GOE not only suppose an algebraic solution for such problems, but they constitute a generalization to those achieved for PDS in [31].

This paper is organized as follows. Section 2 presents some basic notations and background on SDS. In Section 3, the PRE problem is solved for SDS on maxterm and minterm Boolean functions. In particular, we provide a fundamental predecessor which exists when the state has predecessors. As a consequence, we give conditions that characterize GOE and provide bounds for the number of such states. Mathematical conditions for the UPRE and APRE problems are also given. Besides, we provide upper bounds for the #PRE problem which are the best possible. Finally, Section 4 shows some conclusions and future research directions.

2. Preliminaries

In this section, some fundamental concepts about sequential dynamical systems (SDS) are revised. For further reading, more details on this topic can be found in [27] and the references therein.

A sequential dynamical system is given by three basic elements associated with the state set of the entities:(i)A dependency graph modelling the relations among the entities.(ii)A global function showing the influence of the states of the entities in the evolution.(iii)A permutation of the vertices of the dependency graph that indicates the order in which the entities are updated.

Let us proceed with a contextualization of such elements into this type of system.

The dependency graph is an undirected graph , where is the vertex set and each element belonging to is called a vertex or entity of the system, and is the edge set containing the adjacency relationships among the entities. Each one of these vertices can be activated or deactivated, and it will be represented for the entity , respectively, as or , being these values the associated state values of the entities.

It will be assumed along this document that is connected because, otherwise, the results can be generalized simply by working on each connected component.

For each entity , as in [31], let us consider the set asthat is, the set of all the entities that interfere with in its update. Similarly, for , we denoteAlso, let us consider the following sets:We will denote the complementary of a set by using the upper script . For example, will be the subset of entities belonging to which do not belong to .

The update (or evolution) of the system is given by local functions , for each . Although these functions may be independent [28], in this document we will assume that they are the restriction of a global function over . This kind of systems is called homogeneous.

In particular, this global evolution operator can be described from a Boolean function of variables:where the evaluation is computed from the values using the logical operators AND, OR, and NOT.

Some relevant cases of Boolean functions are the maxterms and minterms. Recall that a maxterm (resp., minterm) of variables is a Boolean function such thatbeing or .

Since the function originates , sometimes in this document the name of can be assimilated by .

Finally, the order relationship between the vertices of the dependency graph indicates the order in which the states of the entities are updated. It is given by a permutation on , , where is the first entity whose state updates, the second one, and so on.

Summarizing, we have the following.

Definition 1. Let be an undirected graph with , a permutation on anda Boolean function such that updates the state of the entity considering the state values of the entities belonging to , keeping the other states unaltered. We will denote by -SDS the sequential (discrete) dynamical system over with evolution operator .

Along this document, we will use indistinctly and to mention the evolution operator since is implicit in the evaluation of the Boolean function in this context of SDS.

The fundamental idea which motivates this document is that the key to understand a dynamical system is knowing its orbits and its phase diagram, i.e., the split of the state space into its orbits.

Definition 2. Let -SDS be a sequential dynamical system and . The orbit in the SDS starting at is the subset of the state space given by

The orbits in a SDS are sorted lists of states. When , is called the successor of . A configuration can be successor of more than one state, which are its predecessors. When it happens, the system is called dissipative.

If there is no such that , i.e., if is a configuration without a predecessor, then is called Garden of Eden (GOE) of the system.

Given a generic configuration , we define the following subsets of , which will be useful throughout this document.

Let us consider the split of into the following sets:namely, (resp., ) is the set of deactivated (resp., activated) entities of .

Additionally, let us now consider the following sets contained in :In other words, each element belonging to (resp., ) is adjacent to a vertex which is updated, according the order expressed in , before (resp., after) .

Similarly for , we consider the sets and contained in :Lastly, let us consider (resp., ) the set of entities such that the corresponding variables appear in the Boolean operator, maxterm or minterm, in direct (resp., complemented) form. These sets and are such that .

3. Main Results

In [43], the study of predecessors is divided into four specific problems:(i)Predecessor existence (PRE).(ii)Predecessor uniqueness (UPRE).(iii)Predecessors coexistence (APRE).(iv)Number of predecessors of a given state (#PRE).

We will start solving the first of these problems. We will also provide a characterization of GOE points in the context of SDS on maxterm and minterm Boolean functions. Therefrom, some results will be also reached which will allow us to solve the rest of the problems in the previous list.

The next theorem provides us with a characterization of GOE points in terms of sufficient and necessary conditions, finding a particular predecessor of a specific global state of the variables in the context of a SDS, when it exists.

Theorem 3. Let be a sequential dynamical system over a dependency graph associated with the maxterm . Then, a configuration has a predecessor if, and only if, the state defined as follows is such that :(i)For every entity (a) if ,(b) if .(ii)For every entity (a) if ,(b) if .

Proof. It must only be shown that this condition is necessary for the existence of a predecessor. For this purpose, let us see that if there is a predecessor of , , then defined as in this theorem is also a predecessor of .
Thus, if , it must be(i) if ,(ii) if ; otherwise if or for some (those ones that update before ) if .
Suppose, by reduction to the absurd, that is not a predecessor of . Let be the first entity, according to the order established by , such that does not update to . It must be , because the entities in update to the activated state because of their own state values in .
If , let us analyze the possible state of the entities belonging to :(i)Since is the first entity not updating to the state given by , then with , , and , the entity has updated to the state given by , the same as for ,(ii),(iii) with , , and ,(a)if , then ,(b)if , then if or if . Since updates to , must also do it, but this is a contradiction and, consequently, .
Therefore . In this situation,(i)Since is the first entity not updating to the state given by , then with , , and , the entity has updated to the state given by , the same as for ,(ii),(iii) with , , and , the entity , and so if or if . Since updates to , must also do it, which is a contradiction and, consequently, .
Therefore, there cannot exist like that and updates to .

Dually, we have the following.

Theorem 4. Let be a sequential dynamical system over a dependency graph associated with the minterm . Then, a configuration has a predecessor if, and only if, the state defined as follows is such that :(i)For every entity (a) if ,(b) if .(ii)For every entity (a) if ,(b) if .

Theorems 3 and 4 solve the PRE problem for SDS on maxterm and minterm Boolean functions as evolution operators, respectively, and allow us to establish the following characterization of the GOE points of these systems.

Corollary 5. Let be a sequential dynamical system over a dependency graph associated with the maxterm . Then, a configuration is a GOE point of the system if, and only if, the state defined as in Theorem 3 is such that .

Corollary 6. Let be a sequential dynamical system over a dependency graph associated with the minterm . Then, a configuration is a GOE point of the system if, and only if, the state defined as in Theorem 4 is such that .

Next, we provide sufficient conditions of GOE point.

Corollary 7. Let be a sequential dynamical system over a dependency graph associated with the maxterm . If a global state is such that , then is a GOE point.

Proof. If , there is an entity whose corresponding variable in appears in complemented form and with an adjacent entity updating after it. In this situation, the configuration cannot be obtained as the update of another global state because the evolution of the entity to the deactivated state makes it impossible the posterior update of the entity to this state.

Corollary 8. Let be a sequential dynamical system over a dependency graph associated with the maxterm . If a global state is such that , then is a point.

Proof. If , there is an entity whose corresponding variable in appears in direct form and with an adjacent entity updating after it. The proof finishes reasoning as in Corollary 7.

And dually, we have the following.

Corollary 9. Let be a sequential dynamical system over a dependency graph associated with the minterm . If a global state is such that , then is a point.

Corollary 10. Let be a sequential dynamical system over a dependency graph associated with the minterm . If a global state is such that , then is a point.

From Corollary 7 (resp., Corollary 9), it can be deduced that a configuration with two adjacent complemented vertices with state value (resp., ) is a GOE point of a (resp., ). Actually, when (resp., ), they are the only GOE points of the system.

Indeed, if a configuration of is such that implies that , then has a predecessor given by(i) if ,(ii) if .

Additionally, since in such kind of systems any configuration reaches a periodic orbit at a maximum of one iteration (see [36]), we have the following.

Proposition 11. Let be a sequential dynamical system over a dependency graph associated with the maxterm . Then the points of the system are the configurations such that there are two adjacent vertices with . Furthermore, the other configurations belong to periodic orbits.

And dually, we have the following.

Proposition 12. Let be a sequential dynamical system over a dependency graph associated with the minterm . Then the points of the system are the configurations such that there are two adjacent vertices with . Furthermore, the other configurations belong to periodic orbits.

From Proposition 11 (and, dually, from Proposition 12), we can see that the pattern of the parallel update shown in [31] for a over a dependency graph , with and , whereby a configuration with only one activated entity has no predecessors, is broken in the case of the sequential update, as shown in the following example.

Example 13. In the case of the SDS defined by(i),(ii),(iii), the configuration is not a GOE point because is its predecessor.

In view of these results, we can state the following corollaries about the number of GOE points in a SDS.

Corollary 14. Let be a sequential dynamical system over a dependency graph associated with the maxterm , with and . Then, the number of points, , is such that . Moreover, these bounds are the best possible because they are reachable.

Proof. First, we will prove that any SDS with has GOE points. Observe that, as , there exist two adjacent entities and with updating before . If , then a configuration with and has no predecessor; otherwise and the same occurs for a configuration with .
In fact, the lower bound is reached, as shown in the example below. Let us consider the -SDS defined by (i).(ii).(iii). In this case, is a GOE of the system and the rest of states belong to a -cycle, as can be checked in Figure 1.
On the other hand, is never a GOE of the system, because the state defined as follows is its predecessor: (i) if ,(ii) if . Also, there is always another point with a predecessor, because if is defined as(i) if ,(ii) if then updates to a state such that .
As shown in the example below, this upper bound is also reached. Let us consider the following -SDS, determined by(i).(ii).(iii). The phase diagram of this system is shown in Figure 2.

Remark 15. In Corollary 14, has been imposed. This is necessary because a - SDS with has fixed points, if , or one -cycle, if . That is, it has not GOE points in any case.

And dually, we have the following.

Corollary 16. Let be a sequential dynamical system over a dependency graph associated with the minterm , with and . Then, the number of points, , is such that . Moreover, these bounds are the best possible because they are reachable.

In Theorem 3, a constructive proof about the existence of a predecessor is shown. The structure of such a predecessor exposed in that result inspires the following result.

Corollary 17. Let be a sequential dynamical system over a dependency graph associated with the maxterm . If a configuration has a predecessor , the structure of such a predecessor is as follows:(i)If , for every entity , with and :(a)If or :(1) if , or(2) if .(b)If :(1) if , or(2) if .(ii)If , there exists an entity such that if and , at least one of the following conditions is accomplished:(a) or , and:(1) if , or(2) if .(b), and:(1) if , or(2) if .

Proof. On the one hand, if and there is such that the conditions shown are not satisfied in this case, the entity will update to the activated state due to this adjacent entity , which is a contradiction. On the other hand, if and these conditions are not satisfied, the entity will update to the deactivated state, which is also a contradiction.

Dually, we have the following.

Corollary 18. Let be a sequential dynamical system over a dependency graph associated with the minterm . If a configuration has a predecessor , the structure of such a predecessor is as follows:(i)If , for every entity , with and :(a)If or :(1) if , or(2) if .(b)If :(1) if , or(2) if .(ii)If , there exists an entity such that if and , at least one of the following conditions is accomplished:(a) or , and:(1) if , or(2) if .(b), and:(1) if , or(2) if .

In a (resp., ), the entities whose state is deactivated (resp., activated) in determine univocally their state and the state of their adjacent entities in (resp., ) in any predecessor , if such a predecessor exists. However, for any entity whose state value is (resp., ) in , it is only necessary the intervention of a timely adjacent entity, or itself, with the appropriate state in the moment of its update. This point is the key to solve the UPRE, APRE, and #PRE problems hereafter.

The following theorems allow us to determine if, given a state with a predecessor , there are other configurations different from such that they are also predecessors of . Thus, the UPRE and APRE problems in the context of a SDS on maxterm and minterm Boolean functions as evolution operators are solved.

Theorem 19 (solution to the APRE and UPRE problems for maxterm-SDS). Let be a sequential dynamical system over a dependency graph associated with the maxterm . Let be a configuration of the system such that it has a predecessor. Then, there is a unique predecessor if, and only if, there is not a predecessor of belonging to the following set:being the predecessor of described in Theorem 3.

Proof. Since defined as in Theorem 3 is such that , it must only be shown that this condition is sufficient for the existence of a unique predecessor. For this purpose, let us see that if there is a predecessor of different from , , then there exists a state such that is also a predecessor of .
Given that and is a predecessor of , by Corollary 17, there is an entity such that . Let us take as the only element of such that (consequently, ), and let us see that this state is a predecessor of .
Suppose, by reduction to the absurd, that is not a predecessor of . Let be the first entity, according to the order established by , such that does not update to . It must be , because the entities in update to the activated state because of their own state values in .
If , let us analyze the possible state of the entities belonging to :(i)Since is the first entity not updating to the state given by , then with , , and , the entity has updated to the state given by , the same as for ,(ii),(iii) with , and ,(a)if then ,(b)if then if or if . Since updates to , must also do it, but this is a contradiction and, consequently, .
If , we have the following:(i)Since is the first entity not updating to the state given by , then with , and , the entity has updated to the state given by , the same as for ,(ii),(iii) with , , and , the entity , and so if or if . Since updates to , must also do it, which is a contradiction and, consequently, .
Therefore . In this situation, we have the following:(i)Since is the first entity not updating to the state given by (), then with , , and , the entity has updated to the state given by , the same as for ,(ii),(iii) with , and ,(a)if then ,(b)if then if or if . Since updates to , must also do it, but this is also a contradiction and, consequently, .
Therefore, there cannot exist like that and updates to .

Remark 20. The previous result reduces an initial exponentially sized problem, the search of a particular configuration among the possible states of the system, into another one in which, at most, cases must be analyzed. In this case, a short list of possible candidates is provided and the evaluation of the evolution operation only over the elements of this set provides the answer to the global problem of existence of a unique predecessor for a state .

And dually, we have the following.

Theorem 21 (solution to the APRE and UPRE problems for minterm-SDS). Let be a sequential dynamical system over a dependency graph associated with the minterm . Let be a configuration of the system such that it has a predecessor. Then, there is a unique predecessor if, and only if, there is not a predecessor of belonging to the following set:being the predecessor of described in Theorem 4.

These results respond to the question of the existence of more than one predecessor for a state . The next step is to go deeper into this topic, getting the number of them. In the following results, we explain a method to obtain all the predecessors of and, consequently, this number in order to solve the predecessor problem #PRE.

Corollary 22. Let be a sequential dynamical system over a dependency graph associated with the maxterm . Let be a configuration and let us consider the following iterative process:(i),(ii)if , then , being the restriction of over . Then, is the set of all the predecessors of .

Example 23. Let us illustrate this procedure with a particular example, in order to clarify the notation. We consider the - SDS defined by(i).(ii).(iii).The phase diagram of this system is shown in Figure 3.
The set of predecessors of the configuration isLet us see that this set is obtained as at the end of the iterative process starting with .
Firstly, is obtained: since , the only configurations that can belong to are and . On the other side, since , it is .
Then, to obtain , since and considering the elements in , the only configurations that can belong to are , , , and . Now, and , so .
Finally, since and knowing the set , the only configurations that can belong to are , , , , , and . Now, is equal to , while , , , , and are all equal to
Thus, .

Dually, we have the following.

Corollary 24. Let be a sequential dynamical system over a dependency graph associated with the minterm . Let be a configuration and let us consider the following iterative process:(i),(ii)if , then , being the restriction of over . Then, is the set of all the predecessors of .

These last procedures allow us to know all the predecessors of a state in a SDS and, consequently, the number of them. Since this calculus depends on the particular graph, in the following results we give a bound for this number.

Theorem 25. Let be a sequential dynamical system over a dependency graph associated with the maxterm . Then, the number of predecessors of a given state is upper bounded by . Moreover, this bound is the best possible because it is reachable.

Proof. From Theorem 3 and Corollary 17, the states of the entities belonging to in a possible predecessor of are fixed. Since the state values of the rest of entities are either or , a first upper bound for the number of predecessors is .
This upper bound is the best possible because it is reached in the following example. Let us consider the -SDS defined by(i), with , , and .(ii).(iii). In this context, if , then , , , and .
In any predecessor, , it must be and , but, in this case, all the other choices for the states of the rest of entities generate predecessors of .

And dually, we have the following.

Theorem 26. Let be a sequential dynamical system over a dependency graph associated with the minterm . Then, the number of predecessors of a given state is upper bounded by . Moreover, this bound is the best possible because it is reachable.

4. Conclusions and Future Research Directions

The results here obtained for SDS in relation to the predecessors existence problems and GOE not only suppose an algebraic solution for such problems, but also constitute a generalization to those achieved for PDS recently.

On the other hand, these results could reveal interesting interpretations for those phenomena modeled by these SDS, what gives an idea of their relevance.

Taking into account that the interactions among elements of a phenomenon could be (only) unidirectional, these results encourage us to know what happens for SDS over directed graphs as a future research direction.

Data Availability

No data were used to support this study.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

Juan A. Aledo was supported by Junta de Comunidades de Castilla-La Mancha grant FEDER SBPLY/17/18050/000493. Luis G. Diaz, Silvia Martinez, and Jose C. Valverde were supported by FEDER OP2014-2020 of Castilla-La Mancha (Spain) under the Grant GI20173946.