pmc logo imageJournal ListSearchpmc logo image
Logo of ejbiosysbioJournal's HomeManuscript SubmissionAims and ScopeAuthor GuidelinesEditorial BoardHome
EURASIP J Bioinform Syst Biol. 2007; 2007: 97356.
Published online 2007 April 19. doi: 10.1155/2007/97356.
PMCID: PMC1893010
Fixed Points in Discrete Models for Regulatory Genetic Networks
Dorothy Bollman,1 Omar Colón-Reyes,1 and Edusmildo Orozco2*
1Departament of Mathematical Sciences, University of Puerto Rico, Mayaguez, PR 00681, USA
2Department of Computer Science, University of Puerto Rico, Río Piedras, San Juan, PR 00931-3355, USA
*Edusmildo Orozco: Email: eorozco/at/uprrp.edu
Recommended by Tatsuya Akutsu
Received July 1, 2006; Revised November 22, 2006; Accepted February 20, 2007.
Abstract
It is desirable to have efficient mathematical methods to extract information about regulatory iterations between genes from repeated measurements of gene transcript concentrations. One piece of information is of interest when the dynamics reaches a steady state. In this paper we develop tools that enable the detection of steady states that are modeled by fixed points in discrete finite dynamical systems. We discuss two algebraic models, a univariate model and a multivariate model. We show that these two models are equivalent and that one can be converted to the other by means of a discrete Fourier transform. We give a new, more general definition of a linear finite dynamical system and we give a necessary and sufficient condition for such a system to be a fixed point system, that is, all cycles are of length one. We show how this result for generalized linear systems can be used to determine when certain nonlinear systems (monomial dynamical systems over finite fields) are fixed point systems. We also show how it is possible to determine in polynomial time when an ordinary linear system (defined over a finite field) is a fixed point system. We conclude with a necessary condition for a univariate finite dynamical system to be a fixed point system.
1. INTRODUCTION

Finite dynamical systems are dynamical systems on finite sets. Examples include cellular automata and Boolean networks, (e.g., [1]) with applications in many areas of science and engineering (e.g., [2, 3]), and more recently in computational biology (e.g., [46]). A common question in all of these applications is how to analyze the dynamics of the models without enumerating all state transitions. This paper presents partial solutions to this problem.

Because of technological advances such as DNA microarrays, it is possible to measure gene transcripts from a large number of genes. It is desirable to have efficient mathematical methods to extract information about regulatory iterations between genes from repeated measurements of gene transcript concentrations.

One piece of information about regulatory iterations of interest is when the dynamics reaches a steady state. In the words of Fuller (see [7]): “this paradigm closely parallels the goal of professionals who aim to understand the flow of molecular events during the progression of an illness and to predict how the disease will develop and how the patient will respond to certain therapies.”

The work of Fuller et al. [7] serves as an example. When the gene expression profile of human brain tumors was analyzed, these were divided into three classes—high grade, medium grade, and low grade. A key gene expression event was identified, which was a high expression of insulin-like growth factor binding protein 2 (IGFBP2) occurring only in high-grade brain tumors. It can be assumed that gene expression events were initiated at some stages in low-level tumors and may have led to the state when IGFBP2 is activated. The activation of IGFBP2 can be understood to be a steady state. If we model the kinetics and construct a model that reconstructs the genetic regulatory network that activates during the brain tumor process, then we may be able to predict the convergence of events that lead to the activation of IGFBP2. In the same way, we also want to know what happens in the next step following the activation of IGFBP2. Our goal is to develop tools that will enable this type of analysis in the case of modeling gene regulatory networks by means of discrete dynamical systems.

The use of polynomial dynamical systems to model biological phenomena, in particular gene regulatory networks, have proved to be as valid as continuous models. Laubenbacher and Stigler (see [6]) point out, for example, that most ordinary differential equations models cannot be solved analytically and that numerical solutions of such time-continuous systems necessitate approximations by time-discrete systems, so that ultimately, the two types of models are not that different.

Once a gene regulatory network is modeled, in our case by finite fields, or by finitely generated modules, we obtain a finite dynamical system. Our goal is to determine if the dynamical system represents a steady-state gene regulatory network (i.e., if every state eventually enters a steady state). This is a crucial task. Shmulevich et al. (see [8]) have shown that the steady-state distribution is necessary in order to compute the long term influence that is a measure of gene impact over other genes.

The rest of the paper is organized as follows. In Section 2 we give some basic definitions and facts about finite dynamical systems and their associated state spaces. In Section 3 we discuss multivariate and univariate finite field models for genetic networks and show that they are equivalent. Each of the models can be converted to the other by a discrete Fourier transform. Section 4 is devoted to fixed point systems. We give a new definition of linear finite dynamical systems and give necessary and sufficient conditions for such a system to be a fixed point system. We review results concerning monomial fixed point systems and show how our results concerning linear systems can be used to determine when a monomial finite dynamical system over an arbitrary finite field is a fixed point system. We show how fixed points can be determined in the univariable model by solving a polynomial equation over a finite field and we give a necessary condition for a finite dynamical system to be a fixed point system. Finally, in Section 5 we discuss some implementation issues.

2. PRELIMINARIES

