Predecessors Existence Problems and Gardens of Eden in Sequential Dynamical Systems

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.

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 {0, 1}.However,  could have a more complex structure as, for example, a general Boolean algebra with 2  elements, for  ∈ N (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 loopfree.
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,[28][29][30][31][32][33][34][35][36]); otherwise it is said that the model updates asynchronously or sequentially (see [20,27,[37][38][39][40][41]).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, 2 Complexity 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 {0, 1}; 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 vertexindexed 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.

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  = {1, . . ., } 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   = 1 or   = 0, 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   () ⊆  as that is, the set of all the entities that interfere with  in its update.Similarly, for  ⊆ , we denote Also, 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 ( 1 , . . .,   ) is computed from the values  1 , . . .,   ∈ {0, 1} 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 that being   =   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  1 is the first entity whose state updates,  2 the second one, and so on.
Summarizing, we have the following.
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 .Let [, , ]-SDS be a sequential dynamical system and  = ( 1 , . . .,   ) ∈ {0, 1}  .The orbit in the SDS starting at  is the subset of the state space {0, 1}  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,  0 (resp.,  1 ) is the set of deactivated (resp., activated) entities of .
Similarly for  1 , we consider the sets  1 and  1 contained in   ( 1 ): 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   =   .

Main Results
In [43], the study of predecessors is divided into four specific problems: (i) Predecessor existence (PRE).
(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 [, MAX, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the maxterm MAX.en, a configuration  has a predecessor if, and only if, the state  defined as follows is such that MAX() = : 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 , x = (x 1 , . . ., x ), then  defined as in this theorem is also a predecessor of .
Thus, if  ∈  0 ∪  0 , it must be 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  ∈  0 ∪  0 , because the entities in ( 0 ∪  0 )  ⊆  1 update to the activated state because of their own state values in .
If  ∈  0 \  0 ⊆  1 , let us analyze the possible state of the entities belonging to   (): (i) Since  is the first entity not updating to the state given by   = 1, then ∀ ∈  *  () with  =   ,  =   , and  < , the entity  has updated to the state given by   , the same as for x, (ii)   = x , (iii) ∀ ∈  *  () with  =   ,  =   , and  > , Since x updates to   = 1,   must also do it, but this is a contradiction and, consequently,  ∉  0 \  0 .Therefore  ∈  0 .In this situation, (i) Since  is the first entity not updating to the state given by   = 0, then ∀ ∈  *  () with  =   ,  =   , and  < , the entity  has updated to the state given by   , the same as for x, (ii)   = x , (iii) ∀ ∈  *  () with  =   ,  =   , and  > , the entity  ∈  0 , and so Since x updates to   = 0,   must also do it, which is a contradiction and, consequently,  ∉  0 .
Therefore, there cannot exist  ∈  like that and  updates to .
Dually, we have the following.Theorem 4. Let [, MIN, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the minterm MIN.en, a configuration  has a predecessor if, and only if, the state  defined as follows is such that MIN() = : 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.
Proof.If ( 0 ∩  0 ) ∩   ̸ = 0, there is an entity  ∈  0 whose corresponding variable in MAX appears in complemented form and with an adjacent entity  ∈  0 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 [, MAX, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the maxterm MAX.If a global state  is such that Proof.If ( 0 ∩   0 ) ∩  ̸ = 0, there is an entity  ∈  1 whose corresponding variable in MAX appears in direct form and with an adjacent entity  ∈  0 updating after it.The proof finishes reasoning as in Corollary 7.
And dually, we have the following.From Corollary 7 (resp., Corollary 9), it can be deduced that a configuration with two adjacent complemented vertices with state value 0 (resp., 1) is a GOE point of a [, MAX, ] − SDS (resp., [, MIN, ] − SDS).Actually, when MAX = NAND (resp., MIN = NOR), they are the only GOE points of the system.Indeed, if a configuration  of [, NAND, ] − SDS is such that   =   = 0 implies that {, } ∉ , then  has a predecessor given by 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 [, NAND, ] − SDS be a sequential dynamical system over a dependency graph  = (,) associated with the maxterm NAND.en the GOE points of the system are the configurations such that there are two adjacent vertices ,  ∈  with   =   = 0. Furthermore, the other configurations belong to periodic orbits.
And dually, we have the following.Proposition 12. Let [, NOR, ] − SDS be a sequential dynamical system over a dependency graph  = (,) associated with the minterm NOR.en the GOE points of the system are the configurations such that there are two adjacent vertices ,  ∈  with   =   = 1.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 MAX − PDS over a dependency graph  = (, ), with  = {1, . . ., } and  ≥ 2, 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 .In the case of the SDS defined by the configuration  = (0, 1) is not a GOE point because  = (1, 1) 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 [, MAX, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the maxterm MAX, with  = {1, . . ., } and  ≥ 2. en, the number of GOE points, #GOE, is such that 1 ≤ #GOE ≤ 2  −2.Moreover, these bounds are the best possible because they are reachable.
Proof.First, we will prove that any SDS with  ≥ 2 has GOE points.Observe that, as  ≥ 2, there exist two adjacent entities  and  with  updating before .If  ∈ , then a configuration with   = 1 and   = 0 has no predecessor; otherwise  ∈   and the same occurs for a configuration with   =   = 0.
In this case, (0, 0) is a GOE of the system and the rest of states belong to a 3-cycle, as can be checked in Figure 1.On the other hand,  = (1, . . ., 1) is never a GOE of the system, because the state  defined as follows is its predecessor: Also, there is always another point with a predecessor, because if  is defined as then  updates to a state  such that  1 = 0.As shown in the example below, this upper bound is also reached.Let us consider the following [, MAX, ]-SDS, determined by The phase diagram of this system is shown in Figure 2.
Remark .In Corollary 14,  ≥ 2 has been imposed.This is necessary because a [, MAX, ]-SDS with  = 1 has 2 fixed points, if   = 0, or one 2-cycle, if  = 0.That is, it has not GOE points in any case.
And dually, we have the following.
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 [, MAX, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the maxterm MAX.If a configuration  has a predecessor , the structure of such a predecessor is as follows: (i) If   = 0, for every entity  ∈   (), with  =   and  =   : (a) If  =  or  < : (1) (ii) If   = 1, there exists an entity  ∈   () such that if  =   and  =   , at least one of the following conditions is accomplished: (a)  =  or  < , and: (1) (b)  > , and: (1) Proof.On the one hand, if   = 0 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   = 1 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 [, MIN, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the minterm MIN.If a configuration  has a predecessor , the structure of such a predecessor is as follows: (i) If   = 1, for every entity  ∈   (), with  =   and  =   : (a) If  =  or  < : (1) (ii) If   = 0, there exists an entity  ∈   () such that if  =   and  =   , at least one of the following conditions is accomplished: (a)  =  or  < , and: (1) (b)  > , and: (1) In a MAX-SDS (resp., MIN-SDS), the entities whose state is deactivated (resp., activated) in  determine univocally their state and the state of their adjacent entities in  0 (resp.,  1 ) in any predecessor , if such a predecessor exists.Complexity 7 However, for any entity whose state value is 1 (resp., 0) 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 [, MAX, ]-SDS be a sequential dynamical system over a dependency graph  = (,) associated with the maxterm MAX.Let  be a configuration of the system such that it has a predecessor.en, 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 eorem .
Proof.Since  defined as in Theorem 3 is such that  ∉ P, 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 ,  = ( 1 , . . .,   ), then there exists a state x = (x 1 , . . ., x ) ∈ P such that x is also a predecessor of .
Given that  ̸ =  and  is a predecessor of , by Corollary 17, there is an entity  0 ∈ ( 0 ∪  0 )  such that   0 ̸ =   0 .Let us take x as the only element of P such that x 0 ̸ =   0 (consequently, x 0 =   0 ), and let us see that this state is a predecessor of .
Suppose, by reduction to the absurd, that x is not a predecessor of .Let  ∈  be the first entity, according to the order established by , such that x does not update to   .It must be  ∈  0 ∪  0 ∪ { 0 }, because the entities in ( 0 ∪  0 ∪ { 0 })  ⊆  1 update to the activated state because of their own state values in x.
If  ∈  0 \ ( 0 ∪ { 0 }) =  0 \  0 ⊆  1 , let us analyze the possible state of the entities belonging to   (): (i) Since  is the first entity not updating to the state given by   = 1, then ∀ ∈  *  () with  =   ,  =   , and  < , the entity  has updated to the state given by   , the same as for , Since   updates to   = 1, x must also do it, but this is a contradiction and, consequently,  ∉  0 \  0 .
If  ∈  0 \ { 0 } =  0 , we have the following: (i) Since  is the first entity not updating to the state given by   = 0, then ∀ ∈  *  () with  =   ,  =   and  < , the entity  has updated to the state given by   , the same as for , (ii) x =   , (iii) ∀ ∈  *  () with  =   ,  =   , and  > , the entity  ∈  0 =  0 \ { 0 }, and so Since   updates to   = 0, x must also do it, which is a contradiction and, consequently,  ∉  0 .
Therefore  =  0 .In this situation, we have the following: (i) Since  is the first entity not updating to the state given by   = 1 ( 0 ∈ ( 0 ∪  0 )  ⊆  1 ), then ∀ ∈  *  ( 0 ) with  0 =   ,  =   , and  < , the entity  has updated to the state given by   , the same as for , Since   updates to   = 1, x must also do it, but this is also a contradiction and, consequently,  ̸ =  0 .Therefore, there cannot exist  ∈  like that and x updates to .
Remark .The previous result reduces an initial exponentially sized problem, the search of a particular configuration among the 2  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 [, MIN, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the minterm MIN.Let  be a configuration of the system such that it has a predecessor.en, 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 eorem .
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 [, MAX, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the maxterm MAX.Let  be a configuration and let us consider the following iterative process: en, P 1 is the set of all the predecessors of .
Dually, we have the following.en, P 1 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 [, MAX, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the maxterm MAX.en, the number of predecessors of a given state  is upper bounded by 2 #( 0 ∪ 0 )  .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  0 ∪  0 in a possible predecessor of  are fixed.Since the state values of the rest of entities are either 0 or 1, a first upper bound for the number of predecessors is 2 #( 0 ∪ 0 )  .This upper bound is the best possible because it is reached in the following example.Let us consider the [, MAX, ]-SDS defined by In this context, if  = (0, 1, . . ., 1), then  0 = {1},  0 = {2},  0 = 0, and  1 = {2, . . ., }.
In any predecessor, , it must be  1 = 1 and  2 = 0, 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 [, MIN, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the minterm MIN.en, the number of predecessors of a given state  is upper bounded by 2 #( 1 ∪ 1 )  .Moreover, this bound is the best possible because it is reachable.

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.

Corollary 9 .
Let [, MIN, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the minterm MIN.If a global state  is such that ( 1 ∩ 1 )∩  ̸ = 0, then  is a GOE point.Corollary 10.Let [, MIN, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the minterm MIN.If a global state  is such that ( 1 ∩  1 )∩ ̸ = 0, then  is a GOE point.

Figure 1 :
Figure 1: Phase diagram of the system.

Figure 2 :
Figure 2: Phase diagram of the system.

Figure 3 :
Figure 3: Phase diagram of the system.

Corollary 5 .
Let [, MAX, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the maxterm MAX.en, a configuration  is a GOE point of the system if, and only if, the state  defined as in eorem is such that MAX() ̸ = .Let [, MAX, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the maxterm MAX.If a global state  is such that Corollary 6.Let [, MIN, ]-SDS be a sequential dynamical system over a dependency graph  = (, ) associated with the minterm MIN.en, a configuration  is a GOE point of the system if, and only if, the state  defined as in eorem is such that MIN() ̸ = .Next, we provide sufficient conditions of GOE point.Complexity 5 Corollary 7.