BDD Based Upon Shannon Expansion
|
|
- Lesley Sullivan
- 6 years ago
- Views:
Transcription
1 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 fix a variable f = x i f xi= (x,, x n ) + x i f xi= (x,, x n )
2 Example f = x x2 + x4 + x x2 x5 f(x=) = x4 + x2 x5 f(x=) = x2 + x4 f = x ( x4 + x2 x5) + x (x2 + x4) Similarly f = x2 ( x4) + x2 (x + x4 + x x5) To represent f, we use a divide-and-conquer approach to represent f(xi=) and f(xi=) xi f(xi=) f(xi=) f = x x2 + Decision Tree f = x (x2 + ) + x () g = x2 () + x2 () g2 = x2 g g2 x x2 g2 f g In f, g2 appears twice, appears 3 times, and appears twice 2
3 OBDD From root (x) to a terminal vertex ( or ), the ordering of the splitting variables is the same Each sub-function appears only once two sub-functions are the same iff their OBDD graphs are the same canonical representation Also known as read-once branch program in comp. theory x x 2X+3=5 x2 x2 3 f 2n+ vertices Classical OBDD Example Variable ordering is not important... x x2 f = x x2... xn xn even s odd # of s 3
4 Classical OBDD Example To represent a symmetric function variable ordering is not important at level i, we need at most i vertices total nodes is < O(n 2 ) no s s 2 s 3 s Ordering Example f = x x2 + x4 + x5 x6 ordering : x x2 x4 x5 x6 (linear result) If (x x2)=, f = no need to read further! Otherwise we can forget about x x2 The memoryless effect makes BDD small A node in a BDD is a memory cell to remember the intermediate results during the computation of the function ordering 2 : x x5 x2 x4 x6 (exponential result) If (x==x5=) we need to remember them all! Because nothing can be decided based upon the information we have 4
5 Ordering and OBDD Size A node in a function graph is a place to remember important information about the computation f = x x 2 + x 3 x x (n-) x n proceed in this direction when reach x 2 need to remember the value of x when reach x 3 only when x x 2 = if x x 2 =, then x x 2 can be ignored and from x 3 the computation restarts fresh OBDD Size f = x x n/2+ + x 2 x n/ x n/2 x n proceed ordering as x x 2 x 3 x 4 x (n-) x n when reach x n/2 all values in x x 2 x 3 x (n-)/2 will need to be remembered because a different assignment may lead to different result nothing can be ignored and nothing for sure to be said about the evaluation yet need a complete binary tree for (n-)/2 variables exponential result 5
6 Satisfiability Satisfy-one: find a path from to the root Satisfy-all : find all different paths from to the root Satisfy-count : count the # of satisfying assignments Computing OBDDs x xn Circuit Initialize all Pis Compute the result of a boolean operation as merging two OBDDs and, or, xor, etc. Use procedures Apply and Reduce Follow topological order until reaching all POs 6
7 Worst-Case Example Worst-case example - multiplication f = A*B for any input ordering, OBDD(f) requires an exponential number of nodes (a n a n- a ) * (b n b n- b ) π is an ordering Theorem: for any π, OBDD size 2 n/8 Potential solutions word-level BDD Binary moment diagram (BMD) Idea of Proof No matter how you order the input variables, you can always find a cut that The width is O(n) The information flow is O(n/8) Input set Input set 2 O(n/8) 7
8 Equivalent to Say Need to remember O(n/8) different states More Terminology Composition f(xi=g)(x xn) = f(x,, g(x xn),, xn) ex. f=xx2+x4 and g=x2+ f(x=g) = x2 + x2 + x4 = x2 + x4 Dependency Set I f = { i f(xi=) f(xi=) } f depends on xi f = x x2 + x x2 f is independent of x Satisfying Set S f = { (x xn) f(x xn) = } all assignments that made f = 8
9 OBDD Operation Complexity Reduce (make canonical, minimal form) - O(G log G) (DA) graphs isomorphism Apply (merge two OBDDs) - O(G G 2 ) Boolean operation = {Apply Reduce} Restrict {f(xi=b)} - O(G log G) Compose {f(xi=g)} - O(G 2 G 2 ) Satisfy-One - O(n) Satisfy-all - O(n S f ) Satisfy-Count - O(G) This is a #P-complete problem Apply and Reduce OBDD op OBDD2 The basic algorithms to do so are Apply(OBDD, OBDD2) -> BDD3 Reduce(BDD3) -> OBDD3 9
10 f op f 2 = Apply x i [ f (x i =) op f 2 (x i =) ] + x i [ f (x i =) op f 2 (x i =) ] op = T T2 T3 T4 T op T3 T2 op T4 Example 2 Apply = 3 3 F= X + X X3 2 Reduce
11 Complexity of Apply i nodes op j nodes = k nodes k i * j i nodes represent i different sub-functions the worst case - (each of i nodes) op (each of j nodes) are different Total complexity O(G G2) Hash table in Apply Apply ( ), T T2 a T3 T4 b Apply(T, T3) Apply(T2, T4) Apply(a,b) When doing Apply(T,T3), we have done Apply(a,b) Apply(a,b) should not be repeated Need a hash table to store results of from Apply of all sub-functions.
12 Reduce DA Graph Isomorphism we can do a pair-wise comparison for all nodes but that is too slow instead: by labeling bottom-up = = 6 (4,5) 4 (3,2) 5 (,2) 3 (,2) () (2) Each graph has a unique labeling scheme same label at the root = same graph Labeling Scheme i i... i i+ i+ i+... i+2 i+2... i+2 i = i a b c d iff a=c && b=d Why working bottom-up? So that when working at level i, each node below already points to a unique graph already 2
13 Redundant Nodes Removal i+ i i i = i+ i+ i i i- i- i+ i+ i+ = At each level, how do we know how many nodes are identical in the labeling scheme? by sorting the labels at that level O(n log n) time complexity An Example (4,3) (,3) 2 2 (3,3) 2 3 (,2) 3 (,2) 3 () (2) () (2) 3
14 Other BDDs Function Decomposition Rules OBDD f = x f(x=) + x f(x=) Reed-Muller Decomposition f = f(x=) x [ f(x=) f(x=) ] f = f(x=) x [ f(x=) f(x=) ] Ordered Functional Decision Diagram x f(x=) f(x=) f(x=) 4
15 F = (x x2) F(=) = F(=) = x x2 difference D3 = x x2 D3(x2=) = x D3(x2=) = x difference D2 = OFDD x2 x OFDD requires a different Reduction rule For some functions, OFDD can be exponentially smaller than OBDD and vice verse Evaluation of the graph is different from OBDD Can no longer be simply tracing from root to s or s Free BDD The ordering along each path can be different Main issues Deciding that two trees are representing the same functions can not be done by graph isomorphism. It can only be done via a probabilistic algorithms Free BDD give flexibility in the representation but sacrifice in the complexity of manipulate the BDD date structures 5
16 Represent Numeric-Valued Functions eg. f=x +2x +4x 2 Arithmetic Decision Diagram (ADD) Associate more values as terminal nodes Edge-Valued BDD (EVBDD) Bring values from the terminal nodes to edges Binary Moment Diagram (BMD) Decomposition : f = f(x=) + x (δf/δx) Linearly Inductive BDD Linearly Inductive Function Recursively Defined X i : the inputs to the i-instance function F i : the i-instance function B i : an arbitrary boolean function F = B (x ) and F i = B i (X i, G i- ) B i = B j for all i,j Example - Adder Sum = a b c_in Sum i = ai bi Carry i- Carry = a b + (a+b) c_in Carry i = ai bi + (ai+bi) Carry i- 6
17 LIBDD Require different rules for Apply and Reduce Applicable to special case when good sequentiality can be captured Function definition has to be known in advance Inspiration Zero-Suppressed BDD To represent a collection of bit vectors eg. () () () Such a representation is often encountered in some combinatorial problems Usually, the s in the bit vectors is sparse ZBDD Change the Reduction rule A node can be removed iff the -edge points to x 7
18 x2 ZBDD Interpretation x x x x In ZBDD sense A = {, } and B = {,, } ZBDD is good for sets manipulation ZBDD can be used to represent a function as a collection of cube sets x,x2,={-,-,-} => {,,} To ensure sparse => :, :, -: 8
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 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 informationBinary 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 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 informationPolynomial Methods for Component Matching and Verification
Polynomial Methods for Component Matching and Verification James Smith Stanford University Computer Systems Laboratory Stanford, CA 94305 1. Abstract Component reuse requires designers to determine whether
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 informationOverview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits
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 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 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 informationTitle. Citation Information Processing Letters, 112(16): Issue Date Doc URLhttp://hdl.handle.net/2115/ Type.
Title Counterexamples to the long-standing conjectur Author(s) Yoshinaka, Ryo; Kawahara, Jun; Denzumi, Shuhei Citation Information Processing Letters, 112(16): 636-6 Issue Date 2012-08-31 Doc URLhttp://hdl.handle.net/2115/50105
More informationComputational Boolean Algebra. Pingqiang Zhou ShanghaiTech University
Computational Boolean Algebra Pingqiang Zhou ShanghaiTech University Announcements Written assignment #1 is out. Due: March 24 th, in class. Programming assignment #1 is out. Due: March 24 th, 11:59PM.
More informationCircuits. Lecture 11 Uniform Circuit Complexity
Circuits Lecture 11 Uniform Circuit Complexity 1 Recall 2 Recall Non-uniform complexity 2 Recall Non-uniform complexity P/1 Decidable 2 Recall Non-uniform complexity P/1 Decidable NP P/log NP = P 2 Recall
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 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 informationhexadecimal-to-decimal conversion
OTHER NUMBER SYSTEMS: octal (digits 0 to 7) group three binary numbers together and represent as base 8 3564 10 = 110 111 101 100 2 = (6X8 3 ) + (7X8 2 ) + (5X8 1 ) + (4X8 0 ) = 6754 8 hexadecimal (digits
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 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 informationBounds on the OBDD-Size of Integer Multiplication via Universal Hashing
Bounds on the OBDD-Size of Integer Multiplication via Universal Hashing Philipp Woelfel Dept. of Computer Science University Dortmund D-44221 Dortmund Germany phone: +49 231 755-2120 fax: +49 231 755-2047
More informationData Structures and Algorithms
Data Structures and Algorithms Spring 2017-2018 Outline 1 Sorting Algorithms (contd.) Outline Sorting Algorithms (contd.) 1 Sorting Algorithms (contd.) Analysis of Quicksort Time to sort array of length
More informationEquivalence Checking of Sequential Circuits
Equivalence Checking of Sequential Circuits Sanjit Seshia EECS UC Berkeley With thanks to K. Keutzer, R. Rutenbar 1 Today s Lecture What we know: How to check two combinational circuits for equivalence
More informationCOMP 382: Reasoning about algorithms
Fall 2014 Unit 4: Basics of complexity analysis Correctness and efficiency So far, we have talked about correctness and termination of algorithms What about efficiency? Running time of an algorithm For
More informationExercises - Solutions
Chapter 1 Exercises - Solutions Exercise 1.1. The first two definitions are equivalent, since we follow in both cases the unique path leading from v to a sink and using only a i -edges leaving x i -nodes.
More informationAnand Raghunathan MSEE 348
ECE 595Z: Digital VLSI Design Automation, Spring 2012 2012 Anand Raghunathan 1 ECE 595Z Digital Systems Design Automation Module 2 (Lectures 3-5) : Advanced Boolean Algebra Lecture 5 Anand Raghunathan
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 informationBasing Decisions on Sentences in Decision Diagrams
Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence Basing Decisions on Sentences in Decision Diagrams Yexiang Xue Department of Computer Science Cornell University yexiang@cs.cornell.edu
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 informationAnalysis of Algorithm Efficiency. Dr. Yingwu Zhu
Analysis of Algorithm Efficiency Dr. Yingwu Zhu Measure Algorithm Efficiency Time efficiency How fast the algorithm runs; amount of time required to accomplish the task Our focus! Space efficiency Amount
More informationBOOLEAN ALGEBRA INTRODUCTION SUBSETS
BOOLEAN ALGEBRA M. Ragheb 1/294/2018 INTRODUCTION Modern algebra is centered around the concept of an algebraic system: A, consisting of a set of elements: ai, i=1, 2,, which are combined by a set of operations
More informationMulti-Terminal Multi-Valued Decision Diagrams for Characteristic Function Representing Cluster Decomposition
22 IEEE 42nd International Symposium on Multiple-Valued Logic Multi-Terminal Multi-Valued Decision Diagrams for Characteristic Function Representing Cluster Decomposition Hiroki Nakahara, Tsutomu Sasao,
More informationCounter Examples to the Conjecture on the Complexity of BDD Binary Operations
TCS -TR-A-11-52 TCS Technical Report Counter Examples to the Conjecture on the Complexity of BDD Binary Operations by Ryo Yoshinaka, Jun Kawahara, Shuhei Denzumi, Hiroki Arimura and Shin-ichi Minato Division
More informationRepresentations of All Solutions of Boolean Programming Problems
Representations of All Solutions of Boolean Programming Problems Utz-Uwe Haus and Carla Michini Institute for Operations Research Department of Mathematics ETH Zurich Rämistr. 101, 8092 Zürich, Switzerland
More informationEECS150 - Digital Design Lecture 10 - Combinational Logic Circuits Part 1
EECS5 - Digital Design Lecture - Combinational Logic Circuits Part Feburary 26, 22 John Wawrzynek Spring 22 EECS5 - Lec-cl Page Combinational Logic (CL) Defined y i = f i (x,...., xn-), where x, y are
More informationGeometric Steiner Trees
Geometric Steiner Trees From the book: Optimal Interconnection Trees in the Plane By Marcus Brazil and Martin Zachariasen Part 3: Computational Complexity and the Steiner Tree Problem Marcus Brazil 2015
More informationLecture 4 October 18th
Directed and undirected graphical models Fall 2017 Lecture 4 October 18th Lecturer: Guillaume Obozinski Scribe: In this lecture, we will assume that all random variables are discrete, to keep notations
More informationCSE140: Components and Design Techniques for Digital Systems. Logic minimization algorithm summary. Instructor: Mohsen Imani UC San Diego
CSE4: Components and Design Techniques for Digital Systems Logic minimization algorithm summary Instructor: Mohsen Imani UC San Diego Slides from: Prof.Tajana Simunic Rosing & Dr.Pietro Mercati Definition
More information1188 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 9, SEPTEMBER 2006
1188 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 9, SEPTEMBER 2006 Taylor Expansion Diagrams: A Canonical Representation for Verification of Data Flow Designs Maciej Ciesielski, Senior Member, IEEE, Priyank
More informationCSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010
CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010 Computational complexity studies the amount of resources necessary to perform given computations.
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 informationXI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.
2017-18 XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL HALF ADDER 1. The circuit that performs addition within the Arithmetic and Logic Unit of the CPU are called adders. 2. A unit that adds two
More informationDesign of Sequential Circuits
Design of Sequential Circuits Seven Steps: Construct a state diagram (showing contents of flip flop and inputs with next state) Assign letter variables to each flip flop and each input and output variable
More informationCTL Model Checking. Wishnu Prasetya.
CTL Model Checking Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv Background Example: verification of web applications à e.g. to prove existence of a path from page A to page B. Use of CTL
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 informationISSN (PRINT): , (ONLINE): , VOLUME-4, ISSUE-10,
A NOVEL DOMINO LOGIC DESIGN FOR EMBEDDED APPLICATION Dr.K.Sujatha Associate Professor, Department of Computer science and Engineering, Sri Krishna College of Engineering and Technology, Coimbatore, Tamilnadu,
More informationA Lower Bound Technique for Nondeterministic Graph-Driven Read-Once-Branching Programs and its Applications
A Lower Bound Technique for Nondeterministic Graph-Driven Read-Once-Branching Programs and its Applications Beate Bollig and Philipp Woelfel FB Informatik, LS2, Univ. Dortmund, 44221 Dortmund, Germany
More informationStochastic Decision Diagrams
Stochastic Decision Diagrams John Hooker CORS/INFORMS Montréal June 2015 Objective Relaxed decision diagrams provide an generalpurpose method for discrete optimization. When the problem has a dynamic programming
More informationCHAPTER1: Digital Logic Circuits Combination Circuits
CS224: Computer Organization S.KHABET CHAPTER1: Digital Logic Circuits Combination Circuits 1 PRIMITIVE LOGIC GATES Each of our basic operations can be implemented in hardware using a primitive logic gate.
More informationOptimization Bounds from Binary Decision Diagrams
Optimization Bounds from Binary Decision Diagrams J. N. Hooker Joint work with David Bergman, André Ciré, Willem van Hoeve Carnegie Mellon University ICS 203 Binary Decision Diagrams BDDs historically
More informationLecture 22: Counting
CS 710: Complexity Theory 4/8/2010 Lecture 22: Counting Instructor: Dieter van Melkebeek Scribe: Phil Rydzewski & Chi Man Liu Last time we introduced extractors and discussed two methods to construct them.
More informationCardinality Networks: a Theoretical and Empirical Study
Constraints manuscript No. (will be inserted by the editor) Cardinality Networks: a Theoretical and Empirical Study Roberto Asín, Robert Nieuwenhuis, Albert Oliveras, Enric Rodríguez-Carbonell Received:
More informationParallelism and Machine Models
Parallelism and Machine Models Andrew D Smith University of New Brunswick, Fredericton Faculty of Computer Science Overview Part 1: The Parallel Computation Thesis Part 2: Parallelism of Arithmetic RAMs
More informationDecision Diagrams for Discrete Optimization
Decision Diagrams for Discrete Optimization Willem Jan van Hoeve Tepper School of Business Carnegie Mellon University www.andrew.cmu.edu/user/vanhoeve/mdd/ Acknowledgments: David Bergman, Andre Cire, Samid
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 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 informationSubquadratic space complexity multiplier for a class of binary fields using Toeplitz matrix approach
Subquadratic space complexity multiplier for a class of binary fields using Toeplitz matrix approach M A Hasan 1 and C Negre 2 1 ECE Department and CACR, University of Waterloo, Ontario, Canada 2 Team
More informationBinary Decision Diagrams
Binary Decision Diagrams An Introduction and Some Applications Manas Thakur PACE Lab, IIT Madras Manas Thakur (IIT Madras) BDDs 1 / 25 Motivating Example Binary decision tree for a truth table Manas Thakur
More informationInteger Linear Programming
Integer Linear Programming Solution : cutting planes and Branch and Bound Hugues Talbot Laboratoire CVN April 13, 2018 IP Resolution Gomory s cutting planes Solution branch-and-bound General method Resolution
More informationWEEK 2.1 BOOLEAN ALGEBRA
WEEK 2.1 BOOLEAN ALGEBRA 1 Boolean Algebra Boolean algebra was introduced in 1854 by George Boole and in 1938 was shown by C. E. Shannon to be useful for manipulating Boolean logic functions. The postulates
More informationCHAPTER 1. Relations. 1. Relations and Their Properties. Discussion
CHAPTER 1 Relations 1. Relations and Their Properties 1.1. Definition of a Relation. Definition 1.1.1. A binary relation from a set A to a set B is a subset R A B. If (a, b) R we say a is Related to b
More informationA Lower Bound Technique for Restricted Branching Programs and Applications
A Lower Bound Technique for Restricted Branching Programs and Applications (Extended Abstract) Philipp Woelfel FB Informatik, LS2, Univ. Dortmund, 44221 Dortmund, Germany woelfel@ls2.cs.uni-dortmund.de
More informationACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms
1. Computability, Complexity and Algorithms Part a: You are given a graph G = (V,E) with edge weights w(e) > 0 for e E. You are also given a minimum cost spanning tree (MST) T. For one particular edge
More informationFault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs
Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs Raimund Ubar, Lembit Jürimägi (&), Elmet Orasson, and Jaan Raik Department of Computer Engineering,
More informationMath 2: Algebra 2, Geometry and Statistics Ms. Sheppard-Brick Chapter 4 Test Review
Chapter 4 Test Review Students will be able to (SWBAT): Write an explicit and a recursive function rule for a linear table of values. Write an explicit function rule for a quadratic table of values. Determine
More informationAlgorithms: COMP3121/3821/9101/9801
NEW SOUTH WALES Algorithms: COMP3121/3821/9101/9801 Aleks Ignjatović School of Computer Science and Engineering University of New South Wales LECTURE 9: INTRACTABILITY COMP3121/3821/9101/9801 1 / 29 Feasibility
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 information= = = = = =
PARTITION THEORY (notes by M. Hlynka, University of Windsor) Definition: A partition of a positive integer n is an expression of n as a sum of positive integers. Partitions are considered the same if the
More informationELCT201: DIGITAL LOGIC DESIGN
ELCT2: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 4 Following the slides of Dr. Ahmed H. Madian محرم 439 ه Winter 28
More informationChapter 7 Logic Circuits
Chapter 7 Logic Circuits Goal. Advantages of digital technology compared to analog technology. 2. Terminology of Digital Circuits. 3. Convert Numbers between Decimal, Binary and Other forms. 5. Binary
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 informationProblem. Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26
Binary Search Introduction Problem Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26 Strategy 1: Random Search Randomly select a page until the page containing
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 informationAdders, subtractors comparators, multipliers and other ALU elements
CSE4: Components and Design Techniques for Digital Systems Adders, subtractors comparators, multipliers and other ALU elements Instructor: Mohsen Imani UC San Diego Slides from: Prof.Tajana Simunic Rosing
More informationREVIEW QUESTIONS. Chapter 1: Foundations: Sets, Logic, and Algorithms
REVIEW QUESTIONS Chapter 1: Foundations: Sets, Logic, and Algorithms 1. Why can t a Venn diagram be used to prove a statement about sets? 2. Suppose S is a set with n elements. Explain why the power set
More informationCOMPUTER ARITHMETIC. 13/05/2010 cryptography - math background pp. 1 / 162
COMPUTER ARITHMETIC 13/05/2010 cryptography - math background pp. 1 / 162 RECALL OF COMPUTER ARITHMETIC computers implement some types of arithmetic for instance, addition, subtratction, multiplication
More informationBinary decision diagrams for security protocols
for Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 4 czerwca 2012 roku 1 2 3 4 Infrastructure with Intruder Threat template 5 References BDD definition Definition An BDD G
More informationCombinational Logic. Review of Combinational Logic 1
Combinational Logic! Switches -> Boolean algebra! Representation of Boolean functions! Logic circuit elements - logic gates! Regular logic structures! Timing behavior of combinational logic! HDLs and combinational
More informationBoolean Algebra and Digital Logic 2009, University of Colombo School of Computing
IT 204 Section 3.0 Boolean Algebra and Digital Logic Boolean Algebra 2 Logic Equations to Truth Tables X = A. B + A. B + AB A B X 0 0 0 0 3 Sum of Products The OR operation performed on the products of
More informationCS6375: Machine Learning Gautam Kunapuli. Decision Trees
Gautam Kunapuli Example: Restaurant Recommendation Example: Develop a model to recommend restaurants to users depending on their past dining experiences. Here, the features are cost (x ) and the user s
More informationPartition of Integers into Distinct Summands with Upper Bounds. Partition of Integers into Even Summands. An Example
Partition of Integers into Even Summands We ask for the number of partitions of m Z + into positive even integers The desired number is the coefficient of x m in + x + x 4 + ) + x 4 + x 8 + ) + x 6 + x
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 informationUnit 1A: Computational Complexity
Unit 1A: Computational Complexity Course contents: Computational complexity NP-completeness Algorithmic Paradigms Readings Chapters 3, 4, and 5 Unit 1A 1 O: Upper Bounding Function Def: f(n)= O(g(n)) if
More informationCh 2. Combinational Logic. II - Combinational Logic Contemporary Logic Design 1
Ch 2. Combinational Logic II - Combinational Logic Contemporary Logic Design 1 Combinational logic Define The kind of digital system whose output behavior depends only on the current inputs memoryless:
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 informationCS226 Mid-Semester Examination (Spring 2016)
CS226 Mid-Semester Examination (Spring 2016) Max marks: 60 Time: 120 mins The exam is open book and notes brought to the exam hall. Be brief, complete and stick to what has been asked. Unless asked for
More informationCombinatorial Enumeration. Jason Z. Gao Carleton University, Ottawa, Canada
Combinatorial Enumeration Jason Z. Gao Carleton University, Ottawa, Canada Counting Combinatorial Structures We are interested in counting combinatorial (discrete) structures of a given size. For example,
More informationPhysical Mapping. Restriction Mapping. Lecture 12. A physical map of a DNA tells the location of precisely defined sequences along the molecule.
Computat onal iology Lecture 12 Physical Mapping physical map of a DN tells the location of precisely defined sequences along the molecule. Restriction mapping: mapping of restriction sites of a cutting
More informationPATH BUNDLES ON n-cubes
PATH BUNDLES ON n-cubes MATTHEW ELDER Abstract. A path bundle is a set of 2 a paths in an n-cube, denoted Q n, such that every path has the same length, the paths partition the vertices of Q n, the endpoints
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 informationAlgorithms and Data Structures 2016 Week 5 solutions (Tues 9th - Fri 12th February)
Algorithms and Data Structures 016 Week 5 solutions (Tues 9th - Fri 1th February) 1. Draw the decision tree (under the assumption of all-distinct inputs) Quicksort for n = 3. answer: (of course you should
More informationCS151 Complexity Theory
Introduction CS151 Complexity Theory Lecture 5 April 13, 2004 Power from an unexpected source? we know PEXP, which implies no polytime algorithm for Succinct CVAL poly-size Boolean circuits for Succinct
More informationAntonina Kolokolova Memorial University of Newfoundland
6 0 1 5 2 4 3 Antonina Kolokolova Memorial University of Newfoundland Understanding limits of proof techniques: Diagonalization Algebrization (limits of arithmetization technique) Natural proofs Power
More informationSequential Equivalence Checking - I
Sequential Equivalence Checking - I Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab. Dept. of Electrical Engineering Indian Institute of Technology Bombay viren@ee.iitb.ac.in
More informationCOL 730: Parallel Programming
COL 730: Parallel Programming PARALLEL SORTING Bitonic Merge and Sort Bitonic sequence: {a 0, a 1,, a n-1 }: A sequence with a monotonically increasing part and a monotonically decreasing part For some
More informationFORMAL METHODS LECTURE VI BINARY DECISION DIAGRAMS (BDD S)
Alessandro Artale (FM First Semester 2009/2010) p. 1/38 FORMAL METHODS LECTURE VI BINARY DECISION DIAGRAMS (BDD S) Alessandro Artale Faulty of Computer Siene Free University of Bolzano artale@inf.unibz.it
More informationLecture 2: Divide and conquer and Dynamic programming
Chapter 2 Lecture 2: Divide and conquer and Dynamic programming 2.1 Divide and Conquer Idea: - divide the problem into subproblems in linear time - solve subproblems recursively - combine the results in
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 information1 The Low-Degree Testing Assumption
Advanced Complexity Theory Spring 2016 Lecture 17: PCP with Polylogarithmic Queries and Sum Check Prof. Dana Moshkovitz Scribes: Dana Moshkovitz & Michael Forbes Scribe Date: Fall 2010 In this lecture
More informationAdders, subtractors comparators, multipliers and other ALU elements
CSE4: Components and Design Techniques for Digital Systems Adders, subtractors comparators, multipliers and other ALU elements Adders 2 Circuit Delay Transistors have instrinsic resistance and capacitance
More informationAllocation of multiple processors to lazy boolean function trees justification of the magic number 2/3
Allocation of multiple processors to lazy boolean function trees justification of the magic number 2/3 Alan Dix Computer Science Department University of York, York, YO1 5DD, U.K. alan@uk.ac.york.minster
More informationMa/CS 117c Handout # 5 P vs. NP
Ma/CS 117c Handout # 5 P vs. NP We consider the possible relationships among the classes P, NP, and co-np. First we consider properties of the class of NP-complete problems, as opposed to those which are
More information