155,233 research outputs found
Unifying Parsimonious Tree Reconciliation
Evolution is a process that is influenced by various environmental factors,
e.g. the interactions between different species, genes, and biogeographical
properties. Hence, it is interesting to study the combined evolutionary history
of multiple species, their genes, and the environment they live in. A common
approach to address this research problem is to describe each individual
evolution as a phylogenetic tree and construct a tree reconciliation which is
parsimonious with respect to a given event model. Unfortunately, most of the
previous approaches are designed only either for host-parasite systems, for
gene tree/species tree reconciliation, or biogeography. Hence, a method is
desirable, which addresses the general problem of mapping phylogenetic trees
and covering all varieties of coevolving systems, including e.g., predator-prey
and symbiotic relationships. To overcome this gap, we introduce a generalized
cophylogenetic event model considering the combinatorial complete set of local
coevolutionary events. We give a dynamic programming based heuristic for
solving the maximum parsimony reconciliation problem in time O(n^2), for two
phylogenies each with at most n leaves. Furthermore, we present an exact
branch-and-bound algorithm which uses the results from the dynamic programming
heuristic for discarding partial reconciliations. The approach has been
implemented as a Java application which is freely available from
http://pacosy.informatik.uni-leipzig.de/coresym.Comment: Peer-reviewed and presented as part of the 13th Workshop on
Algorithms in Bioinformatics (WABI2013
Improved dynamic programs for batching problems with maximum lateness criterion
We study a class of scheduling problems involving the maximum lateness criterion and an element of batching. For all the problems that we examine, algorithms appear in the literaturewhich consist of a sorting step to determine an optimal job sequence, followed by a dynamic programming step which determines the optimal batches. In each case, the dynamic program is based on a backward recursion of which astraightfoward implementation requires O(n^2) time, where n is the number of jobs. We present improved implementations of these dynamicprograms that are based on monotonicity properties of the objective expressed as a function of the length of the first batch. Theseproperties and the use of efficient data structures enable us to exclude partial schedules that cannot lead to an overall optimumearly on in the enumeration process. The four problems that we consider are solved in O(n log n) time; in two occasions, the batching step is actually performed in linear time and the overallcomplexity is determined by the sorting step.batching problems;dynamic programs
Hardware Based Projection onto The Parity Polytope and Probability Simplex
This paper is concerned with the adaptation to hardware of methods for
Euclidean norm projections onto the parity polytope and probability simplex. We
first refine recent efforts to develop efficient methods of projection onto the
parity polytope. Our resulting algorithm can be configured to have either
average computational complexity or worst case
complexity on a serial processor where
is the dimension of projection space. We show how to adapt our projection
routine to hardware. Our projection method uses a sub-routine that involves
another Euclidean projection; onto the probability simplex. We therefore
explain how to adapt to hardware a well know simplex projection algorithm. The
hardware implementations of both projection algorithms achieve area scalings of
at a delay of
. Finally, we present numerical results in
which we evaluate the fixed-point accuracy and resource scaling of these
algorithms when targeting a modern FPGA
Feedback Generation for Performance Problems in Introductory Programming Assignments
Providing feedback on programming assignments manually is a tedious, error
prone, and time-consuming task. In this paper, we motivate and address the
problem of generating feedback on performance aspects in introductory
programming assignments. We studied a large number of functionally correct
student solutions to introductory programming assignments and observed: (1)
There are different algorithmic strategies, with varying levels of efficiency,
for solving a given problem. These different strategies merit different
feedback. (2) The same algorithmic strategy can be implemented in countless
different ways, which are not relevant for reporting feedback on the student
program.
We propose a light-weight programming language extension that allows a
teacher to define an algorithmic strategy by specifying certain key values that
should occur during the execution of an implementation. We describe a dynamic
analysis based approach to test whether a student's program matches a teacher's
specification. Our experimental results illustrate the effectiveness of both
our specification language and our dynamic analysis. On one of our benchmarks
consisting of 2316 functionally correct implementations to 3 programming
problems, we identified 16 strategies that we were able to describe using our
specification language (in 95 minutes after inspecting 66, i.e., around 3%,
implementations). Our dynamic analysis correctly matched each implementation
with its corresponding specification, thereby automatically producing the
intended feedback.Comment: Tech report/extended version of FSE 2014 pape
Modern Approaches to Exact Diagonalization and Selected Configuration Interaction with the Adaptive Sampling CI Method.
Recent advances in selected configuration interaction methods have made them competitive with the most accurate techniques available and, hence, creating an increasingly powerful tool for solving quantum Hamiltonians. In this work, we build on recent advances from the adaptive sampling configuration interaction (ASCI) algorithm. We show that a useful paradigm for generating efficient selected CI/exact diagonalization algorithms is driven by fast sorting algorithms, much in the same way iterative diagonalization is based on the paradigm of matrix vector multiplication. We present several new algorithms for all parts of performing a selected CI, which includes new ASCI search, dynamic bit masking, fast orbital rotations, fast diagonal matrix elements, and residue arrays. The ASCI search algorithm can be used in several different modes, which includes an integral driven search and a coefficient driven search. The algorithms presented here are fast and scalable, and we find that because they are built on fast sorting algorithms they are more efficient than all other approaches we considered. After introducing these techniques, we present ASCI results applied to a large range of systems and basis sets to demonstrate the types of simulations that can be practically treated at the full-CI level with modern methods and hardware, presenting double- and triple-ζ benchmark data for the G1 data set. The largest of these calculations is Si2H6 which is a simulation of 34 electrons in 152 orbitals. We also present some preliminary results for fast deterministic perturbation theory simulations that use hash functions to maintain high efficiency for treating large basis sets
- …