<!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>Combinatorial Optimization Solutions for the Maximum Quartet Consistency Problem</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ant´onio Morgado</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Joao Marques-Silva</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Electronics and Computer Science, University of Southampton</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2005</year>
      </pub-date>
      <fpage>827</fpage>
      <lpage>831</lpage>
      <abstract>
        <p>Given a set of taxa S and a complete set of quartet topologies Q over S, the problem of determining a phylogeny that satisfies the maximum number of topologies is called the Maximum Quartet Consistency (MQC) problem. The MQC problem is an NP-problem. MQC has been solved both heuristically and exactly. Exact solutions for MQC include Constraint Programming, Answer Set Programming and Pseudo-Boolean Optimization (PBO). This paper extends the range of solutions for MQC, by developing two new PBO models and also by introducing models based on the optimization of Satisfiability Modulo Theories (SMT). The models were experimentally compared with existing exact solutions. The results show that for instances with small percentage of quartet errors, the models based on SMT can be competitive, whereas for instances with higher number of quartet errors the PB-models are more efficient.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Evolutionary trees (or phylogenies) of a given set of taxa (a set of biological
species) are often used for studying the evolutionary relationship between the
given taxa. Current phylogenetic analyses are carried out using biological
data (such as DNA or protein sequences). Since the amount of available
data is different for different species, biologists have to balance the number
of taxa used and the amount of available data common to all the species.
This is know as the Data Disparity problem [1]. In order to overcome the
Data Disparity problem, quartet based methods have been suggested.</p>
      <p>Quartet based methods divide the task of inferring an evolutionary tree
in two subtasks. First, a set of trees for subsets of four taxa is obtained.
Then from the trees obtained a global tree is constructed. Considering only
four taxa in the first step, maximizes the amount of available data used, and
the confidence on the tree produced. These evolutionary trees for subsets
of four taxa are called quartet topologies. The quartet topologies produced
may still be conflicting or even missing. Given a set of quartet topologies, the
problem of computing an evolutionary tree that agrees with the maximum
number of quartet topologies is referred to as the Maximum Quartet
Consistency (MQC) problem. In recent years, solutions based on Answer-Set
Programming (ASP) have been identified as the most efficient [18]. This paper
proposes alternative combinatorial optimization solutions for the MQC
problem. The first set of models extend recent work on using Pseudo-Boolean
b d
[a, b|c, d]
a
c d
[a, c|b, d]
b
a
d c
[a, d|b, c]
b</p>
      <p>Optimization (PBO) [10]. Moreover, the paper also proposes models based
on Satisfiability Modulo Theories (SMT).</p>
      <p>The paper is organized as follows. The next section introduces the MQC
problem and surveys representative solutions. Afterwards, Section 3
summarizes recent work on using PBO for solving the MQC problem, and develops
new PBO models. The use of SMT for MQC is described in Section 4.
Section 5 analyzes experimental results on real and artificially generated
instances. Finally, the paper concludes in Section 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Maximum Quartet Consistency</title>
      <p>This section defines the problem of Maximum Quartet Consistency (MQC),
and reviews existing solutions, either heuristic or exact.</p>
      <p>Consider a given set of taxa S = {s1, . . . , sn}. A phylogeny on S is a
tree such that each leave is mapped to a taxon in S. Each internal node in
the phylogeny represents an extinct or hypothesized ancestor of the taxa in
the subtrees that the internal node connects. A phylogeny may be rooted or
unrooted. In a rooted phylogeny a link between two nodes represent a
parentchild relation, in which the root of the phylogeny is a common ancestor of
all the taxa. A phylogeny is called binary or resolved if every internal node
has degree three (in a rooted phylogeny the root node has degree two). In
the rest of the paper the term phylogeny refers to an unrooted resolved
phylogeny, unless explicitly stated.</p>
      <p>A subset of four different taxa is called a quartet. A phylogeny for a
quartet is called a quartet topology (simply refered as topology). In this
paper, for a quartet {a, b, c, d} ⊆ S three different topologies are considered
(up to symmetry) denoted by [a, b|c, d], [a, c|b, d] and [a, d|b, c] as represented
in Figure 1. Consider a quartet q ⊆ S and a phylogeny T on S. The topology
obtained from T by removing all nodes not in the paths connecting the nodes
mapped to taxa in q is called the topology of q derived from T . On the left
side of Figure 2, a phylogeny is shown where the paths that connect taxa a,
b, c and f have been marked with dotted lines. In this example the derived
topology for quartet {a, b, c, f } is [a, b|c, f ] (respresented on the right side of
Figure 2).</p>
      <p>A topology qt is said to be consistent with a phylogeny T or T satisfies
qt if the derived topology for the quartet of qt from T is the same as qt. The
topology in Figure 2 is consistent with the phylogeny in the same figure.</p>
      <p>Given a set of topologies Q whose set of taxa is S, Q is said to be complete
g
a
b
f
c
e
d
a
b
c
f
if Q contains a topology for each of the C4n quartets of S; otherwise Q is
said to be incomplete. The set Q is said to be compatible if there exists a
phylogeny T on S that satisfies all the topologies in Q, and T is called the
associated phylogeny of Q. The MQC problem can now be defined as:
Definition 1 (Maximum Quartet Consistency problem (MQC)). Given a
set of taxa S = {s1, . . . , sn} and a set of topologies Q on S, the Maximum
Quartet Consistency problem is the problem of determining a phylogeny T
on S that satisfies the maximum number of topologies of Q.</p>
      <p>The MQC problem is a NP-hard problem [2]. If Q is complete, then MQC
