387,171 research outputs found
Arithmetic Classification of Perfect Models of Stratified Programs (Addendum)
RECURSION-FREE PROGRAMS The following section completes the analysis of arithmetic complexity of perfect models and has been inadvertently omitted in the previous version of the paper. We say that a general program P is recursion-free if in its dependency graph Dp there is no cycle. Clearly recursion-free programs form a subclass of stratified programs. Recursion-free programs form a very simple generalization of the class of hierarchical programs introduced in [C78]. Hierarchical programs satisfy an additional condition on variable occurrences in clauses that prevents floundering, i.e. a forced selection of a non-ground negative literal in an SLDNF- derivation. In this section we study the complexity of perfect models of recursion-free programs
Quantum vs. Classical Read-once Branching Programs
The paper presents the first nontrivial upper and lower bounds for
(non-oblivious) quantum read-once branching programs. It is shown that the
computational power of quantum and classical read-once branching programs is
incomparable in the following sense: (i) A simple, explicit boolean function on
2n input bits is presented that is computable by error-free quantum read-once
branching programs of size O(n^3), while each classical randomized read-once
branching program and each quantum OBDD for this function with bounded
two-sided error requires size 2^{\Omega(n)}. (ii) Quantum branching programs
reading each input variable exactly once are shown to require size
2^{\Omega(n)} for computing the set-disjointness function DISJ_n from
communication complexity theory with two-sided error bounded by a constant
smaller than 1/2-2\sqrt{3}/7. This function is trivially computable even by
deterministic OBDDs of linear size. The technically most involved part is the
proof of the lower bound in (ii). For this, a new model of quantum
multi-partition communication protocols is introduced and a suitable extension
of the information cost technique of Jain, Radhakrishnan, and Sen (2003) to
this model is presented.Comment: 35 pages. Lower bound for disjointness: Error in application of info
theory corrected and regularity of quantum read-once BPs (each variable at
least once) added as additional assumption of the theorem. Some more informal
explanations adde
Tight polynomial worst-case bounds for loop programs
In 2008, Ben-Amram, Jones and Kristiansen showed that for a simple programming language - representing non-deterministic imperative programs with bounded loops, and arithmetics limited to addition and multiplication - it is possible to decide precisely whether a program has certain growth-rate properties, in particular whether a computed value, or the program's running time, has a polynomial growth rate. A natural and intriguing problem was to move from answering the decision problem to giving a quantitative result, namely, a tight polynomial upper bound. This paper shows how to obtain asymptotically-tight, multivariate, disjunctive polynomial bounds for this class of programs. This is a complete solution: whenever a polynomial bound exists it will be found. A pleasant surprise is that the algorithm is quite simple; but it relies on some subtle reasoning. An important ingredient in the proof is the forest factorization theorem, a strong structural result on homomorphisms into a finite monoid
A Simple and Scalable Static Analysis for Bound Analysis and Amortized Complexity Analysis
We present the first scalable bound analysis that achieves amortized
complexity analysis. In contrast to earlier work, our bound analysis is not
based on general purpose reasoners such as abstract interpreters, software
model checkers or computer algebra tools. Rather, we derive bounds directly
from abstract program models, which we obtain from programs by comparatively
simple invariant generation and symbolic execution techniques. As a result, we
obtain an analysis that is more predictable and more scalable than earlier
approaches. Our experiments demonstrate that our analysis is fast and at the
same time able to compute bounds for challenging loops in a large real-world
benchmark. Technically, our approach is based on lossy vector addition systems
(VASS). Our bound analysis first computes a lexicographic ranking function that
proves the termination of a VASS, and then derives a bound from this ranking
function. Our methodology achieves amortized analysis based on a new insight
how lexicographic ranking functions can be used for bound analysis
Complexity Information Flow in a Multi-threaded Imperative Language
We propose a type system to analyze the time consumed by multi-threaded
imperative programs with a shared global memory, which delineates a class of
safe multi-threaded programs. We demonstrate that a safe multi-threaded program
runs in polynomial time if (i) it is strongly terminating wrt a
non-deterministic scheduling policy or (ii) it terminates wrt a deterministic
and quiet scheduling policy. As a consequence, we also characterize the set of
polynomial time functions. The type system presented is based on the
fundamental notion of data tiering, which is central in implicit computational
complexity. It regulates the information flow in a computation. This aspect is
interesting in that the type system bears a resemblance to typed based
information flow analysis and notions of non-interference. As far as we know,
this is the first characterization by a type system of polynomial time
multi-threaded programs
- âŠ