A finite dynamical system (fds) is an ordered pair (X, f) where X is a finite set and f is a function that maps X into itself, that is, f : XX. The state space of an fds (X, f) is a digraph (i.e., directed graph) whose nodes are labeled by the elements of X and whose edges consist of all ordered pairs (x, y) [set membership] X × X such that f(x) = y. We say that two finite dynamical systems are isomorphic if there exists a graph isomorphism between their state spaces.

Let G = (V, E) be a digraph. A path in G of the form (v1, v2), (v2, v3), …, (vn − 1, vn), (vn, v1), where v1, v2, …, vn are distinct members of V is a cycle of length n. We define a tree to be a digraph T = (V, E) which has a unique node v0, called the root of T, such that (a) (v0, v0) [set membership] E, (b) for any node vv0, there is a path from V to v0, (c) T has no “semicycles” (i.e., alternate sequence of nodes and edges v1, x1, v2, …, xn, vn+1, n ≠ 0, where v1 = vn+1 and each xi is (vi, vi+1 or vi+1, vi)) other than the trivial one (v0, (v0, v0), v0). (Such a tree with the edge (v0, v0) deleted is sometimes called an “in-tree” with “sink” v0.)

Let T be a tree, let nT = [union operator]i = 1nTi be the union of n copies T1, T2, …, Tn of T, and let ri be the root of Ti. Define T(n) to be the digraph obtained from nT by deleting the edges (ri, ri), i = 1, 2, …, n, and adjoining the edges (ri, rj), i, j = 1, 2, …, n, where j = i + 1 mod n. We call T(n) an n-cycled tree. Note that by definition, every tree is an n-cycled tree with n = 1. Note also that by definition, a digraph Tr = ({r}, {r, r}) consisting of a single trivial cycle is a tree and hence every cycle of length n is isomorphic to nTr and hence is an n-cycled tree.

The product of two digraphs G1 = (V1, E1) and G2 = (V2, E2), denoted G1× G2, is the digraph G = (V, E) where V = V1× V2 (the Cartesian product of V1 by V2) and E = {((x1, y1), (x2, y2)) [set membership] V × V : (x1, x2) [set membership] E1 and (y1, y2) [set membership] E2}. The following facts follow easily from the definitions. Lemmas 1, 3, and 4 have been noted in [9].

Lemma 1.

The state space of an fds is the disjoint union of cycled trees.

Of special interest are those fds whose state space consists entirely of trees. Such an fds is called a fixed point system (fps).

For any finite set X we call f : X → X nilpotent if there exists a unique x0 [set membership] X such that fk(X) = x0 for some positive integer k.

Lemma 2.

The state space of an fds (X, f) is a tree if and only if f is nilpotent. Hence (X, f) is an fps if f is nilpotent.

Proof.

Suppose that the state space (X, f) is a tree with root x0 and height k. Then fk(x) = x0 for all x [set membership] X and x0 is the only node with this property. Hence f is nilpotent. Conversely, if f is nilpotent and fk(X) = x0, then by Lemma 1, the state space consists of an n-cycled tree and since x0 is unique, n = 1.

Example 1.

Consider the fds (F23, f), where f : F32F32 is defined by f(x, y, z) = (y, 0, x) and F2 is the binary field. In this case f is a nilpotent function. The state space of (F23, f) is a tree whose state space is shown in Figure 1.

Figure 1Figure 1
State space of (F23, f), where f(x, y, z) = (y, 0, x) over F2.
Lemma 3.

The state space of an fds (X, f) is the union of cycles if and only if f is one-to-one.

Lemma 4.

The product of a tree and a cycle of length l is a cycled tree whose cycle has length l.

3. FINITE FIELD MODELS

A finite dynamical system constitutes a very natural discrete model for regulatory processes (see [10]), in particular genetic networks. Experimental data can be discretized into a finite set X of expression levels. A network consisting of n genes is then represented by an fds (Xn, f). The dynamics of the network is described by a discrete time series

f(s0) = s1, f(s1) = s2, …, f(sk − 2) = sk − 1.
(1)

Special cases of the finite dynamical model are the Boolean model and finite field models. In the Boolean model, either a gene can affect another gene or not. In a finite field model, one is able to capture graded differences in gene expression. A finite field model can be considered as a generalization of the Boolean model since each Boolean operation can be expressed in terms of the sum and product in Z2. In particular,

equation M1.
(2)

Two types of finite field models have emerged, the multivariate model [6] and the univariable model [11]. The multivariate model is given by the fds (Fqn, f), where Fqn represents the set of n-tuples over the finite field Fq with q elements. Each coordinate function fi gives the next state of gene i, given the states of the other genes. The univariate model is given by the fds (Fqn, f). In this case, each value of f represents the next states of the n genes, given the present states.

The two types of finite field models can be considered equivalent in the following sense.

Definition 1.

An fds (X, f) is equivalent to an fds (Y, g) if there is an epimorphism [var phi] : XY such that [var phi] [composite function (small circle)] f = g [composite function (small circle)] [var phi].

It is easy to see that if two fds's are equivalent, then their state spaces are the same up to isomorphism. We can show that for any n-dimensional dynamical system (Fnq, f) there is an equivalent one-dimensional system (Fqn, g). To see this, consider a primitive element α of Fqn, that is, a generator of the multiplicative group of Fqn − {0}. Then there is a natural correspondence between Fnq and Fqn, given by

