Next Article in Journal
Estimating Age-Specific Natural Mortality for Sandfish in the Eastern Coastal Waters of Korea
Next Article in Special Issue
Coexistence of Periods in Parallel and Sequential Boolean Graph Dynamical Systems over Directed Graphs
Previous Article in Journal
Fractional-Order Thermoelastic Wave Assessment in a Two-Dimensional Fiber-Reinforced Anisotropic Material
Previous Article in Special Issue
On the Periodic Structure of Parallel Dynamical Systems on Generalized Independent Boolean Functions
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Algorithm for Counting the Fixed Point Orbits of an AND-OR Dynamical System with Symmetric Positive Dependency Graph

by
Mauro Mezzini
1,* and
Fernando L. Pelayo
2
1
Department of Education, Roma Tre University, 00154 Roma, Italy
2
Escuela Superior de Ingenieria Informatica de Albacete, Computing Systems Department, University of Castilla-La Mancha, 02071 Albacete, Spain
*
Author to whom correspondence should be addressed.
Submission received: 23 July 2020 / Revised: 11 September 2020 / Accepted: 14 September 2020 / Published: 18 September 2020
(This article belongs to the Special Issue Boolean Networks Models in Science and Engineering)

Abstract

:
In this paper we present an algorithm which counts the number of fixed point orbits of an AND-OR dynamical system. We further extend the algorithm in order to list all its fixed point orbits (FPOs) in polynomial time on the number of FPOs of the system.

1. Introduction and Preliminaries

