# BDD Based Upon Shannon Expansion

Save this PDF as:

Size: px
Start display at page:

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

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

### Equivalence 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

### Title. 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

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

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

### Bounds 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

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

### 1188 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

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

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

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

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

### CHAPTER1: 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.

### Representations 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

### Optimization 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

### WEEK 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

### Design 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

### Adders, 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

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

### = = = = = =

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

### Partition 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

### Problem. 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

### Introduction to Digital Logic Missouri S&T University CPE 2210 Subtractors

Introduction to Digital Logic Missouri S&T University CPE 2210 Egemen K. Çetinkaya Egemen K. Çetinkaya Department of Electrical & Computer Engineering Missouri University of Science and Technology cetinkayae@mst.edu

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

### Ma/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

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

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

### GF(2 m ) arithmetic: summary

GF(2 m ) arithmetic: summary EE 387, Notes 18, Handout #32 Addition/subtraction: bitwise XOR (m gates/ops) Multiplication: bit serial (shift and add) bit parallel (combinational) subfield representation

### Unit 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

### Notes on MapReduce Algorithms

Notes on MapReduce Algorithms Barna Saha 1 Finding Minimum Spanning Tree of a Dense Graph in MapReduce We are given a graph G = (V, E) on V = N vertices and E = m N 1+c edges for some constant c > 0. Our

### COS597D: Information Theory in Computer Science October 5, Lecture 6

COS597D: Information Theory in Computer Science October 5, 2011 Lecture 6 Lecturer: Mark Braverman Scribe: Yonatan Naamad 1 A lower bound for perfect hash families. In the previous lecture, we saw that

### FORMAL 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

### Sequential 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

### dy = f( x) dx = F ( x)+c = f ( x) dy = f( x) dx

Antiderivatives and The Integral Antiderivatives Objective: Use indefinite integral notation for antiderivatives. Use basic integration rules to find antiderivatives. Another important question in calculus

### Looking at a two binary digit sum shows what we need to extend addition to multiple binary digits.

A Full Adder The half-adder is extremely useful until you want to add more that one binary digit quantities. The slow way to develop a two binary digit adders would be to make a truth table and reduce

### Synthesis of 2-level Logic Exact and Heuristic Methods. Two Approaches

Synthesis of 2-level Logic Exact and Heuristic Methods Lecture 7: Branch & Bound Exact Two Approaches Find all primes Find a complete sum Find a minimum cover (covering problem) Heuristic Take an initial

### Module 1: Analyzing the Efficiency of Algorithms

Module 1: Analyzing the Efficiency of Algorithms Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu What is an Algorithm?

### 1 Introduction to information theory

1 Introduction to information theory 1.1 Introduction In this chapter we present some of the basic concepts of information theory. The situations we have in mind involve the exchange of information through

### Prove that if not fat and not triangle necessarily means not green then green must be fat or triangle (or both).

hapter : oolean lgebra.) Definition of oolean lgebra The oolean algebra is named after George ool who developed this algebra (854) in order to analyze logical problems. n example to such problem is: Prove

Chapter 3 Arithmetic is the most basic thing you can do with a computer We focus on addition, subtraction, multiplication and arithmetic-logic units, or ALUs, which are the heart of CPUs. ALU design Bit

### Advanced Analysis of Algorithms - Midterm (Solutions)

Advanced Analysis of Algorithms - Midterm (Solutions) K. Subramani LCSEE, West Virginia University, Morgantown, WV {ksmani@csee.wvu.edu} 1 Problems 1. Solve the following recurrence using substitution:

### 10.4 The Kruskal Katona theorem

