<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The Foundation of Evolutionary Petri Nets?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marco S. Nobile</string-name>
          <email>nobile@disco.unimib.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniela Besozzi</string-name>
          <email>besozzi@di.unimi.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paolo Cazzaniga</string-name>
          <email>paolo.cazzaniga@unibg.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giancarlo Mauri</string-name>
          <email>mauri@disco.unimib.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Università degli Studi di Bergamo, Dipartimento di Scienze Umane e Sociali Piazzale S. Agostino 2</institution>
          ,
          <addr-line>24129 Bergamo</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Università degli Studi di Milano</institution>
          ,
          <addr-line>Dipartimento di Informatica Via Comelico 39, 20135 Milano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Università degli Studi di Milano-Bicocca</institution>
          ,
          <addr-line>Dipartimento di Informatica, Sistemistica e Comunicazione Viale Sarca 336, 20126 Milano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <volume>988</volume>
      <fpage>60</fpage>
      <lpage>74</lpage>
      <abstract>
        <p>Evolutionary Computation (EC) mimics evolution processes to solve burdensome computational problems, like the design, optimization and reverse engineering of complex systems, and its effectiveness is tied to a proper formalization of the candidate solutions. Petri Net (PN) formalism is extensively exploited for the modeling, simulation and analysis of the structural and behavioral properties of complex systems. Here we introduce a novel evolutionary algorithm inspired by EC, the Evolutionary Petri Net (EPN), which is based on an extended class of PNs, called Resizable Petri Net (RPN), provided with two genetic operators: mutation and crossover. RPN includes the new concept of hidden places and transitions, that are used by the genetic operators for the optimization of PN-based models. We present a potential application of EPNs to face one of the most challenging problems in Systems Biology, the reverse engineering of biochemical reaction networks.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Evolution is the process whereby the inherited characteristics of a population
are modified over successive generations; these modifications help the offspring
of the best fitting individuals in their competition for sustenance resources and
survival. In other words, the evolution process is the way a population adapts
itself in order to better survive in a complex and ever changing environment.</p>
      <p>
        Evolutionary Computation (EC) is the application of these principles to solve
complex computational problems [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], when classic deterministic approaches may
results unfeasible due to a prohibitive computational effort, for instance in the
case of high-dimensional combinatorial problems. In the EC field, the individuals
forming a population correspond to a set of candidate solutions (smaller than
the whole set of possible solutions) which are iteratively improved by means of
an evolutive pressure, driven by a fitness function that quantifies the quality of
each individual. The improvement is determined by the application of genetic
operators (e.g., mutation, crossover), which modify the structure of each
individual, allowing the exploration of the search space and the convergence toward
an optimal solution.
      </p>
      <p>
        Intuitively, the structure of the individuals, and the way genetic operators