A directed graph G is a couple G = ( V ( G ) , E ( G ) ) where V ( G ) is a set of vertices and E ( G ) V ( G ) × V ( G ) is a set of directed edges. In our setting, each edge ( u , v ) is labeled positive or negative. The set of positive (resp. negative) edges of the graph are denoted by E + ( G ) (resp. E ( G ) ). A graph is called positive (resp. negative) if all labels on the edges are positive (resp. negative). If  S V ( G ) , the subgraph of G induced by S, denoted as G ( S ) , is the graph whose vertices set is V ( G ( S ) ) = S and its edge set is E ( G ( S ) ) = { ( u , v ) E ( G ) | { u , v } S } . We denote by G S the subgraph of G induced by V ( G ) \ S .
A graph is undirected if for every ( u , v ) E ( G ) then ( v , u ) E ( G ) . A graph is symmetric if it is undirected and for every v V ( G ) then ( v , v ) E ( G ) . That is, a symmetric graph is an undirected graph where each vertex has a (directed) selfloop.
If ( u , v ) is an edge then we say that u is a predecessor of v and it is positive (resp. negative) if ( u , v ) is a positive (resp. negative) edge. The set of positive (resp. negative) predecessors of a vertex v is denoted as P G + ( v ) = { u | ( u , v ) E + ( G ) } (resp. P G ( v ) = { u | ( u , v ) E ( G ) } ). The set of predecessors of v is P G ( v ) = P G + ( v ) P G ( v ) .
The neighborhood of a vertex v in a graph G, denoted as N G ( v ) is the set N G ( v ) = { u | ( v , u ) E ( G ) }. The closed neighborhood of v, denoted as N G [ v ] is N G [ v ] = N G ( v ) { v } . The degree of a vertex is the number of vertices in its closed neighborhood and it is denoted by δ G ( v ) = | N G [ v ] | .
A dynamical system (DS) [1,2,3,4] or Boolean Network (BN) [5,6,7] S is a couple S = ( G , F ) where G is a directed graph called the dependency graph, F is a set of functions F = { f v | v V ( G ) } as defined below. We also define a | V ( G ) | -dimensional vector O of states. O = ( o 1 , o 2 , , o n ) where o v { 0 , 1 } , v V ( G ) . The vector O will be referred as an orbit of S . We also consider the restriction (or the projection) of the vector O on a subset of vertices W V ( G ) and we refer to it as O W . Each function f v : { 0 , 1 } h { 0 , 1 } is taken from the set of Boolean functions, where h is the number of predecessors of v. The argument of f v is an h-dimensional vector x = ( x u 1 , , x u h ) where x u i = o u i when u i P G + ( v ) , and, x u i = o ¯ u i when u i P G ( v ) being o ¯ u i the Boolean negation (or the complement modulo 2) of o u i . Although f v can be an arbitrary Boolean function on h variables, most pieces of research on DS and BN restrict the set of Boolean functions to AND, OR, NAND and NOR. This is motivated by the following.
An AND term (resp. OR term) is the logical AND (resp. logical OR) of a set of variables (where each variable can be either complemented or not complemented). Given a set of h Boolean variables x 1 , , x h , an AND term in which each of the h variables appears once (in either its complemented or not complemented form) is called a minterm. Analogously, an OR term in which each of the h variables appears once (in either its complemented or not complemented form) is called a maxterm. It is well known that every Boolean function can be expressed either by disjunction of uniquely minterms or by conjunction of just maxterms, among others. Furthermore, it is well known that the Boolean algebra using the binary operators AND, OR and NOT are equivalent to the algebra obtained by using either only NAND or only NOR.
In addition, the complexity of the problems involved in a DS dramatically changes when we modify either the structure of the dependency graph, or the type or distribution of the Boolean functions involved in the system. If the vertices of a DS use a function on a set F then we refer to the dynamical system as an F -DS. We also call a DS positive when its dependency graph is positive.
Given a vertex v of a DS, we may consider the state of the vertex o v as a function of a discrete time t N . Consequently, the global state O of the DS depends also on the time t. At time t = 0 , we assign a value to each o v and if O ( t ) is the state of DS at time t then the state of a single vertex at time t + 1 will be o v ( t + 1 ) = f v ( O P G ( v ) ( t ) ) where O P G ( v ) is the restriction of O to the predecessors of v. If the states of the vertices are updated in parallel then we refer to the system as a parallel DS or PDS. In other settings, we want to update the state of exactly one vertex at time t. A permutation π = { v 0 , , v n 1 } of the vertices is given and if v i is the vertex that is updated at time t then only v i + 1 (indices taken modulo n) will change its state at time t + 1 and thus o v i + 1 ( t + 1 ) = f v i + 1 ( O P G ( v i + 1 ) ( t ) ) . In this case, we call the system a sequential DS or SDS.
Given a DS S = ( G , F ) and an orbit O, we call O a fixed point orbit (FPO) of S if and only if O ( t ) = O ( t + 1 ) . When the set of functions F is clear from the context, we refer to O just as an FPO of G.
Fixed point orbits are particularly interesting since they correspond to stable states of the system. The problem of determining the existence of a fixed point orbit of a DS is called fixed point orbit existence (FPOE) problem. A number of works have explored the FPOE problem under the hypothesis that all the vertices have a selfloop. Some works put an additional restriction which requires the graph of the DS to be symmetric and/or either all the edges to be positive or all of them negative. Among others, the FPOE problem of an {AND}-DS, {OR}-DS, {NAND}-DS and {NOR}-DS is studied in [2,3,4,8,9,10]. In addition, the FPOE problem in an {AND, OR, NAND, NOR}-DS is polynomially solvable as shown in [4,11]. However, for {NAND, XNOR}-DS, {NAND, XOR}-DS,{NOR, XNOR}-DS and {NOR, XOR}-DS, the FPOE problem is NP-complete [11]. The problem of counting the fixed point orbits in a DS whose dependency graph is symmetric and all edges are positive is studied in [6] where it is proved that the problem of counting the FPOs in a F -DS is #P-complete under the hypothesis that the function associated to each node is arbitrary.
When the constraints that require the graph to be symmetric and positive are released, then the FPOE problem will be NP-complete in {AND, OR}-DS [12,13]. It remains NP-Complete even when the indegree of each vertex is at most two [13]. It can be demonstrated that the problem remains NP-complete for {AND}-DS with all negative edges by using the transformation given in [5].
In this paper, we present an algorithm for counting the FPOs in an AND-OR symmetric positive PDS. The algorithm has been designed by using more or less standard methodologies (such as the one used also in [14,15,16,17,18,19,20,21,22,23]) and by using both a greedy strategy and recursion. The paper is organized as follows. In Section 2, we present some theoretical results about AND-OR PDS whose dependency graph is symmetric and positive. Based on them, we present an algorithm for counting all FPOs in AND-OR symmetric positive PDS and we prove its correctness. In Section 3, we further develop the algorithm given in Section 2 for building an algorithm which lists all FPOs in AND-OR symmetric PDS.