admits a polynomial-time approximation scheme [8]. If Q is incomplete then
MQC is MAX SNP-hard [8]. Existing approaches for the MQC problem can
be categorized as either heuristic or exact. Heuristic approaches return
an approximation to the optimal phylogeny. Among the many heuristics
proposed over the years, a few are overviewed next. The short quartet
methods of Erdos et al. [5], the use of semi-definite programming by
BenDor et al. [1], the quartet cleaning algorithms of Berry et al. [2]. More
recently, in 2008, Wu et al. [15] proposed three algorithms that return a
phylogeny with a probability of success.</p>
      <p>This paper focuses on exact solutions for the MQC problem, which
guarantee that the phylogeny returned satisfies the maximum number of
topologies. Existing exact approaches can be categorized in four main classes.
Bendor et al. [1] proposed the use of Dynamic Programming to solve the
problem of MQC where the topologies given have weights associated to them.
Their objective is to compute a phylogeny with a maximal score, that is, a
phylogeny whose sum of weights of the satisfied topologies is maximal.</p>
      <p>The Fixed-Parameter Algorithm was proposed by Gramm and
Niedermeier [7]. The objective of the algorithm is to compute a phylogeny that
fails to satisfy no more than a given k topologies. Their algorithm works in
time O(4kn + n4), where k is the given number of errors and n = |S|.</p>
      <p>Wu et al. [16] proposed the use of Answer Set Programming (ASP) for
MQC. The proposed approach searches for an ultrametric matrix that
satisfies the maximum number of topologies. From the ultrametric matrix it is
possible to obtain a phylogeny in polynomial time.</p>
      <p>More recently, in 2005, Wu et al. [17] presented a lookahead
branch-andbound algorithm for MQC. The algorithm can be seen as an improvement
over the Fixed-Parameter Algorithm [7], and has the same running time of
O(4kn + n4). However, in contrast with the Fixed-Parameter Algorithm,
the number of quartet errors is not required to be known.</p>
      <p>Finally, in 2008, Morgado and Marques-Silva [10] translated the problem
of MQC to Pseudo-Boolean Optimization (PBO) .
3</p>
    </sec>
    <sec id="sec-3">
      <title>Pseudo-Boolean Optimization Models for MQC</title>
      <p>Pseudo-Boolean Optimization (PBO) models for MQC were first proposed
in [10]. This section reviews in some detail the PBO models followed by the
description of two new PBO models based on the existing models.
3.1</p>
      <sec id="sec-3-1">
        <title>Existing Pseudo Boolean Optimization Models</title>
        <p>Given a complete set of topologies Q over a set of taxa S, the objective of
the PBO models for MQC is to encode a phylogeny T of S that satisfies the
maximum number of topologies in Q. In order to obtain T , and similarly
to the use of ASP, the PBO models encode an ultrametric matrix M . From
the ultrametric matrix M it is possible to obtain a rooted phylogeny T .</p>
        <p>The ultrametric matrix M is a square symmetric matrix n × n (where
n = |S|) whose entry values are labels that range from 0 to n − 1. Each
row and column of the ultrametric matrix M is indexed by the given taxa,
and the value of an entry M (i, j) is the label of the internal node in T
corresponding to the lowest common ancestor between leaf nodes si and sj.
The labels of the internal nodes of T have the property that for any path
from root node to a leaf, the corresponding labels are in decreasing order.
To guarantee that M is an ultrametric matrix, M must satisfy the following
three properties [16]: (a) all values in the matrix must be between 1 and
n, except for the elements on the main diagonal which must be 0, that is
M (i, i) = 0; (b) M is symmetric, thus M (i, j) = M (j, i); and (c) for each
triple (i, j, l) such that 1 ≤ i, j, l ≤ n then</p>
        <p>M (i, j) = M (i, l) ∧</p>
        <p>M (i, l) &gt; M (j, l) ∨
M (i, j) = M (j, l) ∧</p>
        <p>M (j, l) &gt; M (i, l) ∨
M (j, l) = M (i, l) ∧</p>
        <p>
          M (i, l) &gt; M (i, j)
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
Wu et al. [18] proved that in order to obtain an optimal phylogeny, the
values of the entries of M can be restricted to M (i, j) ≤ ⌈ n2 ⌉.
        </p>
        <p>The PBO models can be divided in three main parts: encoding of the
ultrametric matrix; encoding of the consistency of the topologies; and
encoding of the cost function.
3.1.1</p>
        <sec id="sec-3-1-1">
          <title>Basic PBO Model</title>
          <p>
            We start by detailing the Basic PBO model. To encode the ultrametric
matrix, the Basic PBO model considers the boolean variables Mi,j,k where
1 ≤ i &lt; j ≤ n and 1 ≤ k ≤ ⌈ n2 ⌉. The semantics of variable Mi,j,k is
Mi,j,k = 1 if M (i, j) = k, otherwise Mi,j,k = 0. For a given pair (i, j) one
and only one k is allowed to have Mi,j,k = 1. To ensure this condition, the
Basic PBO model introduces the following constraints:
n
⌈ 2 ⌉
X Mi,j,k = 1
k=1
(
            <xref ref-type="bibr" rid="ref4">4</xref>
            )
