Binary Decision Diagrams
|
|
- Gavin Atkins
- 6 years ago
- Views:
Transcription
1 Binary Decision Diagrams An Introduction and Some Applications Manas Thakur PACE Lab, IIT Madras Manas Thakur (IIT Madras) BDDs 1 / 25
2 Motivating Example Binary decision tree for a truth table Manas Thakur (IIT Madras) BDDs 2 / 25
3 Motivating Example Binary decision tree for a truth table Manas Thakur (IIT Madras) BDDs 3 / 25
4 Motivating Example Collapse redundant nodes Manas Thakur (IIT Madras) BDDs 4 / 25
5 Motivating Example Collapse redundant nodes Manas Thakur (IIT Madras) BDDs 5 / 25
6 Motivating Example Collapse redundant nodes Manas Thakur (IIT Madras) BDDs 6 / 25
7 Motivating Example Collapse redundant nodes Manas Thakur (IIT Madras) BDDs 7 / 25
8 Motivating Example Eliminate unnecessary nodes Manas Thakur (IIT Madras) BDDs 8 / 25
9 Motivating Example We got an ROBDD!! Manas Thakur (IIT Madras) BDDs 9 / 25
10 Introduction Overview 1 Motivating Example 2 Introduction 3 Constructing ROBDDs 4 Applications 5 Conclusion Manas Thakur (IIT Madras) BDDs 10 / 25
11 Introduction Binary Decision Diagrams Definition A Binary Decision Diagram is a rooted DAG with One or two terminal nodes of out-degree zero labeled 0 or 1 A set of variable nodes of out-degree two Manas Thakur (IIT Madras) BDDs 11 / 25
12 Introduction Ordered Binary Decision Diagrams (OBDDs) A BDD is ordered if on all paths through the graph, the variables respect a given linear order. b 1 < b 2 <... < b n Manas Thakur (IIT Madras) BDDs 12 / 25
13 Introduction Ordered Binary Decision Diagrams (OBDDs) A BDD is ordered if on all paths through the graph, the variables respect a given linear order. An unordered BDD b 1 < b 2 <... < b n Manas Thakur (IIT Madras) BDDs 12 / 25
14 Introduction Ordered Binary Decision Diagrams (OBDDs) The size of a BDD depends on the variable ordering The problem of finding the best variable ordering in OBDDs is NP-Complete Manas Thakur (IIT Madras) BDDs 13 / 25
15 Introduction Reduced Ordered Binary Decision Diagrams (ROBDDs) Definition An OBDD is reduced if it satisfies the following properties: Uniqueness low(u) = low(v) and high(u) = high(v) implies u = v Non-redundant tests low(u) high(u) We already saw an example of ROBDDs!! See it again Manas Thakur (IIT Madras) BDDs 14 / 25
16 Introduction Properties of ROBDDs Size is correlated to amount of redundancy, NOT size of relation Insight: As the relation gets larger, the number of dont-care bits increases, leading to fewer necessary nodes (usually) Canonicity: For every Boolean function, there is exactly one ROBDD representing it Hence, satisfiability, tautology-check, and equivalence can be tested in deterministic time For Boolean expressions, this problem is NP-Complete Manas Thakur (IIT Madras) BDDs 15 / 25
17 Constructing ROBDDs Normal forms for Boolean expressions Disjunctive Normal Form (DNF) (a 1 a 2... a n )... (a 1 a 2... a n ) Satisfiability: easy; Tautology check: hard Manas Thakur (IIT Madras) BDDs 16 / 25
18 Constructing ROBDDs Normal forms for Boolean expressions Disjunctive Normal Form (DNF) (a 1 a 2... a n )... (a 1 a 2... a n ) Satisfiability: easy; Tautology check: hard Conjunctive Normal Form (CNF) (a 1 a 2... a n )... (a 1 a 2... a n ) Tautology check: easy; Satisfiability: hard Manas Thakur (IIT Madras) BDDs 16 / 25
19 Constructing ROBDDs Normal forms for Boolean expressions Disjunctive Normal Form (DNF) (a 1 a 2... a n )... (a 1 a 2... a n ) Satisfiability: easy; Tautology check: hard Conjunctive Normal Form (CNF) (a 1 a 2... a n )... (a 1 a 2... a n ) Tautology check: easy; Satisfiability: hard Reduction? Manas Thakur (IIT Madras) BDDs 16 / 25
20 Constructing ROBDDs Normal forms for Boolean expressions Disjunctive Normal Form (DNF) (a 1 a 2... a n )... (a 1 a 2... a n ) Satisfiability: easy; Tautology check: hard Conjunctive Normal Form (CNF) (a 1 a 2... a n )... (a 1 a 2... a n ) Tautology check: easy; Satisfiability: hard Reduction? No hopes since conversion between CNF and DNF is exponential Manas Thakur (IIT Madras) BDDs 16 / 25
21 Constructing ROBDDs If-then-else Normal Form (INF) An If-then-else Normal Form (INF) is a Boolean expression built from the if-then-else operator and the constants 0 and 1, such that all tests are performed only on variables. x y 0, y 1 = (x y 0 ) ( x y 1 ) Manas Thakur (IIT Madras) BDDs 17 / 25
22 Constructing ROBDDs If-then-else Normal Form (INF) An If-then-else Normal Form (INF) is a Boolean expression built from the if-then-else operator and the constants 0 and 1, such that all tests are performed only on variables. More examples x y 0, y 1 = (x y 0 ) ( x y 1 ) x = x (1, 0) Manas Thakur (IIT Madras) BDDs 17 / 25
23 Constructing ROBDDs If-then-else Normal Form (INF) An If-then-else Normal Form (INF) is a Boolean expression built from the if-then-else operator and the constants 0 and 1, such that all tests are performed only on variables. More examples x y 0, y 1 = (x y 0 ) ( x y 1 ) x = x (1, 0) x = (x 0, 1) Manas Thakur (IIT Madras) BDDs 17 / 25
24 Constructing ROBDDs If-then-else Normal Form (INF) An If-then-else Normal Form (INF) is a Boolean expression built from the if-then-else operator and the constants 0 and 1, such that all tests are performed only on variables. More examples x y 0, y 1 = (x y 0 ) ( x y 1 ) x = x (1, 0) x = (x 0, 1) x y = (x 1, y) Manas Thakur (IIT Madras) BDDs 17 / 25
25 Constructing ROBDDs If-then-else Normal Form (INF) An If-then-else Normal Form (INF) is a Boolean expression built from the if-then-else operator and the constants 0 and 1, such that all tests are performed only on variables. More examples x y 0, y 1 = (x y 0 ) ( x y 1 ) x = x (1, 0) x = (x 0, 1) x y = (x 1, y) x y = (x y, 1) Manas Thakur (IIT Madras) BDDs 17 / 25
26 Constructing ROBDDs If-then-else Normal Form (INF) An If-then-else Normal Form (INF) is a Boolean expression built from the if-then-else operator and the constants 0 and 1, such that all tests are performed only on variables. More examples x y 0, y 1 = (x y 0 ) ( x y 1 ) x = x (1, 0) x = (x 0, 1) x y = (x 1, y) x y = (x y, 1) x y = x (y 1, 0), (y 0, 1) Manas Thakur (IIT Madras) BDDs 17 / 25
27 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 Manas Thakur (IIT Madras) BDDs 18 / 25
28 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 t 0 = y 1 0, t 00 Manas Thakur (IIT Madras) BDDs 18 / 25
29 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 t 0 = y 1 0, t 00 t 1 = y 1 t 11, 0 Manas Thakur (IIT Madras) BDDs 18 / 25
30 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 t 0 = y 1 0, t 00 t 1 = y 1 t 11, 0 t 00 = x 2 t 001, t 000 Manas Thakur (IIT Madras) BDDs 18 / 25
31 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 t 0 = y 1 0, t 00 t 1 = y 1 t 11, 0 t 00 = x 2 t 001, t 000 t 11 = x 2 t 111, t 110 Manas Thakur (IIT Madras) BDDs 18 / 25
32 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 t 0 = y 1 0, t 00 t 1 = y 1 t 11, 0 t 00 = x 2 t 001, t 000 t 11 = x 2 t 111, t 110 t 000 = y 2 0, 1 Manas Thakur (IIT Madras) BDDs 18 / 25
33 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 t 0 = y 1 0, t 00 t 1 = y 1 t 11, 0 t 00 = x 2 t 001, t 000 t 11 = x 2 t 111, t 110 t 000 = y 2 0, 1 t 001 = y 2 1, 0 Manas Thakur (IIT Madras) BDDs 18 / 25
34 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 t 0 = y 1 0, t 00 t 1 = y 1 t 11, 0 t 00 = x 2 t 001, t 000 t 11 = x 2 t 111, t 110 t 000 = y 2 0, 1 t 001 = y 2 1, 0 t 110 = y 2 0, 1 Manas Thakur (IIT Madras) BDDs 18 / 25
35 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 t 0 = y 1 0, t 00 t 1 = y 1 t 11, 0 t 00 = x 2 t 001, t 000 t 11 = x 2 t 111, t 110 t 000 = y 2 0, 1 t 001 = y 2 1, 0 t 110 = y 2 0, 1 t 111 = y 2 1, 0 Manas Thakur (IIT Madras) BDDs 18 / 25
36 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 t 0 = y 1 0, t 00 t 1 = y 1 t 11, 0 t 00 = x 2 t 001, t 000 t 11 = x 2 t 111, t 110 t 000 = y 2 0, 1 t 001 = y 2 1, 0 t 110 = y 2 0, 1 t 111 = y 2 1, 0 Manas Thakur (IIT Madras) BDDs 18 / 25
37 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 t 0 = y 1 0, t 00 t 1 = y 1 t 11, 0 t 00 = x 2 t 001, t 000 t 11 = x 2 t 111, t 110 t 000 = y 2 0, 1 t 001 = y 2 1, 0 t 110 = y 2 0, 1 t 111 = y 2 1, 0 Manas Thakur (IIT Madras) BDDs 19 / 25
38 Constructing ROBDDs Example: t = (x 1 y 1 ) (x 2 y 2 ) t = x 1 t 1, t 0 t 0 = y 1 0, t 00 t 1 = y 1 t 11, 0 t 00 = x 2 t 001, t 000 t 11 = x 2 t 111, t 110 t 000 = y 2 0, 1 t 001 = y 2 1, 0 t 110 = y 2 0, 1 t 111 = y 2 1, 0 t = x 1 t 1, t 0 t 0 = y 1 0, t 00 t 1 = y 1 t 00, 0 t 00 = x 2 t 001, t 000 t 000 = y 2 0, 1 t 001 = y 2 1, 0 Manas Thakur (IIT Madras) BDDs 19 / 25
39 Applications Let s move ahead 1 Motivating Example 2 Introduction 3 Constructing ROBDDs 4 Applications 5 Conclusion Manas Thakur (IIT Madras) BDDs 20 / 25
40 Applications Applications of BDDs Correctness of Combinational Circuits Equivalence of Combinational Circuits Model Checking And yes, Program Analysis! Manas Thakur (IIT Madras) BDDs 21 / 25
41 Applications BDDs for representing Points-to relation Points-to analysis using BDDs. Berndl et al. PLDI 03. Let a,b,c be reference variables and A,B,C be object references. The points-to relation (a,a),(a,b),(b,a),(b,b),(c,a),(c,b),(c,c) is represented as: Manas Thakur (IIT Madras) BDDs 22 / 25
42 Applications BDDs for representing Points-to relation Points-to analysis using BDDs. Berndl et al. PLDI 03. Let a,b,c be reference variables and A,B,C be object references. The points-to relation (a,a),(a,b),(b,a),(b,b),(c,a),(c,b),(c,c) is represented as: On the board. Manas Thakur (IIT Madras) BDDs 22 / 25
43 Applications bddbddb Cloning-Based Context-Sensitive Pointer Alias Analysis Using Binary Decision Diagrams. John Whaley and Monica S. Lam. PLDI 04. Manas Thakur (IIT Madras) BDDs 23 / 25
44 Applications bddbddb Cloning-Based Context-Sensitive Pointer Alias Analysis Using Binary Decision Diagrams. John Whaley and Monica S. Lam. PLDI 04. On the Board 1 Represent program information using relations Express relations as BDDs Manas Thakur (IIT Madras) BDDs 23 / 25
45 Applications bddbddb Cloning-Based Context-Sensitive Pointer Alias Analysis Using Binary Decision Diagrams. John Whaley and Monica S. Lam. PLDI 04. On the Board 1 Represent program information using relations Express relations as BDDs 2 Write program analyses as Datalog queries Express queries as BDD operations Manas Thakur (IIT Madras) BDDs 23 / 25
46 Applications bddbddb Cloning-Based Context-Sensitive Pointer Alias Analysis Using Binary Decision Diagrams. John Whaley and Monica S. Lam. PLDI 04. On the Board 1 Represent program information using relations Express relations as BDDs 2 Write program analyses as Datalog queries Express queries as BDD operations 3 Get solutions! Perform operations on BDDs Manas Thakur (IIT Madras) BDDs 23 / 25
47 Applications Pointers for the enthusiast An Introduction to Binary Decision Diagrams. Tutorial by Henrik Reif Andersen. Program Analysis using Binary Decision Diagrams. Ondrej Lhotak s PhD Thesis (2006). Context-Sensitive Pointer Analysis using Binary Decision Diagrams. John Whaley s PhD Thesis (2007). Fun with Binary Decision Diagrams. Video lecture by Donald Knuth. Manas Thakur (IIT Madras) BDDs 24 / 25
48 Conclusion Conclusion Manas Thakur (IIT Madras) BDDs 25 / 25
49 Conclusion Conclusion BDDs are very interesting and useful! Manas Thakur (IIT Madras) BDDs 25 / 25
Binary Decision Diagrams Boolean Functions
Binary Decision Diagrams Representation of Boolean Functions BDDs, OBDDs, ROBDDs Operations Model-Checking over BDDs 72 Boolean functions:b = {0,1}, f :B B B Boolean Functions Boolean expressions: t ::=
More informationReduced Ordered Binary Decision Diagrams
Reduced Ordered Binary Decision Diagrams Lecture #12 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 13, 2016 c JPK
More informationBoolean decision diagrams and SAT-based representations
Boolean decision diagrams and SAT-based representations 4th July 200 So far we have seen Kripke Structures 2 Temporal logics (and their semantics over Kripke structures) 3 Model checking of these structures
More informationBinary Decision Diagrams
Binary Decision Diagrams Logic Circuits Design Seminars WS2010/2011, Lecture 2 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical University in Prague
More informationComputational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)
Computational Logic Davide Martinenghi Free University of Bozen-Bolzano Spring 2010 Computational Logic Davide Martinenghi (1/30) Propositional Logic - sequent calculus To overcome the problems of natural
More informationBinary Decision Diagrams
Binar Decision Diagrams Ma 3, 2004 1 Overview Boolean functions Possible representations Binar decision trees Binar decision diagrams Ordered binar decision diagrams Reduced ordered binar decision diagrams
More informationCOMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS
QUALITATIVE ANALYIS METHODS, OVERVIEW NET REDUCTION STRUCTURAL PROPERTIES COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS LINEAR PROGRAMMING place / transition invariants state equation
More informationEECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: Lintao Zhang Announcement Project proposals due
More informationBinary Decision Diagrams
Binary Decision Diagrams Literature Some pointers: H.R. Andersen, An Introduction to Binary Decision Diagrams, Lecture notes, Department of Information Technology, IT University of Copenhagen Tools: URL:
More informationDecision Procedures for Satisfiability and Validity in Propositional Logic
Decision Procedures for Satisfiability and Validity in Propositional Logic Meghdad Ghari Institute for Research in Fundamental Sciences (IPM) School of Mathematics-Isfahan Branch Logic Group http://math.ipm.ac.ir/isfahan/logic-group.htm
More informationA brief introduction to Logic. (slides from
A brief introduction to Logic (slides from http://www.decision-procedures.org/) 1 A Brief Introduction to Logic - Outline Propositional Logic :Syntax Propositional Logic :Semantics Satisfiability and validity
More informationOn the Relative Efficiency of DPLL and OBDDs with Axiom and Join
On the Relative Efficiency of DPLL and OBDDs with Axiom and Join Matti Järvisalo University of Helsinki, Finland September 16, 2011 @ CP M. Järvisalo (U. Helsinki) DPLL and OBDDs September 16, 2011 @ CP
More informationBinary Decision Diagrams. Graphs. Boolean Functions
Binary Decision Diagrams Graphs Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant
More informationSymbolic Model Checking with ROBDDs
Symbolic Model Checking with ROBDDs Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 14, 2016 c JPK Symbolic
More informationBinary Decision Diagrams
Binary Decision Diagrams Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant in 1986.
More informationReduced Ordered Binary Decision Diagrams
Reduced Ordered Binary Decision Diagrams Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de June 5, 2012 c JPK Switching
More informationComp487/587 - Boolean Formulas
Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested
More informationReduced Ordered Binary Decision Diagram with Implied Literals: A New knowledge Compilation Approach
Reduced Ordered Binary Decision Diagram with Implied Literals: A New knowledge Compilation Approach Yong Lai, Dayou Liu, Shengsheng Wang College of Computer Science and Technology Jilin University, Changchun
More informationCS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis
CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis 1. Relations in BDDs 2. Datalog -> Relational Algebra 3. Relational Algebra -> BDDs 4. Context-Sensitive Pointer Analysis 5. Performance
More informationLecture 2: Proof of Switching Lemma
Lecture 2: oof of Switching Lemma Yuan Li June 25, 2014 1 Decision Tree Instead of bounding the probability that f can be written as some s-dnf, we estimate the probability that f can be computed by a
More informationBoolean Algebra. Philipp Koehn. 9 September 2016
Boolean Algebra Philipp Koehn 9 September 2016 Core Boolean Operators 1 AND OR NOT A B A and B 0 0 0 0 1 0 1 0 0 1 1 1 A B A or B 0 0 0 0 1 1 1 0 1 1 1 1 A not A 0 1 1 0 AND OR NOT 2 Boolean algebra Boolean
More informationLimits to Approximability: When Algorithms Won't Help You. Note: Contents of today s lecture won t be on the exam
Limits to Approximability: When Algorithms Won't Help You Note: Contents of today s lecture won t be on the exam Outline Limits to Approximability: basic results Detour: Provers, verifiers, and NP Graph
More informationCSC 2429 Approaches to the P vs. NP Question and Related Complexity Questions Lecture 2: Switching Lemma, AC 0 Circuit Lower Bounds
CSC 2429 Approaches to the P vs. NP Question and Related Complexity Questions Lecture 2: Switching Lemma, AC 0 Circuit Lower Bounds Lecturer: Toniann Pitassi Scribe: Robert Robere Winter 2014 1 Switching
More informationModels of Computation
Models of Computation Analysis of Algorithms Week 1, Lecture 2 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Models of Computation (RAM) a) Random Access Machines
More information1 PSPACE-Completeness
CS 6743 Lecture 14 1 Fall 2007 1 PSPACE-Completeness Recall the NP-complete problem SAT: Is a given Boolean formula φ(x 1,..., x n ) satisfiable? The same question can be stated equivalently as: Is the
More informationQuIDD-Optimised Quantum Algorithms
QuIDD-Optimised Quantum Algorithms by S K University of York Computer science 3 rd year project Supervisor: Prof Susan Stepney 03/05/2004 1 Project Objectives Investigate the QuIDD optimisation techniques
More informationChapter 2 Combinational Logic Circuits
Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 1 Gate Circuits and Boolean Equations Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. Overview Part 1 Gate
More informationLecture 8. MINDNF = {(φ, k) φ is a CNF expression and DNF expression ψ s.t. ψ k and ψ is equivalent to φ}
6.841 Advanced Complexity Theory February 28, 2005 Lecture 8 Lecturer: Madhu Sudan Scribe: Arnab Bhattacharyya 1 A New Theme In the past few lectures, we have concentrated on non-uniform types of computation
More informationCS6840: Advanced Complexity Theory Mar 29, Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K.
CS684: Advanced Complexity Theory Mar 29, 22 Lecture 46 : Size lower bounds for AC circuits computing Parity Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K. Theme: Circuit Complexity Lecture Plan: Proof
More informationComplexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler
Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard
More informationCS 512, Spring 2017, Handout 10 Propositional Logic: Conjunctive Normal Forms, Disjunctive Normal Forms, Horn Formulas, and other special forms
CS 512, Spring 2017, Handout 10 Propositional Logic: Conjunctive Normal Forms, Disjunctive Normal Forms, Horn Formulas, and other special forms Assaf Kfoury 5 February 2017 Assaf Kfoury, CS 512, Spring
More informationOutline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.
Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität
More informationIntroduction to Solving Combinatorial Problems with SAT
Introduction to Solving Combinatorial Problems with SAT Javier Larrosa December 19, 2014 Overview of the session Review of Propositional Logic The Conjunctive Normal Form (CNF) Modeling and solving combinatorial
More informationCDM. Algorithms for Propositional Logic
CDM Algorithms for Propositional Logic Klaus Sutner Fall 2017 1 Boolean Decision Problems SAT Solvers Refutation and Resolution Binary Decision Diagrams Decision Problems 3 Recall the standard decision
More informationPropositional Logic. Testing, Quality Assurance, and Maintenance Winter Prof. Arie Gurfinkel
Propositional Logic Testing, Quality Assurance, and Maintenance Winter 2018 Prof. Arie Gurfinkel References Chpater 1 of Logic for Computer Scientists http://www.springerlink.com/content/978-0-8176-4762-9/
More informationCS156: The Calculus of Computation
CS156: The Calculus of Computation Zohar Manna Winter 2010 It is reasonable to hope that the relationship between computation and mathematical logic will be as fruitful in the next century as that between
More informationCSE 555 HW 5 SAMPLE SOLUTION. Question 1.
CSE 555 HW 5 SAMPLE SOLUTION Question 1. Show that if L is PSPACE-complete, then L is NP-hard. Show that the converse is not true. If L is PSPACE-complete, then for all A PSPACE, A P L. We know SAT PSPACE
More informationCS206 Lecture 03. Propositional Logic Proofs. Plan for Lecture 03. Axioms. Normal Forms
CS206 Lecture 03 Propositional Logic Proofs G. Sivakumar Computer Science Department IIT Bombay siva@iitb.ac.in http://www.cse.iitb.ac.in/ siva Page 1 of 12 Fri, Jan 03, 2003 Plan for Lecture 03 Axioms
More informationComplexity, P and NP
Complexity, P and NP EECS 477 Lecture 21, 11/26/2002 Last week Lower bound arguments Information theoretic (12.2) Decision trees (sorting) Adversary arguments (12.3) Maximum of an array Graph connectivity
More informationLogical Design of Digital Systems
Lecture 4 Table of Content 1. Combinational circuit design 2. Elementary combinatorial circuits for data transmission 3. Memory structures 4. Programmable logic devices 5. Algorithmic minimization approaches
More informationFormal Verification Methods 1: Propositional Logic
Formal Verification Methods 1: Propositional Logic John Harrison Intel Corporation Course overview Propositional logic A resurgence of interest Logic and circuits Normal forms The Davis-Putnam procedure
More informationClasses of Boolean Functions
Classes of Boolean Functions Nader H. Bshouty Eyal Kushilevitz Abstract Here we give classes of Boolean functions that considered in COLT. Classes of Functions Here we introduce the basic classes of functions
More informationComplexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes
Complexity Theory 1 Complexity Theory 2 Complexity Theory Lecture 3 Complexity For any function f : IN IN, we say that a language L is in TIME(f(n)) if there is a machine M = (Q, Σ, s, δ), such that: L
More informationFoundations of Artificial Intelligence
Foundations of Artificial Intelligence 31. Propositional Logic: DPLL Algorithm Malte Helmert and Gabriele Röger University of Basel April 24, 2017 Propositional Logic: Overview Chapter overview: propositional
More informationCSCI3390-Lecture 14: The class NP
CSCI3390-Lecture 14: The class NP 1 Problems and Witnesses All of the decision problems described below have the form: Is there a solution to X? where X is the given problem instance. If the instance is
More informationNP and Computational Intractability
NP and Computational Intractability 1 Polynomial-Time Reduction Desiderata'. Suppose we could solve X in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Reduction.
More informationLecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz
Notes on Complexity Theory: Fall 2005 Last updated: September, 2005 Jonathan Katz Lecture 4 1 Circuit Complexity Circuits are directed, acyclic graphs where nodes are called gates and edges are called
More information1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT
1 Algebraic Methods In an algebraic system Boolean constraints are expressed as a system of algebraic equations or inequalities which has a solution if and only if the constraints are satisfiable. Equations
More informationFoundations of Computation
The Australian National University Semester 2, 2018 Research School of Computer Science Tutorial 1 Dirk Pattinson Foundations of Computation The tutorial contains a number of exercises designed for the
More informationIntroduction. Pvs.NPExample
Introduction Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 09 NP-Completeness (Chapter 34) Stephen Scott (Adapted from Vinodchandran N. Variyam) sscott@cse.unl.edu I
More informationPart 1: Propositional Logic
Part 1: Propositional Logic Literature (also for first-order logic) Schöning: Logik für Informatiker, Spektrum Fitting: First-Order Logic and Automated Theorem Proving, Springer 1 Last time 1.1 Syntax
More informationPropositional and First Order Reasoning
Propositional and First Order Reasoning Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p p Clause: disjunction of literals q \/ p \/ r given by
More informationBinary Decision Diagrams
Binary Decision Diagrams Sungho Kang Yonsei University Outline Representing Logic Function Design Considerations for a BDD package Algorithms 2 Why BDDs BDDs are Canonical (each Boolean function has its
More informationCS 395T Computational Learning Theory. Scribe: Mike Halcrow. x 4. x 2. x 6
CS 395T Computational Learning Theory Lecture 3: September 0, 2007 Lecturer: Adam Klivans Scribe: Mike Halcrow 3. Decision List Recap In the last class, we determined that, when learning a t-decision list,
More informationCOP 4531 Complexity & Analysis of Data Structures & Algorithms
COP 4531 Complexity & Analysis of Data Structures & Algorithms Lecture 18 Reductions and NP-completeness Thanks to Kevin Wayne and the text authors who contributed to these slides Classify Problems According
More informationChapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013
Chapter 2 Reductions and NP CS 573: Algorithms, Fall 2013 August 29, 2013 2.1 Reductions Continued 2.1.1 The Satisfiability Problem SAT 2.1.1.1 Propositional Formulas Definition 2.1.1. Consider a set of
More informationCSE 3500 Algorithms and Complexity Fall 2016 Lecture 25: November 29, 2016
CSE 3500 Algorithms and Complexity Fall 2016 Lecture 25: November 29, 2016 Intractable Problems There are many problems for which the best known algorithms take a very long time (e.g., exponential in some
More informationBDD Based Upon Shannon Expansion
Boolean Function Manipulation OBDD and more BDD Based Upon Shannon Expansion Notations f(x, x 2,, x n ) - n-input function, x i = or f xi=b (x,, x n ) = f(x,,x i-,b,x i+,,x n ), b= or Shannon Expansion
More information1 AC 0 and Håstad Switching Lemma
princeton university cos 522: computational complexity Lecture 19: Circuit complexity Lecturer: Sanjeev Arora Scribe:Tony Wirth Complexity theory s Waterloo As we saw in an earlier lecture, if PH Σ P 2
More informationUniversität Duisburg-Essen FCE 1. Experiment 2. Circuit simulation and Circuit Analysis
Universität Duisburg-Essen PRACTICAL TRAINING TO THE LECTURE FCE 1 Experiment 2 Circuit simulation and Circuit Analysis Name: First Name: Tutor: Matriculation-Number: Group-Number: Date: All questions
More informationPropositional Fragments for Knowledge Compilation and Quantified Boolean Formulae
1/15 Propositional Fragments for Knowledge Compilation and Quantified Boolean Formulae Sylvie Coste-Marquis Daniel Le Berre Florian Letombe Pierre Marquis CRIL, CNRS FRE 2499 Lens, Université d Artois,
More informationCSE20: Discrete Mathematics for Computer Science. Lecture Unit 2: Boolan Functions, Logic Circuits, and Implication
CSE20: Discrete Mathematics for Computer Science Lecture Unit 2: Boolan Functions, Logic Circuits, and Implication Disjunctive normal form Example: Let f (x, y, z) =xy z. Write this function in DNF. Minterm
More informationA Collection of Problems in Propositional Logic
A Collection of Problems in Propositional Logic Hans Kleine Büning SS 2016 Problem 1: SAT (respectively SAT) Instance: A propositional formula α (for SAT in CNF). Question: Is α satisfiable? The problems
More informationPropositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel
Propositional Logic Methods & Tools for Software Engineering (MTSE) Fall 2017 Prof. Arie Gurfinkel References Chpater 1 of Logic for Computer Scientists http://www.springerlink.com/content/978-0-8176-4762-9/
More informationTecniche di Verifica. Introduction to Propositional Logic
Tecniche di Verifica Introduction to Propositional Logic 1 Logic A formal logic is defined by its syntax and semantics. Syntax An alphabet is a set of symbols. A finite sequence of these symbols is called
More informationUnit i) 1)verify that [p->(q->r)] -> [(p->q)->(p->r)] is a tautology or not? 2) simplify the Boolean expression xy+(x+y) + y
Unit i) 1)verify that [p->(q->r)] -> [(p->q)->(p->r)] is a tautology or not? 2) simplify the Boolean expression xy+(x+y) + y 3)find a minimal sum of product representation f(w,x,y)= m(1,2,5,6) 4)simplify
More informationDe Morgan s a Laws. De Morgan s laws say that. (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2.
De Morgan s a Laws De Morgan s laws say that (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2. Here is a proof for the first law: φ 1 φ 2 (φ 1 φ 2 ) φ 1 φ 2 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 a Augustus DeMorgan
More informationEECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive
EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive March 30, 2010 John Wawrzynek Spring 2010 EECS150 - Lec19-cl1 Page 1 Boolean Algebra I (Representations of Combinational
More information13th International Conference on Relational and Algebraic Methods in Computer Science (RAMiCS 13)
13th International Conference on Relational and Algebraic Methods in Computer Science (RAMiCS 13) Relation Algebras, Matrices, and Multi-Valued Decision Diagrams Francis Atampore and Dr. Michael Winter
More informationA Theoretical and Numerical Analysis of the Worst-Case Size of Reduced Ordered Binary Decision Diagrams
A Theoretical and Numerical Analysis of the Worst-Case Size of Reduced Ordered Binary Decision Diagrams JIM NEWTON and DIDIER VERNA, EPITA, France Binary Decision Diagrams (BDDs) and in particular ROBDDs
More informationTautologies, Contradictions, and Contingencies
Section 1.3 Tautologies, Contradictions, and Contingencies A tautology is a proposition which is always true. Example: p p A contradiction is a proposition which is always false. Example: p p A contingency
More informationAnnouncements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office?
N P NP Completeness Announcements Friday Four Square! Today at 4:15PM, outside Gates. Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Explore P, NP, and their connection. Did
More informationBoolean circuits. Lecture Definitions
Lecture 20 Boolean circuits In this lecture we will discuss the Boolean circuit model of computation and its connection to the Turing machine model. Although the Boolean circuit model is fundamentally
More informationCSCI 1010 Models of Computa3on. Lecture 02 Func3ons and Circuits
CSCI 1010 Models of Computa3on Lecture 02 Func3ons and Circuits Overview Func3ons and languages Designing circuits from func3ons Minterms and the DNF Maxterms and CNF Circuit complexity Algebra of Boolean
More informationGeneralized Haar Spectral Representations and Their Applications
Generalized Haar Spectral Representations and Their Applications Bogdan J. Falkowski Nanyang Technological University, School of Electrical and Electronic Engineering, Blk S, Nanyang Avenue, Singapore
More information02 Propositional Logic
SE 2F03 Fall 2005 02 Propositional Logic Instructor: W. M. Farmer Revised: 25 September 2005 1 What is Propositional Logic? Propositional logic is the study of the truth or falsehood of propositions or
More informationPropositional Logic: Methods of Proof (Part II)
Propositional Logic: Methods of Proof (Part II) You will be expected to know Basic definitions Inference, derive, sound, complete Conjunctive Normal Form (CNF) Convert a Boolean formula to CNF Do a short
More informationTEL AVIV UNIVERSITY THE IBY AND ALADAR FLEISCHMAN FACULTY OF ENGINEERING Department of Electrical Engineering - Systems
TEL AVIV UNIVERSITY THE IBY AND ALADAR FLEISCHMAN FACULTY OF ENGINEERING Department of Electrical Engineering - Systems ON THE EXPECTED CLASSIFICATION SPEED OF BOOLEAN FUNCTIONS Thesis submitted toward
More informationSection 1.2 Propositional Equivalences. A tautology is a proposition which is always true. A contradiction is a proposition which is always false.
Section 1.2 Propositional Equivalences A tautology is a proposition which is always true. Classic Example: P P A contradiction is a proposition which is always false. Classic Example: P P A contingency
More informationSafety and Reliability of Embedded Systems
(Sicherheit und Zuverlässigkeit eingebetteter Systeme) Fault Tree Analysis Mathematical Background and Algorithms Prof. Dr. Liggesmeyer, 0 Content Definitions of Terms Introduction to Combinatorics General
More informationAlgebraic Dynamic Programming. Solving Satisfiability with ADP
Algebraic Dynamic Programming Session 12 Solving Satisfiability with ADP Robert Giegerich (Lecture) Stefan Janssen (Exercises) Faculty of Technology Summer 2013 http://www.techfak.uni-bielefeld.de/ags/pi/lehre/adp
More informationCSCI3390-Second Test with Solutions
CSCI3390-Second Test with Solutions April 26, 2016 Each of the 15 parts of the problems below is worth 10 points, except for the more involved 4(d), which is worth 20. A perfect score is 100: if your score
More informationComputational Learning Theory - Hilary Term : Introduction to the PAC Learning Framework
Computational Learning Theory - Hilary Term 2018 1 : Introduction to the PAC Learning Framework Lecturer: Varun Kanade 1 What is computational learning theory? Machine learning techniques lie at the heart
More informationNotes on Computer Theory Last updated: November, Circuits
Notes on Computer Theory Last updated: November, 2015 Circuits Notes by Jonathan Katz, lightly edited by Dov Gordon. 1 Circuits Boolean circuits offer an alternate model of computation: a non-uniform one
More informationModel Checking for Propositions CS477 Formal Software Dev Methods
S477 Formal Software Dev Methods Elsa L Gunter 2112 S, UIU egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul gha January
More informationLecture 15 - NP Completeness 1
CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) February 29, 2018 Lecture 15 - NP Completeness 1 In the last lecture we discussed how to provide
More informationNP-Completeness. f(n) \ n n sec sec sec. n sec 24.3 sec 5.2 mins. 2 n sec 17.9 mins 35.
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979. NP-Completeness 1 General Problems, Input Size and
More informationThe Separation Problem for Binary Decision Diagrams
The Separation Problem for Binary Decision Diagrams J. N. Hooker Joint work with André Ciré Carnegie Mellon University ISAIM 2014 Separation Problem in Optimization Given a relaxation of an optimization
More informationLogic as a Tool Chapter 1: Understanding Propositional Logic 1.1 Propositions and logical connectives. Truth tables and tautologies
Logic as a Tool Chapter 1: Understanding Propositional Logic 1.1 Propositions and logical connectives. Truth tables and tautologies Valentin Stockholm University September 2016 Propositions Proposition:
More informationBinary Decision Diagrams and Symbolic Model Checking
Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of
More informationLOGIC PROPOSITIONAL REASONING
LOGIC PROPOSITIONAL REASONING WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität Linz Version 2018.1
More informationComplete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in
Oracle Turing Machines Nondeterministic OTM defined in the same way (transition relation, rather than function) oracle is like a subroutine, or function in your favorite PL but each call counts as single
More informationPropositional Logic: Evaluating the Formulas
Institute for Formal Models and Verification Johannes Kepler University Linz VL Logik (LVA-Nr. 342208) Winter Semester 2015/2016 Propositional Logic: Evaluating the Formulas Version 2015.2 Armin Biere
More informationComputation and Logic Definitions
Computation and Logic Definitions True and False Also called Boolean truth values, True and False represent the two values or states an atom can assume. We can use any two distinct objects to represent
More informationIf f = ABC + ABC + A B C then f = AB C + A BC + AB C + A BC + A B C
Examples: If f 5 = AB + AB then f 5 = A B + A B = f 10 If f = ABC + ABC + A B C then f = AB C + A BC + AB C + A BC + A B C In terms of a truth table, if f is the sum (OR) of all the minterms with a 1 in
More informationThe Complexity of Optimization Problems
The Complexity of Optimization Problems Summary Lecture 1 - Complexity of algorithms and problems - Complexity classes: P and NP - Reducibility - Karp reducibility - Turing reducibility Uniform and logarithmic
More informationDigitalteknik EIT020. Lecture 10: Kanaugh Maps
Digitalteknik EIT020 Lecture 10: Kanaugh Maps October 2, 2015 Note regarding notation Some notation in the Compendium has changed from older versions. Normal forms for Boolean functions DNF (Disjunctive
More informationNP and Computational Intractability
NP and Computational Intractability 1 Review Basic reduction strategies. Simple equivalence: INDEPENDENT-SET P VERTEX-COVER. Special case to general case: VERTEX-COVER P SET-COVER. Encoding with gadgets:
More informationLecture 5: February 21, 2017
COMS 6998: Advanced Complexity Spring 2017 Lecture 5: February 21, 2017 Lecturer: Rocco Servedio Scribe: Diana Yin 1 Introduction 1.1 Last Time 1. Established the exact correspondence between communication
More informationPropositional Logic Basics Propositional Equivalences Normal forms Boolean functions and digital circuits. Propositional Logic.
Propositional Logic Winter 2012 Propositional Logic: Section 1.1 Proposition A proposition is a declarative sentence that is either true or false. Which ones of the following sentences are propositions?
More information