[var phi]α(x0,…, xn − 1) = x0 + x1α + x2α2 + [cdots, three dots, centered] + xn − 1αn − 1.
(3)
Since for each a [set membership] Fqn there exists unique yi [set membership] Fq such that a = y0 + y1α + y2α2 + [cdots, three dots, centered] + yn − 1αn − 1 we can define g : FqnFqn as g(a) = ([var phi]α [composite function (small circle)] f)(y0,…, yn − 1). Notice then that g [composite function (small circle)] [var phi]α = [var phi]α [composite function (small circle)] f and therefore the dynamical systems g and f are equivalent.

One important consideration in choosing an appropriate finite field model for a genetic network is the complexity of the needed computational tasks. For example, the evaluation of a polynomial in n variables over Fq, q prime, can be done with O(qn/n) operations (see [12]) and hence, evaluating f in all n of its coordinates is O(qn), the same number of operations needed for the evaluation of a univariate polynomial over Fqn. However, the complexity of the comparison of two values in Fqn is O(n), whereas the complexity of the comparison of two values in Fqn, represented as described below, is O(1).

Arithmetic in Fqn, q prime, is integer arithmetic modulo q. Arithmetic in Fqn is efficiently performed by table lookup methods, as shown below. Nonzero elements of Fqn are represented by powers of a primitive element α. Multiplication is then performed by adding exponents modulo qn − 1. For addition we make use of a precomputed table of values defined as follows. Every nonozero element of Fqn has a unique representation in the form 1 + αi and the unique number z(i), 0 ≤ z(i) ≤ qn − 2, such that 1 + αi = αz(i) is called the Zech log of i. Note that for ab, αa + αb = αa(1 + αb − a) = αa + z(b − a)modqn − 1. Addition is thus performed by adding one exponent to the Zech log of the difference, which is found in a precomputed table. In order to construct a table of Zech logs for Fqn, we first need a primitive polynomial, which can be found in any one of various tables (e.g., [13]).

Example 2.

Let us construct a table of Zech logs for F32 using the primitive polynomial x5 + x2 + 1. Thus, we have α5 = α2 + 1, where α is a root of x5 + x2 + 1. Continuing to compute the powers and making use of this fact, we have α6 = α3 + α, α7 = α4 + α2, α8 = α5 + α3 = α3 + α2 + 1,…, α31 = 1. Now use these results to compute for each i = 1,…, 30, the number z(i) such that αi + 1 = αz(i). For example, since α5 = α2 + 1, we have α5 + 1 = α2 and so z(5) = 2, and so forth. See Table 1.

Table 1Table 1
Zech Logs for F32.

Usually it is most convenient to choose the most appropriate model at the outset. However, at the cost of computing all possible values of the map, it is possible to convert one model to the other. The rest of this section is devoted to developing such an algorithm.

Definition 2.

Let F be a field and let α [set membership] F be an element of order d, that is, αd = 1 and no smaller power of α equals 1. The discrete Fourier transform (DFT) of blocklength d over F is defined by the matrix T = [αij], i, j = 0, 1,…, d − 1. The inverse discrete Fourier transform is given by T − 1 = d − 1[α − ij], i, j = 0, 1,…, d − 1, where d − 1 denotes the inverse of the field element d = 1 + 1 + [cdots, three dots, centered] + 1 (d times).

It is easy to show that TT − 1 = Id, where Id denotes the d × d identity matrix (see, e.g., [14]). Now an element in Fq, is of order d if and only if d divides q − 1. Thus, for every finite field Fq there is a DFT over Fq with block length q − 1 which is defined by [αij], i, j = 0, 1,…, q − 2, where α is a primitive element of Fq. We denote such a DFT by Tq, α.

Theorem 1.

Let B0 = ([var phi]α [composite function (small circle)] f)(0,…, 0) and for each i = 1, 2,…, qn − 1, let Bi = ([var phi]α [composite function (small circle)] f) (a0, i, a1, i, …, an − 1, i) where α is a primitive element of Fqn and where an − 1, iαn − 1 + [cdots, three dots, centered] + a1, iα + α0, i = αi − 1. Then g is given by the polynomial

Aqn − 1xqn − 1 + Aqn − 2xqn − 2 + [cdots, three dots, centered] + A1x + A0,
(4)
where A0 = B0 and
equation M2
(5)

Proof.

For each i = 0, 1,…, qn − 2, we have

equation M3.
(6)
Now every function defined on a finite field Fqn can be expressed as a polynomial of degree not more than qn − 1. Hence g is of the form (1) and it remains to show that the Ai are given by (2). For this we need only to solve the following system of equations:
g(αi) = Aqn − 1(αi)qn − 1 + Aqn − 2(αi)qn − 2 + [cdots, three dots, centered] + A1αi + A0,  i = 0, 1,…, qn − 2.
(7)
Since α is a primitive element of Fqn, we have (αi)qn − 1 = 1 and so
Bi+1 − A0 = g(αi) = Aqn − 1(αi)qn − 1 + Aqn − 2(αi)qn − 2 + [cdots, three dots, centered] + A1αi, i = 0, 1,…, qn − 2.
(8)
Thus,
equation M4,
(9)
where d − 1 = (qn − 1) − 1 = − 1. The theorem then follows by applying Tqn, α to both sides of this last equation.