are implemented, have a deep impact on the evolutionary process. In the case
of distributed, asynchronous and concurrent systems, one of the most common
modeling approach consists in the use of Petri Nets (PNs), that is, bipartite
graphs that allow the analysis of the structural properties of the system and of
its dynamic behavior [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. PNs have been coupled to EC to solve problems in
a plethora of different fields, e.g., job scheduling optimization [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], development
of robust and flexible manufacturing systems [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], learning and classification [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
PNs have also been exploited to solve complex biological problems, such as the
discovery of PN models of biochemical systems consistent with population level
genetic models [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] or the automatic reverse engineering of kinetic metabolic
pathways [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], that is, the automatic creation of a model of a biological system able to
explain some experimentally observed phenomena. EC have been widely applied
to the latter problem [
        <xref ref-type="bibr" rid="ref10 ref11 ref8 ref9">8–11</xref>
        ]. Nevertheless, only a few works have exploited a
PN representation of individuals in EC methods [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], probably because of the
difficulty in defining proper genetic operators and the intrinsic limitations of
standard PNs.
      </p>
      <p>In this work we introduce the Evolutionary Petri Net (EPN), which is based
on an extended class of PNs, called Resizable Petri Net, and two genetic
operators, crossover and mutation, that altogether give a foundation for the
development of a robust evolutionary algorithm for the optimization, the automatic
simplification and the reverse engineering of PNs. Due to space limits, we briefly
introduce a potential application of EPNs to face one of the most challenging
problems in Systems Biology, i.e., the reverse engineering of biochemical reaction
networks.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Evolutionary Computation</title>
      <p>
        Evolutionary Computation (EC) exploits the Darwinian evolution theory to
solve complex problems [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Many bio-inspired EC methods have been proposed
(e.g., Genetic Algorithms (GA) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], Particle Swarm Optimization [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]), all
sharing the following common traits: (i) they exploit a population P of randomly
generated individuals, i.e., the candidate solutions; (ii) P evolves, generation
after generation, thanks to an iterative process that employs random modifications
of the individuals; (iii) the individuals able to solve the problem better than the
other candidate solutions are conserved and promoted during the evolutive
process; (iv) to the aim of discriminating the best solutions in P, a fitness function
quantifies the quality of each individual; (v) the process is executed iteratively
until a termination criterion is met.
      </p>
      <p>
        In the particular case of GAs, the individuals are encoded as fixed-length
strings (the genome), composed by concatenating symbols from a finite
alphabet, and the evolutionary process is driven by three operators: selection, crossover
and mutation. The selection mechanism introduces an evolutionary pressure on
the population, in order to make the individuals compete and adapt according
to the fitness function that characterizes the problem in hand; selection methods
are beyond the scope of the present paper, a comprehensive review is available
in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. The crossover operator simulates the exchange of genetic material
occurring during biological reproduction, by creating two offspring from the union of
substructures belonging to two selected parents, aiming at the recombination of
two promising parents, in order to improve the average quality of the population.
The individuals undergo the crossover mechanism with a certain probability;
alternatively, individuals are identically copied into P. In both cases, the mutation
operator can randomly modify these individuals – with a low probability – by
changing, for instance, symbols in its genome. The mutation mechanism is used
for the exploration of the search space, being the only operator able to introduce
new genetic material in the population.
      </p>
      <p>
        GAs have shown the ability of efficiently solving a plethora of complex
problems, but all these results represent specific solutions to particular instances of a
generic problem. In contrast, Genetic Programming (GP) [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is an extension of
GA in which the individuals are computer programs, generally encoded as tree
data structures where the inner nodes are functions, and the leaves (or terminal
nodes) are constant values or variables. Because of this peculiar representation,
GP can identify the optimal solution for whole classes of problems, instead of
specific instances. The functioning of GP is conceptually identical to GA and
shares all the common traits of evolutionary algorithms, but it presents some
slight difference with respect to GAs. Since the individuals are represented as
trees, they are not fixed in height and they are exposed to bloating, that is,
the uncontrolled growth of individuals, generation after generation. A maximum
height D for the individuals can be defined, but this might negatively affect the
evolution of the population. Moreover, the (unknown) actual height of the tree
corresponding to the optimum might be greater than D.
      </p>
      <p>
        GP has been extended to support individuals encoded as graphs [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ],
leading to the definition of many crossover operators, which are supposed to work
with individuals whose number of nodes is different. For some applications, the
individuals of GP may be represented by even more complex data structures like
bipartite graphs, which describe in a more natural way the elements of a
complex system and their mutual interactions. Anyway, the development of robust
genetic operators, able to perform the evolution of such graphs, is challenging.
      </p>
      <p>The set of terminal nodes of GP is generally defined at the beginning of
the evolutionary process, meaning that the interacting elements of the complex
system under investigation are well known: a condition that, sometimes, is not
realistic. In this work we propose a novel methodology, inspired by GP, in which
individuals are encoded as multi-partite graphs which, at the end of the
evolutionary process, represent putative bipartite graphs, namely Petri Nets. Our
methodology is able to automatically determine the best fitting size for the
inferred network, by modifying the number of nodes of the candidate solutions
during the evolutionary process by means of a special mutation operator.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Evolutionary Petri Nets</title>
      <p>
        Petri Net (PN) is a modeling formalism for distributed, asynchronous and
concurrent systems [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], which is defined as a weighted, directed, bipartite graph
consisting of two kinds of nodes: the nodes representing the state (or conditions)
of the system, called places and denoted by circles, and the nodes representing
transitions (or events) between places, denoted by bars. PNs are extensively
exploited for the simulation and analysis of the structural and behavioral
properties of complex systems. Basic notions and notations of PNs can be found in
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. To the aim of developing an evolutionary methodology whose candidate
solutions are based on PNs, we hereby propose an extension of the conventional
PN formalism, called Evolutionary Petri Net (EPN). EPNs provide a conceptual
framework for the representation of candidate solutions, and embed robust and
consistent genetic operators.
      </p>
      <p>Before introducing the EPN formalism, we define a Resizable Petri Net (RPN)
as a 9-tuple = (P; P h; T; T h; F; W; M0; Opre; Opost) where:
– P = fp1; : : : ; pmg is a finite set of places;
– P h is the set of hidden places, such that P \ P h = ;;
– T = ft1; : : : ; tng is a finite set of transitions;
– T h is the set of hidden transitions, such that T \ T h = ; and
(P [ P h) \ (T [ T h) = ;;
– F (P [ P h) (T [ T h) S (T [ T h) (P [ P h) is the set of arcs;
– W : F ! N is a weight function, which associates a non-negative integer
value to each arc;
– M0 : P ! N is the initial marking of non-hidden places of the net (all hidden
places have zero tokens, initially);
– Opre 2 N is the maximum pre-order allowed in the RPN, that is, for each
t 2 (T [ T h)</p>
      <p>W (p; t)</p>
      <sec id="sec-3-1">
        <title>Opre;</title>
        <p>(1)
X
p2 t
p2(P [P h)</p>
        <p>X
p2t
p2(P [P h)
– Opost 2 N is the maximum post-order allowed in the RPN, that is, for each
t 2 (T [ T h)</p>
        <p>W (t; p)</p>
      </sec>
      <sec id="sec-3-2">
        <title>Opost:</title>
        <p>(2)</p>
        <p>
          Differently from a traditional PN, a RPN is composed of a fixed number of
places (jP j = m) and transitions (jT j = n), together with a variable number of
hidden places and transitions in the sets P h and T h, respectively, whose
cardinalities can change during the evolutionary process because of the application of
the genetic operators. Two examples of RPN are depicted in Figure 1a; unlike
other similar works on dynamically reconfigurable PNs [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], or on virtual PNs
[
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], RPNs are modified by “exogenous” mutations that can arbitrarily
introduce new hidden places and new hidden transitions, where hidden transitions
can represent events involving both elements from P and P h. In RPNs we
explicitly separate the sets P and T from the hidden (modifiable) sets P h and
T h in order to make use of the available, consolidated domain knowledge of the
system under investigation as static (i.e., non modifiable) places and transitions.
In the case of zero-knowledge on the interaction of the elements of the net, the
set P is populated with those elements that are known to be part of the system
and whose data can be exploited by the fitness function, while T = ;.
        </p>
        <p>Conversely, hidden places and transitions are exploited by the genetic
operators of EPN in order to explore alternative and more complex topologies of the
net. Since hidden (i.e., modifiable) sets are dynamically modified and evaluated
by the EC algorithm, EPNs allow the optimization of an existent PN according
to some given constraints; moreover, they allow the automatic discovery of
simplified or more efficient alternative models. These tasks can be accomplished by
initializing the system of interest as a “fully-hidden” RPN (that is, P = T = ;),
and letting the evolutionary algorithm explore the space of alternative models.</p>
        <p>The RPN formalism includes the pre- and post-order conditions (Equations 1
and 2) for multiple reasons. First, they help to reduce the bloating phenomenon
of GP by limiting the number of arcs. Secondly, they avoid the possibility of
a convergence to degenerate or overfitting solutions, represented by completely
connected PNs, by limiting the weights of in- and out-going arcs of transitions.
This can also be used to limit the search space, by excluding a priori unfeasible
topologies. However, both pre- and post-order conditions are optional and can
be excluded from the RPN by setting Opre = Opost = 1.</p>
        <p>The modifiers of RPNs, exploited by the evolutionary algorithm, are two
classic genetic operators: crossover and mutation. Given the space of all
possible RPN topologies, we can define an Evolutionary Petri Net (EPN) as a triple
E = ( ; ; ) where:
–
–
–
2 ;
: ( ) ! ( ) is the crossover operator which modifies two RPNs
and , where and are such that P = P ;
: [ fpin; t; poutg ! is the mutation operator, where fpin; t; poutg is
a triple consisting of two places pin and pout and a transition t, namely
pin; pout 2 (P [ P h) [ P 1 and t 2 (T [ T h) [ T 1, where P 1 and T 1 are
infinite sets of places and transitions, such that P 1 \ (P [ P h) = ; and
T 1 \ (T [ T h) = ;.</p>
        <p>The functioning of and is described in the next sections, where we denote
by ( ), 2 N, the RPN at the -th generation of the evolutionary process.
3.1</p>
        <sec id="sec-3-2-1">
          <title>The Crossover Operator</title>
          <p>
            The crossover mechanism implements the exchange of genetic material between
two RPNs, in order to generate new offspring which inherit the best substructures
of the parents. Various crossover mechanisms specifically designed for graphs
have been proposed in literature [
            <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
            ], in particular to tackle the complex
case of two networks with a different number of nodes [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ] but, to the best of
our knowledge, no specific work exists about the crossover between bipartite
graphs or, more specifically, PNs. Indeed, the crossover between two PNs is
supposed to identify some substructures in each graph, “detach” them from one
parent graph and “attach” them into the other, and viceversa, while keeping the
consistency of both graphs. The difficulties arise in: (i) how to characterize a
substructure; (ii) how to “detach” it from a graph; (iii) how to “attach” it to a
new graph, considering that there is not a direct correspondence between the
elements belonging to different sets of hidden places. The last issue is extremely
relevant, because it determines the ability of EPNs to transferring a precise
functionality from a RPN to its offspring.
          </p>
          <p>Our proposal for a crossover mechanism of two RPNs ( ); ( ) 2 , is named
sticky crossover (SC). SC works on hidden transitions as follows: a transition
t 2 T h (t 2 T h, respectively) is randomly selected in the RPN ( ) (the
red nodes in Figure 1b), and the substructures consisting of the preset and
postset of t (t ) (dotted lines) are exchanged between and . We denote by
P + = ( t [ t ) \ P h (P +, respectively) the set of hidden places contained in the
substructure connected to t (t ), that is added to ( ); F + = f(t ; p); (p; t ) 2
F j p 2 P +g (F +) denotes the set of arcs belonging to this substructure.</p>
          <p>To the aim of determining the attachment points for the moving
substructures, we randomly select two input places pb 2 t and pb 2 t , and two
output places pe 2 t and pe 2 t (Figure 1c); pb, pe, pb, and pe will be used
as “attachment” points for the incoming substructure, that is, the substructure
identified by transition t is attached to , in such a way that pb is replaced by
pb, pe is replaced by pe, and viceversa (see Figure 1d).</p>
          <p>Formally, the crossover mechanism acts on the sets of places, transitions and
arcs of the RPN as follows:</p>
          <p>P h =P h [ P + n fpb; peg; P h = P h [ P + n fpb; peg;
T h =T h [ ft g n ft g; T h = T h [ ft g n ft g;
F =F [ F + n F + [ f(t; pb)jt 2 pbg [ f(pe; t)jt 2 pe g [
[ f(pb; t)jt 2 pb g [ f(t; pe)jt 2 peg n f(t; pb)jt 2 pbg n
n f(pe; t)jt 2 pe g n f(pb; t)jt 2 pb g n f(t; pe)jt 2 peg;
F =F [ F + n F + [ f(t; pb)jt 2 pbg [ f(pe; t)jt 2 pe g [
[ f(pb; t)jt 2 pb g [ f(t; pe)jt 2 peg n f(t; pb)jt 2 pbg n
n f(pe; t)jt 2 pe g n f(pb; t)jt 2 pb g n f(t; pe)jt 2 peg:
The weights of the arcs exchanged during the crossover process are not
modified. Only hidden places are moved between RPNs during the crossover process,
because each RPN contains an identical set of fixed places, so that there is a
biunivocal correspondence between the elements in P and P h. For this reason,
for each place p 2 ( t [ t ) \ P , where t is the transition selected for crossover,
(a) Parents RPNs
(b) Step #1: selection of the
transitions t and t
p1
ht1
hp1
ht2
hp2
ht4
p2
p1
ht1
hp1
ht2
hp2
ht4
p2
ht3
hp3
ht3
hp3
hp5
ht7
p2
p1
ht5
hp4
ht6</p>
          <p>hp6
hp5
ht7
p2
p1
ht5
hp4
ht6
p1
ht1
hp1
ht2
hp2
ht4
p2
ht4
p2
ht3
hp3
p1
ht1
hp4
ht6
ht3
hp5
ht7
p2
p1
ht5
hp4
ht6</p>
          <p>hp6
p1
ht5
hp1
ht2
hp2
ht7
p2
hp6
hp5
hp6
hp3
(c) Step #2: random selection
of pb, pe, pb and pe nodes
(d) Step #3: exchange of
substructures
we let F = F [ f(p; t )g [ f(t ; p)g and viceversa. It is important to clarify
that the elements in P h and T h are “anonymous”, that is, they do not share
any semantics between different RPNs: if a hidden element is transferred from
a RPN to another during a crossover, it is considered a new unknown element
with respect to the already existing elements.
p1
ht1
hp1
ht2
hp2
ht4
p2
ht3
hp3
p1
ht5
hp4
ht6
hp5</p>
          <p>hp6
ht7
p2
ht8
hp7
p1
ht1
hp4
ht6</p>
          <p>ht3
hp5
hp6</p>
          <p>hp3
ht4
p2
hp6
ht8
hp7
p1
ht5
hp1
ht2
hp2
ht7
p2</p>
          <p>If the SC involves p 2 P h and p 2 P as the selected “attachment” places of
the crossover then, in the exchange of the substructure from to , place p 2 P
in remains unchanged, while in the exchange from to , place p 2 P h in is
replaced by p. So doing, will result in a consistent RPN, since P = P .</p>
          <p>SC is a convenient crossover operator for many reasons: (i) it allows the
crossover between two arbitrary RPNs, regardless the cardinality of the sets
P h; P h, which can vary during the genetic evolution; (ii) the pre- and post-order
of the transitions of the offspring (as defined in Equations 1 and 2) are
automatically conserved; (iii) the “directionality” of transitions is preserved, since
SC swaps substructures whose presets are still presets, and elements of
postsets are still postsets. Nevertheless, the SC has two drawbacks: (i) considering
a substructure identified by a transition t , if t~ 6= t is connected to a place
p 2 ( t [ t ); p 62 fpe; pbg, then the SC breaks the RPN leaving a separate
component (see Figure 2); (ii) the SC allows the exchange of a single transition
between two RPNs, which could have a little impact on large networks.</p>
          <p>The second issue can be solved with two strategies: the first is to exploit
some graph visiting algorithm (i.e., breadth- or depth-first) and extend the
substructure accordingly; the second strategy is to determine a value 2 N such
that 1 minfjT hj; jT hjg, and to repeat the crossover on different
transitions, that is, to randomly create two vectors of indexes i1; : : : ; i and j1; : : : ; j
(with ik; jk 2 N, k = 1; : : : ; ), and then apply the crossover operator on each
couple (tik ; tjk ). The first strategy allows to exchange multiple transitions that
have been causally connected according to the chosen graph visiting algorithm,
whilst the second one allows to exchange multiple independent transitions.</p>
          <p>In the implementation of EPNs for real case applications, the computational
complexity of applying the crossover operator is, in the worst case, O(jF j2 jP j).
However, the use of a hash function might yield a reduction of the computational
cost, in the average case, to O(jP j).</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>The Mutation Operator</title>
          <p>The mutation operator modifies the structure of a RPN ( ) in , or the
properties of its places and arcs (i.e., capacity and weight), by acting on a single,
randomly chosen hidden transition t 2 T h. In particular, the mutation operator
associates ( ) to a new consistent RPN ( + 1), according to a specified triple
fpin; t; poutg. The rationale behind this triple is to provide new genetic material,
that is, to modify the topology of the RPN; the functioning of the mutation
operator for all the possible cases of fpin; t; poutg is summarized in Table 1. After the
application of any mutation case (except #8), we set F = F [ (pin; t) [ (t; pout)
and W (pin; t) = W (t; pout) = 1. Cases #7 and #8 are particular and deserve a
detailed explanation.</p>
          <p>Case #7 introduces a brand new transition which is “disconnected” from the
rest of the network, since it exploits new places that are not used by any other
transition. So doing, the dynamics of these places, that is, the succession of their
markings as a consequence of the firings, is independent from the rest of the
RPN. In other words, Case #7 is a “silent” modification of the topology of the
RPN, that will not have a direct impact on its behavior. Nevertheless, a further
application of a genetic operator to the mutated RPN may connect this latent
transition to the main net component, thus conditioning the behavior of the
whole RPN.</p>
          <p>Case #8 does not introduce any new genetic material. This operator is used
to change the capacities K(p) of randomly selected places p 2 P , i.e. K(p) = rnd,
where rnd is a random number sampled from the uniform distribution (0; Kmax]
(where Kmax is the maximum capacity for the places in the RPN). Alternatively,
the mutation can modify the weight of an arc; for instance, given the arc weight
W (p; t), its value can be updated as W (p; t) = W (p; t) 1. It is worth noting
that also Case #8 can even lead to a modification in the structure of the RPN,
whenever an arc weight is set to zero (i.e., the arc is removed). As a consequence,
isolated hidden places or hidden transitions, which represent sources or sinks,
can be introduced in the RPN after Case #8 is applied and must be removed.
Therefore, after the application of this operator, the consistency of the RPN must
be verified, regarding each place p and transition t involved in the mutation: (i)
if p 2 P h and @ f(p; t); (t; p)g 8t 2 T [ T h, then P h = P h n fpg; (ii) if t 2 T h
and @ f(t; p); (p; t)g 8p 2 P [ P h, then T h = T h n ftg.</p>
          <p>As a final step of the evolution process, pre- and post-order conditions of
the offspring need to be verified, since the described mutations might produce
a putative RPN whose topology does not satisfy Equations 1 and 2. In such a
case, a further modification of the weights of the ingoing and/or outgoing arcs
of a transition t is required. In particular, a randomly selected input (output,
respectively) place of transition t is modified so that W (p~; t) = W (p~; t) 1 (and/or
W (t; p~) = W (t; p~) 1), where p~ 2 t (p~ 2 t , respectively). It is clear that if
W (x; y) = 0, then the corresponding arc (x; y) is removed from F . This operation
is repeated until the RPN respects all the pre- and post-order conditions.</p>
          <p>It is worth noting that these two mechanisms implicitly allow mutation to
delete places, thus reducing the size of the RPN.
No. Condition</p>
          <p>( + 1)</p>
          <p>pout 2 P [ P h
pin 2 P [ P h
pout 62 P [ P h
pin 2 P [ P h
pout 2 P [ P h
pin 62 P [ P h</p>
          <p>t 62 T [ T
pout 2 P [ P h
pin 2 P [ P h</p>
          <p>t 62 T [ T
pout 62 P [ P h
pin 62 P [ P h
pout 62 P [ P h
pin 62 P [ P h</p>
          <p>t 62 T [ T
pout 62 P [ P h
pin 2 P [ P h</p>
          <p>t 2 T [ T
pout 2 P [ P h
h
h
h
h
P h = P h [ fpin; poutg A new hidden transition t is created and added
T h = T h [ ftg tcoreaTthed; tawnod andedwedhitdodPenh;ptlraacnessitpioinn tainsdcopnonuetctaerde
P 1 = P 1 n fpin; poutg tpolatcheepnoeuwt input place pin and to the new output
T 1 = T 1 n ftg
P h = P h
T h = T h
P 1 = P 1; T 1 = T 1</p>
          <p>No new genetic material is introduced. Either pin
or pout is randomly chosen; then, its capacity or
the weight of the arc connecting it to t is modified</p>
          <p>The computational complexity of the mutation operator is, for the worst case,
O(jP j). However, as in the case of crossover, the use of a hash function allows
a reduction of the computational cost of this operator, in the average case, to
O(C) where, in general, C &lt; jP j.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Toward the Application of EPNs for the Reverse</title>
    </sec>
    <sec id="sec-5">
      <title>Engineering of Biochemical Reaction Networks</title>
      <p>In this section we sketch the theoretical basis of a potential application of EPNs
in the context of Systems Biology, for the reverse engineering (RE) of biochemical
interaction networks. This problem consists in the identification of the network
of reactions that describe the physical interactions among the chemical species
occurring in the system (genes, proteins, metabolites, etc.). These networks can
be defined thanks to human expertise, by relying on some pre-existing
knowledge, although most of the times the exact molecular mechanisms occurring in
living cells are not known and cannot be fully understood by means of
laboratory experiments only. This problem therefore demands the development of
automatic RE methods, so that a plausible network of biochemical reactions –
able to reproduce some given experimental observations – can be determined in
faster and inexpensive ways. Since these networks are usually kinetically
parameterized, they can also be exploited to analyze the dynamics of the system under
different conditions.</p>
      <p>Here, we briefly describe the modeling of biochemical systems by means of
PNs and then present a possible strategy based on EPNs for solving the RE
problem, which shows the feasibility of our novel methodology. A biochemical
network can be modeled by means of a set of chemical species S = (S1; : : : ; SU ),
involved in a set of chemical reactions R = (R1; : : : ; RZ ). Each reaction R 2
k
R; = 1; : : : ; Z, is defined as R : a 1 S1 +: : :+a U SU ! b 1 S1 +: : :+b U SU ,
where a i; b i 2 N are the stoichiometric coefficients of R , and k 2 R+ is the
kinetic constant associated to R . The species occurring on the left-hand
(righthand) side of R are called reagents (products, respectively).</p>
      <p>
        Because of their bipartite graph structure, PNs offer an ideal conceptual
framework for the modeling of biochemical networks [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] defined as a set of
reactions in the form of R . To this aim, a transformation of a network into
a corresponding PN (and viceversa) needs to be defined. Briefly, a mapping
f : S ! P can be used to associate the species to the places of a PN, where
the transitions represent the chemical reactions (i.e., g : R ! T ) and where the
weights correspond to the stoichiometry of the reagents and products of each
reaction (i.e., vr : a i ! W (pi; t ), vp : b i ! W (t ; pi)). According to these
mappings, it is straightforward to show that the PN on the left in Figure 1a
represents the following set of reactions: {R1h : S1 ! S1h; R2h : S1h ! S2h; R3h :
Sh 3 2 ! S2g. The number of tokens (given as discrete or
continu1 ! Sh; R4h : Sh
ous value) in each place represents the molecular amount (given as number of
molecules or concentration, respectively) of the corresponding chemical species,
so that M0 represents the initial state of the biochemical system.
      </p>
      <p>
        The PN representation of a biochemical reaction network allows the
investigation of its structural features by means of theoretical approaches [
        <xref ref-type="bibr" rid="ref22 ref23">22, 23</xref>
        ]; in
addition, PNs can be easily extended with timed delays [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], or to incorporate
quantitative information (e.g., reaction rates, concentration levels) to the aim of
investigating the dynamic evolution of biochemical systems [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. Kinetic
parameters can also be associated to the reactions, in order to derive the probability
of each reaction to occur [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], or to convert the system into a set of coupled
ordinary differential equations; in the latter case, places contain continuous
values corresponding to the concentration of the chemical species associated to each
place. Once that a model of a biochemical network is defined in terms of a fully
parameterized extended PN, according to the available domain knowledge, its
dynamic behavior can be investigated. Anyway, when the domain knowledge is
incomplete, uncertain or completely missing, a (fully parameterized) PN model
of a biochemical system cannot be constructed. In such a case, it is necessary to
perform the RE of the biochemical reaction network, investigating the unknown
reactions and chemical species that are responsible for the observed phenomena.
      </p>
      <p>
        Many works perform the RE by means of evolutionary techniques [
        <xref ref-type="bibr" rid="ref12 ref27 ref28">12, 27, 28</xref>
        ].
One limitation of many of these techniques is that the individuals are modeled
by means of data structures that are not ideal to describe reaction networks;
in addition, many constraints and consistency controls must be introduced to
control the quality and validity of the inferred network. The strongest limitation
of all these methods is that the cardinality of S, that is, the number of chemical
species that are present in the system, is assumed to be known and kept fixed
during the optimization. This is generally a strong assumption, that may be
justified only if the biochemical system is very well known (but, in such a case, the
network should be known as well) or when laboratory experiments can yield this
information with a certain precision. As a matter of fact, in most cases the exact
number and nature of the chemical species involved in the system – including the
intermediate complexes formed by the chemical bonds among various molecules
– is unknown; anyway, this is a fundamental information to properly carry out
the RE of the system. Thanks to the flexibility of hidden places and transitions,
the use of RPNs to represent the candidate solutions gives to EPN the
possibility to explore much more possibilities than the traditional RE approaches that
exploit a fixed number of chemical species, thus leading to the formulation of
new hypotheses for the structure of the biochemical network that should then
be validated with ad hoc laboratory experiments. In this context, hidden places
in the RPN can be exploited to represent some molecular species or complexes
which are necessary to reproduce the expected behavior of the biochemical
system, but that have not been yet identified with experimental techniques; similar
considerations hold for hidden transitions, which can represent molecular
interactions that are not known from a biochemical point of view, but that might
yield a better system functioning (in terms of the specified fitness function, and
according to the available experimental data).
      </p>
      <p>
        The application of an EPN-based methodology for the RE of biochemical
systems is similar to GP. At first, a population P of RPNs is generated according to
the available domain knowledge: when the information comes from established
biological knowledge, the reactions are modeled using the sets P and T ; on the
contrary, when the information is uncertain, the network is modeled by means
of hidden places and transitions. At generation = 0, since the individuals are
all identical, they undergo a preliminary mutation. During each generation, the
best individuals are selected according to a specified fitness function, and the
EPN genetic operators are applied to yield new offspring. The fitness function
can be defined, for instance, by comparing a set of 2 N experimental samples
of the jP j = m non-hidden chemical species (places in P ) against the
dynamics generated through simulations [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], exploiting the set of reactions that the
RPN represents: f itness( ) = P =1 Pim=1 jQpi (t ) Lpi (t )j, where Qpi (t ) and
Lpi (t ) denote, respectively, the experimental and simulated quantity
(concentration or molecular amount) of the pi-th chemical species at time t .
      </p>
      <p>To the aim of facilitating the evolutionary process and helping the generation
of biologically meaningful candidate solutions, in RE we can set Opre = 2 to force
the evolution of at most second-order reactions, since higher-order reactions have
a probability to occur almost equal to zero, requiring the simultaneous collision
of three or more reactant molecules. This choice helps the EPN functioning, since
it strongly reduces the search space , but at the same time it does not pose
any limitation to the practical applicability of the RE methodology, as
higherorder reactions can be mimicked through a cascade of consecutive reactions of
lower order. During the evolutionary process, the EPN explores this search space,
and eventually a best individual I 2 P emerges, representing a consistent RPN
that fits with all the observed phenomena: I is finally returned as the result
of the RE. Due to space limits, we can only sketch how the crossover operator
acts in determining a biochemical reaction network. Consider, for instance, the
individuals (left) and (right) shown in Figure 1a: the crossover swaps the
reactions R2h in and R6h in , so that the chemical reaction R2h, renamed R6h
after the crossover, has an additional product (i.e., Sh, left side of Figure 1d).
6
On the contrary, the reaction R6h (renamed R2h after the crossover) in loses
a product and becomes a simple transformation from one species to another.
The consequence of these modifications is that the new reaction network might
have a completely different dynamic behavior, and hence a different (hopefully,
better) fitness value.</p>
    </sec>
    <sec id="sec-6">
      <title>5 Conclusion and Future Work</title>
      <p>In this work we presented an extension of the PN formalism, the Resizable
Petri Net, which introduces the notion of hidden places and transitions. The
RPN represents the basis for the development of an evolutionary algorithm,
the Evolutionary Petri Net, whose crossover and mutation operators allow the
exploration of the space of all possible RPN topologies, in order to provide a
powerful tool for solving complex problems whose solutions can be encoded as
PNs; in particular, EPNs has the capability to evolve consistent and meaningful
solutions. We described here the theoretical foundations of EPNs; a thorough
analysis of this novel evolutive framework will be presented in a future work,
in order to introduce and discuss different strategies for the construction of the
RPN individuals (according to various real case applications), as well as specific
selection mechanisms. The probability distributions that need to be associated
to the mutation and crossover operators, and which have a relevant impact on
the convergence of the evolutive process of RPNs, will also be discussed in a
forthcoming extension of this work.</p>
      <p>
        To the purpose of grounding this framework to practical problems, we
provided an example of a potential application of EPNs – the RE of biochemical
reaction networks – which might represent a killer-application for our
evolutionary methodology. In this context, the fitness evaluation that we proposed relies
on the simulation of the candidate solutions, which is possible only if a proper
parameterization of the candidate network in available. Hence, the RE problem
is further complicated by the need of a parameter estimation (PE)
methodology for the inference of the missing kinetic parameters [
        <xref ref-type="bibr" rid="ref30 ref31">30, 31</xref>
        ]: to this aim, we
are developing an integrated methodology that embeds the PE process in each
generation of the RE. A further difficulty of the RE process is due to the fact
that different networks can lead to the same dynamic behavior; this problem,
known as undistinguishability [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], cannot be solved, in general, without
additional knowledge. EPNs do not directly mitigate this drawback, even though
pre- and post-order conditions allow the reduction of the possible topologies,
thus permitting the derivation of meaningful networks that can be then
discriminated by domain expertise. Finally, the initial marking of the hidden places was
set to zero: a further extension of EPN, in which the initial marking co-evolves
with the topology, is under investigation.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>DeJong</surname>
          </string-name>
          , K.:
          <article-title>Evolutionary computation: a unified approach</article-title>
          . The MIT Press (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Murata</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Petri nets: Properties, analysis and applications</article-title>
          .
          <source>In: Proc. IEEE</source>
          . Volume
          <volume>77</volume>
          . (
          <year>1989</year>
          )
          <fpage>541</fpage>
          -
          <lpage>580</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Thome</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nakamura</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hachiman</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Evolutionary Petri net approach to periodic job-shop scheduling</article-title>
          .
          <source>In: Proc. IEEE Int. Conf. on Systems, Man, and Cybernetics (SMC'99)</source>
          . Volume
          <volume>4</volume>
          ., IEEE Computer Society Press (
          <year>1999</year>
          )
          <fpage>441</fpage>
          -
          <lpage>446</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Saitou</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malpathak</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qvam</surname>
          </string-name>
          , H.:
          <article-title>Robust design of flexible manufacturing systems using colored Petri net and genetic algorithm</article-title>
          .
          <source>Journal of Intelligent Manufacturing</source>
          <volume>13</volume>
          (
          <issue>5</issue>
          ) (
          <year>2002</year>
          )
          <fpage>339</fpage>
          -
          <lpage>351</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Mauch</surname>
          </string-name>
          , H.:
          <article-title>Evolving Petri nets with a genetic algorithm</article-title>
          .
          <source>In: Proc. of the 2003 conference on genetic and evolutionary computation (GECCO '03)</source>
          . Volume 2724 of LNCS., Springer (
          <year>2003</year>
          )
          <fpage>1810</fpage>
          -
          <lpage>1811</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Moore</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>L.W.</given-names>
            <surname>Hahn</surname>
          </string-name>
          :
          <article-title>Grammatical evolution for the discovery of Petri net models of complex genetic systems</article-title>
          .
          <source>In: Proc. of the 2003 conference on genetic and evolutionary computation (GECCO '03)</source>
          . Volume 2724 of LNCS., Springer (
          <year>2003</year>
          )
          <fpage>2412</fpage>
          -
          <lpage>2413</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kitagawa</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iba</surname>
          </string-name>
          , H.:
          <article-title>Identifying metabolic pathways and gene regulation networks with evolutionary algorithms</article-title>
          . In: Evolutionary Computation in Bioinformatics. Morgan Kaufmann (
          <year>2003</year>
          )
          <fpage>255</fpage>
          -
          <lpage>278</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Koza</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mydlowec</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lanza</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Keane</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          :
          <article-title>Reverse engineering of metabolic pathways from observed data using genetic programming</article-title>
          .
          <source>In: Pacific Symposium on Biocomputing. Volume</source>
          <volume>6</volume>
          . (
          <year>2001</year>
          )
          <fpage>434</fpage>
          -
          <lpage>445</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Sugimoto</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kikuchi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tomita</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Reverse engineering of biochemical equations from time-course data by means of genetic programming</article-title>
          .
          <source>BioSystems</source>
          <volume>80</volume>
          (
          <issue>2</issue>
          ) (
          <year>2005</year>
          )
          <fpage>155</fpage>
          -
          <lpage>164</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Ando</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sakamoto</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iba</surname>
          </string-name>
          , H.:
          <article-title>Evolutionary modeling and inference of gene network</article-title>
          .
          <source>Information Sciences</source>
          <volume>145</volume>
          (
          <issue>3</issue>
          ) (
          <year>2002</year>
          )
          <fpage>237</fpage>
          -
          <lpage>259</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Iba</surname>
          </string-name>
          , H.:
          <article-title>Inference of differential equation models by genetic programming</article-title>
          .
          <source>Information Sciences</source>
          <volume>178</volume>
          (
          <issue>23</issue>
          ) (
          <year>2008</year>
          )
          <fpage>4453</fpage>
          -
          <lpage>4468</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Nummela</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Julstrom</surname>
            ,
            <given-names>B.A.</given-names>
          </string-name>
          :
          <article-title>Evolving petri nets to represent metabolic pathways</article-title>
          .
          <source>In: Proc. of the 2005 conference on genetic and evolutionary computation (GECCO '05)</source>
          , ACM (
          <year>2005</year>
          )
          <fpage>2133</fpage>
          -
          <lpage>2139</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. Holland, J.:
          <source>Adaptation in Natural and Artificial Systems</source>
          . The University of Michigan Press (
          <year>1975</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Kennedy</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eberhart</surname>
          </string-name>
          , R.:
          <article-title>Particle swarm optimization</article-title>
          .
          <source>In: Proc. IEEE International Conference on Neural Networks. Volume</source>
          <volume>4</volume>
          ., IEEE (
          <year>1995</year>
          )
          <fpage>1942</fpage>
          -
          <lpage>1948</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Bäck</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Selective pressure in evolutionary algorithms: A characterization of selection mechanisms</article-title>
          .
          <source>In: Proc. of the First IEEE Conference on Evolutionary Computation</source>
          . Volume
          <volume>1</volume>
          ., IEEE (
          <year>1994</year>
          )
          <fpage>57</fpage>
          -
          <lpage>62</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Koza</surname>
          </string-name>
          , J.:
          <article-title>Genetic Programming: On the Programming of Computers by Means of Natural Selection</article-title>
          . The MIT Press (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Katagiri</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hirasawa</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murata</surname>
          </string-name>
          , J.:
          <article-title>Comparing some graph crossover in genetic network programming</article-title>
          .
          <source>In: Proc. of the 41st SICE Annual Conference</source>
          . Volume
          <volume>2</volume>
          ., IEEE (
          <year>2002</year>
          )
          <fpage>1263</fpage>
          -
          <lpage>1268</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Llorens</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliver</surname>
          </string-name>
          , J.:
          <article-title>Structural and dynamic changes in concurrent systems: Reconfigurable Petri nets</article-title>
          .
          <source>IEEE Trans. on Computers</source>
          <volume>53</volume>
          (
          <issue>9</issue>
          ) (
          <year>2004</year>
          )
          <fpage>1147</fpage>
          -
          <lpage>1158</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>Morandin</given-names>
            <surname>Jr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Kato</surname>
          </string-name>
          , E.:
          <article-title>Virtual Petri nets as a modular modeling method for planning and control tasks of FMS</article-title>
          .
          <source>International Journal of Computer Integrated Manufacturing</source>
          <volume>18</volume>
          (
          <issue>2-3</issue>
          ) (
          <year>2005</year>
          )
          <fpage>100</fpage>
          -
          <lpage>106</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Larrañaga</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kujipers</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murga</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Inza</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dizdarevic</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Genetic algorithms for the travelling salesman problem: A review of representations and operators</article-title>
          .
          <source>Artificial Intelligence Review</source>
          <volume>13</volume>
          (
          <issue>2</issue>
          ) (
          <year>1999</year>
          )
          <fpage>129</fpage>
          -
          <lpage>170</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Pereira</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Machado</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Costa</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cardoso</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Graph based crossover - a case study with the busy beaver problem</article-title>
          .
          <source>In: Proc. of the Genetic and Evolutionary Computation Conference (GECCO '99)</source>
          . Volume
          <volume>2</volume>
          . (
          <year>1999</year>
          )
          <fpage>1149</fpage>
          -
          <lpage>1155</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Chaouiya</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Petri net modelling of biological networks</article-title>
          .
          <source>Briefings in Bioinformatics</source>
          <volume>8</volume>
          (
          <issue>4</issue>
          ) (
          <year>2007</year>
          )
          <fpage>210</fpage>
          -
          <lpage>219</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Voss</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koch</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Steady state analysis of metabolic pathways using Petri nets</article-title>
          .
          <source>In Silico Biology</source>
          <volume>3</volume>
          (
          <issue>3</issue>
          ) (
          <year>2003</year>
          )
          <fpage>367</fpage>
          -
          <lpage>387</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ge</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nakata</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matsuno</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miyano</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Modelling and simulation of signal transduction in an apoptosis pathway by using timed Petri nets</article-title>
          .
          <source>Journal of Biosciences</source>
          <volume>32</volume>
          (
          <issue>1</issue>
          ) (
          <year>2006</year>
          )
          <fpage>113</fpage>
          -
          <lpage>127</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Goss</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peccoud</surname>
          </string-name>
          , J.:
          <article-title>Quantitative modeling of stochastic systems in molecular biology by using stochastic Petri nets</article-title>
          .
          <source>PNAS</source>
          <volume>95</volume>
          (
          <issue>12</issue>
          ) (
          <year>1998</year>
          )
          <fpage>6750</fpage>
          -
          <lpage>6755</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Gillespie</surname>
          </string-name>
          , D.T.:
          <article-title>Stochastic simulation of chemical kinetics</article-title>
          .
          <source>Annual Review of Physical Chemistry</source>
          <volume>58</volume>
          (
          <year>2007</year>
          )
          <fpage>35</fpage>
          -
          <lpage>55</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Cho</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cho</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Identification of biochemical networks by S-tree based genetic programming</article-title>
          .
          <source>Bioinformatics</source>
          <volume>22</volume>
          (
          <issue>13</issue>
          ) (
          <year>2006</year>
          )
          <fpage>1631</fpage>
          -
          <lpage>1640</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Nobile</surname>
            ,
            <given-names>M.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Besozzi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cazzaniga</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pescini</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mauri</surname>
          </string-name>
          , G.:
          <article-title>Reverse engineering of kinetic reaction networks by means of cartesian genetic programming and particle swarm optimization</article-title>
          .
          <source>In: Proc. IEEE Congress on Evolutionary Computation (CEC2013)</source>
          .
          <source>(</source>
          <year>2013</year>
          , in press)
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Ghosh</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matsuoka</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Asai</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hsin</surname>
            ,
            <given-names>K.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kitano</surname>
          </string-name>
          , H.:
          <article-title>Software for systems biology: from tools to integrated platforms</article-title>
          .
          <source>Nature Reviews Genetics</source>
          <volume>12</volume>
          (
          <issue>12</issue>
          ) (
          <year>2011</year>
          )
          <fpage>821</fpage>
          -
          <lpage>832</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Nobile</surname>
            ,
            <given-names>M.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Besozzi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cazzaniga</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mauri</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pescini</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>A GPU-based multi-swarm PSO method for parameter estimation in stochastic biological systems exploiting discrete-time target series</article-title>
          .
          <source>In: Proc. EvoBIO 2012</source>
          . Volume 7246 of LNCS. Springer (
          <year>2012</year>
          )
          <fpage>74</fpage>
          -
          <lpage>85</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Moles</surname>
            ,
            <given-names>C.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendes</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Banga</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          :
          <article-title>Parameter estimation in biochemical pathways: a comparison of global optimization methods</article-title>
          .
          <source>Genome Research</source>
          <volume>13</volume>
          (
          <issue>11</issue>
          ) (
          <year>2003</year>
          )
          <fpage>2467</fpage>
          -
          <lpage>2474</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Szederkenyi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Banga</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alonso</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          :
          <article-title>Inference of complex biological networks: distinguishability issues and optimization-based solutions</article-title>
          .
          <source>BMC Systems Biology</source>
          <volume>5</volume>
          (
          <issue>1</issue>
          ) (
          <year>2011</year>
          )
          <fpage>177</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>