115 research outputs found

    Finding the Minimum-Weight k-Path

    Full text link
    Given a weighted nn-vertex graph GG with integer edge-weights taken from a range [M,M][-M,M], we show that the minimum-weight simple path visiting kk vertices can be found in time \tilde{O}(2^k \poly(k) M n^\omega) = O^*(2^k M). If the weights are reals in [1,M][1,M], we provide a (1+ε)(1+\varepsilon)-approximation which has a running time of \tilde{O}(2^k \poly(k) n^\omega(\log\log M + 1/\varepsilon)). For the more general problem of kk-tree, in which we wish to find a minimum-weight copy of a kk-node tree TT in a given weighted graph GG, under the same restrictions on edge weights respectively, we give an exact solution of running time \tilde{O}(2^k \poly(k) M n^3) and a (1+ε)(1+\varepsilon)-approximate solution of running time \tilde{O}(2^k \poly(k) n^3(\log\log M + 1/\varepsilon)). All of the above algorithms are randomized with a polynomially-small error probability.Comment: To appear at WADS 201

    Efficient Certified Resolution Proof Checking

    Get PDF
    We present a novel propositional proof tracing format that eliminates complex processing, thus enabling efficient (formal) proof checking. The benefits of this format are demonstrated by implementing a proof checker in C, which outperforms a state-of-the-art checker by two orders of magnitude. We then formalize the theory underlying propositional proof checking in Coq, and extract a correct-by-construction proof checker for our format from the formalization. An empirical evaluation using 280 unsatisfiable instances from the 2015 and 2016 SAT competitions shows that this certified checker usually performs comparably to a state-of-the-art non-certified proof checker. Using this format, we formally verify the recent 200 TB proof of the Boolean Pythagorean Triples conjecture

    Monomial Testing and Applications

    Full text link
    In this paper, we devise two algorithms for the problem of testing qq-monomials of degree kk in any multivariate polynomial represented by a circuit, regardless of the primality of qq. One is an O(2k)O^*(2^k) time randomized algorithm. The other is an O(12.8k)O^*(12.8^k) time deterministic algorithm for the same qq-monomial testing problem but requiring the polynomials to be represented by tree-like circuits. Several applications of qq-monomial testing are also given, including a deterministic O(12.8mk)O^*(12.8^{mk}) upper bound for the mm-set kk-packing problem.Comment: 17 pages, 4 figures, submitted FAW-AAIM 2013. arXiv admin note: substantial text overlap with arXiv:1302.5898; and text overlap with arXiv:1007.2675, arXiv:1007.2678, arXiv:1007.2673 by other author

    Feedback Controlled Software Systems

    Get PDF
    Software systems generally suffer from a certain fragility in the face of disturbances such as bugs, unforeseen user input, unmodeled interactions with other software components, and so on. A single such disturbance can make the machine on which the software is executing hang or crash. We postulate that what is required to address this fragility is a general means of using feedback to stabilize these systems. In this paper we develop a preliminary dynamical systems model of an arbitrary iterative software process along with the conceptual framework for stabilizing it in the presence of disturbances. To keep the computational requirements of the controllers low, randomization and approximation are used. We describe our initial attempts to apply the model to a faulty list sorter, using feedback to improve its performance. Methods by which software robustness can be enhanced by distributing a task between nodes each of which are capable of selecting the best input to process are also examined, and the particular case of a sorting system consisting of a network of partial sorters, some of which may be buggy or even malicious, is examined

    Lower bounds for constant query affine-invariant LCCs and LTCs

    Get PDF
    Affine-invariant codes are codes whose coordinates form a vector space over a finite field and which are invariant under affine transformations of the coordinate space. They form a natural, well-studied class of codes; they include popular codes such as Reed-Muller and Reed-Solomon. A particularly appealing feature of affine-invariant codes is that they seem well-suited to admit local correctors and testers. In this work, we give lower bounds on the length of locally correctable and locally testable affine-invariant codes with constant query complexity. We show that if a code CΣKn\mathcal{C} \subset \Sigma^{\mathbb{K}^n} is an rr-query locally correctable code (LCC), where K\mathbb{K} is a finite field and Σ\Sigma is a finite alphabet, then the number of codewords in C\mathcal{C} is at most exp(OK,r,Σ(nr1))\exp(O_{\mathbb{K}, r, |\Sigma|}(n^{r-1})). Also, we show that if CΣKn\mathcal{C} \subset \Sigma^{\mathbb{K}^n} is an rr-query locally testable code (LTC), then the number of codewords in C\mathcal{C} is at most exp(OK,r,Σ(nr2))\exp(O_{\mathbb{K}, r, |\Sigma|}(n^{r-2})). The dependence on nn in these bounds is tight for constant-query LCCs/LTCs, since Guo, Kopparty and Sudan (ITCS `13) construct affine-invariant codes via lifting that have the same asymptotic tradeoffs. Note that our result holds for non-linear codes, whereas previously, Ben-Sasson and Sudan (RANDOM `11) assumed linearity to derive similar results. Our analysis uses higher-order Fourier analysis. In particular, we show that the codewords corresponding to an affine-invariant LCC/LTC must be far from each other with respect to Gowers norm of an appropriate order. This then allows us to bound the number of codewords, using known decomposition theorems which approximate any bounded function in terms of a finite number of low-degree non-classical polynomials, upto a small error in the Gowers norm

    A Historical Perspective on Runtime Assertion Checking in Software Development

    Get PDF
    This report presents initial results in the area of software testing and analysis produced as part of the Software Engineering Impact Project. The report describes the historical development of runtime assertion checking, including a description of the origins of and significant features associated with assertion checking mechanisms, and initial findings about current industrial use. A future report will provide a more comprehensive assessment of development practice, for which we invite readers of this report to contribute information
    corecore