n
The value of an entry M (i, j) is given by M (i, j) = P⌈k=2⌉1 k × Mi,j,k. To
ensure that the resulting matrix M is ultrametric, the Basic PBO model has
to guarantee that one of the conditions (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ), (
            <xref ref-type="bibr" rid="ref2">2</xref>
            ) or (
            <xref ref-type="bibr" rid="ref3">3</xref>
            ) is satisfied. The Basic
PBO model associates conditions (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ), (
            <xref ref-type="bibr" rid="ref2">2</xref>
            ) and (
            <xref ref-type="bibr" rid="ref3">3</xref>
            ) with new boolean variables
c1i,j,l, c2i,j,l and c3i,j,l. Variable cxi,j,l has value 1 if the corresponding
condition x is satisfied, otherwise has value 0. To force one of the variables
to have value 1 the Basic PBO model introduces following constraints:
|Q|
max X qt
t=1
          </p>
          <p>
            Consider variable c1i,j,l and the corresponding condition (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ). Condition
(
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) is a logical AND of two conditions (an equality condition and a greater
than condition). To encode the value of variable c1i,j,l, the Basic PBO model
introduces two new boolean variables c1i(,=j,)l and c1i(,&gt;j,)l and associates them
with the equality condition and the greater than condition, respectively.
c1i,j,l is encoded as an AN D gate that is:
          </p>
          <p>c1i,j,l ≡ AN D(c1i(,=j,)l, c1i(,&gt;j,)l)</p>
          <p>The values of variables c1i(,=j,)l and c1i(,&gt;j,)l are encoded as comparator
circuits on the unary representation of M (i, j), M (i, l) and M (j, l) (that is,
using variables Mi,j,k, Mi,l,k and Mj,l,k). Variables c2i,j,l and c3i,j,l are
encoded in an analogous way.</p>
          <p>According to [16], an ultrametric matrix M satisfies a topology [i, j|l, m]
if and only if one of the following conditions is satisfied:
(M (i, l) &gt; M (i, j) ∧</p>
          <p>M (j, m) &gt; M (i, j)) or
(M (i, l) &gt; M (l, m) ∧</p>
          <p>M (j, m) &gt; M (l, m))</p>
          <p>
            The Basic PBO model considers a new boolean variable qt that encodes
the consistency of the t-th topology. Suppose that the t-th topology in Q is
topology [i, j|l, m]. The model encodes the value of qt by introducing two
new boolean variables q1t, q2t and associates them with conditions (
            <xref ref-type="bibr" rid="ref7">7</xref>
            ) and
(
            <xref ref-type="bibr" rid="ref8">8</xref>
            ), respectively. The value of qt is then encoded as an OR gate:
qt ≡ OR(q1t, q2t)
The values of variables q1t and q2t are encoded in a similar way as variables
c1i,j,l. Finally, the cost function of the Basic PBO model is to maximize the
number of variables qt with value 1:
(
            <xref ref-type="bibr" rid="ref5">5</xref>
            )
(
            <xref ref-type="bibr" rid="ref6">6</xref>
            )
(
            <xref ref-type="bibr" rid="ref7">7</xref>
            )
(
            <xref ref-type="bibr" rid="ref8">8</xref>
            )
(
            <xref ref-type="bibr" rid="ref9">9</xref>
            )
(
            <xref ref-type="bibr" rid="ref10">10</xref>
            )
3.1.2
          </p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Reduced PBO model</title>
          <p>
            The Reduced PBO model is based on the Basic PBO model, but where
auxiliary variables are used that allow a simpler encoding of greater than
conditions (M (i, j) &gt; M (l, m)) using fewer variables. In the Reduced model,
constraint (
            <xref ref-type="bibr" rid="ref4">4</xref>
            ) is split into two conditions:
if and only if there is a k′ such that sik,′j = 0 and slk,′m = 1. The constraint
is encoded using for each k an AND gate of N OT (sik,j) and slk,m. The final
output is encoded as an OR gate of the AND gates. Moreover, all the
constraints of the Basic PBO model are maintained in the Reduced PBO
model (except for constraint (
            <xref ref-type="bibr" rid="ref4">4</xref>
            )), but using the new variables sik,j.
3.1.3
          </p>
        </sec>
        <sec id="sec-3-1-3">
          <title>Binary PBO model</title>
          <p>that P⌊kl=og02(⌈ n2 ⌉)⌋ Mi,j,k ≤ ⌈ n2 ⌉.</p>
          <p>The last PBO model proposed in [10] was the Binary PBO model. The
rationale of the Binary PBO model is to replace the encoding of M (i, j)
by changing the semantics of variables Mi,j,k. In the Binary PBO model,
variable Mi,j,k represents the k-th bit of the binary representation of M (i, j).
As a consequence the limits of index k are reduced to 0 ≤ k ≤ ⌊log2(⌈ n2 ⌉)⌋,
therefore reducing the number of variables.
⌊log2(⌈ n2 ⌉)⌋ 2k × Mi,j,k.</p>
          <p>
            Variables M (i, j) are now encoded as M (i, j) = Pk=0
Moreover, all the constraints of the Basic PBO model are maintained (using
the new limits of index k) except for constraints (
            <xref ref-type="bibr" rid="ref4">4</xref>
            ) which are replaced by
