1,667 research outputs found

    Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis

    Full text link
    Even with impressive advances in automated formal methods, certain problems in system verification and synthesis remain challenging. Examples include the verification of quantitative properties of software involving constraints on timing and energy consumption, and the automatic synthesis of systems from specifications. The major challenges include environment modeling, incompleteness in specifications, and the complexity of underlying decision problems. This position paper proposes sciduction, an approach to tackle these challenges by integrating inductive inference, deductive reasoning, and structure hypotheses. Deductive reasoning, which leads from general rules or concepts to conclusions about specific problem instances, includes techniques such as logical inference and constraint solving. Inductive inference, which generalizes from specific instances to yield a concept, includes algorithmic learning from examples. Structure hypotheses are used to define the class of artifacts, such as invariants or program fragments, generated during verification or synthesis. Sciduction constrains inductive and deductive reasoning using structure hypotheses, and actively combines inductive and deductive reasoning: for instance, deductive techniques generate examples for learning, and inductive reasoning is used to guide the deductive engines. We illustrate this approach with three applications: (i) timing analysis of software; (ii) synthesis of loop-free programs, and (iii) controller synthesis for hybrid systems. Some future applications are also discussed

    Sketching, Streaming, and Fine-Grained Complexity of (Weighted) LCS

    Get PDF
    We study sketching and streaming algorithms for the Longest Common Subsequence problem (LCS) on strings of small alphabet size |Sigma|. For the problem of deciding whether the LCS of strings x,y has length at least L, we obtain a sketch size and streaming space usage of O(L^{|Sigma| - 1} log L). We also prove matching unconditional lower bounds. As an application, we study a variant of LCS where each alphabet symbol is equipped with a weight that is given as input, and the task is to compute a common subsequence of maximum total weight. Using our sketching algorithm, we obtain an O(min{nm, n + m^{|Sigma|}})-time algorithm for this problem, on strings x,y of length n,m, with n >= m. We prove optimality of this running time up to lower order factors, assuming the Strong Exponential Time Hypothesis

    Breaking the nn-Pass Barrier: A Streaming Algorithm for Maximum Weight Bipartite Matching

    Full text link
    Given a weighted bipartite graph with nn vertices and mm edges, the \emph{maximum weight bipartite matching} problem is to find a set of vertex-disjoint edges with the maximum weight. This classic problem has been extensively studied for over a century. In this paper, we present a new streaming algorithm for the maximum weight bipartite matching problem that uses O~(n)\widetilde{O}(n) space and O~(m)\widetilde{O}(\sqrt{m}) passes, which breaks the nn-pass barrier. All the previous streaming algorithms either require Ω(nlogn)\Omega(n \log n) passes or only find an approximate solution. Our streaming algorithm constructs a subgraph with nn edges of the input graph in O~(m)\widetilde{O}(\sqrt{m}) passes, such that the subgraph admits the optimal matching with good probability. Our method combines various ideas from different fields, most notably the construction of \emph{space-efficient} interior point method (IPM), SDD system solvers, the isolation lemma, and LP duality. To the best of our knowledge, this is the first work that implements the SDD solvers and IPMs in the streaming model in O~(n)\widetilde{O}(n) spaces for graph matrices; previous IPM algorithms only focus on optimizing the running time, regardless of the space usage
    corecore