Dichotomies in CSP Karl Lieberherr inspired by the paper:

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness
Advertisements

NP-Hard Nattee Niparnan.
Lecture 24 MAS 714 Hartmut Klauck
Interactive Configuration
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.
 2004 SDU Lecture17-P,NP, NPC.  2004 SDU 2 1.Decision problem and language decision problem decision problem and language 2.P and NP Definitions of.
Algorithms and Data Review Fall 2010 Karl Lieberherr 1CS 4800 Fall /7/2010.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
1 2. Constraint Databases Next level of data abstraction: Constraint level – finitely represents by constraints the logical level.
Firewall Policy Queries Author: Alex X. Liu, Mohamed G. Gouda Publisher: IEEE Transaction on Parallel and Distributed Systems 2009 Presenter: Chen-Yu Chang.
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
T Ball (1 Relation) What Your Robots Do Karl Lieberherr CSU 670 Spring 2009.
Introduction to Software Testing Chapter 9.4 Model-Based Grammars Paul Ammann & Jeff Offutt
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Ming Fang 6/12/2009. Outlines  Classical logics  Introduction to DL  Syntax of DL  Semantics of DL  KR in DL  Reasoning in DL  Applications.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Constraint Satisfaction Problems (CSPs) CPSC 322 – CSP 1 Poole & Mackworth textbook: Sections § Lecturer: Alan Mackworth September 28, 2012.
CS6133 Software Specification and Verification
CMPF144 FUNDAMENTALS OF COMPUTING THEORY Module 5: Classical Logic.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Integrating high-level constructs into programming languages Language extensions to make programming more productive Underspecified programs –give assertions,
Simultaneously Learning and Filtering Juan F. Mancilla-Caceres CS498EA - Fall 2011 Some slides from Connecting Learning and Logic, Eyal Amir 2006.
SM2220 – Class 06 Finite Automata. SM2220 – Class 06 Topic in theoretical computing. A subset of computation machines. Closely related to formal language.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Discrete Optimization Lecture 6 – Part 2 M. Pawan Kumar
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
1 Reasoning with Infinite stable models Piero A. Bonatti presented by Axel Polleres (IJCAI 2001,
28.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
Variants of LTL Query Checking Hana ChocklerArie Gurfinkel Ofer Strichman IBM Research SEI Technion Technion - Israel Institute of Technology.
EEL 5937 Content languages EEL 5937 Multi Agent Systems Lecture 10, Feb. 6, 2003 Lotzi Bölöni.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
Counterexample-Guided Abstraction Refinement By Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith Presented by Yunho Kim Provable Software.
Automatic Test Generation
The NP class. NP-completeness
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
Chapter 10 NP-Complete Problems.
Basic concepts of Model Checking
Advanced Algorithms Analysis and Design
Formal Modeling Concepts
Polynomial-Time Reduction
Planning as model checking, (OBDDs)
Dr. Rachel Ben-Eliyahu – Zohary
The Propositional Calculus
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
Modeling Arithmetic, Computation, and Languages
NP-Completeness Yin Tat Lee
Intro to Theory of Computation
Intro to Theory of Computation
Propositional Calculus: Boolean Algebra and Simplification
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
Formal Methods in software development
Event-Based Architecture Definition Language
Chapter 8 NP and Computational Intractability
Chapter 11 Limitations of Algorithm Power
NP-Complete Problems.
CS154, Lecture 13: P vs NP.
NP-Completeness Yin Tat Lee
P, NP and NP-Complete Problems
Ideas for testing Transformations of cds 4/27/2019 AOO/Demeter.
Introduction to verification
Problem Solving with Constraints
P, NP and NP-Complete Problems
Lecture 24 Classical NP-hard Problems
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Lecture 23 NP-Hard Problems
Presentation transcript:

Dichotomies in CSP Karl Lieberherr inspired by the paper: Dichotomies and Duality in First-order Model Checking Problems by Barnaby Martin The 11th Mons Days of Theoretical Computer Science 2006 Irisa - Rennes 5/13/2019 CSG 260 Fall 2006

Generalized model checking Find an interpretation that satisfies a fraction t (between 0 and 1) of the constraints. The generalized model checking problem over the logic called positive existential conjunctive fragment of FOL, {and, exists}-FOL, takes as input a structure A and a sentence f in {and, exists}-FOL and asks whether there exists an interpretation for f satisfying at least the fraction t of the weighted conjuncts. This problem is equivalent to the maximum constraint satisfaction problem (MaxCSP). FOL = first-order logic 5/13/2019 CSG 260 Fall 2006

Dichotomy for {and, exists}-FOL The class MaxCSP(A) exhibits a dichotomy: For all structures A (set of binary relations) there exists an algebraic constant tA between 0 and 1 such that the set of A-formulas f in {and, exists}-FOL satisfying Fraction(f, tA) are in P and (1) Fraction(f, tA+e) is NP-complete for any e > 0. Fraction(f, t) = there exists an interpretation for f satisfying at least fraction t of the weighted constraints. There is a universal polynomial algorithm parameterized by A for case (1). This is called a P-optimal algorithm. We use the terminology: MaxCSP(A) and MinCSP(A) for the maximization and minimization version. In the minimization version we replace “at least” by “at most”. 5/13/2019 CSG 260 Fall 2006

Example A = {OneInThree} where OneInThree(x1, x2, x3) = x1+x2+x3. t {OneInThree} = 4/9. See: Lieberherr/Specker JACM 1981 and Lieberherr Journal of Algorithms 1982. http://www.ccs.neu.edu/home/lieber/p-optimal/README.html 5/13/2019 CSG 260 Fall 2006

More examples R = AllRenaming(Orn), tR = 1-1/(2**n) R = Or1 union AllRenaming(Or>=2), tR = (sqrt(5)-1)/2 = 0.618 … R = AllRenaming(Or<=n), tR = ½ for all n >= 1. 5/13/2019 CSG 260 Fall 2006

Minimization We use the terminology: MaxCSP(A) and MinCSP(A) for the maximization and minimization version. In the minimization version we replace “at least” by “at most”. We reinterpret tA as tMax,A and we introduce by analogy tMin,A. Find an A so that tMax,A is different from tMin,A. 5/13/2019 CSG 260 Fall 2006

A more general context First order predicate logic A conjunctive formula must be true, i.e., all conjuncts must be true. Drop weights. A model checking problem over a logic L takes as input a structure A and a sentence f of L and asks: A╞ f (before we had A, t╞ f), where 0<=t<=1. Parameterize over A or f. 5/13/2019 CSG 260 Fall 2006

L = FOL (first-order logic) Alphabet: G1 union G2, where G1 = {not, and, or, exists, for all, =}, G0 ={(,),R,v,0,1} R(v1,v2, … ,vn) is a formula with free variables v1,v2, … ,vn. vi=vj is a formula with free variables vi, vj if f1 and f2 are formulas, then “f1and f2”, “f1 or f2” and “not f1” are also formulae (having as free variables those free in the constituent formulae) 5/13/2019 CSG 260 Fall 2006

FOL (continued) if f contains the free variable v, then “exists v f” and “for all v f” are formulae whose free variables are exactly those of f less v. A sentence is a formula with no free variables. We currently study {and, exists}-FOL but similar questions can be asked for other subsets of FOL. 5/13/2019 CSG 260 Fall 2006

Standard Definition of Model Checking Model checking definition: Efficiently deciding whether a temporal logic formula is satisfied in a finite state machine model. 5/13/2019 CSG 260 Fall 2006

Model checking The model is usually given as a source code description in an industrial hardware description language or a special-purpose language. Such a program corresponds to a finite state machine, i.e., a directed graph consisting of nodes (or vertices) and edges. A set of atomic propositions is associated with each node, typically stating which memory elements are one. The nodes represent states of a system, the edges represent possible transitions which may alter the state, while the atomic propositions represent the basic properties that hold at a point of execution. Formally, the problem can be stated as follows: given a desired property, expressed as a temporal logic formula p, and a model M with initial state s, decide if M,s╞ p . If M is finite, as it is in hardware, model checking reduces to a graph search. 5/13/2019 CSG 260 Fall 2006

Going full circle Symbolic algorithms avoid ever building the graph for the FSM; instead, they represent the graph implicitly using a formula in propositional logic (BDDs). More recently, SAT solvers (see Boolean satisfiability problem) are used to perform the graph search. 5/13/2019 CSG 260 Fall 2006

Model checking and traversal specifications M,s╞ p M an object graph OG, s a node in OG p a formula expressing a desired node, e.g., bypassing {X,Y} via Z bypassing R to T a strategy graph with source and target Meta level: M’,s’╞ p must hold, otherwise compile-time error message. 5/13/2019 CSG 260 Fall 2006

Modular Implementation [Kiczales / Mezini] it is textually local there is a well-defined interface that describes how it interacts with the rest of the system the interface is an abstraction of the implementation, in that it is possible to make material changes to the implementation without violating the interface an automatic mechanism enforces that every module satisfies its own interface and respects the interface of all other modules the module can be automatically composed – e.g., by a compiler – with other modules to produce a complete system 5/13/2019 CSG 260 Fall 2006

A, t╞ f 5/13/2019 CSG 260 Fall 2006