⌊log2(⌈ n2 ⌉)⌋ Mi,j,k ≥ 1) and a comparator circuit to represent
constraints (Pk=0
3.2
          </p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>New Pseudo Boolean Optimization Models</title>
        <p>This section proposes two new PBO models, namely the Unary PBO model
and the Binary PBO model with a dedicated comparator.
3.2.1</p>
        <sec id="sec-3-2-1">
          <title>Unary PBO Model</title>
          <p>The rationale of the Unary model is to change the semantics of the selection
variables Mi,j,k and merge them with the semantics of the auxiliary variables</p>
          <p>k
1 2 3 4 5 6
si,j 1 1 1 1 0 0
k
(b)
sik,j.</p>
          <p>The objective is for the new variables to be able to represent the
values in the ultrametric matrix and still allow the simplified encoding of
M (i, j) &lt; M (l, m).</p>
          <p>Consider for example that n = 12, then k ≤ ⌈ n ⌉ = 6. For some position
2
(i, j) in the matrix, suppose that M (i, j) = 4. A valid valuation of the
selection variables and of the auxiliary variables is given in Figure 3 (a).</p>
          <p>The Unary model uses only the auxiliary variables sik,j, but with a new
semantics, which is if M (i, j) = a for same a, 1 ≤ a ≤ ⌈ n2 ⌉, for all 1 ≤ k ≤ a,
then si,j has value 1, and for all 1 &lt; k ≤ ⌈ n2 ⌉, then sik,j has value 0.</p>
          <p>k</p>
          <p>M (i, j) can then be obtained by:
M (i, j) =
( P⌈k=n2⌉1−1[(sik,j − sik,+j1) × k] if (P⌈k=n2⌉1−1[(sik,j − sik,+j1) × k]) 6= 0
⌈ n2 ⌉ otherwise
For the previous example, the new valuation is represented in Figure 3 (b).
Given the new semantics, condition M (i, j) &gt; M (l, m) is true if there is a k′
such that sik,′j = 1 and slk,′m = 0. The Reduced model considers new boolean
variables e(i,j)(l,m) The semantics of variables e(i,j)(l,m) is e(ki,j)(l,m) has value
k k
1 if sik,j = 1 and slk,m = 0, otherwise e(i,j)(l,m) has value 0. Variables e(i,j)(l,m)
k k
are encoded as AND gates, e(i,j)(l,m) ≡ AN D(sik,j, N OT (slk,m)).</p>
          <p>k</p>
          <p>The greater than condition M (i, j) &gt; M (l, m) is then encoded by a new
variable GT(i,j)(l,m) whose value is given as an OR gate of variables e(ki,j)(l,m),
that is:
k
GT(i,j)(l,m) ≡ OR(e(ki,j)(l,m) : 1 ≤ k ≤ ⌈ ⌉)
2</p>
          <p>As with the Reduced model, the cost function and all the constraints of
ultrametricity of matrix M and of quartet consistency of the PB model are
maintained, but making use of variables GT(i,j)(l,m) as appropriate.
3.2.2</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Binary PBO Model with Specialized Comparator</title>
          <p>Sinz [14] presented a specialized comparator circuit to represent that a
binary word (bmbm−1 . . . b0) is smaller or equal to a number n. An optimization
of the Binary PBO model corresponds to use the comparator circuit
proposed by [14] for encoding that M (i, j) ≤ ⌈ n2 ⌉. Suppose ⌈ n2 ⌉ is given by the
binary word (bmbm−1 . . . b0). The recursive equations of [14] (that obtain a
set of clauses) can be modified to obtain a set of sums:
Cp(b0) =
{1 − Mi,j,0}, b0 = 0
∅ , b0 = 1
, Cp(br) =
{1 − Mi,j,r} ∪ Cp(br−1) , br = 0
{1 − Mi,j,r} ⊗ Cp(br−1), br = 1
where A ⊗ B = {x + y|x ∈ A, y ∈ B}. Then the set of conditions to add to
the model is the set {s ≥ 1|s ∈ Cp(bm)}.</p>
          <p>All the constraints of the Binary PBO model are maintained except for
the comparator circuit that encodes the restriction M (i, j) ≤ ⌈ n2 ⌉, which is
now encoded according to the above equations.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Satisfiability Modulo Theories for MQC</title>
      <p>This section outlines the use of Satisfiability Modulo Theories (SMT) for
solving the MQC problem, by describing how to optimize a linear cost
function subject to a SMT formula. This solution is referred to as the maximum
Satisfiability Modulo Quartet Consistency (mSMQC) model. The mSMQC
model follows the same principles of the PBO models of Section 3, but using
the modelling capabilities of SMT. Thus the mSMQC model encodes an
ultrametric matrix M and checks for the consistency of the topologies given,
against the values in M .</p>
      <p>
        The mSMQC model can be divided in four parts:(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) Domain Restriction,
defines the variables to be used and limits the domains of the variables; (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
Ultrametric Constraints, enforces the matrix to be ultrametric; (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) Quartet
Consistency, encodes the consistency of the topologies given; (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) Bounding,
maximizes the number of satisfied topologies. The first three define the
problem of determining the consistency of a set of topologies as a
SMTinstance. The last seeks to maximize the number of satisfied topologies.
4.1
      </p>
      <sec id="sec-4-1">
        <title>Quartet Consistency as an Instance of SMT</title>
        <p>Domain Restriction. Consider a given set of topologies Q over the set of
taxa S = {s1, . . . , sn}. In the PB-models the solution to the MQC problem
was given by encoding the resulting phylogeny with an ultrametric matrix
M . In the mSMQC model, each position of the matrix is associated with
one integer variable containing the value in that position. For each pair of
taxa (si, sj) ∈ S, such that 1 ≤ i &lt; j ≤ n, the mSMQC model considers
n
the integer variable Mi,j. Variable Mi,j has value k with 1 ≤ k ≤ ⌈ 2 ⌉ if and
only if position (i, j) of M has value k.</p>
        <p>To constrain the domain of variables Mi,j (1 ≤ i &lt; j ≤ n), the mSMQC
model introduces the following constraints:
n
((Mi,j ≥ 1) ∧ (Mi,j ≤ ⌈ ⌉))</p>
        <p>
          2
(
          <xref ref-type="bibr" rid="ref12">12</xref>
          )
Ultrametric Constraints. Conditions (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ), (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) and (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) in page 4 guarantee
the ultrametricity of a matrix. These conditions are guaranteed by the
mSMQC model by, for each triple of taxa si, sj, sl ∈ S, such that 1 ≤ i &lt;
j &lt; l ≤ n, adding the constraints:
[(Mi,j = Mi,l) ∧ (Mi,l &gt; Mj,l)] ∨ [(Mi,j = Mj,l) ∧ (Mj,l &gt; Mi,l)] ∨
[(Mi,l = Mj,l) ∧ (Mj,l &gt; Mi,j)]
(
          <xref ref-type="bibr" rid="ref13">13</xref>
          )
Quartet Consistency. The consistency of each topology given is
associated with a new integer variable in the model. Suppose the t-th topology in
Q is of the form [si, sj |sl, sm]. A new variable qt is created and qt will have
value 1 if the topology is satisfied by the current solution, qt will value 0
otherwise. To constraint the value of qt, the mSMQC uses the ite operator,
and adds the following constraints:
ite[(((Mi,l &gt; Mi,j) ∧ (Mj,m &gt; Mi,j)) ∨ ((Mi,l &gt; Ml,m) ∧ (Mj,m &gt; Ml,m))),
(qt = 1), (qt = 0)]
(14)
        </p>
        <p>All the constraints added to the mSMQC model are constraints of Linear
Integer Arithmetic (LIA).
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Maximization Problems in SMT</title>
        <p>For the PBO models of Section 3, the maximization was achieved through
a cost function. SMT is a decision problem and as such, there is no cost
function to be optimized. Nevertheless, recent work addressed optimization
problems in SMT, including weighted MAX-SMT [11]. In the following we
consider how to maximize the number of topologies satisfied by either using
bounds or MAX-SMT.
4.2.1</p>
        <sec id="sec-4-2-1">
          <title>Maximization by Bounding Bottom-Up</title>
          <p>Let nsqt be the number of satisfied topologies. Thus 1 ≤ nsqt ≤ |Q|, that
is at least one topology is satisfied and at most all topologies are satisfied.</p>
          <p>The motivation for Bounding by Bottom-Up is to search for the
maximum number of satisfied topologies iteratively, by creating instances of SMT
and giving them to a SMT solver.</p>
          <p>In the Bounding by Bottom-Up approach a lower bound lb nsqt for nsqt
is maintained. This lower bound has the property that is always possible to
satisfy at least lb nsqt topologies. The initial value of lb nsqt is 1. In each
iteration, a SMT instance is created as described in Section 4.1 to which is
added the constraint:</p>
          <p>
            |Q|
(X qt &gt; lb nsqt)
r=1
(
            <xref ref-type="bibr" rid="ref14">15</xref>
            )
This instance is given to the SMT solver and if it returns SATISFIABLE,
then the lower bound is updated and a new iteration starts with the new
lower bound. If the SMT solver returns UNSATISFIABLE then mSMQC
returns and the maximum number of satisfied topologies is lb nsqt.
          </p>
          <p>The way the lower bound is updated depends on the SMT solver used. If
the SMT solver is capable of reporting an assignment to the variables every
time time it returns SATISFIABLE, then the new lower bound is given by
the number of topologies satisfied by the assignment reported. Otherwise,
the lower bound can only be increased by one.
4.2.2</p>
        </sec>
        <sec id="sec-4-2-2">
          <title>Maximization by Bounding Top-Down</title>
          <p>The idea of the Bounding by Top-Down is the opposite of the previous
Bounding by Bottom-Up. Instead of iterating through satisfiable SMT
instances, the Top-Down approach will iterate through a set of unsatisfiable
SMT instances till a satisfiable instance is found.</p>
          <p>
            The Bounding by Top-Down maintains an upper bound up nsqt for nsqt.
This upper bound up nsqt has the property that is impossible to satisfy
(up nsqt + 1) topologies. The initial value of up nsqt is the total number of
topologies |Q|. In each iteration the constraint is added to the model:
|Q|
r=1
(X qt ≥ up nsqt)
(
            <xref ref-type="bibr" rid="ref15">16</xref>
            )
The instance is given to a SMT solver, and if the SMT solver returns
UNSATISFIABLE then up nsqt is updated to (up nsqt−1), and a new iteration
is started. If the SMT solver returns SATISFIABLE then mSMQC returns
with a maximum number of satisfied topologies of up nsqt.
4.2.3
          </p>
        </sec>
        <sec id="sec-4-2-3">
          <title>Maximization by a Mixed Bounding</title>
          <p>The idea of the Mixed Bounding approach is to search for the maximum
number of satisfied topologies using binary search and augment it with the
Bounding by Bottom-Up approach.</p>
          <p>
            The Mixed Bounding approach maintains both the lower bound lb nsqt
and the upper bound up nsqt (as in the previous bounding approaches).
Consider max nsqt to be the exact maximum number of topologies satisfied.
At each iteration, both the following conditions are true: (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) max nsqt ≥
lb nsqt: and (
            <xref ref-type="bibr" rid="ref2">2</xref>
            ) max nsqt &lt; up nsqt. When lb nsqt + 1 = up nsqt then
max nsqt has been found to be lb nsqt.
          </p>
          <p>In each iteration the mSMQC with the Mixed Bounding approach
considers the value in the middle of the bounds. Let mdl nsqt = ⌊ up nsqt+lb nsqt ⌋.
2
If mdl nsqt = lb nsqt then max nsqt is lb nsqt and mSMQC returns.
Otherwise mSMQC with Mixed Bounding adds the constraints:
|Q|
r=1
(X qt ≥ mdl nsqt),
|Q|
r=1
(X qt &lt; up nsqt)</p>
          <p>
            (
            <xref ref-type="bibr" rid="ref16">17</xref>
            )
If the SMT solver returns UNSATISFIABLE, then the upper bound is
updated to the value in the middle (up nsqt = mdl nsqt) and a new iteration
starts. If the SMT solver returns SATISFIABLE, then the lower bound is
updated and a new iteration starts with the new lower bound. As in the
Bounding by Bottom-Up approach, the way the lower bound is updated
depends on the SMT solver used. If the SMT solver is capable of returning
satisfying assignments on satisfiable instances, then the lower bound is
updated to the number of satisfied topologies by the assignment reported. If
the SMT solver is unable to report satisfying assignments, then the lower
bound is updated to the value in the middle, that is, lb nsqt = mdl nsqt.
4.2.4
          </p>
        </sec>
        <sec id="sec-4-2-4">
          <title>Maximization as a MAX-SMT Instance</title>
          <p>In MAX-SMT the overall formula is an unsatisfied conjunction of SMT
subformulas. Each sub-formula is associated with a cost of unsatisfying the
sub-formula. The objective is to determine an assignment that minimizes
the sum of the costs of the unsatisfied sub-formulas. For example, consider
the formula ϕ ≡ (x &lt; 10) ∧ (y &gt; 20) ∧ (x − y &gt; 40) ∧ (y &lt; 30),
where subformulas (x − y &gt; 40) and (y &lt; 30) have costs 3 and 10,
respectively. Note that not all sub-formulas need to have a cost. The sub-formulas
without a cost have to be satisfied, and are called hard sub-formulas. The
sub-formulas with a cost (which may or may not be satisfied) are called soft
sub-formulas. One MAX-SMT solution for ϕ is x = 5, y = 25 with cost 3.</p>
          <p>
            In the mSMQC model, all the Domain Restriction constraints,
Ultrametric constraints and Quartet Consistency constraints have to be satisfied
(hard formulas). What may or may not be satisfied is that the variable
that encodes the consistency of the topology has value 1. Thus, the soft
sub-formula for the t-th topology is:
(qt = 1)
(
            <xref ref-type="bibr" rid="ref17">18</xref>
            )
The cost of unsatisfying the sub-formula is set to one. The MAX-SMT solver
will try to minimize the cost of unsatisfying the topologies.
5
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Experimental Results</title>
      <p>This section analyzes the results obtained from running the existing ASP
solution [18], the PBO models described in Section 3, and the SMT-based
solutions proposed in Section 4. First, the experimental setup is described,
followed by the analysis of the experimental results for two sets of instances.</p>
      <p>The first set of instances were obtained from [18] and correspond to a
set of artificially generated instances. Each instance has 10 taxa and is
associated with a percentage of modified topologies (to account for errors).
The percentages considered were 1%, 5%, 10%, 15%, 20%, 25%, and 30%.</p>
      <p>The second set of instances was generated from a real example with 52
taxa1. This example corresponds to a complete set of topologies inferred
1This example was kindly provided by Dr. Guohui Lin.
1%
0.37
3.43
5.20
14.04
6.89
2.00
0.78
61.77
4.35
1.04
1.00
2.66
2.30
4.98
4.91
1.96
2.14
34.48
1.51
10.77
0.06
from a set of CCV distances. In order to compare the different models, the
instance was divided in 10 sets of 10 taxa each. For a considered set of taxa,
all the topologies on that set of taxa were gathered to form a new instance.
To introduce a higher number of errors, the same idea of modifying a number
of random topologies was used. The same percentages were used.</p>
      <p>The encoders/solvers used in the experiments can be divided in 3
categories, phy+ASP-solver, PBO-encoder+PBO-solver and SMT-based solver.</p>
      <p>phy+ASP-solver. phy is an encoder of the MQC problem into ASP,
which was obtained from [18]. The approach of using phy with an
ASPsolver is currently one of the best approaches in the literature. The ASP
encoder used in the experiments is derived from the encoder phy [18]. phy
receives as arguments, the number of taxa, the maximum number of allowed
quartet errors and the instance with the topologies. In the experiments the
maximum number of allowed errors was set to the total number of topologies.</p>
      <p>Two ASP-solvers were considered for the experiments, SMODELS [13]
and CLASP [6]. Other ASP-solvers were considered, but these two were
the only that allowed maximizing with phy. The maximization was done by
setting the ASP-solvers to enumerate all the stable models.</p>
      <sec id="sec-5-1">
        <title>PBO-encoder+PBO-solver. The PBO-encoder + PBO-solver is char</title>
        <p>acterized by first using one of the encoders described in Section 3 to obtain
a pbo file. The pbo file is then given to a pbo-solver. Three different
PBOsolvers were used in the experiments, the bsolo solver [9], the minisat+
solver [4] and the pueblo solver [12].</p>
        <p>SMT-based solver. The models based in SMT described in Section 4
require interaction with the SMT-solver. The SMT-solver used in the
exper0%
1.24
1.99
7.32
9.12
3.88
1.70
1.48
93.21
2.81
1.20
2.05
3.09
2.17
3.12
4.78
2.89
2.57
34.20
0.46
0.46
0.04
iments was the Yices solver [3]. Yices offers a C API that allows the
interaction with the solver, where it is possible to ask the solver for a satisfying
assignment to the variables when the solver declares that the smt-instance
is satisfiable. Yices is also able to solve max-smt instances.</p>
        <p>The results were obtained in a set of nine Intel Xeon 5160, 3GHz dual
core servers with 4GB of RAM. The timeout was set to 3600 seconds.
Table 1 presents the results for the first set of instances. The percentages of
modified topologies are shown in the top of the columns, and the encoders
and solvers used are indicated on the left column. In terms of timeouts,
the only timeouts were for instances with 20% or 30%. For 20%, the
pbobinary model has timed-out with bsolo and pueblo in one instance, and the
pbo-bin-sc model with pueblo has timed-out in one instance. For 30%, the
pbo-basic has timed-out seven times with bsolo and once with pueblo. The
pbo-reduce with bsolo timeout nine times and pbo-unary has timed out five
times with bsolo and once with pueblo.</p>
        <p>FromTable 1 and omparing the results of phy with both the ASP-solvers,
we can conclude that smodels is on average four times faster than clasp for
these instances. Comparing the results among the PBO-models, minisat+
stands out as being the fastest in these instances. The difference among the
PB-encoders is not as clear. For instances with percentage of 5% or smaller,
the pbo-reduced is the fastest model. On the other hand on instances with
percentage of 10% or higher, then the binary models are faster. For the
SMT-based approaches, the max-smt approach is the most efficient.</p>
        <p>By analyzing all the models and solvers, we can conclude that for
instances with percentage of 1% smt max-smt is faster than any other solver.
For instances with percentage of 5%, 10% or 15% the phy + smodels
approach has better performance. For instances with 20% or higher the
pbobinary and pbo-binary-sc with minisat+ present better results.</p>
        <p>Table 2 shows for the second set of instances the average running time of
the instances per encoder/solver and percentage of modified topologies. The
timeouts for these instances occurred for 1%, 25% and 30%. The pbo-binary
model with bsolo timeout once for 1%. The pbo-basic with bsolo timed-out
once for 25% and nine times for 30%. The pbo-unary with bsolo timeout
once for 25% and seven times for 30%. The pbo-reduced with bsolo timeout
nine times for 30%. For instances that have 0%, 1% or 5%, smt max-smt is
the solver with best performance results, whereas if the instance has 10% of
modified topologies, the pbo-reduced encoder with minisat+ is the fastest.
For instances with 15% or more, the pbo-binary-sc encoder with minisat+
presents the best performance results.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>This paper proposes new approaches for solving the Maximum Quartet
Consistency (MQC) problem. Building on recent work on using Pseudo-Boolean
Optimization (PBO) models for MQC [10], a number of new alternative PBO
models is proposed. In addition, the paper shows how maximization
variants of Satisfiability Modulo Theories (SMT) can be used for solving the
MQC problem. To our best knowledge, this is the first concrete example of
using SMT for solving computational problems in bioinformatics.</p>
      <p>The experimental results suggest that the SMT models are the most
adequate for instances with a small percentage of modified quartet topologies,
whereas for instances with a larger percentage of modified quartet topologies
the most effective solution is currently based on PBO using the Minisat+
solver. The results in the paper provide evidence that there are a number
of effective alternative approaches for solving the MQC problem, including
ASP, PBO and SMT.</p>
      <p>Future research directions will include better integration of SMT solvers
in addressing the MQC problem.</p>
      <sec id="sec-6-1">
        <title>Acknowledgments</title>
        <p>This work was supported in part by Microsoft Research through its PhD Scholarship
Programme.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ben-Dor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Chor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Graur</surname>
          </string-name>
          ,
          <string-name>
            <surname>O. R.</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Pelleg</surname>
          </string-name>
          .
          <article-title>From four-taxon trees to phylogenies (preliminary report): the case of mammalian evolution</article-title>
          .
          <source>In Int. Conf. on Computational Molecular Biology (Recomb98)</source>
          , pages
          <fpage>9</fpage>
          -
          <lpage>19</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>V.</given-names>
            <surname>Berry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kearney</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Li</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Wareham</surname>
          </string-name>
          .
          <article-title>Quartet cleaning: Improved algorithms and simulations</article-title>
          .
          <source>European Symposium on Algorithms</source>
          ,
          <volume>1643</volume>
          :
          <fpage>313</fpage>
          -
          <lpage>324</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>B.</given-names>
            <surname>Dutertre</surname>
          </string-name>
          and L. de Moura.
          <article-title>The yices smt solver</article-title>
          .
          <source>Technical report</source>
          , Computer Science Laboratory, SRI International, available at http://yices.csl.sri.com.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>N. E´en and N.</given-names>
            <surname>Sorensson</surname>
          </string-name>
          .
          <article-title>Translating pseudo-boolean constraints into sat</article-title>
          .
          <source>Journal of Satisfiability, Boolean Modeling and Computation</source>
          ,
          <volume>2</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>26</lpage>
          ,
          <year>2006</year>
          . Available at http://minisat.se/MiniSat+.html.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Erdos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Steel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Szekely</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Warnow</surname>
          </string-name>
          .
          <article-title>Constructing big trees from short sequences</article-title>
          .
          <source>Int. Colloquium on Automata, Languages, and Programming</source>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kaufmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Neumann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Schaub</surname>
          </string-name>
          .
          <article-title>clasp : A conflictdriven answer set solver</article-title>
          .
          <source>In Int. Conf. on Logic Programming and Nonmonotonic Reasoning (LPNMR2007)</source>
          , volume
          <volume>4483</volume>
          , pages
          <fpage>260</fpage>
          -
          <lpage>265</lpage>
          ,
          <year>2007</year>
          . Available at http://www.cs.uni-postdam.de/clasp.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J.</given-names>
            <surname>Gramm</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Niedermeier</surname>
          </string-name>
          .
          <article-title>A fixed-parameter algorithm for minimum quartet inconsistency</article-title>
          .
          <source>Computer and System Sciences</source>
          ,
          <volume>67</volume>
          (
          <issue>4</issue>
          ):
          <fpage>723</fpage>
          -
          <lpage>741</lpage>
          ,
          <year>December 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>T.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kearney</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>Orchestrating quartets: approximation and data correction</article-title>
          .
          <source>Symp. on Foundations of Computer Science</source>
          , pages
          <fpage>416</fpage>
          -
          <lpage>425</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>V.</given-names>
            <surname>Manquinho</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Marques-Silva</surname>
          </string-name>
          .
          <article-title>Satisfiability-based algorithms for boolean optimization</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          , (
          <volume>40</volume>
          ):
          <fpage>3</fpage>
          -
          <lpage>4</lpage>
          ,
          <year>2004</year>
          . Available at http://sat.inesc-id.pt/bsolo/.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Morgado</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Marques-Silva</surname>
          </string-name>
          .
          <article-title>A pseudo-boolean solution to the maximum quartet consistency problem</article-title>
          .
          <source>WCB08 - Workshop on Constraint Based Methods for Bioinformatics</source>
          , May
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Nieuwenhuis</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Oliveras</surname>
          </string-name>
          .
          <article-title>On SAT Modulo Theories and Optimization Problems</article-title>
          .
          <source>In Theory and Applications of Satisfiability Testing</source>
          , pages
          <fpage>156</fpage>
          -
          <lpage>169</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>H.</given-names>
            <surname>Sheini</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Sakallah. Pueblo</surname>
          </string-name>
          :
          <article-title>A modern pseudo-boolean sat solver</article-title>
          .
          <source>In Design, Automation and Test in Europe (DATE'05)</source>
          , volume
          <volume>2</volume>
          , pages
          <fpage>684</fpage>
          -
          <lpage>685</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>P.</given-names>
            <surname>Simons</surname>
          </string-name>
          .
          <article-title>Computing the stable model semantics</article-title>
          . Available at http://www.tcs.hut.fi/software/smodels/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>G.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and J.</given-names>
            <surname>You</surname>
          </string-name>
          .
          <article-title>Reconstructing phylogenies from noisy quartets in polynomial time with a high success probability</article-title>
          .
          <source>Algorithms for Molecular Biology</source>
          ,
          <volume>3</volume>
          (
          <issue>1</issue>
          ),
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>G.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and J.</given-names>
            <surname>You</surname>
          </string-name>
          .
          <article-title>Quartet based phylogeny reconstruction with answer set programming</article-title>
          .
          <source>Int. Conf. on Tools with Artificial Intelligence</source>
          ,
          <volume>00</volume>
          :
          <fpage>612</fpage>
          -
          <lpage>619</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>G.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>You</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Lin</surname>
          </string-name>
          .
          <article-title>A Lookahead Branch-and-Bound Algorithm for the Maximum Quartet Consistency Problem</article-title>
          . Workshop on Algorithms in Bioinformatics, pages
          <fpage>65</fpage>
          -
          <lpage>76</lpage>
          ,
          <year>October 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>G.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>You</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Lin</surname>
          </string-name>
          .
          <article-title>Quartet-based phylogeny reconstruction with answer set programming</article-title>
          .
          <source>IEEE/ACM Trans. Comput. Biol. Bioinformatics</source>
          ,
          <volume>4</volume>
          (
          <issue>1</issue>
          ):
          <fpage>139</fpage>
          -
          <lpage>152</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>