2. Algorithm for Computing the Number of FPOs in AND-OR Symmetric Positive PDS

In this section, we first determine the structure and the number of FPOs in {AND, OR}-DS whose dependency graph is symmetric and positive. It is well known that for this kind of graph the FPOE problem is polynomially solvable [2,3]. Let S = ( G , F ) be an {AND, OR}-DS where G is a symmetric positive graph. We denote by V OR (resp. V AND ) the vertices of G such that f v is OR (resp. AND). Furthermore, if for a vertex v we have that f v = OR (resp. f v = AND) we refer to v as an OR vertex (resp. AND vertex).
Since, in the following, we will limit our discussion to symmetric positive {AND, OR}-DS, for brevity we will often refer to them as DS without explicitly specifying that the dependency graph is symmetric positive and the set of Boolean functions F = {AND, OR}.
Lemma 1.
Let S be a DS and let O be an FPO of S . Let U V ( G ) and let S be a DS whose dependency graph is G ( U ) . Then O U is an FPO of S .
Proof. 
Let G be the subgraph of G induced by U and let O = O U , that is, O is the restriction of O to the vertices in U. We prove only that if v U V OR then o v ( t ) = o v ( t + 1 ) . The proof when v U V AND can be obtained by applying a similar argument. Suppose first that o v = 1 . In this case clearly we have that o v ( t ) = o v ( t + 1 ) . Suppose now that o v = 0 . Then, since O is an FPO of S , for each u N G ( v ) we have that o u = 0 . Thus, in G , for each u N G ( v ) we have that o u = 0 . Therefore, it follows that o v ( t ) = o v ( t + 1 ) . □
Let A = { A 1 , , A k } be the set of the connected components of G V AND and let B = { B 1 , , B h } be the set of the connected components of G V OR . Let B G be the symmetric bipartite graph whose vertices set is V ( B G ) = A B with bipartition ( A , B ) (we remark that B G can be disconnected or that A = or B = ). There is an edge ( A i , B j ) in E ( B G ) if and only if there is at least one edge ( u , v ) E ( G ) with u A i and v B j . We will refer to B G as the AND-OR bipartition of G. Furthermore we associate to S an {AND, OR}-DS S = ( B G , F ) referred to as the bipartite contraction of S in which f a = OR if a A and f b = AND if b B .
Let us notice that S = ( B G , F ) can be achieved from S = ( G , F ) just computing the connected components within the sub-graphs associated to G V AND and to G V OR . In order to do this it is sufficient with contracting all the vertices belonging to the same connected component in one.
The computational cost associated to this process is O ( n ) being n = | E ( G ) | + | V ( G ) | .
For example, in Figure 1 on the left, there is an {AND, OR}-DS in which AND vertices are shaded grey and OR vertices are shaded white, whereas on the right its bipartite contraction appears.
Lemma 2.
Let S be a DS and let A be a connected component of G V AND such that | V ( A ) | > 1 . If O is an FPO of S , then for all pairs of vertices v , u V ( A ) we have that o v = o u .
Proof. 
Let v , u V ( A ) and suppose by contradiction that o u o v . Let P be a path in A connecting v to u. Then, there are two adjacent vertices, say w and z, on this path, such that o z o w . Suppose, without loss of generality, that o z = 1 . Since G is symmetric and positive there is an edge ( z , w ) in G. Then O could not be an FPO since at time t + 1 we would have that o w = 1 , a contradiction. □
By duality and in a similar way to Lemma 2, the following result is immediate to be proven:
Lemma 3.
Let S be a DS and let B be a connected component of G V OR such that | V ( B ) | > 1 . If O is an FPO of S , then for all pairs of vertices v , u V ( B ) we have that o v = o u .
Now we show that FPOs of a DS are strictly related with FPOs of its corresponding bipartite contraction. In fact, we can prove the following two Lemmas.
Lemma 4.
Let S = ( G , F ) be a DS and let S = ( B G , F ) be the bipartite contraction of S . If O is an FPO of S then the orbit O obtained from O by setting, for each C V ( B G ) , o C = o v for any v V ( C ) , is an FPO of  S .
Proof. 
Let O be an FPO of S . Let A = { A 1 , , A k } be the set of the connected components of G V AND and B = { B 1 , , B h } be the set of the connected components of G V OR . If  A i A , by Lemma 2, for all pairs of vertices u , v A i we have that o u = o v . Similarly, by Lemma 3, if  B j B , for all pairs of vertices u , v B j we have that o u = o v . Let us suppose by contradiction that O is not an FPO of S . Then there is a vertex C V ( B G ) such that o C ( t ) o C ( t + 1 ) . Let us suppose that C A (the proof of the case in which C B is similar and omitted). By this assumption it cannot be that o C ( t ) = 1 because otherwise o C ( t + 1 ) = 1 since B G is symmetric and positive and f C = OR. Therefore, we have that o C = 0 and C is adjacent, in  B G , to a vertex C such that o C = 1 . Then, by definition of bipartite contraction, there exists a vertex u V ( C ) and a vertex v C such that ( v , u ) E ( G ) and, by what said above, o u = 0 and o v = 1 . Furthermore u V OR . Then o u ( t ) o u ( t + 1 ) and O would not be an FPO of S (a contradiction to the hypothesis). □
Lemma 5.
Let S = ( G , F ) be a DS and let S = ( B G , F ) be the bipartite contraction of S . If  O is an FPO of S then the orbit O obtained from O by setting o v = o C for all v V ( C ) and for all C V ( B G ) is an FPO of  S .
Proof. 
Let us suppose by contradiction that O is not an FPO of S . There must be at least a vertex v V ( G ) such that o v ( t + 1 ) o v ( t ) . Suppose that v V OR and let A be the connected component of G V AND containing v. Since o v ( t + 1 ) o v ( t ) and v V OR , we must have that o v = 0 and that there exists a vertex u N G ( v ) such that o u = 1 . Since, by construction, o z = 0 for all z V ( A ) , we have that u V AND . Let B be the connected component of G V OR containing u. By construction, and since o v = 0 and o u = 1 , we have that o A = 0 , o B = 1 and ( A , B ) is an edge of B G . Then we have that o A ( t + 1 ) o A ( t ) contradicting the hypothesis that O is an FPO of S . The proof in which v V AND is quite similar and therefore omitted. □
Now we can give the following Lemma which states that the number of FPOs of a DS S meets the number of FPOs of its bipartite contraction.
Lemma 6.
Let S be a DS and let S = ( B G , F ) be the bipartite contraction of S . The number of FPOs of S equals the number of FPOs of S .
Proof. 
By Lemmas 4 and 5, there is a surjective relation from the set of FPOs of S and the set of FPOs of S . Therefore, we simply need to show that this relation is injective. That is, whenever we have two distinct FPOs O 1 and O 2 of S, then the corresponding orbits O 1 and O 2 in S are distinct and vice versa. This is straightforward to prove and is left to the reader. □
The following algorithm will compute the number of FPOs of S = ( G , F ) . In order to manage the base case we admit null graphs G (that is, graphs in which V ( G ) = ) where we assume that null graphs have exactly one FPO (the empty vector).
Theorem 1.
The procedure COUNT (Algorithm 1) correctly computes the number of FPOs in an {AND, OR}-DS with symmetric positive dependency graph.
Proof. 
Let G be the symmetric positive dependency graph of an {AND, OR}-DS S . By Lemma 6, we simply need to count the number of FPOs in the bipartite contraction S of S . We prove the correctness of the algorithm by induction on the number n of vertices of B G .
Base. If  n = 1 then there is only one connected component in B G , that is, either all the vertices in G are OR vertices or all of them are AND vertices. By [2], there are only 2 FPOs in the DS. In this case, the algorithm will make two recursive calls with empty graphs as arguments, so returning 1 + 1 = 2. Thus, in the base case the algorithm is correct.
Induction. Let us suppose the algorithm correctly computes the number of FPOs of these DSs having graphs up to n 1 vertices. Let B G be a graph with n vertices and let v V ( B G ) be an OR vertex (v being an AND vertex requires so similar reasoning that it is omitted). In order to prove this part it is sufficient to show (1) a one-to-one correspondence between all FPOs O of the contraction of S to B G in which o v = 1 , and all FPOs of the contraction of S to B G { v } and (2) a one-to-one correspondence between all FPOs O of the contraction of S to B G in which o v = 0 , and all FPOs of the contraction of S to B G N B G [ v ] .
Proof of (1). Let B = B G { v } and let O be an FPO of the contraction of S to B (FPO of S over  B , to abbreviate). Let O be an orbit of B G obtained from O by setting O V ( B ) = O and setting o v = 1 . We show that O is an FPO of S over B G . In fact, let u N B G ( v ) since B G is bipartite and v is an OR vertex, u must be an AND vertex. If  o u = 0 , this means that o u ( t ) = o u ( t + 1 ) = 0 . Otherwise, if  o u = 1 this means that, w N B ( u ) , we have that o w = 1 . Since o v = 1 , for all w N B G ( u ) we have that o w = 1 . All the vertices not belonging to N B G [ v ] have the same neighborhood in B G and in  B . Thus, their value will not change with time t. This proves that O is an FPO of B G . To finish, let us consider O, an FPO O of S over B G in which o v = 1 , by Lemma 1, O V ( B ) is an FPO of S over B .
Proof of (2). Let B = B G N B G [ v ] . Let O be an FPO of S over B and let O be an orbit of B G obtained from O by setting O V ( B ) = O and setting o u = 0 u N B G [ v ] . Clearly each vertex in u N B G ( v ) is an AND vertex, thus o u ( t ) = o u ( t + 1 ) = 0 . v is adjacent in B G to only vertices u such that o u = 0 then o v ( t ) = o v ( t + 1 ) = 0 . A vertex w v adjacent to a vertex in N B G ( v ) will not change its value. In fact, first we note that w is an OR vertex. Thus, if  o w ( t ) = 1 then o w ( t ) = o w ( t + 1 ) . Otherwise, if  o w ( t ) = 0 , this means that w is adjacent in B to only vertices z with o z = 0 and so remains in B G , since for all u N B G ( v ) , o u = 0 . All the vertices neither in N B G [ v ] nor adjacent to any vertex in N B G [ v ] have their neighborhood which the same in B G and B . Thus, their value will not change with time t. So that O is an FPO of S over B G . To finish, let us consider O, an FPO O of S over B G in which o v = 0 , by Lemma 1, O V ( B ) is an FPO of S over B .
As we said in the beginning of the proof, we may analogously prove that if v is an AND vertex then there is (1) a one-to-one correspondence between all FPOs O of the contraction of S to B G in which o v = 0 , and all FPOs of the contraction of S to B G { v } and (2) a one-to-one correspondence between all FPOs O of the contraction of S to B G in which o v = 1 , and all FPOs of the contraction of S to B G N B G . This completes the proof. □
Algorithm 1 Computing the number of FPOs of S = ( G , F ) , an {AND, OR}-DS whose dependency graph G is symmetric positive
 Input:
The AND-OR bipartition B G of G
 Output:
The number of FPOs of S
 1:
procedure Count( B G )
 2:
    if V ( B G ) = then return 1
 3:
    let v V ( B G )
 4:
     F P Count( B G { v } )+Count( B G N B G [ v ] )
 5:
    return F P
 6:
end procedure
Figure 2 shows the recursive tree of calls of the Algorithm 1 applied to the bipartite contraction of the graph G of Figure 1. Numbers in red by the graphs compute the number of FPOs of the recursive call taking as argument the corresponding graph, so that the former call over the graph B G appears on the top and outputs a total of 5 FPOs. The table on the right lists all the FPOs of B G as the labels of the blue arrows show.

3. Algorithm for Listing All FPO in AND-OR Symmetric PDS

In this section, we provide a lower bound on Algorithm 1 and, based on it, we present an algorithm for listing all the FPOs of an AND-OR symmetric PDS.
We have the following:
Lemma 7.
Let S be a DS and let S = ( B G , F ) be the bipartite contraction of S . If  ( A , B ) is the bipartition of B G , then the number of FPOs of S is F P 2 | A | + 2 | B | 1 .
Proof. 
By Lemma 6, it is sufficient to prove that F P 2 | A | + 2 | B | 1 where F P is the number of FPOs in the bipartite contraction S of S . Let O be an orbit of S such that for all a A we have that o a = 1 . It is easy to check that if for any b B we set o b = 1 then o b ( t ) = o b ( t + 1 ) since b is adjacent to vertices in A, while if o b = 0 then o b ( t ) = o b ( t + 1 ) since b is an AND vertex. We can build 2 | B | different FPOs. A similar argument applies if we set o b = 0 for all b B . Since the FPO O in which o a = 1 for all a A and o b = 0 for all b B is present in both counts, we obtain the statement. □
From Lemma 7, the next corollary is immediately followed.
Corollary 1.
Let S be a DS and let S = ( B G , F ) be the bipartite contraction of S . If  n = | V ( B G ) | , then the number of FPOs of S is not less than 2 n / 2 + 1 .
We also have the following result.
Lemma 8.
Let S be a DS and let S = ( B G , F ) be the bipartite contraction of S . If  B G is a complete bipartite graph K n , m , then the number of FPOs of S equals 2 n + 2 m 1 .
Proof. 
By Lemma 6, it is sufficient to prove that F P = 2 n + 2 m 1 where F P is the number of FPOs in the bipartite contraction S of S . Let ( A , B ) be the bipartition of B G where A is the set of OR vertices. Suppose w.l.o.g. that | A | = n and | B | = m . We show that given an FPO O of S , only one of the following two cases can happen: (i) o v = 1 for all v A or (ii) o u = 0 for all u B . Suppose not and let O be an FPO in which there is a vertex v A and a vertex u B such that o v = 0 and o u = 1 . Since  B G is complete, v is adjacent to u so that o v ( t ) o v ( t + 1 ) and o u ( t ) o u ( t + 1 ) a contradiction to the hypothesis that O is an FPO. Now, it is easy to see that in case (i), if we assign to each vertex in B any binary value, the orbit we obtain is a fixed point of S (the same reasoning applies to case (ii)). Since there are, in case (i), 2 m of such orbits ( 2 n in case (ii)), the statement follows by the fact that the FPO O in which o v = 1 for all v A and o u = 0 for all u B is present in both counts. □
By Lemma 8, when the bipartite contraction of a DS is complete, listing all its FPOs requires a very simple algorithm for listing all the binary strings of a prefixed length. Therefore, in the following, we always assume that the bipartite contraction of a DS is not complete.
The Algorithm 1 can be modified in order to list in polynomial time all the FPOs of an {AND, OR}-DS whose dependency graph is symmetric positive as reported in Algorithm 2.
Algorithm 2 Listing all the FPOs of the bipartite contraction of an {AND, OR}-DS whose dependency graph is symmetric positive
 Input:
The AND-OR bipartite contraction B G of G with bipartition ( A , B ) where A is the set of OR vertices and B the set of AND vertices of B G . An orbit O of B G (initially o v is undefined for all v B G )
 Output:
All FPOs of B G
 1:
procedureFPO( B G , O)
 2:
    if V ( B G ) = then output O
 3:
    let v V ( B G )
 4:
    if v A then b 1 else b 0
 5:
     O O
 6:
     o v b
 7:
    FPO( B G { v } , O )
 8:
     O O
 9:
    For all u N B G [ v ]
 10:
                   o u b ¯
 11:
    FPO( B G N B G [ v ] , O )
 12:
end procedure
Theorem 2.
Let S = ( G , F ) be an {AND, OR}-DS whose dependency graph is symmetric positive. The Algorithm 2 lists all FPOs of the bipartite contraction of S in polynomial time using linear space.
Proof. 
Let S = ( B G , F ) be the bipartite contraction of S and ( A , B ) the bipartition of B G . Let  n = | A B | . The algorithm calls itself in line 7 and in line 11 and the argument, in  each of the recursive call, is a graph with n 1 vertices, in the worst case. The for cycle (lines 9-10) takes at most O ( δ B G ( v ) ) times. Now we can have two cases: (i) in B G the degree δ B G ( v ) of any vertex v is bounded by a constant c and (ii) δ B G ( v ) is not bounded by constant, that is, we have that δ B G ( v ) = O ( n ) so we can find a constant 0 < k < 1 such that δ B G ( v ) k n for every v V ( B G ) .
Therefore, in case (i), the recursive relation of the time T ( n ) , the algorithm spends for listing all the FPOs is:
T ( n ) = T ( n 1 ) + T ( n c ) + c 2 T ( n 1 ) + c
Assuming that T ( 0 ) = 1 , clearly this recursion solves in T ( n ) ( c + 1 ) 2 n c , so that the algorithm has O ( 2 n ) complexity. In case (ii), the recursive relation is
T ( n ) = T ( n 1 ) + T ( n k n ) + k n
So we have that
T ( n ) 2 T ( n 1 ) + k n
The above recursion solves in T ( n ) k ( 2 n + 1 n 2 ) so that the algorithm has O ( 2 n ) complexity. By Corollary 1, we have that the number of FPOs is not less than 2 n / 2 + 1 and this completes the proof. □
As an example of the output of the algorithm, we refer to the table on the right hand side of Figure 2.