104 The Krusal Katona theorem 141 Example 1013 (Maximum weight traveling salesman problem We are given a complete directed graph with non-negative weights on edges, and we must find a maximum weight Hamiltonian

### k-protected VERTICES IN BINARY SEARCH TREES

k-protected VERTICES IN BINARY SEARCH TREES MIKLÓS BÓNA Abstract. We show that for every k, the probability that a randomly selected vertex of a random binary search tree on n nodes is at distance k from

### An Algebraic View of the Relation between Largest Common Subtrees and Smallest Common Supertrees

An Algebraic View of the Relation between Largest Common Subtrees and Smallest Common Supertrees Francesc Rosselló 1, Gabriel Valiente 2 1 Department of Mathematics and Computer Science, Research Institute

CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions

### On the Sizes of Decision Diagrams Representing the Set of All Parse Trees of a Context-free Grammar

Proceedings of Machine Learning Research vol 73:153-164, 2017 AMBN 2017 On the Sizes of Decision Diagrams Representing the Set of All Parse Trees of a Context-free Grammar Kei Amii Kyoto University Kyoto

### Combinational Equivalence Checking using Boolean Satisfiability and Binary Decision Diagrams

Combinational Equivalence Checking using Boolean Satisfiability and Binary Decision Diagrams Sherief Reda Ashraf Salem Computer & Systems Eng. Dept. Mentor Graphics Egypt Ain Shams University Cairo, Egypt

### Boolean Algebra. Sungho Kang. Yonsei University

Boolean Algebra Sungho Kang Yonsei University Outline Set, Relations, and Functions Partial Orders Boolean Functions Don t Care Conditions Incomplete Specifications 2 Set Notation \$09,3/#0,9 438 v V Element

### Module 1: Analyzing the Efficiency of Algorithms

Module 1: Analyzing the Efficiency of Algorithms Dr. Natarajan Meghanathan Associate Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu Based

### Introduction to Divide and Conquer

Introduction to Divide and Conquer Sorting with O(n log n) comparisons and integer multiplication faster than O(n 2 ) Periklis A. Papakonstantinou York University Consider a problem that admits a straightforward

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

### Decidable Subsets of CCS

Decidable Subsets of CCS based on the paper with the same title by Christensen, Hirshfeld and Moller from 1994 Sven Dziadek Abstract Process algebra is a very interesting framework for describing and analyzing

### Digital electronics form a class of circuitry where the ability of the electronics to process data is the primary focus.

Chapter 2 Digital Electronics Objectives 1. Understand the operation of basic digital electronic devices. 2. Understand how to describe circuits which can process digital data. 3. Understand how to design

### CSE 202 Homework 4 Matthias Springer, A

CSE 202 Homework 4 Matthias Springer, A99500782 1 Problem 2 Basic Idea PERFECT ASSEMBLY N P: a permutation P of s i S is a certificate that can be checked in polynomial time by ensuring that P = S, and

### 3F1 Information Theory, Lecture 3

3F1 Information Theory, Lecture 3 Jossy Sayir Department of Engineering Michaelmas 2013, 29 November 2013 Memoryless Sources Arithmetic Coding Sources with Memory Markov Example 2 / 21 Encoding the output

### Chapter 2 Boolean Algebra and Logic Gates

Chapter 2 Boolean Algebra and Logic Gates The most common postulates used to formulate various algebraic structures are: 1. Closure. N={1,2,3,4 }, for any a,b N we obtain a unique c N by the operation

### 4.1 Notation and probability review

Directed and undirected graphical models Fall 2015 Lecture 4 October 21st Lecturer: Simon Lacoste-Julien Scribe: Jaime Roquero, JieYing Wu 4.1 Notation and probability review 4.1.1 Notations Let us recall

### DRAFT. Algebraic computation models. Chapter 14

Chapter 14 Algebraic computation models Somewhat rough We think of numerical algorithms root-finding, gaussian elimination etc. as operating over R or C, even though the underlying representation of the

### Systems I: Computer Organization and Architecture

Systems I: Computer Organization and Architecture Lecture 6 - Combinational Logic Introduction A combinational circuit consists of input variables, logic gates, and output variables. The logic gates accept

### the tree till a class assignment is reached

Decision Trees Decision Tree for Playing Tennis Prediction is done by sending the example down Prediction is done by sending the example down the tree till a class assignment is reached Definitions Internal

### The Complexity and Proof Complexity of the Comparator Circuit Value Problem

The Complexity and Proof Complexity of the Comparator Circuit Value Problem Stephen Cook Joint work with Yuval Filmus, Dai Tri Man Lê, and Yuli Ye Department of Computer Science University of Toronto Canada

### Chapter 2: Boolean Algebra and Logic Gates

Chapter 2: Boolean Algebra and Logic Gates Mathematical methods that simplify binary logics or circuits rely primarily on Boolean algebra. Boolean algebra: a set of elements, a set of operators, and a

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

### LUTMIN: FPGA Logic Synthesis with MUX-Based and Cascade Realizations

LUTMIN: FPGA Logic Synthesis with MUX-Based and Cascade Realizations Tsutomu Sasao and Alan Mishchenko Dept. of Computer Science and Electronics, Kyushu Institute of Technology, Iizuka 80-80, Japan Dept.

### ROM-BASED COMPUTATION: QUANTUM VERSUS CLASSICAL

arxiv:quant-ph/0109016v2 2 Jul 2002 ROM-BASED COMPUTATION: QUANTUM VERSUS CLASSICAL B. C. Travaglione, M. A. Nielsen Centre for Quantum Computer Technology, University of Queensland St Lucia, Queensland,

### High-Order Conversion From Boolean to Arithmetic Masking

High-Order Conversion From Boolean to Arithmetic Masking Jean-Sébastien Coron University of Luxembourg jean-sebastien.coron@uni.lu Abstract. Masking with random values is an effective countermeasure against

### Problem Set 2. Assigned: Mon. November. 23, 2015

Pseudorandomness Prof. Salil Vadhan Problem Set 2 Assigned: Mon. November. 23, 2015 Chi-Ning Chou Index Problem Progress 1 SchwartzZippel lemma 1/1 2 Robustness of the model 1/1 3 Zero error versus 1-sided

### ENGG 1203 Tutorial_9 - Review. Boolean Algebra. Simplifying Logic Circuits. Combinational Logic. 1. Combinational & Sequential Logic

ENGG 1203 Tutorial_9 - Review Boolean Algebra 1. Combinational & Sequential Logic 2. Computer Systems 3. Electronic Circuits 4. Signals, Systems, and Control Remark : Multiple Choice Questions : ** Check

### Factors of Polynomials Factoring For Experts

Factors of Polynomials SUGGESTED LEARNING STRATEGIES: Shared Reading, Activating Prior Knowledge, Discussion Group, Note-taking When you factor a polynomial, you rewrite the original polynomial as a product

### Midterm Exam. CS 3110: Design and Analysis of Algorithms. June 20, Group 1 Group 2 Group 3

Banner ID: Name: Midterm Exam CS 3110: Design and Analysis of Algorithms June 20, 2006 Group 1 Group 2 Group 3 Question 1.1 Question 2.1 Question 3.1 Question 1.2 Question 2.2 Question 3.2 Question 3.3

### CONVOLUTION TREES AND PASCAL-T TRIANGLES. JOHN C. TURNER University of Waikato, Hamilton, New Zealand (Submitted December 1986) 1.

JOHN C. TURNER University of Waikato, Hamilton, New Zealand (Submitted December 986). INTRODUCTION Pascal (6-66) made extensive use of the famous arithmetical triangle which now bears his name. He wrote

### A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver

A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver J.C. Madre and O. Coudert Bull Corporate Research Center Rue Jean Jaurès 78340 Les Clayes-sous-bois FRANCE Abstract

### Motivation for introducing probabilities

for introducing probabilities Reaching the goals is often not sufficient: it is important that the expected costs do not outweigh the benefit of reaching the goals. 1 Objective: maximize benefits - costs.

### x (2) k even h n=(n) + (n+% x(6) X(3), x (5) 4 x(4)- x(), x (2), Decomposition of an N-point DFT into 2 N/2-point DFT's.

COMPUTATION OF DISCRETE FOURIER TRANSFORM - PART 2 1. Lecture 19-49 minutes k even n.o h n=(n) + (n+% x (2), x (2) x(4)- x(6) Decomposition of an N-point DFT into 2 N/2-point DFT's. X(3), x (5) 4 x(),

### SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang

SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments Requirements for SAT solvers in the Real World Fast & Robust Given a problem instance, we want to solve it quickly Reliable

### Realization Plans for Extensive Form Games without Perfect Recall

Realization Plans for Extensive Form Games without Perfect Recall Richard E. Stearns Department of Computer Science University at Albany - SUNY Albany, NY 12222 April 13, 2015 Abstract Given a game in

### Simpler Functions for Decompositions

Simpler Functions or Decompositions Bernd Steinbach Freiberg University o Mining and Technology, Institute o Computer Science, D-09596 Freiberg, Germany Abstract. This paper deals with the synthesis o

### 9. PSPACE 9. PSPACE. PSPACE complexity class quantified satisfiability planning problem PSPACE-complete

Geography game Geography. Alice names capital city c of country she is in. Bob names a capital city c' that starts with the letter on which c ends. Alice and Bob repeat this game until one player is unable

### Introduction to the Tensor Train Decomposition and Its Applications in Machine Learning

Introduction to the Tensor Train Decomposition and Its Applications in Machine Learning Anton Rodomanov Higher School of Economics, Russia Bayesian methods research group (http://bayesgroup.ru) 14 March

### Automata-Theoretic LTL Model-Checking

Automata-Theoretic LTL Model-Checking Arie Gurfinkel arie@cmu.edu SEI/CMU Automata-Theoretic LTL Model-Checking p.1 LTL - Linear Time Logic (Pn 77) Determines Patterns on Infinite Traces Atomic Propositions

### 1. Group Theory Permutations.

1.1. Permutations. 1. Group Theory Problem 1.1. Let G be a subgroup of S n of index 2. Show that G = A n. Problem 1.2. Find two elements of S 7 that have the same order but are not conjugate. Let π S 7

### Lecture 7: The Subgraph Isomorphism Problem

CSC2429, MAT1304: Circuit Complexity October 25, 2016 Lecture 7: The Subgraph Isomorphism Problem Instructor: Benjamin Rossman 1 The Problem SUB(G) Convention 1 (Graphs). Graphs are finite simple graphs

### Introduction to Low-Density Parity Check Codes. Brian Kurkoski

Introduction to Low-Density Parity Check Codes Brian Kurkoski kurkoski@ice.uec.ac.jp Outline: Low Density Parity Check Codes Review block codes History Low Density Parity Check Codes Gallager s LDPC code

### Finding and Counting Given Length Cycles 1. multiplication. Even cycles in undirected graphs can be found even faster. A C 4k 2 in an undirected

Algorithmica (1997 17: 09 3 Algorithmica 1997 Springer-Verlag New York Inc. Finding and Counting Given Length Cycles 1 N. Alon, R. Yuster, and U. Zwick Abstract. We present an assortment of methods for

### 1. [10 marks] Consider the following two algorithms that find the two largest elements in an array A[1..n], where n >= 2.

CSC 6 H5S Homework Assignment # 1 Spring 010 Worth: 11% Due: Monday February 1 (at class) For each question, please write up detailed answers carefully. Make sure that you use notation and terminology

### Introduction to Algorithms

Lecture 1 Introduction to Algorithms 1.1 Overview The purpose of this lecture is to give a brief overview of the topic of Algorithms and the kind of thinking it involves: why we focus on the subjects that

### 9. PSPACE. PSPACE complexity class quantified satisfiability planning problem PSPACE-complete

9. PSPACE PSPACE complexity class quantified satisfiability planning problem PSPACE-complete Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley Copyright 2013 Kevin Wayne http://www.cs.princeton.edu/~wayne/kleinberg-tardos

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

### Chap 2. Combinational Logic Circuits

Overview 2 Chap 2. Combinational Logic Circuits Spring 24 Part Gate Circuits and Boolean Equations Binary Logic and Gates Boolean Algebra Standard Forms Part 2 Circuit Optimization Two-Level Optimization

### Classification and Regression Trees

Classification and Regression Trees Ryan P Adams So far, we have primarily examined linear classifiers and regressors, and considered several different ways to train them When we ve found the linearity

### An instantaneous code (prefix code, tree code) with the codeword lengths l 1,..., l N exists if and only if. 2 l i. i=1

Kraft s inequality An instantaneous code (prefix code, tree code) with the codeword lengths l 1,..., l N exists if and only if N 2 l i 1 Proof: Suppose that we have a tree code. Let l max = max{l 1,...,

### Fundamentals of the DFT (fft) Algorithms

Fundamentals of the DFT (fft) Algorithms D. Sundararajan November 6, 9 Contents 1 The PM DIF DFT Algorithm 1.1 Half-wave symmetry of periodic waveforms.............. 1. The DFT definition and the half-wave

### Simple Neural Nets for Pattern Classification: McCulloch-Pitts Threshold Logic CS 5870

Simple Neural Nets for Pattern Classification: McCulloch-Pitts Threshold Logic CS 5870 Jugal Kalita University of Colorado Colorado Springs Fall 2014 Logic Gates and Boolean Algebra Logic gates are used

### ALGEBRA 2/MATH 3 COURSE 1

ALGEBRA 2/MATH 3 COURSE 1 TABLE OF CONTENTS NUMBER AND QUANTITY 6 THE REAL NUMBER SYSTEM (N.RN) 6 EXTEND THE PROPERTIES OF EXPONENTS TO RATIONAL EXPONENTS. (N.RN.1-2) 6 Expectations for Learning 6 Content

### Sample Spaces, Random Variables

Sample Spaces, Random Variables Moulinath Banerjee University of Michigan August 3, 22 Probabilities In talking about probabilities, the fundamental object is Ω, the sample space. (elements) in Ω are denoted

### Understanding the log expansions in quantum field theory combinatorially

Understanding the log expansions in quantum field theory combinatorially Karen Yeats CCC and BCCD, February 5, 2016 Augmented generating functions Take a combinatorial class C. Build a generating function

### Linear Cofactor Relationships in Boolean Functions

1 Linear Cofactor Relationships in Boolean Functions Jin S. Zhang 1 Malgorzata Chrzanowska-Jeske 1 Alan Mishchenko 2 Jerry R. Burch 3 1 Department of ECE, Portland State University, Portland, OR 2 Department

### Boolean Algebra. Digital Logic Appendix A. Postulates, Identities in Boolean Algebra How can I manipulate expressions?

Digital Logic Appendix A Gates Combinatorial Circuits Sequential Circuits Other operations NAND A NAND B = NOT ( A ANDB) = AB NOR A NOR B = NOT ( A ORB) = A + B Truth tables What is the result of the operation