We illustrate the algorithm given by Theorem 1 with an example.

Example 3.

A recent application involves the study and creation of a model for lac operon [15]. When the bacteria E. Coli is in an environment with lactose, then the lac operon turns on the enzymes that are needed in order to degrade lactose. These enzymes are beta-galactisidase, Lactose Permease, and Thiogalactoside transectylase. In [15], a continuous model is proposed that measures the rate of change in the concentration of these enzymes as well as the concentration of mRNA and intracellular lactose. In [16, 17], Laubenbacher and Stigler provide a discrete model for the lac operon given by

(F25, f(x1, x2, x3, x4, x5)) = (x3, x1, x3 + x2x4 + x2x3x4, (1 + x2)x4 + x5 + (1 + x2)x4x5, x1),
(10)
where x1 represents mRNA, x2 represents beta-galactosidase, x3 represents allolactose, x4 represents lactose, and x5 represents permease. In order to find an equivalent univariate fds (f25, g) we first find a primitive element α in F25. This can be done by finding a “primitive polynomial,” that is, an irreducible polynomial of degree 5 over F2 that has a zero α in F25 that generates the multiplicative cyclic group of F25 − {0}. Such an α can be found either by trial and error or by the use of tables (see, e.g., [13]).

In our case, we choose α to be a zero of x5 + x2 + 2. Next, we compute Bi, i = 0, 1,…, 31. By definition B0 = [var phi]α(f(0, 0, 0, 0, 0)) = [var phi]α(0, 0, 0, 0, 0) = 0 and Bi = [var phi]α(f(a0, i, a1, i, a2, i, a3, i, a4, i)) where αi − 1 = a0, i + a1, iα + a2, iα2 + a3, iα3 + a4, iα4 for i = 1, 2,…, 31.

So, for example,

equation M5.
(11)
Continuing we find that [B1, B2,…, B31] = [α30, 0, α5, α3, α3, α26, α2, α8, α15, α20, α9, α26, α5, α8, α15, α15, α24, α9, α30, α5, α8, α3, α15, α26, α8, α9, α15, α28, α8, α9, α3].

Multiplying by the 31 × 31 matrix T32, α = [αij], 0 ≤ i, j ≤ 30, we obtain [A31, A30,…, A1] and hence the equivalent univariate polynomial, which is g(x) = x + α22x2 + α2x3 + α11x4 + α20x5 + x6 + α12x7 + α25x8 + α20x9 + α20x10 + α2x11 + α5x12 + α5x13 + α23x14 + α7x16 + α27x17 + α20x18 + α6x19 + α20x20 + α27x21 + x22 + α27x24 + x25 + α27x26 + α16x28.

As previously mentioned, the complexity of evaluating a polynomial in n variables over a finite field Fq is O(qn/n). The complexity of evaluating f in all of its n coordinates is thus O(qn) and the complexity of evaluating f in all points of Fqn is thus O(q2n). The computation of the matrix-vector product in (2) involves O(q2n) operations over the field Fqn. However, using any one of the number of classical fast algorithms, such as Cooley-Tukey (see, e.g., [14]), the number of operations can be reduced to O(qnn).

4. FIXED POINT SYSTEMS

A fixed point system (fps) is defined to be an fds whose state space consists of trees, that is, contains no cycles other than trivial ones (of length one). The fixed point system problem is the problem of determining of an fds whether or not it is an fps. Of course one such method would be the brute force method whereby we examine sequences determined by successive applications of the state map to determine if any such sequence contains a cycle of length greater than one. The worst case occurs when the state space consists of one cycle. Consider such a multivariate fds (Fqn, f). In order to recognize a maximal cycle, f(a1, a2,…, an), f2(a1, a2,…, an),, such an approach would require backtracking at each step in order to compare the most recent value fi(a1, a2,…, an) with all previous values. An evaluation requires O(qn) operations, there are qn such evaluations, and a comparison of two values requires n steps. The complexity of the complete process is thus O(q2n+n2) = O(q2n).

To date, all results concerning the fixed point system problem are characterized in terms of multivariate fds. A solution to the fixed point system problem consists of characterizing such an fds (Fqn, f) in terms of the structure of f. Ideally, such conditions should be amenable to implementations in polynomial time in n. In a recent work, Just [18] claims that if the class of regulatory functions contains the quadratic monotone functions xi [logical or] xj and xixj, then the fixed point problem for Boolean dynamical systems is NP-hard. In view of this result, it is unlikely that we can achieve the goal of a polynomial time solution to the fixed point problem, at least in the general case. However, the question arises if the above O(q2n) result can be improved (to say O(qn)) and also what are special cases of the fixed point problem that have polynomial time solutions.

In this section we give a polynomial solution to the special case of the fixed point problem for linear finite dynamical systems, we review known results for the nonlinear case, and we point out how our results concerning the general linear case for fds over finitely generated modules give a more complete solution to the case of monomial finite field dynamical systems over arbitrary finite fields. We conclude by proposing a new approach to the problem via univariate systems, we give an algorithm for determining the fixed points of a univariate system, and we give a necessary condition for a univariate fds to be an fps.

4.1. Linear fixed point systems
Finite dynamical systems over finite fields that are linear are very amenable to analysis and have been studied extensively in the literature (see [2, 9]).