4. Conclusions

We presented an algorithm for counting all the FPOs of an {AND, OR}-DS whose dependency graph is symmetric positive. We gave a lower bound on that number. Furthermore, we adapted the algorithm in order to list all the FPOs of the system taking for it polynomial time on the length of the output, and linear space over the same parameter.

Author Contributions

Individual contributions are as follows. Conceptualization, M.M.; formal analysis, F.L.P.; investigation, M.M.; writing—original draft, M.M.; writing—review and editing, M.M. and F.L.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Aledo, J.A.; Martínez, S.; Valverde, J.C. Parallel Dynamical Systems over Graphs and Related Topics: A Survey. J. Appl. Math. 2015, 2015, 594294. [Google Scholar] [CrossRef] [Green Version]
  2. Barrett, C.L.; Chen, W.Y.; Zheng, M.J. Discrete dynamical systems on graphs and Boolean functions. Math. Comput. Simul. 2004, 66, 487–497. [Google Scholar] [CrossRef]
  3. Aledo, J.; Martínez, S.; Pelayo, F.; Valverde, J.C. Parallel discrete dynamical systems on maxterm and minterm Boolean functions. Math. Comput. Model. 2012, 55, 666–671. [Google Scholar] [CrossRef]
  4. Aledo, J.A.; Martínez, S.; Valverde, J.C. Parallel dynamical systems over directed dependency graphs. Appl. Math. Comput. 2012, 219, 1114–1119. [Google Scholar] [CrossRef]
  5. Aracena, J.; Richard, A.; Salinas, L. Maximum number of fixed points in AND–OR–NOT networks. J. Comput. Syst. Sci. 2014, 80, 1175–1190. [Google Scholar] [CrossRef]
  6. Tošić, P.T.; Agha, G.A. On Computational Complexity of Counting Fixed Points in Symmetric Boolean Graph Automata. In Unconventional Computation; Calude, C.S., Dinneen, M.J., Păun, G., Pérez-Jímenez, M.J., Rozenberg, G., Eds.; Springer: Berlin/Heidelberg, Germany, 2005; pp. 191–205. [Google Scholar]
  7. Paulevé, L.; Richard, A. Static Analysis of Boolean Networks Based on Interaction Graphs: A Survey. Electron. Notes Theor. Comput. Sci. 2012, 284, 93–104. [Google Scholar] [CrossRef] [Green Version]
  8. Aledo, J.A.; Martinez, S.; Valverde, J.C. Parallel discrete dynamical systems on independent local functions. J. Comput. Appl. Math. 2013, 237, 335–339. [Google Scholar] [CrossRef] [Green Version]
  9. Aledo, J.A.; Martinez, S.; Valverde, J.C. Parallel dynamical systems over special digraph classes. Int. J. Comput. Math. 2013, 90, 2039–2048. [Google Scholar] [CrossRef]
  10. Aledo, J.A.; Diaz, L.G.; Martinez, S.; Valverde, J.C. On periods and equilibria of computational sequential systems. Inf. Sci. 2017, 409–410, 27–34. [Google Scholar] [CrossRef]
  11. Barrett, C.L.; Hunt, M.; Marathe, M.V.; Ravi, S.S.; Rosenkrantz, D.J.; Stearns, R.E.; Tosic, P.T. Gardens of Eden and Fixed Points in Sequential Dynamical Systems. Discrete Models: Combinatorics, Computation, and Geometry, DM-CCG 2001; Cori, R., Mazoyer, J., Morvan, M., Mosseri, R., Eds.; Discrete Mathematics and Theoretical Computer Science: Paris, France, 2001; Volume AA, pp. 95–110. [Google Scholar]
  12. Milano, M.; Roli, A. Solving the Satisfiability Problem Through Boolean Networks. In AI*IA 99: Advances in Artificial Intelligence; Lamma, E., Mello, P., Eds.; Springer: Berlin/Heidelberg, Germany, 2000; pp. 72–83. [Google Scholar]
  13. TAMURA, T.; AKUTSU, T. Detecting a Singleton Attractor in a Boolean Network Utilizing SAT Algorithms. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2009, 92, 493–501. [Google Scholar] [CrossRef]
  14. Mezzini, M. Polynomial time algorithm for computing a minimum geodetic set in outerplanar graphs. Theor. Comput. Sci. 2018, 745, 63–74. [Google Scholar] [CrossRef]
  15. Mezzini, M.; Moscarini, M. The contour of a bridged graph is geodetic. Discret. Appl. Math. 2016, 204, 213–215. [Google Scholar] [CrossRef]
  16. Mezzini, M. On the geodetic iteration number of the contour of a graph. Discret. Appl. Math. 2016, 206, 211–214. [Google Scholar] [CrossRef]
  17. Mezzini, M.; Moscarini, M. On the geodeticity of the contour of a graph. Discret. Appl. Math. 2015, 181, 209–220. [Google Scholar] [CrossRef]
  18. Mezzini, M. Fully dynamic algorithm for chordal graphs with O(1) query-time and O(n2) update-time. Theor. Comput. Sci. 2012, 445, 82–92. [Google Scholar] [CrossRef]
  19. Mezzini, M.; Moscarini, M. Simple algorithms for minimal triangulation of a graph and backward selection of a decomposable Markov network. Theor. Comput. Sci. 2010, 411, 958–966. [Google Scholar] [CrossRef]
  20. Malvestuto, F.M.; Mezzini, M.; Moscarini, M. Computing simple-path convex hulls in hypergraphs. Inf. Process. Lett. 2011, 111, 231–234. [Google Scholar] [CrossRef]
  21. Mezzini, M. Fast minimal triangulation algorithm using minimum degree criterion. Theor. Comput. Sci. 2011, 412, 3775–3787. [Google Scholar] [CrossRef]
  22. Mezzini, M. On the complexity of finding chordless paths in bipartite graphs and some interval operators in graphs and hypergraphs. Theor. Comput. Sci. 2010, 411, 1212–1220. [Google Scholar] [CrossRef]
  23. Mezzini, M. An O(mn2) Algorithm for Computing the Strong Geodetic Number in Outerplanar Graphs. Discuss. Math. Graph Theory 2020. [Google Scholar] [CrossRef] [Green Version]
