55,046 research outputs found
Reconstructing weighted phylogenetic trees and phylogenetic networks using answer set programming
Evolutionary relationships between species can be modeled as a tree (called a phylogeny) whose nodes represent the species, internal vertices represent their ancestors and edges represent genetic relationships. If there are borrowings between species, then a small number of edges that denote such borrowings can be added to phylogenies turning them into (phylogenetic) networks. However, there are too many such trees/networks for a given family of species but no phylogenetic system to automatically analyze them. This thesis fulfills this need in phylogenetics, by introducing novel computational methods and tools for computing weighted phylogenies/networks, using Answer Set Programming (ASP). The main idea is to define a weight function for phylogenies/networks that characterizes their plausibility, and to reconstruct phylogenies/networks whose weights are over a given threshold using ASP solvers. We have studied computational problems related to reconstructing weighted phylogenies/networks based on the compatibility criterion, analyzed their computational complexity, and introduced two sorts of ASP-based methods (representation-based and search-based) for computing weighted phylogenies/networks. Utilizing these methods, we have introduced a novel divide-and-conquer algorithm for computing large weighted phylogenies, and implemented a phylogenetic system (Phylo-ASP) based on it. We have also implemented a phylogenetic system (PhyloNet-ASP) for reconstructing weighted networks. We have shown the applicability and the effectiveness of our methods by performing experiments on two real datasets: Indo European languages, and Quercus species in Turkey. Moreover, we have extended our methods to computing weighted solutions in ASP and modified an ASP solver accordingly, providing a useful tool (CLASP-W) for various ASP applications
Aggregated fuzzy answer set programming
Fuzzy Answer Set programming (FASP) is an extension of answer set programming (ASP), based on fuzzy logic. It allows to encode continuous optimization problems in the same concise manner as ASP allows to model combinatorial problems. As a result of its inherent continuity, rules in FASP may be satisfied or violated to certain degrees. Rather than insisting that all rules are fully satisfied, we may only require that they are satisfied partially, to the best extent possible. However, most approaches that feature partial rule satisfaction limit themselves to attaching predefined weights to rules, which is not sufficiently flexible for most real-life applications. In this paper, we develop an alternative, based on aggregator functions that specify which (combination of) rules are most important to satisfy. We extend upon previous work by allowing aggregator expressions to define partially ordered preferences, and by the use of a fixpoint semantics
Optimal Placement of Valves in a Water Distribution Network with CLP(FD)
This paper presents a new application of logic programming to a real-life
problem in hydraulic engineering. The work is developed as a collaboration of
computer scientists and hydraulic engineers, and applies Constraint Logic
Programming to solve a hard combinatorial problem. This application deals with
one aspect of the design of a water distribution network, i.e., the valve
isolation system design.
We take the formulation of the problem by Giustolisi and Savic (2008) and
show how, thanks to constraint propagation, we can get better solutions than
the best solution known in the literature for the Apulian distribution network.
We believe that the area of the so-called hydroinformatics can benefit from
the techniques developed in Constraint Logic Programming and possibly from
other areas of logic programming, such as Answer Set Programming.Comment: Best paper award at the 27th International Conference on Logic
Programming - ICLP 2011; Theory and Practice of Logic Programming, (ICLP'11)
Special Issue, volume 11, issue 4-5, 201
Exact Algorithms for 0-1 Integer Programs with Linear Equality Constraints
In this paper, we show -time and -space exact
algorithms for 0-1 integer programs where constraints are linear equalities and
coefficients are arbitrary real numbers. Our algorithms are quadratically
faster than exhaustive search and almost quadratically faster than an algorithm
for an inequality version of the problem by Impagliazzo, Lovett, Paturi and
Schneider (arXiv:1401.5512), which motivated our work. Rather than improving
the time and space complexity, we advance to a simple direction as inclusion of
many NP-hard problems in terms of exact exponential algorithms. Specifically,
we extend our algorithms to linear optimization problems
Solving weighted and counting variants of connectivity problems parameterized by treewidth deterministically in single exponential time
It is well known that many local graph problems, like Vertex Cover and
Dominating Set, can be solved in 2^{O(tw)}|V|^{O(1)} time for graphs G=(V,E)
with a given tree decomposition of width tw. However, for nonlocal problems,
like the fundamental class of connectivity problems, for a long time we did not
know how to do this faster than tw^{O(tw)}|V|^{O(1)}. Recently, Cygan et al.
(FOCS 2011) presented Monte Carlo algorithms for a wide range of connectivity
problems running in time $c^{tw}|V|^{O(1)} for a small constant c, e.g., for
Hamiltonian Cycle and Steiner tree. Naturally, this raises the question whether
randomization is necessary to achieve this runtime; furthermore, it is
desirable to also solve counting and weighted versions (the latter without
incurring a pseudo-polynomial cost in terms of the weights).
We present two new approaches rooted in linear algebra, based on matrix rank
and determinants, which provide deterministic c^{tw}|V|^{O(1)} time algorithms,
also for weighted and counting versions. For example, in this time we can solve
the traveling salesman problem or count the number of Hamiltonian cycles. The
rank-based ideas provide a rather general approach for speeding up even
straightforward dynamic programming formulations by identifying "small" sets of
representative partial solutions; we focus on the case of expressing
connectivity via sets of partitions, but the essential ideas should have
further applications. The determinant-based approach uses the matrix tree
theorem for deriving closed formulas for counting versions of connectivity
problems; we show how to evaluate those formulas via dynamic programming.Comment: 36 page
- …