In the multivariate case, a linear system over a finite field is represented by an fds (Fqn, f) where f can be represented by an n × n matrix A over Fq. The fixed points of a multivariate fds (Fqm, A) are simply the solutions to the homogeneous system of equations (A − I)x = 0.

In the finite field model for genetic networks, we assume that the number of states of each gene is a power of a prime. However, we will give a more general model that eliminates this assumption.

A module M over a ring R is said to be finitely generated if there exists a set of elements {s1, s2,…, sn} [subset or is implied by] M such that M = {r1s1 + r2s2 + [cdots, three dots, centered] + rnsn [mid ] ri [set membership] R}. Finitely generated modules are generalized vector spaces. Examples are Fqn and the set Zmn of n tuples over the ring of integers modulo an arbitrary integer m.

A linear finite dynamical module system (lfdms) consists of an ordered pair (M(R), f) where M(R) is a finitely generated module over a finite commutative ring R with unity and f : M(R) → M(R) is linear. Let (M1(R), f1) and (M2(R), f2) be lfdms. We define the direct sum of (M1(R), f1) and (M2(R), f2) to be the fds (M1 [plus sign in circle] M2, f1 [plus sign in circle] f2) where M1 [plus sign in circle] M2 is the direct sum of the modules M1(R) and M2(R) and f1 [plus sign in circle] f2 : M1 [plus sign in circle] M2M1 [plus sign in circle] M2 is defined by (f1 [plus sign in circle] f2)(u + v) = f1(u) + f2(v), for each u [set membership] M1(R) and v [set membership] M2(R). The state space of the direct sum is related to the component fds as follows.

Lemma 5.

Let G1 be the state space of the lfdms (M1(R), f1) and let G2 be the state space of the lfdms (M2(R), f2). Then the state space of the direct sum of (M1(R), f1) and (M2(R), f2) is G1 × G2.

This result has been noted in [9] for lfdms over fields.

We use the following well-known result (see, e.g., [19]) in order to establish necessary and sufficient conditions for an lfdms to be a fixed point system.

Lemma 6 (Fitting's lemma).

Let (M(R), f) be an lfdms. Then there exist an integer n > 0 and submodules N and P satisfying

  • N = fn(M(R)),
  • P = f−n(0),
  • (M(R), f) = (N(R), f1) [plus sign in circle] (P(R), f2), f1 = f|N (the restriction of f to N) is invertible and f2 = f|P is nilpotent.

Theorem 2.

Let (M(R), f) be an lfdms and let N be defined as above. Then (M(R), f) is a fixed point system if and only if either f is nilpotent or f|N is the identity map.

Proof.

By Fitting's lemma, we have (M(R), f) = (N(R), f|N) [plus sign in circle] (P(R), f|P) where N = fn(M(R)) and P = f−n(0). Suppose that f is nilpotent. Then by Lemma 2, the state space of (M(R), f) is a tree. Next suppose that f|N is the identity. Then by Lemma 3, the state space of (M(N), f|N) is a union of cycles each of length one and by Lemma 2, the state space of (M(P), f|P) is a tree. Hence by Lemma 4, the state space of (M(R), f) is a union of trees and so (M(R), f) is a fixed point system.

Conversely, suppose that (M(R), f) is a fixed point system. Then the state space of (M(R), f) is a union U of trees. If U consists of only one tree, then by Lemma 3, f is nilpotent. Now suppose that U is the union of at least two trees. Since f is invertible on N, it is also one-to-one on N. By Lemma 2, the state space of (N(R), f|N) is a union of cycles. Each of these cycles must be of length one. For if not, the state space of (M(R), f) would contain at least one n-cycled tree where n > 1, contradicting that (M(R), f) is a fixed point system.

Theorem 2 can be used to prove the following result, which is suggested in [20, 21].

Corollary 1.

A linear finite dynamical system (Fqn, f) over a field is a fixed point system if and only if the characteristic polynomial of f is of the form xn0(x − 1)n1 and the minimal polynomial is of the form xn0(x − 1)n1 where n1′ is either zero or one.

Proof.

Suppose (Fqn, f) is an fps. Then either f is nilpotent or f|N is the identity. If f is nilpotent, then the characteristic polynomial of f is of the form xn0 and the minimal polynomial of f is of the form xn0. If f|N is the identity, then the characteristic polynomial of f|N is of the form (x − 1)n1 and the minimal polynomial of f|N is of the form (x − 1)n1 where 0 ≤ q n1q n1. Furthermore, n1q 1 since otherwise (Fqn, f) would not be an fps [2]. Therefore the characteristic and minimal polynomials of f are of the desired forms.

Conversely, suppose that the characteristic polynomial of f is of the form xn0(x − 1)n1 and its minimal polynomial is of the form xn0(x − 1)n1, where n0q n0 and n1 is either zero or one. If n0′ = 0, then the characteristic polynomial of f is (x − 1)n1 and so the minimal polynomial of f is x − 1, which implies that f is the identity and hence (Fqn, f) is an fps. Next, suppose that n0′ > 0. Then either n1′ = 0 or n1′ = 1. If n1′ = 0, then the state space of (Fqn, f) is a tree. If n1′ = 1, then the state space of (Fqn, f) is the product of a tree and cycles of length one and, hence the union of trees.

The corollary gives us a polynomial time algorithm to determine of a linear fds (Fnq, f), where f is given by an n × n matrix, whether or not it is an fps. The characteristic polynomial of f can be determined in time O(n3) using the definition. The minimal polynomial of f can be determined in time O(n3) using an algorithm of Storjohann [22]. Both polynomials can be factored in subquadratic time using an algorithm of Kaltofen and Shoup [23].

4.2. Monomial systems
The simplest nonlinear multivariate fds (Fqn, f) is one in which each component function fi of f is a monomial, that is, a product of powers of the variables. In [24], Colóon-Reyes et al. provide necessary and sufficient conditions that allow one to determine in polynomial time when an fds of the form (F2n, f), where f a monomial, is an fps. In [25], Colóon-Reyes et al. give necessary and sufficient conditions for (Fqn, f), where f is a monomial and q an arbitrary prime, to be an fps. However, one of these conditions is that a certain linear fds over a ring be an fps, but no criterion is given for such an fds to be an fps. Theorem 2 gives such a criterion. Let us describe the situation in more detail.Definition 3.

If f = (f1, f2,…, fn) where each fj is of the form x1 ε1jx2 ε2j[cdots, three dots, centered] xn εnj, j = 1, 2,…, n, where each εij belongs to the ring Zq−1 of integers modulo q − 1, then (Fqn, f) is called a monomial finite dynamical system. The log map of (Fqn, f) is defined by the n × n matrix Lf = [ εij], where 1 ≤ i, jn. The support map is defined by Sf = (h1, h2,…, hn) where each hi = x1δi1x2δi2[cdots, three dots, centered] xnδin and where δij is one if ε > 0 and is zero otherwise.

The following theorem was published in [25].

Theorem 3 (Colón-Reyes, Jarrah, Laubenbacher, and Sturmfels).

A monomial fds (Fqn, f) is an fps if and only if (Zq−1n, Lf) and (Z2n, Sf) are fixed point systems.

Example 4.

Consider the monomial fds (F52, f) where f = (xy, y) = (x1y1, x0y1). The matrix Lf = equation M6 over Z4 is nonsingular and hence not nilpotent. Furthermore, the n of Theorem 2 is 1, N = Z4, and Lf is not the identity. By Theorem 2, (Z4, Lf) is not an fps and by the previous theorem, (F52, f) is not an fps.

The problem of determining in polynomial time (in n) when an lfdms (Rn, f) is an fps, where R is a finite ring, is open.

4.3. A univariate approach
The fixed point problem is an important problem, suitable solutions for which have been obtained only in certain special cases. All of the work done so far has been done for multivariate fds. By considering the problem in the univariate domain, it is possible to gain some insight that is not evident in the multivariate domain. The results in the remainder of this section are examples of this.Lemma 7.

(Fqn, g) has fixed points if and only if h(x) = gcd(g(x) − x, xqn − x) ≠ 1 and in such a case, the fixed points are the zeros of h(x).

Proof.

An element a of Fqn is a fixed point of (Fqn, g) if and only if a is a zero of g(x) − x. Since xqn = x for all x [set membership] Fqn, xqn − x contains all linear factors of the form x − a, a [set membership] Fqn and so a is a zero of g(x) − x if and only if x − a is a factor of both g(x) − x and xqn − x, that is, if and only if it is a factor of h(x).

Lemma 7 gives us algorithms for determining whether or not a given univariate fds has fixed points and if so, a method to find all such points. For the first part, we note that the greatest common divisor of two univariate polynomials of degree no more than d can be determined using no more than (d log2 d) operations [26]. Since g has degree at most qn − 1, this means that the complexity for calculating h(x), that is, for determining whether or not a given univariate fds (Fqn, g) is an fps O(n2qn).

When h(x) ≠ 1, h(x) can be factored in order to determine the set of all fixed points. At worst, using the algorithm in [23], the complexity of determining the factors of h(x) is O(d1.815n), where d is the degree of h(x). Clearly, d is less than or equal to the degree of g(x)which in practice is determined by experimental data (e.g., from microarrays) and thus considerably less than the total number of possible points qn. If we assume that the degree of g(x) is not more than the square root of qn, then d1.815nn2qn and the total complexity of the algorithm for determining all fixed points is thus O(n2qn).

In contrast, the only known method for determining the fixed points of a multivariate fds (Fqn, f) is the brute force method of enumerating all state transitions and for each value f(a1, a2,…, an) so generated, check to see if f(a1, a2,…, an) = (a1, a2,…, an). The number of operations in this method is O(q2n).

In many cases, the degree of h(x) of Lemma 7 is small and its zeros can be found by inspection or by only several trials and errors. The lac operon example illustrates this.

Example 5.

Let (F32, g) be the fds describing the lac operon (Example 3). We have h(x) = gcd(g(x), x32 − x) = x4 + α26x3 + α18x2 = x2(x − α3)(x − α15) and thus the fixed points are x = 0, x = α3, and x = α15.

Lemma 7 also gives a necessary condition for an fds to be an fps, which for emphasis we state as a theorem.

Theorem 4.

With the notation of Lemma 7, if (Fq, g) is an fps, then h(x) ≠ 1.

Proof.

If h(x) = 1, then (Fqn, g) has no fixed points and all cycles are nontrivial. Hence by Lemma 7, (Fqn, g) is not an fps.

The converse of Theorem 4 is not true.

Example 6.

Consider the fds (F5, g) where g(x) = x3. Then h(x) = gcd(x5 − x, x3 − x) = x3 − x ≠ = 1, but (F5, g) is not an fps. (see Figure 2).

Figure 2Figure 2
State space of (F5, g), where g(x) = x3 over F5.

5. IMPLEMENTATION ISSUES

One of the difficulties of implementing algorithms for the multivariate model is the choice of data structures, which can, in fact, affect complexity. For example, no algorithm is known for factoring multivariate polynomials that runs in time polynomial in the length of the “sparse” representation. However, such an algorithm exists for the “black box” representation (see, e.g., [27]).

On the other hand, data structures needed for algorithms for the univariate model are well known and simple to implement. In this case, one can also take advantage of well-known methods used in cryptography and coding theory. Table lookup methods for carrying out finite field arithmetic are an example. By using lookup tables we can make arithmetic operations at almost no cost. However, for very large fields, memory space becomes a limitation. Ferrer [28] has implemented table lookup arithmetic for fields of characteristic 2 on a Hewlett-Packard Itanium machine with two 900MHz ia64 CPU modules and 4GB of RAM. On this machine, we can create lookup tables of up to 229 elements.

Multiplication is by far the most costly finite field operation and also the most often used, since other operations such as computing powers and computing inverses make use of multiplication. In other experiments on the Hewlett-Packard Itanium, Ferrer [28] takes advantage of machine hardware in order to implement a “direct” multiplication algorithm for F2n that runs in time linear in n for n = 2 up to n = 63 [28]. Here the field size is limited by the word-length of the computer architecture.

For larger fields, we can make use of “composite” fields (see, e.g., [29]), that is, fields Fn where n is composite, say n = rs. Making use of the isomorphism of F2rs and F(2r)s, we can use table lookup for a suitable “ground field” Fr and the direct method mentioned above for multiplication in the extension field F(2r)s. Using the ground field F25 and selected values of s, Ferrer [28] obtains running time O(s2).

Still another approach to implement finite field arithmetic, that is, especially efficient for fields of characteristic 2, is the use of reconfigurable hardware or “field programmable gate arrays” (FPGAs). In [30], Ferrer, Moreno and the first author obtain a multiplication algorithm which outperforms all other known FPGA multiplication algorithms for fields of characteristic 2.

6. CONCLUSIONS

One piece of information that is of utmost interest when modeling biological events, in particular gene regulation networks, is when the dynamics reaches a steady state. If the modeling of such networks is done by discrete finite dynamical systems, such information is given by the fixed points of the underlying system. We have shown that we can choose between a multivariate and a univariate polynomial representation. Here we introduce a new tool, the discrete Fourier transform that helps us change from one representation to the other, without altering the dynamics of the system.

We provide a criterion to determine when a linear finite dynamical system over an arbitrary finitely generated module over a commutative ring with unity is a fixed point system. When a gene regulation network is modeled by a linear finite dynamical system we can then decide if such an event reaches a steady state using our results. When the finitely generated module is a finite field we can decide in polynomial time.

Gene regulation networks, as suggested in the literature, seem to obey very complex mechanisms whose rules appear to be of a nonlinear nature (see [31]). In this regard, we have made explicit some useful facts concerning fixed points and fixed point systems. We have given algorithms for determining when a univariate fds has at least one fixed point and how to find them. We have also given a necessary condition for a univariable fds to be a fixed point system. However, there are still much to be done and a number of open problems remain. In particular, what families of fds admit polynomial time algorithms for determining whether or not a given fds is an fps? This work is a first step towards the aim of designing theories and practical tools to tackle the general problem of fixed points in finite dynamical systems.

ACKNOWLEDGMENTS

This work was partially supported by Grant number S06-GM08102 NIH-MBRS (SCORE). The figures in this paper were created using the Discrete Visualizer of Dynamics software, from the Virginia Bioinformatics Institute (http://dvd.vbi.vt.edu/network_visualizer). The authors are grateful to Dr. Oscar Moreno for sharing his ideas on the univariate model and composite fields.

References
1.
Lynch, JF. On the threshold of chaos in random Boolean cellular automata. Random Structures & Algorithms. 1995;6(2-3):239–260.
2.
Elspas, B. The theory of autonomous linear sequential networks. IRE Transactions on Circuit Theory. 1959;6(1):45–60.
3.
Plantin, J; Gunnarsson, J; Germundsson, R. Symbolic algebraic discrete systems theory—applied to a fighter aircraft. In: Proceedings of the 34th IEEE Conference on Decision and Control, vol. 2; December, 1995; New Orleans, La, USA. pp. 1863–1864.
4.
Bollman, D; Orozco, E; Moreno, O. A parallel solution to reverse engineering genetic networks. In: Laganà A, Gavrilova ML, Kumar V, et al., editors. Computational Science and Its Applications—ICCSA 2004—Part 3. vol. 3045. Berlin, Germany: Springer; 2004. pp. 490–497. (Lecture Notes in Computer Science).
5.
Jarrah, AS; Vastani, H; Duca, K; Laubenbacher, R. An optimal control problem for in vitro virus competition. In: Proceedings of the 43rd IEEE Conference on Decision and Control (CDC '), vol. 1; December, 2004; Nassau, Bahamas. pp. 579–584.
6.
Laubenbacher, R; Stigler, B. A computational algebra approach to the reverse engineering of gene regulatory networks. Journal of Theoretical Biology. 2004;229(4):523–537. [PubMed]
7.
Fuller, GN; Rhee, CH; Hess, KR, et al. Reactivation of insulin-like growth factor binding protein 2 expression in glioblastoma multiforme. Cancer Research. 1999;59(17):4228–4232. [PubMed]
8.
Shmulevich, I; Dougherty, ER; Zhang, W. Gene perturbation and intervention in probabilistic Boolean networks. Bioinformatics. 2002;18(10):1319–1331. [PubMed]
9.
Hernández Toledo, RA. Linear finite dynamical systems. Communications in Algebra. 2005;33(9):2977–2989.
10.
Bähler, J; Svetina, S. A logical circuit for the regulation of fission yeast growth modes. Journal of Theoretical Biology. 2005;237(2):210–218. [PubMed]
11.
Moreno, O; Bollman, D; Aviño, M. Finite dynamical systems, linear automata, and finite fields. In: Proceedings of the WSEAS International Conference on System Science, Applied Mathematics and Computer Science, and Power Engineering Systems; October, 2002; Copacabana, Rio de Janeiro, Brazil. pp. 1481–1483.
12.
Sunar, B; Cyganski, D. Comparison of bit and word level algorithms for evaluating unstructured functions over finite rings. In: Rao JR, Sunar B. , editors. In: Proceedings of the 7th International Workshop Cryptographic Hardware and Embedded Systems (CHES '05), vol. 3659; August-September, 2005; Edinburgh, UK. pp. 237–249.
13.
Zivkovic, M. A table of primitive binary polynomials. Mathematics of Computation. 1994;62(205):385–386.
14.
Blahut, RE. Algebraic Methods for Signal Processing and Communications Coding. New York, NY, USA: Springer; 1991.
15.
Yildirim, N; Mackey, MC. Feedback regulation in the lactose operon: a mathematical modeling study and comparison with experimental data. Biophysical Journal. 2003;84(5):2841–2851. [PubMed]
16.
Laubenbacher, R. Network Inference, with an application to yeast system biology. Presentation at the Center for Genomics Science, Cuernavaca, Mexico, September 2006, http://mitla.lcg.unam.mx/.
17.
Laubenbacher, R; Stigler, B. Mathematical Tools for Systems Biology. http://people.mbi.ohio-state.edu/bstigler/sb-workshop.pdf.
18.
Just, W. The steady state system problem is NP-hard even for monotone quadratic Boolean dynamical systems. submitted to Annals of Combinatorics.
19.
Macdonald, BR. Finite Rings with Identity. New York, NY, USA: Marcel Dekker; 1974.
20.
Colón-Reyes, O. Monomial dynamical systems [Ph.D. thesis]. Blacksburg, Va, USA: Virginia Polytechnic Institute and State University; 2005.
21.
Colón-Reyes, O. Monomial Dynamical Systems over Finite Fields. Ann Arbor, Mich, USA: ProQuest; 2005.
22.
Storjohann, A. An O(n3) algorithm for the Frobenius normal form. In: Proceedings of the 23rd International Symposium on Symbolic and Algebraic Computation (ISSAC '98); August, 1998; Rostock, Germany. pp. 101–104.
23.
Kaltofen, E; Shoup, V. Subquadratic-time factoring of polynomials over finite fields. Mathematics of Computation. 1998;67(223):1179–1197.
24.
Colón-Reyes, O; Laubenbacher, R; Pareigis, B. Boolean monomial dynamical systems. Annals of Combinatorics. 2004;8(4):425–439.
25.
Colón-Reyes, O; Jarrah, AS; Laubenbacher, R; Sturmfels, B. Monomial dynamical systems over finite fields. Journal of Complex Systems. 2006;16(4):333–342.
26.
Aho, AV; Hopcroft, JE; Ullman, JD. The Design and Analysis of Computer Algorithms. Boston, Mass, USA: Addison Wesley; 1974.
27.
von zur Gathen, J; Gerhard, J. Modern Computer Algebra. 2nd ed. Cambridge, UK: Cambridge University Press; 2003.
28.
Ferrer, E. A co-design approach to the reverse engineering problem [CISE Ph.D. thesis proposal]. Mayaguez, Puerto Rico, USA: University of Puerto Rico; 2006.
29.
Savas, E; Koc, CK. Efficient method for composite field arithmetic. Tech. Rep., Electrical and Computer Engineering, Oregon State University, Corvallis, Ore, USA. 1999. Dec,
30.
Ferrer, E; Bollman, D; Moreno, O. Toward a solution of the reverse engineering problem usings FPGAs. In: Lehner, et al., editors. In: Proceedings of the International Euro-Par Workshops, vol. 4375; September, 2006; Dresden, Germany. Springer; pp. 301–309.
31.
Thomas, R. Laws for the dynamics of regulatory networks. International Journal of Developmental Biology. 1998;42(3):479–485. [PubMed]