Figure 1. An {AND, OR}-DS and its bipartite contraction.
Figure 1. An {AND, OR}-DS and its bipartite contraction.
Mathematics 08 01611 g001
Figure 2. Algorithm 1 performing over the bipartite contraction of the graph G of Figure 1. In addition, the table listing all the FPOs of B G .
Figure 2. Algorithm 1 performing over the bipartite contraction of the graph G of Figure 1. In addition, the table listing all the FPOs of B G .
Mathematics 08 01611 g002

Share and Cite

MDPI and ACS Style

Mezzini, M.; Pelayo, F.L. An Algorithm for Counting the Fixed Point Orbits of an AND-OR Dynamical System with Symmetric Positive Dependency Graph. Mathematics 2020, 8, 1611. https://0-doi-org.brum.beds.ac.uk/10.3390/math8091611

AMA Style

Mezzini M, Pelayo FL. An Algorithm for Counting the Fixed Point Orbits of an AND-OR Dynamical System with Symmetric Positive Dependency Graph. Mathematics. 2020; 8(9):1611. https://0-doi-org.brum.beds.ac.uk/10.3390/math8091611

Chicago/Turabian Style

Mezzini, Mauro, and Fernando L. Pelayo. 2020. "An Algorithm for Counting the Fixed Point Orbits of an AND-OR Dynamical System with Symmetric Positive Dependency Graph" Mathematics 8, no. 9: 1611. https://0-doi-org.brum.beds.ac.uk/10.3390/math8091611

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop