Binary Decision Diagrams

Size: px
Start display at page:

Download "Binary Decision Diagrams"

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 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 information

Reduced Ordered Binary Decision Diagrams

Reduced 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 information

Boolean decision diagrams and SAT-based representations

Boolean 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 information

Binary Decision Diagrams

Binary 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 information

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

Computational 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 information

Binary Decision Diagrams

Binary 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 information

COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS

COMPRESSED 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 information

EECS 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 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 information

Binary Decision Diagrams

Binary 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 information

Decision Procedures for Satisfiability and Validity in Propositional Logic

Decision 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 information

A brief introduction to Logic. (slides from

A 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 information

On the Relative Efficiency of DPLL and OBDDs with Axiom and Join

On 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 information

Binary Decision Diagrams. Graphs. Boolean Functions

Binary 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 information

Symbolic Model Checking with ROBDDs

Symbolic 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 information

Binary Decision Diagrams

Binary 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 information

Reduced Ordered Binary Decision Diagrams

Reduced 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 information

Comp487/587 - Boolean Formulas

Comp487/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 information

Reduced 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 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 information

CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis

CS 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 information

Lecture 2: Proof of Switching Lemma

Lecture 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 information

Boolean Algebra. Philipp Koehn. 9 September 2016

Boolean 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 information

Limits 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 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 information

CSC 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 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 information

Models of Computation

Models 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 information

1 PSPACE-Completeness

1 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 information

QuIDD-Optimised Quantum Algorithms

QuIDD-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 information

Chapter 2 Combinational Logic Circuits

Chapter 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 information

Lecture 8. MINDNF = {(φ, k) φ is a CNF expression and DNF expression ψ s.t. ψ k and ψ is equivalent to φ}

Lecture 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 information

CS6840: Advanced Complexity Theory Mar 29, Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K.

CS6840: 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 information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity 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 information

CS 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 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 information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. 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 information

Introduction to Solving Combinatorial Problems with SAT

Introduction 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 information

CDM. Algorithms for Propositional Logic

CDM. 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 information

Propositional Logic. Testing, Quality Assurance, and Maintenance Winter Prof. Arie Gurfinkel

Propositional 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 information

CS156: The Calculus of Computation

CS156: 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 information

CSE 555 HW 5 SAMPLE SOLUTION. Question 1.

CSE 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 information

CS206 Lecture 03. Propositional Logic Proofs. Plan for Lecture 03. Axioms. Normal Forms

CS206 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 information

Complexity, P and NP

Complexity, 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 information

Logical Design of Digital Systems

Logical 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 information

Formal Verification Methods 1: Propositional Logic

Formal 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 information

Classes of Boolean Functions

Classes 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 information

Complexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes

Complexity. 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 information

Foundations of Artificial Intelligence

Foundations 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 information

CSCI3390-Lecture 14: The class NP

CSCI3390-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 information

NP and Computational Intractability

NP 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 information

Lecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz

Lecture 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 information

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT

1 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 information

Foundations of Computation

Foundations 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 information

Introduction. Pvs.NPExample

Introduction. 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 information

Part 1: Propositional Logic

Part 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 information

Propositional and First Order Reasoning

Propositional 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 information

Binary Decision Diagrams

Binary 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 information

CS 395T Computational Learning Theory. Scribe: Mike Halcrow. x 4. x 2. x 6

CS 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 information

COP 4531 Complexity & Analysis of Data Structures & Algorithms

COP 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 information

Chapter 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. 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 information

CSE 3500 Algorithms and Complexity Fall 2016 Lecture 25: November 29, 2016

CSE 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 information

BDD Based Upon Shannon Expansion

BDD 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 information

1 AC 0 and Håstad Switching Lemma

1 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 information

Universität Duisburg-Essen FCE 1. Experiment 2. Circuit simulation and Circuit Analysis

Universitä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 information

Propositional Fragments for Knowledge Compilation and Quantified Boolean Formulae

Propositional 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 information

CSE20: 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 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 information

A Collection of Problems in Propositional Logic

A 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 information

Propositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel

Propositional 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 information

Tecniche di Verifica. Introduction to Propositional Logic

Tecniche 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 information

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

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 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 information

De 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. 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 information

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive

EECS150 - 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 information

13th 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) 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 information

A 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 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 information

Tautologies, Contradictions, and Contingencies

Tautologies, 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 information

Announcements. 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?

Announcements. 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 information

Boolean circuits. Lecture Definitions

Boolean 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 information

CSCI 1010 Models of Computa3on. Lecture 02 Func3ons and Circuits

CSCI 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 information

Generalized Haar Spectral Representations and Their Applications

Generalized 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 information

02 Propositional Logic

02 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 information

Propositional Logic: Methods of Proof (Part II)

Propositional 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 information

TEL 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 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 information

Section 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. 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 information

Safety and Reliability of Embedded Systems

Safety 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 information

Algebraic Dynamic Programming. Solving Satisfiability with ADP

Algebraic 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 information

CSCI3390-Second Test with Solutions

CSCI3390-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 information

Computational Learning Theory - Hilary Term : Introduction to the PAC Learning Framework

Computational 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 information

Notes on Computer Theory Last updated: November, Circuits

Notes 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 information

Model Checking for Propositions CS477 Formal Software Dev Methods

Model 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 information

Lecture 15 - NP Completeness 1

Lecture 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 information

NP-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. 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 information

The Separation Problem for Binary Decision Diagrams

The 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 information

Logic 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 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 information

Binary Decision Diagrams and Symbolic Model Checking

Binary 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 information

LOGIC PROPOSITIONAL REASONING

LOGIC 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 information

Complete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in

Complete 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 information

Propositional Logic: Evaluating the Formulas

Propositional 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 information

Computation and Logic Definitions

Computation 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 information

If f = ABC + ABC + A B C then f = AB C + A BC + AB C + A BC + A B C

If 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 information

The Complexity of Optimization Problems

The 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 information

Digitalteknik EIT020. Lecture 10: Kanaugh Maps

Digitalteknik 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 information

NP and Computational Intractability

NP 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 information

Lecture 5: February 21, 2017

Lecture 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 information

Propositional Logic Basics Propositional Equivalences Normal forms Boolean functions and digital circuits. Propositional Logic.

Propositional 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