Solving Equations on Discrete Dynamical Systems (Extended version)
Alberto Dennunzio, Enrico Formenti, Luciano Margara, Valentin Montmirail, Sara Riva
SSolving Equations on Discrete Dynamical Systems
Alberto Dennunzio
DISCo - Università degli Studi di Milano-Bicocca, [email protected]
Enrico Formenti
Université Côte d’Azur, CNRS, I3S, Nice, [email protected]
Luciano Margara
Università degli Studi di Bologna, Campus di Cesena, Cesena, [email protected]
Valentin Montmirail
Université Côte d’Azur, CNRS, I3S, Nice, [email protected]
Sara Riva
Université Côte d’Azur, CNRS, I3S, Nice, [email protected]
Abstract
Boolean automata networks, genetic regulation networks, and metabolic networks are just a fewexamples of biological modelling by discrete dynamical systems (DDS). A major issue in modelling isthe verification of the model against the experimental data or inducing the model under uncertaintiesin the data. Equipping finite discrete dynamical systems with an algebraic structure of commutativesemiring provides a suitable context for hypothesis verification on the dynamics of DDS. Indeed,hypothesis on the systems can be translated into polynomial equations over DDS. Solutions tothese equations provide the validation to the initial hypothesis. Unfortunately, finding solutions togeneral equations over DDS is undecidable. In this article, we want to push the envelope furtherby proposing a practical approach for some decidable cases in a suitable configuration that we callthe
Hypothesis Checking . We demonstrate that for many decidable equations all boils down to a“simpler” equation. However, the problem is not to decide if the simple equation has a solution, butto enumerate all the solutions in order to verify the hypothesis on the real and undecidable systems.We evaluate experimentally our approach and show that it has good scalability properties.
Boolean Automata Networks, Discrete Dynamical Systems, Decidability
Digital Object Identifier
Acknowledgements
Sara Riva is the main contributor. Scientific Background
Boolean automata networks have been heavily used in the study of systems biology [2, 6].The main drawback of the approach by automata network is in the very first step, namelywhen one induces the network from the experiments. Indeed, most of the time the knowledgeof the network is partial and hypotheses are made about its real structure. Those hypothesesmust be verified either by further experiments or by the study of the dynamical evolution ofthe network compared to the expected behaviour provided by the experimental evidences.In [3], an abstract algebraic setting for representing the dynamical evolution of finitediscrete dynamical systems has been proposed. In the following, we denote by R , thecommutative semi-ring of the DDS. © Dennuzio, Formenti, Margara, Montmirail and Riva;licensed under Creative Commons License CC-BYLeibniz International Proceedings in InformaticsSchloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl Publishing, Germany a r X i v : . [ m a t h . D S ] N ov X:2 Solving Equations on Discrete Dynamical Systems
The basic idea is to identify a discrete dynamical system with the graph of its dynamics(finite graphs having out-degree exactly 1) and then define operations + and ⋅ which composedynamical systems to obtain larger ones.Indeed, a discrete dynamical system (DDS) is a structure ⟨ χ, f ⟩ where χ is a finite setcalled the set of states and f ∶ χ → χ is a function called the next state map . Any DDS ⟨ χ, f ⟩ can be identified with its dynamics graph which is a structure G ≡ ⟨ V, E ⟩ where V = χ and E = {( a, b ) ∈ V × V, f ( a ) = b } . From now on, when speaking of a DDS, we willalways refer to its dynamics graph.Given two DDS G = ⟨ V , E ⟩ and G = ⟨ V , E ⟩ their sum G + G is defined as ⟨ V ⊍ V , E ⊍ E ⟩ , where ⊍ denotes the disjoint union. The product G ⋅ G is the structure ⟨ V ′ , E ′ ⟩ where V ′ = V × V and E ′ = {(( a, x ) , ( b, y )) ∈ V ′ × V ′ , ( a, b ) ∈ E and ( x, y ) ∈ E } .It is easy to see that F ≡ ⟨ χ, + , ⋅⟩ is a commutative semiring in which ⟨∅ , ∅⟩ is the neutralelement w.r.t. + and ⟨{ a } , {( a, a )}⟩ is the neutral element w.r.t. ⋅ operation.Now, consider the semiring R [ X , X , . . . , X n ] of polynomials over R in the variables X i ,naturally induced by R . Let us go back to our initial motivation. Assume that some partsof the overall dynamics a , a , . . . , a k are known, then the following equation represents ahypothesis on the overall structure of the expected dynamical system C on the basis of theknown data a , . . . , a k , where all the coefficients, variables and C are DDS. a ⋅ X + a ⋅ X + . . . + a k ⋅ X k = C (1) The hypotheses are verified whenever the previous equation admits a solution,therefore providing a way to solve such equation can be used to check hypothesesagainst a given discrete dynamical system . For the sake of clarity, we denote ourunknown variables as X i , whereas they, in fact, represent any monomial of the form x w i i .The following fundamental result states that solving polynomial equations over DDS is notan easy task. (cid:73) Theorem 1 ([3]) . Given two polynomials P ( x , . . . , x n ) and Q ( x , . . . , x n ) over R [ x , . . . , x n ] , consider thefollowing equation P ( x , . . . , x n ) = Q ( x , . . . , x n ) . (2) The problem of finding a solution to Equation 2 is undecidable. Moreover, if Equation 2 islinear or quadratic, then finding a solution is in NP . Finally, when P ( x ) = const , where thepolynomial is in a single variable and all its coefficients are systems consisting of self-loopsonly, the equation is solvable in polynomial time. According to Theorem 1, solving polynomial equations of the type P ( x , . . . , x n ) = const is in NP even for quadratic polynomials. In order to overcome this issue, one can follow atleast two strategies: either further constrain the polynomials or solve approximated equationswhich can provide information on the real solution.In this article, we follow the second option. Indeed, we focus on strongly connectedcomponents (SCC) of the dynamics graph. Recall that SCC represents a very importantfeature in finite DDS since they are the attracting sets. These sets contain the asymptoticinformation about system evolution. Methods
In the dynamics graph, each component of a system can be divided in two parts: the transientpart and the periodic part, see [5] for more details. A point x ∈ X of a discrete dynamical ennuzio et al. XX:3 system ⟨ X, f ⟩ belongs to a cycle if there exists a positive number p ∈ N such that f p ( x ) = x .The smallest p is the period of the cycle, and x is periodic. The periodic part is the set ofnodes periodic. All the others nodes are transient, but in this work, X is a finite set henceany state x is ultimately periodic and in each component of the graph there is only onecycle of length at least 1.Every finite DDS can be described as a sum of single components, and every component canbe described, for our purposes, with the length of its period (strongly connected componentsin dynamics graphs are cycles). The transient part of a component is not relevant for theresult of the sum and product operations when the equation is over SCC.A single component of period p is denoted C p , while C np means that there are n componentsof period p in the system. Therefore, if a system is composed by n components, each ofperiod p i with i ∈ { , . . . , n } , then n ⊕ i = C p i completely describes the system where ⊕ denotesthe sum of components since each component has only one period (see Figure 1). a d eb c f Figure 1 a DDS with three components: ( C ⊕ C ⊕ C ) in our notation. (cid:73) Remark 2.
When a system has several components with the same period, then theirrepresentation can be added. As an example, we have C ⊕ C = C . Otherwise, the sum ⊕ consists of a concatenation of components. Contributions
From now on, ¯ R will indicate the restriction of R to systems made by strongly connectedcomponents only. First, we need to adapt the definition of product between two DDS interms of components and their period. (cid:73) Proposition 3.
Consider a system composed by m components of period p , namely C mp ,multiplied by a system with n components of period q , namely C nq , the result of the productoperation depends only on the length of the periods of the components involved according tothe following formula, with m, n ∈ N and m, n ≥ C mp ⊙ C nq = C m × n × gcd ( p,q ) lcm ( p,q ) . (3) Proof.
Given two discrete dynamical systems ⟨ X, f ⟩ and ⟨ Y, g ⟩ , where the first system hasonly one component of period p and the second has only one component of period q , let usprove that: C p ⊙ C q = C gcd ( p,q ) lcm ( p,q ) We know that a product operation corresponds to a Cartesian product between X and Y (Given two discrete dynamical systems ⟨ X, f ⟩ and ⟨ Y, g ⟩ , their product is the dynamicalsystem ⟨ X × Y, f × g ⟩ where ∀( x, y ) ∈ X × Y, ( f × g )( x, y ) = ( f ( x ) , g ( y ))) . There are twopossible cases: gcd ( p, q ) =
1. In this case the larger period of the two is not able to represent the x x ... x p x x ... x p ... x x ... x p y y ... y q y q y ... y q − ... ... ... ... y q X:4 Solving Equations on Discrete Dynamical Systems smallest cyclic behavior inside it, consequently it obtains a single period containing allthe Cartesian product. gcd ( p, q ) ≠
1, with p > q . In this case the cycles of period p and q arrive at one point to x x ... x i x i + ... x p y y ... y q y ... y q be represented by a cycle of length lcm ( p, q ) but this means that the elements of thiscycle are only a subset of the Cartesian product. For this reason gcd ( p, q ) = p ⋅ qlcm ( p,q ) components are generated.In the case of m or n different from 1, this means that each product operation is done foreach of these components, so in general the result is duplicated m ⋅ n times. (cid:74) One can also simplify the parameter of a component. The following definition provides aformula to compact the notation of a DDS with n identical components. (cid:73) Definition 4.
Consider a single component C mp , then ∀ n, m, p ∈ N ∖ { } it holds C mnp = n ⋅ C mp . (4)Let us remind that each X i represents, in fact, a variable x w i i . Therefore, it is necessaryto know how we can retrieve the solutions for the original x i . To do so, we will use thefollowing lemma: (cid:73) Proposition 5.
Given a system composed by m components of period p i ∈ N , with p i > forall i ∈ { , ..., m } , let g ( p , p , ..., p m , k , k , ..., k m ) be the gcd between the p i for which k i /= and let l ( p , p , ..., p m , k , k , ..., k m ) be the lcm between the p i for which k i /= . Consider asystem S ≡ C p ⊕ C p ⊕ ... ⊕ C p m . Then, ( S ) n = m ⊕ i = C p n − i p i ⊕ ⊕ k + k + ... + k m = n ≤ k ,k ,...,k m < n ( nk , k , ..., k m ) C g ⋅∏ m t = k t ≠ p kt − t l . Proof.
Using the multinomial theorem one finds ( S ) n = ( C p ⊕ C p ⊕ ... ⊕ C p m ) n = ⊕ k + k + ... + k m = n ( nk , k , ..., k m ) m ⊙ t = ( C p t ) k t == m ⊕ i = ( C p i ) n ⊕ ⊕ k + k + ... + k m = n ≤ k ,k ,...,k m < n ( nk , k , ..., k m ) m ⊙ t = ( C p t ) k t (5)The resulting Formula 5 is obtained by extrapolating the cases in which a k i = n . Anothertransformation is possible according to Proposition 3. m ⊕ i = ( C p i ) n ⊕ ⊕ k + k + ... + k m = n ≤ k ,k ,...,k m < n ( nk , k , ..., k m ) m ⊙ t = ( C p t ) k t == m ⊕ i = ( C p i ) n ⊕ ⊕ k + k + ... + k m = n ≤ k ,k ,...,k m < n ( nk , k , ..., k m ) C g ( p ,p ,...,p m ,k ,k ,...,k m )⋅∏ mt = p kt − t l ( p ,p ,...,p m ,k ,k ,...,k m ) = ennuzio et al. XX:5 = m ⊕ i = C p n − i p i ⊕ ⊕ k + k + ... + k m = n ≤ k ,k ,...,k m < n ( nk , k , ..., k m ) C g ( p ,p ,...,p m ,k ,k ,...,k m )⋅∏ mt = p kt − t l ( p ,p ,...,p m ,k ,k ,...,k m ) . (cid:74) For k equal to 0 we assume that ( S ) is equal to C , the neutral element of the productoperation. Let us go back to Equation 1 which is the problem that we want to solve. It canbe rewritten as follows: ( S ⊕ j = C p j ⊙ X ) ⊕ ( S ⊕ j = C p j ⊙ X ) ⊕ . . . ⊕ ( S k ⊕ j = C p kj ⊙ X k ) = m ⊕ j = C n j q j (6)with S i , the number of different components in the system i , p ij is the value of the period ofthe j th component in the system i . In the right term, there are m different periods, wherefor the j th different period, n j is the number of components, and q j the value of the period.However, Equation (6) is still hard to solve. We can simplify it performing a contractionstep which consists in cutting Equation (6) into two simpler equations: ( C p ⊙ X ) = W ,where W ⊆ m ⊕ i = C n i q i and (( C ⊙ Y ) = m ⊕ i = C n i q i ∖ W ) with Y = ( S ⊕ i = C p i ⊙ X ) ⊕ ( S ⊕ j = C p j ⊙ X ) ⊕ . . . ⊕ ( S k ⊕ j = C p kj ⊙ X k ) . By applying recursively a contraction step on all the partitions of W and on the second equation obtained ( i.e. the one containing Y ) one finds that, solvingEquation (6) boils down to solving multiple times the following type of equation: C p ⊙ X = C nq . (7)If the variable X presents a power different from one, it is possible use the Lemma 5 inorder to study the squared by the power.However, equations of the shape of Equation 7 will be numerous therefore an efficientpractical algorithm able to enumerate all its solutions is needed. In fact, we can proposethe following bounds to know how many times equations of the shape Equation 7 are solvedwith the following lemma: (cid:73) Proposition 6.
Let us denote by Z the number of times that we will solve equation of theshape Equation 7, we have the following: ∏ mi = ( n i +∑ kj = S j − ∑ kj = S j − ) ⋅ m ≤ Z ≤ ∏ mi = ( n i +∑ kj = S j − ∑ kj = S j − ) ⋅ m ⋅∑ kj = S j . The intuition is as follows: the contraction step is necessary to study all the possible waysto produce the right term with the components in the left part of the equation. Accordingly, itis necessary to understand the number of possible decompositions of the right term to discoverthe bounds for the number of the executions of the colored-tree method (a decompositioncorresponds to assign a subset of the components of the right part to a product operationbetween a variable and a known component). For each period a Star and Bars decompositionis applied (we redirect the reader unfamiliar with the Star and Bars decomposition to [4]).
Proof.
In general for a fixed q i , the n i components are divided into ∑ kj = S j groups, in this casethere are ( n i +∑ kj = S j − ∑ kj = S j − ) different ways for dividing the components. Therefore, we can rewritethe lemma as follows: m ≤ Z ∏ mi = ( ni +∑ kj = Sj − ∑ kj = Sj − ) ≤ m ⋅ ∑ kj = S j . And now, toward a contradictionfor the lower bound. Let us assume that we can solve less than m equations. This implies thatwe solve less equations than the number of different periods on the right term. Contradiction, X:6 Solving Equations on Discrete Dynamical Systems we need at least all of them (not necessary all their combinations) to determine the solution ofthe equation. And now, toward a contradiction again to prove the upper-bound. Firstly, weknow for all the components in the right term there are ∏ mi = ( n i +∑ kj = S j − ∑ kj = S j − ) feasible divisions.Now, let us assume that in the worst case, for each coefficient the product operation mustproduce more than one components of each possible periods in the right term. This is acontradiction from the definition of the equation, where all the components must all have adifferent period. The second possibility to go beyond this bounds is that it would exists more S i than the one present in the equation, again a contradiction by definition of the equation.Therefore, we know that we have: ∏ mi = ( n i +∑ kj = S j − ∑ kj = S j − ) ⋅ m ≤ Z ≤ ∏ mi = ( n i +∑ kj = S j − ∑ kj = S j − ) ⋅ m ⋅ ∑ kj = S j ,for Z being the number of times that we will solved equation of the shape Equation 7. (cid:74) The Colored-Table Method
First of all, let us formally define the problem and analyze its complexity. (cid:73)
Definition 7 (DSECP) . The (finite) Discrete Dynamical Systems Solving Equations onComponents Problem is a problem which takes in input C p and C nq and outputs the list of allthe solutions X to the equation C p ⊙ X = C nq . Solving
DSECP is hard but still tractable. Indeed, the following lemma classifies ourproblem in
EnumP . Recall that
EnumP is the complexity class of enumeration problems forwhich a solution can be verified in polynomial time [7]. It can be seen as the enumerationcounterpart of the NP complexity class. (cid:73) Lemma 8.
DSECP is in
EnumP . Proof.
One just needs to be able to check if a given value is a solution in polynomial time.This can be done in linear time using Lemma 3. (cid:74)
For any n, p, q ∈ N ⋆ , let T np,q denote the set of solutions of Equation (7) and S np,q the set ofsolutions returned by the colored-tree method.The colored-tree method is pretty involved, we prefer start to illustrate it by anexample. (cid:73) Example 9.
Consider the following equation C ⊙ X = C . The algorithm consistsin two distinct phases: tree building and solution aggregation. In the first phase, thealgorithm enumerates all the divisors D of 6 i.e. { , , , } . It then applies a making-changedecomposition algorithm (MCDA) [1] in which the total sum is 6 and the allowed set of coinsis D ′ = D ∖ { } . MCDA decomposes 6 as 3 + D ∖ { i } as the set of coins to decompose i ). Weobtain ( = + ) , ( = + ) and ( = + ) as reported in Table 1. At this point, a checkis performed to ensure that all possible ways of decomposing 6 using D ′ are present in thetree. In our case, we already have [ , ] found by the first run of MCDA. We also found: [ , , ] , [ , , , ] , [ , , , , ] , [ , , , , , ] by the recursive application of MCDA. Byperforming the check, we discover that the decomposition of 6 as [ , , ] is not representedin the current tree. For this reason, [ , , ] is added to the set of decompositions of 6 asillustrated in Figure 2, it is assigned a new color and a recursive application of MCDA is ennuzio et al. XX:7
63 3 2 2 212 1 2 1 1 1 1 1 11 1 1 1
Figure 2
The colored tree for the equation C ⊙ X = C after the completeness check. started on the newly added nodes. A new check ensures that all decompositions are present.This ends the building phase. The resulting tree is reported in Figure 2.After this first phase of construction of the tree, the aggregation of solutions starts.Remark that each node m represents the equation C p ⊙ X = C mq that we call the nodeequation . The single component solution is called the node solution and it is obtainedthanks to Lemma 3, C qp × m whenever a feasible solution exists i.e. if gcd ( p, qp × m ) = m and lcm ( p, qp × m ) = q . For example, for m = x = C . To find all the solutionsfor the current node one must also take the Cartesian product of the solutions sets in thesubtrees of the same color and then the union of the solution sets of nodes of different colors(different splits). All the solutions can be found in Table 1. (cid:73) Example 10.
Consider the equation C ⊙ X = C . In the first phase, the algorithmenumerates all the divisors D of 4 i.e. { , , } . It then applies a making-change decompositionalgorithm (MCDA) [1]. MCDA decomposes 5 as 4 + D ∖ { i } as the set of coins to decompose i .We obtain ( = + ) , ( = + ) and ( = + ) as reported in Table 2. At this point, acheck is performed to ensure that all possible ways of decomposing 5 using D ∖ { i } as the setof coins to decompose i . In our case, we already have [ , ] found by the first run of MCDA.We also found: [ , , ] , [ , , , ] , [ , , , , ] by the recursive application of MCDA. Byperforming the check, we discover that all the possible decompositions of 5 are representedin the current tree. This ends the building phase. The resulting tree is reported in Figure 3.After this first phase of construction of the tree, the aggregation of solutions starts. In thiscase the tree presents only one color. Remark that if in the cartesian product a empty set isinvolved, the result of the operation is the empty set. For example, for m = C . From the subtrees of the node one finds a empty set, but with theunion of the solution of the node, the subtree solutions set for m = { C } . Moreover, thefinal solution set for the node 5 is the empty set, in fact in the Cartesian product m = Table 1
Final data-structure storing all the decompositions, each solution for each value and ateach step, the set of all solutions for a given value.
Node Splits Node solution Subtree solutions set C { C , C , C ⊕ C ⊕ C , C ⊕ C ,C ⊕ C , C , C , C ⊕ C } C { C , C ⊕ C , C } C { C , C } ∅ C { C } X:8 Solving Equations on Discrete Dynamical Systems
Node Splits Node solution Subtree solutions set {} {} {} { C } C { C } ∅ {} {} Table 2
Final data-structure storing all the decomposition, each solution for each value and ateach step, the set of all solutions for a given value.
54 12 21 111
Figure 3
The tree represented in the table for C x = C , after the check of completeness. (cid:73) Example 11.
Consider the equation C ⊙ X = C . In the first phase, the algorithm enu-merates all the divisors D of 6 i.e. { , , , } . It then applies a making-change decompositionalgorithm (MCDA) [1]. MCDA decomposes 12 as 6 + D ∖ { i } as the set of coins to decompose i .We obtain ( = + ) , ( = + ) , ( = + ) and ( = + ) as reported in Table 3. Node Splits Node solution Subtree solutions set
12 [6,6] {} { C ⊕ C , C , C , C ⊕ C ,C ⊕ C , C ⊕ C , C ⊕ C } {} { C , C ⊕ C , C ⊕ C , C } {} { C , C ⊕ C } C { C , C } ∅ C { C } Table 3
Final data-structure storing all the decomposition, each solution for each value and ateach step, the set of all solutions for a given value.
At this point, a check is performed to ensure that all possible ways of decomposing 12using D ′ is present in the tree. In our case, the decomposition of 6 in [ , , ] is addedin "each occurrence" of 6. This ends the building phase. The resulting tree is reported inFigure 4.After this first phase of construction of the tree, the aggregation of solutions starts. Tofind the solutions for the current node one must also take the Cartesian product of thesolutions sets in the subtrees of the same color and then the union of the solution sets ofnodes of different colors (different splits). For example, for m =
12 ( i.e. the root node), thecartesian product between 6 and 6 is computed, but for m = { C ⊕ C , C , C , C ⊕ C , C ⊕ C , C ⊕ C , C ⊕ C } . ennuzio et al. XX:9
126 63 3 2 2 2 3 3 2 2 2
Figure 4
The first two levels of the tree represented in the table for C x = C , after the checkof completeness. Although we can describe our algorithm with a pseudocode, and then we can sketch someproofs about its soundness, completeness and termination.
Listing 1 Colored-Tree - Complete algorithm for the enumeration problem. procedure Colored − Tree(p, n, q): // input ’p,q,n’: the parameters of the equation // enumerate all the solutions of the equation node,splits,nodeSolution,SubTreeSolutions=[] D=divisors(q) node.add(n,1) for i in node.length do if (node[i]!=1) then splits[i]=MCDA(node[i],D \ node[i]) generateNewNodes(splits[i]) SubTreeSolutions[i].add(nodeSolutions[i]) end end checkRepresented() for i in node.length do nodeSolution[i]=computeSingleSolution(node[i]) end IncreaseOrder() for i in node.length do if (node[i]!=1) then solutionsSplits=[] for j in splits[i] do solutionsSplits.add(cartesian(splits[i][j])) end SubTreeSolutions[i].add(union(solutionsSplits)) end end return SubTreeSolutions[node.length]
The Lisiting 1 presents the procedure using some particular functions: generateNewNodes adds the elements of the split, the node necessary in order todecompose but not yet represented as nodes in the nodes set.
MCDA computes the optimal solutions of the making-change problem for a node valueand a set of coins. computeSingleSolution returns the node solution for a node equation represented witha node.
X:10 Solving Equations on Discrete Dynamical Systems checkRepresented check if all the possible decomositions of the root are represented,otherwise add the corrisponding sub-tree.
IncreaseOrder permutes the row of the table in the increasing order according to thevalue of the nodes.Now we can sketch some proofs about its soundness, completeness and termination. (cid:73)
Proposition 12 (Soundness) . For all n, p, q ∈ N ⋆ , S np,q ⊆ T np,q . Proof.
Let us prove the soundness by induction on the depth of the tree from leaves to root.
Induction base : if there is only one step, we know by Lemma 3, that a solution found isfeasible iff gcd ( p, qp × m ) = m and lcm ( p, qp × m ) = q , and because there is only one leaf inthe base, we therefore, obtain all the solutions. Induction hypothesis : let us assume thatwe have all the possible solutions at a depth n and let us show that we can obtain all thesolutions at a depth n + Induction step : It is easy to see that a solution exists if and onlyif it comes from a decomposition. Thus, by performing a Cartesian product between theset of solutions at depth n (which is true by IH) and the node solution (which is true byInduction base, since the node can be seen as a leaf), we know that we will obtain all thesolution coming from the possible decomposition in the sub-tree. If a solution is coming fromanother sub-tree, since we perform an exhaustive check where we assign a different color tothe other sub-tree, we know again, by IH and because we are taking the union of all thepossible solutions, that we have all the possible solutions at a depth n + (cid:74)(cid:73) Proposition 13 (Completeness) . For all n, p, q ∈ N ⋆ , T np,q ⊆ S np,q . Proof.
By contradiction, let us assume that there exists a solution r ∈ T np,q and that r /∈ S np,q .This means that the colored-tree method does not return it. This implies that it exists adecomposition of n , which leads to r , such that this decomposition is not in the tree. This isimpossible since, an exhaustive check is performed to assure that all the decompositions arethere. Therefore, all solutions are returned. (cid:74)(cid:73) Proposition 14 (Termination) . The colored-tree method always terminates.
Proof.
The building phase always terminates since the colored-tree has maximal depth D ′ = div ( q, n ) and the number of different possible colors is bounded by 2 k where k is thesize of the multi-set containing n / p i copies of the divisor p i per each divisor in D ′ . Theaggregation phase always terminates since it performs a finite number of operations per eachnode of the colored tree. (cid:74) Now that we have defined the problem, its complexity and a sound and complete algorithmto solve it. It is time to experimentally evaluate it in order to study its scalability. Experimental Evaluations
The colored-tree method provides a complete set of solutions of simple equations of typeEquation 7. Its complexity can be experimentally measured counting the number of nodes inthe colored tree.Figure 5 shows how the complexity grows as a function of n and q . For this case, we set p = q to ensure that we always have at least one solution and therefore a tree-decomposition.Notice that, in some cases, the complexity is particularly high due to specific analyticalrelations between the input parameters that we are going to study in the future. Noticealso that our method seems to have a weakness when q is an even number. This is easily ennuzio et al. XX:11 q Figure 5
The number of nodes in the colored tree as a function of n and q . E x e c u t i on t i m e f o r C o l o r ed T r ee ( s ) Execution time for Brute Force (s) q%2 = 0q%2 = 1n >= qn < q
Figure 6
The brute force approach vs. colored-tree method w.r.t. execution time (in seconds). explained: in many cases, all the divisors can be expressed by the other ones. Thereforethe check that ensures that all the decompositions are present is particularly time- andmemory-consuming.Since there is no other competitor algorithm at the best of our knowledge, we comparedthe colored-tree method to a brute force algorithm. We test our algorithm with n from 1to 20, p is also from 1 to 20 and at any time, p = q . Results are reported in Figure 6. Asexpected, the colored-tree method outperforms the brute force solution, sometimes withmany orders of magnitude faster. However, when the input equation has small coefficients,the colored-tree method performs worse. This can be explained considering that buildingthe needed data structures requires a longer time than the execution of the brute forcealgorithm. Conclusion
Questions about boolean automata networks, used in biological modelling for genetic regula-tory networks and metabolic networks, can be rewritten as equations over DDS using theformalism introduced in Dennunzio et al. in [3]. They argued that polynomial equationsare a convenient tool for the analysis of the dynamics of a system. However, algorithmicallysolving such equations is an unfeasible task. In this article, we propose a practical way topartially overcome those difficulties using a couple of approaches which aims at studying
X:12 Solving Equations on Discrete Dynamical Systems separately the number of component ( i.e. the number of attractors) and the length of theirperiods. This paper proposes an algorithm for the number of components of the solution ofa polynomial equation over finite DDS.One of the core routines of the algorithm uses a brute force check for the make-changeproblem which clearly affects the overall performances. Therefore, a natural researchdirection consists in finding a better performing routine. One possibility would considerparallelisation since a large part of the computations are strictly indipendent. Anotherinteresting research direction consists inbetter understanding the computational complexityof the
DSECP . We are still working to improve the performances of the algorithm to havestronger scalability properties in the perspective of providing a handy tool which can beexploited by bioinformaticians to actually solve the
Hypothesis Checking problem in theircontext.
Acknowledgments
This work has been partly funded by IDEX UCA jedi . References Anna Adamaszek and Michal Adamaszek. Combinatorics of the change-making problem.
Eur.J. Comb. , 31(1):47–63, 2010. doi:10.1016/j.ejc.2009.05.002 . Stefan Bornholdt. Boolean network models of cellular regulation: prospects and limitations.
Journal of The Royal Society Interface , 5:85–94, 2008. URL: http://doi.org/10.1098/rsif.2008.0132.focus , doi:http://doi.org/10.1098/rsif.2008.0132.focus . Alberto Dennunzio, Valentina Dorigatti, Enrico Formenti, Luca Manzoni, and Antonio E.Porreca. Polynomial equations over finite, discrete-time dynamical systems. In
Proc. ofACRI’18 , pages 298–306, 2018. doi:10.1007/978-3-319-99813-8\_27 . Oscar Levin.
Discrete Mathematics: an open introduction .https://github.com/oscarlevin/discrete-book/, 2017. Henning S. Mortveit and Christian M. Reidys.
An Introduction to Sequential DynamicalSystems . Universitext. Springer, 2008. Sylvain Sené.
On the bioinformatics of automata networks . Habilitation à diriger des recherches,Université d’Evry-Val d’Essonne, November 2012. URL: https://tel.archives-ouvertes.fr/tel-00759287 . Y. Strozecki.