Project 1 Part II: Metaproduct Primes

Size: px
Start display at page:

Download "Project 1 Part II: Metaproduct Primes"

Transcription

1 Project Part II: Metaproduct Primes What ou know Basic BDD data structure and JAVA implementation A little bit about these things called metaproducts What ou don t know All the tricks with metaproducts Using these to do Prime Implicants R. Rutenbar 2, CMU 8-76, Fall 2 Copright Notice Rob A. Rutenbar, 2 All rights reserved. You ma not make copies of this material in an form without m express permission. R. Rutenbar 2, CMU 8-76, Fall 2 2 Page

2 About Metaproducts Notation was created to support applications where we need to preserve the structure of things like SOP expressions ie, if ou reall WANT to write x + x and ou want to represent and manipulate it as a BDD, what to do? Metaproduct notation Replace each variable x with a pair (, ) If ou see x in a product, then ou get ()() in metaproduct If ou see x in a product, then ou get ()( ) in metaproduct If ou don t see an x or x at all, then ou get ( ) in metaproduct In English is the occurrence variable -> == sas x is here, == sas no x is the sign variable -> == sas x is positive, == negative R. Rutenbar 2, CMU 8-76, Fall 2 3 Metaproduct Example Suppose F(x,) = x + x This is reall just == x, of course Its BDD would be simpl As a metaproduct Assume var ordering was x < Then new ordering is x < < < < < x becomes ()()( ) x becomes ()()()( ) x R. Rutenbar 2, CMU 8-76, Fall 2 4 Page 2

3 Page 3 Metaproduct Example You interpret this b looking at satisfing paths to node There are 2 paths from root to, each makes a product term x is here x is pos is not here. Result: x x is here x is pos is here... is neg... Result: x Put the final products together for final answer: x + x R. Rutenbar 2, CMU 8-76, Fall 2 5 Metaproduct Example What happens if a variable is not present? We alread saw this, but its worth noting In F(x,) = x + x, consider x term There s no in there, but we still have to deal with Rule is: if there s no variable in there, ou still have to include the occurrence variables for the missing original vars, but ou include them in the negative polarit to note their absence So, term x becomes ()()( ) Means no vars in here If this was F(x,,,w) =x, what would happen? We d get ()()( )(r )(rw ) R. Rutenbar 2, CMU 8-76, Fall 2 6

4 Metaproduct Primes Turns out ou can represent Prime Implicants with metaproduct notation x w x w These are all Primes biggest product terms ou can circle in a Kmap for our function These are NOT all Primes not all biggest product terms ou can Circle in this Kmap R. Rutenbar 2, CMU 8-76, Fall 2 7 Metaproduct Primes ike with Boolean functions, problem is SIZE A function can have man man primes wa too man enumerate one b one This is wh representing them with something like a BDD is attractive, since its good at compressing Boolean functions But this is also wh we need a special notation, since we DON T want the BDD to CANGE our function to its canonical form We need to represent it in some SOP form Biq question: how do we find Primes using metaproducts Of course, it s gotta be something recursive, right? R. Rutenbar 2, CMU 8-76, Fall 2 8 Page 4

5 Page 5 Metaproduct Primes There s another Shannon-stle recursive decomposition You start with a BDD in our original variables You end up with a BDD in the (occurrence, sign) metaproduct variables Final BDD represents, as SOP form, A the primes Basic decomposition et P( BDD root of F) = metaproduct BDD for all PRIMES in function F P( x ) = P( * ) P() * P( *) P() * P( *) R. Rutenbar 2, CMU 8-76, Fall 2 9 Metaproduct Primes wh does that work? Roughl speaking this is just the mes check for how to reassemble primes when the get split up during a Shannon decomposition x f(x,,) = x + = 2 primes = f + f = (x + ) + () x f(x,,) = x = prime = f + f = (x) + (x) x x When we factored on, we chopped up the prime like this x x When we factored on, we chopped up the prime like this R. Rutenbar 2, CMU 8-76, Fall 2

6 Metaproduct Primes Reading the decomposition P( x ) = P( * ) If there s no x vars, then get primes in * P() * P( *) If neg x var, get primes in that are NOT in * P() * P( *) If pos x var, get primes in that are NOT in * R. Rutenbar 2, CMU 8-76, Fall 2 Metaproduct Primes et s be a little more careful on the details of BDDs and ops Assumes ou have AND and NOT (ie,! ) on BDDs Assumes P( ) calculated just like ITE, as a top-down recursion Assume var order is fixed: for vas x,,, its: x < < < < <. P( x ) = P( AND[, ] ) AND[ P( ),!P( AND[, ] )] AND[ P( ),!P( AND[, ] )] R. Rutenbar 2, CMU 8-76, Fall 2 2 Page 6

7 Metaproduct Primes: Termination So we know the recursion is: P( x ) = P( AND[, ] ) AND[ P( ),!P( AND[, ] ) AND[ P( ),!P( AND[, ] ) next question: what are the termination conditions for P( )? So, when can we quit, and return a known BDD node answer? Ea case: P( ) = arder case: P( ) = a little mes R. Rutenbar 2, CMU 8-76, Fall 2 3 Metaproduct Primes: Termination Suppose vars are: x,,,w, and we have this recursion P( x ) = P( ) This is just P( ) Intuition This is the product of complements of all occurrence vars later in the order, ie, after In this case: ( )(r )(rw ) = Something that needs more recursion happens here P() means ou re done nothing more at all this prime term P() means ou re done but remember that these vars are absent r rw R. Rutenbar 2, CMU 8-76, Fall 2 4 Page 7

8 Page 8 Primes Example x f(x,,) = x + = 2 primes Appl recursion at root of f() x Ordina BDD with var order: x < < P( x ) = P( ) and note: x = = R. Rutenbar 2, CMU 8-76, Fall 2 5 Primes Example Appling recursion at root of f() P( x ) = P( AND[, ] ) AND[ P( ),!P( AND[, ] )] AND[ P( ),!P( AND[, ] )] R. Rutenbar 2, CMU 8-76, Fall 2 6

9 Page 9 Primes Example Do the obvious simplifications now (just to simplif for this manual example) P( x ) = P( ) AND[ P( ),!P( ) ] This was just P(foo) *!P(foo) = R. Rutenbar 2, CMU 8-76, Fall 2 7 OK, we need to do this one next P( ) = P( AND[, ] ) AND[ P( ),!P( AND[, ] )] AND[ P( ),!P( AND[, ] )] R. Rutenbar 2, CMU 8-76, Fall 2 8

10 Page Again, do obvious simplifications (just for this manual ex) P( ) = P( ) = P( ) P() * stuff = R. Rutenbar 2, CMU 8-76, Fall 2 9 We have to do this one next and its ea P( ) = r P( AND[, ] ) s This is P() = AND[ P( ),!P( AND[, ] )] This is P()* stuff = AND[ P( ),!P( AND[, ] )] This is P()*!P() = P()* = P() R. Rutenbar 2, CMU 8-76, Fall 2 2

11 Page We have to do this one next and its ea P( ) = r s This is P() = product of complements of the vars later in the order than s. Since s is the AST var in the order, the rule is: this is just R. Rutenbar 2, CMU 8-76, Fall 2 2 Return results up recursive call tree P( ) = = P( ) r s Note I m leaving in all the separate and nodes just to simplif the drawing it s a REA BDD, there s onl a single and a single R. Rutenbar 2, CMU 8-76, Fall 2 22

12 Page 2 Return results up recursive call tree P( x ) = P( ) = r s AND[ P( ),!P( )] AND[ P( ), NOT( )] r s R. Rutenbar 2, CMU 8-76, Fall 2 23 This one is next to recurse on AND[ P( ), NOT( )] r s Since we know P() = product of complements of vars below in the order, this is supposed to be: ( )(r ), so we get AND[, NOT( ) ] r r s which is just ordina BDD ops R. Rutenbar 2, CMU 8-76, Fall 2 24

13 Page 3 BDD ops give this AND[, NOT( ) ] r r s = r r s R. Rutenbar 2, CMU 8-76, Fall 2 25 Return results up recursive call tree P( ) = x r s AND[ P( ), NOT( )] r s = r s r r s R. Rutenbar 2, CMU 8-76, Fall 2 26

14 Page 4..and, that s the Final Metaproduct for Prime( ) ook for paths from root to x is not here is here is negative is here is positive r s r r This prime is s R. Rutenbar 2, CMU 8-76, Fall 2 27 Final Primes More paths x is here r s r r s x is negative is not here can ignore sign is not here can ignore sign This prime is x R. Rutenbar 2, CMU 8-76, Fall 2 28

15 Page 5 Final Primes he, there s another one? x is here An unfortunate fact about metaproducts: the can be redundant about primes. You don t get the wrong ones but ou can get right ones several times. r s r r s x is negative is not here can ignore sign is not here This prime is also x R. Rutenbar 2, CMU 8-76, Fall 2 29 Metaproduct Primes So what did we do? x f(x,,) Ordina BDD with var order: x < < x Primes = paths from root to. Can be redundant. x Primes = {x, ) r BDD for Primes( f ) in metaproduct form s r r s R. Rutenbar 2, CMU 8-76, Fall 2 3

16 back to 8-76 Project Part 2 What do we want? We want ou to add P( BDD for function f) as an operator to our JAVA BDD package Do it exactl like we showed here Just like ITE: ou descend the starting BDD for f, and ou recursivel trace out the BDD for P(f) Assume ou have all the vars defined in the right initial order. This means if the real vars are x,, YOU have x,,,,, in order You have 2 basic goals To be able to transform a BDD for function f into Prime(f) To print out some interesting info about these primes R. Rutenbar 2, CMU 8-76, Fall 2 3 Prime( ) Details Things to be careful about Before doing anthing, ou probabl want to build the function: ( )( )(r ) (rlast ) for A our vars. And make an arra of pointers to the nodes, so that when ou need P() = product of complemented occurrence nodes below me ou can just look it up You still need to call FindOrCreateNode()on the 2 new nodes ou make. You want to build and its children first, call FindOrCreatNode(), then finish the recursion on, then call FindOrCreatNode(). Do ou want to do something like a different OPS table for the Prime computation? (It s not required but think about it) You will want to write a printprime routine that walks the paths to the node, and prints out sensible product terms. DO NOT wor about the redundanc issue not our problem. You also want to build a numprimes routine that just prints out the number of paths to the node. Think about it ou don t have to walk them all to do this, it s a ve simple recursion if ou know numprimes(hichild) and numprimes(lochild), and numprimes()= and numprimes()= R. Rutenbar 2, CMU 8-76, Fall 2 32 Page 6

17 Metaproduct Primes: Summa Interesting, sort of funk BDD application Twists the usual interpretation of canonical BDD form around a lot Works fine, a bit arcane (This is a simplification of how people reall do it. There are a bunch of other optimiations to get rid of those redundancies that make it a lot faster. Not worth the grief to go thru them all the violate a lot of BDD rules.) For Project Implement Prime( f ) ook on the /afs/ece/class/ee76/proj directo for more details, and for some info about benchmarks to run Ask TA and Prof questions if there are an issues at all on this one R. Rutenbar 2, CMU 8-76, Fall 2 33 Page 7

CMU Fall VLSI CAD

CMU Fall VLSI CAD CMU Fall 01 18-760 VLSI CAD Project 1: Implementation of a Basic BDD Package. (Part I) [120 pts] Out: Thu Sep 20, Due: Thu Oct 5 in class. 1. Overview The goal is to write a Java program to implement the

More information

Implicit Differentiation - the basics

Implicit Differentiation - the basics x x 6 Implicit Differentiation - the basics Implicit differentiation is the name for the method of differentiation that we use when we have not explicitl solved for in terms of x (that means we did not

More information

It s Not Complex Just Its Solutions Are Complex!

It s Not Complex Just Its Solutions Are Complex! It s Not Comple Just Its Solutions Are Comple! Solving Quadratics with Comple Solutions 15.5 Learning Goals In this lesson, ou will: Calculate comple roots of quadratic equations and comple zeros of quadratic

More information

Student Page. Algebra/ Day #4 90 Minute Class Functions, Patterns and X-Y Tables

Student Page. Algebra/ Day #4 90 Minute Class Functions, Patterns and X-Y Tables Student Page Algebra/ Da #4 90 Minute Class Functions, Patterns and X-Y Tables Definition: A relation is an set of ordered pairs Ex: # {(,), (-7,6), (-,4)} # { (0,8), (-, ), (0,6)} Definition: A function

More information

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology Intermediate Algebra Gregg Waterman Oregon Institute of Technolog c 2017 Gregg Waterman This work is licensed under the Creative Commons Attribution 4.0 International license. The essence of the license

More information

M O T I O N A N D D R A W I N G

M O T I O N A N D D R A W I N G 2 M O T I O N A N D D R A W I N G Now that ou know our wa around the interface, ou re read to use more of Scratch s programming tools. In this chapter, ou ll do the following: Eplore Scratch s motion and

More information

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02)

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02) Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 04 Lecture - 01 Merge Sort (Refer

More information

ECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis

ECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis ECE 5775 (Fall 17) High-Level Digital Design Automation Binary Decision Diagrams Static Timing Analysis Announcements Start early on Lab 1 (CORDIC design) Fixed-point design should not have usage of DSP48s

More information

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees Motivation CS389L: Automated Logical Reasoning Lecture 5: Binary Decision Diagrams Işıl Dillig Previous lectures: How to determine satisfiability of propositional formulas Sometimes need to efficiently

More information

(Lec 14) Placement & Partitioning: Part III

(Lec 14) Placement & Partitioning: Part III Page (Lec ) Placement & Partitioning: Part III What you know That there are big placement styles: iterative, recursive, direct Placement via iterative improvement using simulated annealing Recursive-style

More information

y = f(x) x (x, f(x)) f(x) g(x) = f(x) + 2 (x, g(x)) 0 (0, 1) 1 3 (0, 3) 2 (2, 3) 3 5 (2, 5) 4 (4, 3) 3 5 (4, 5) 5 (5, 5) 5 7 (5, 7)

y = f(x) x (x, f(x)) f(x) g(x) = f(x) + 2 (x, g(x)) 0 (0, 1) 1 3 (0, 3) 2 (2, 3) 3 5 (2, 5) 4 (4, 3) 3 5 (4, 5) 5 (5, 5) 5 7 (5, 7) 0 Relations and Functions.7 Transformations In this section, we stud how the graphs of functions change, or transform, when certain specialized modifications are made to their formulas. The transformations

More information

Determining the 2d transformation that brings one image into alignment (registers it) with another. And

Determining the 2d transformation that brings one image into alignment (registers it) with another. And Last two lectures: Representing an image as a weighted combination of other images. Toda: A different kind of coordinate sstem change. Solving the biggest problem in using eigenfaces? Toda Recognition

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #34. Function with pointer Argument

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #34. Function with pointer Argument Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #34 Function with pointer Argument (Refer Slide Time: 00:05) So, here is the stuff that we have seen about pointers.

More information

Pre-Algebra Notes Unit 8: Graphs and Functions

Pre-Algebra Notes Unit 8: Graphs and Functions Pre-Algebra Notes Unit 8: Graphs and Functions The Coordinate Plane A coordinate plane is formed b the intersection of a horizontal number line called the -ais and a vertical number line called the -ais.

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Minimization CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev Administrative

More information

Optional: Building a processor from scratch

Optional: Building a processor from scratch Optional: Building a processor from scratch In this assignment we are going build a computer processor from the ground up, starting with transistors, and ending with a small but powerful processor. The

More information

Slide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

Slide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary Slide Set 5 for ENEL 353 Fall 207 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Fall Term, 207 SN s ENEL 353 Fall 207 Slide Set 5 slide

More information

CS 267: Automated Verification. Lecture 6: Binary Decision Diagrams. Instructor: Tevfik Bultan

CS 267: Automated Verification. Lecture 6: Binary Decision Diagrams. Instructor: Tevfik Bultan CS 267: Automated Verification Lecture 6: Binar Decision Diagrams Instructor: evfik Bultan Binar Decision Diagrams (BDDs) [Brant 86] Reduced Ordered Binar Decision Diagrams (BDDs) An efficient data structure

More information

Combinational Logic Circuits Part III -Theoretical Foundations

Combinational Logic Circuits Part III -Theoretical Foundations Combinational Logic Circuits Part III -Theoretical Foundations Overview Simplifying Boolean Functions Algebraic Manipulation Karnaugh Map Manipulation (simplifying functions of 2, 3, 4 variables) Systematic

More information

20 Calculus and Structures

20 Calculus and Structures 0 Calculus and Structures CHAPTER FUNCTIONS Calculus and Structures Copright LESSON FUNCTIONS. FUNCTIONS A function f is a relationship between an input and an output and a set of instructions as to how

More information

LINEAR PROGRAMMING. Straight line graphs LESSON

LINEAR PROGRAMMING. Straight line graphs LESSON LINEAR PROGRAMMING Traditionall we appl our knowledge of Linear Programming to help us solve real world problems (which is referred to as modelling). Linear Programming is often linked to the field of

More information

Mathematics Stage 5 PAS5.1.2 Coordinate geometry

Mathematics Stage 5 PAS5.1.2 Coordinate geometry Mathematics Stage PAS.. Coordinate geometr Part Graphing lines Acknowledgments This publication is copright New South Wales Department of Education and Training (DET), however it ma contain material from

More information

MITOCW watch?v=4dj1oguwtem

MITOCW watch?v=4dj1oguwtem MITOCW watch?v=4dj1oguwtem PROFESSOR: So it's time to examine uncountable sets. And that's what we're going to do in this segment. So Cantor's question was, are all sets the same size? And he gives a definitive

More information

CS201 - Assignment 8 Due: Wednesday April 23, at the beginning of class

CS201 - Assignment 8 Due: Wednesday April 23, at the beginning of class CS201 - Assignment 8 Due: Wednesda April 23, at the beginning of class In this assignment we will pla a guessing game (somewhat similar to 20 questions), with the computer doing the guessing and learning

More information

Introduction to Homogeneous Transformations & Robot Kinematics

Introduction to Homogeneous Transformations & Robot Kinematics Introduction to Homogeneous Transformations & Robot Kinematics Jennifer Ka Rowan Universit Computer Science Department. Drawing Dimensional Frames in 2 Dimensions We will be working in -D coordinates,

More information

Transformations of Functions. 1. Shifting, reflecting, and stretching graphs Symmetry of functions and equations

Transformations of Functions. 1. Shifting, reflecting, and stretching graphs Symmetry of functions and equations Chapter Transformations of Functions TOPICS.5.. Shifting, reflecting, and stretching graphs Smmetr of functions and equations TOPIC Horizontal Shifting/ Translation Horizontal Shifting/ Translation Shifting,

More information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 43 Dynamic Binding (Polymorphism): Part III Welcome to Module

More information

Lecture Notes on Binary Decision Diagrams

Lecture Notes on Binary Decision Diagrams Lecture Notes on Binary Decision Diagrams 15-122: Principles of Imperative Computation William Lovas Notes by Frank Pfenning Lecture 25 April 21, 2011 1 Introduction In this lecture we revisit the important

More information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query

More information

Binary Trees Case-studies

Binary Trees Case-studies Carlos Moreno cmoreno @ uwaterloo.ca EIT-4103 https://ece.uwaterloo.ca/~cmoreno/ece250 Standard reminder to set phones to silent/vibrate mode, please! Today's class: Binary Trees Case-studies We'll look

More information

CHAPTER 9: Quadratic Equations and Functions

CHAPTER 9: Quadratic Equations and Functions Notes # CHAPTER : Quadratic Equations and Functions -: Exploring Quadratic Graphs A. Intro to Graphs of Quadratic Equations: = ax + bx + c A is a function that can be written in the form = ax + bx + c

More information

LESSON 3.1 INTRODUCTION TO GRAPHING

LESSON 3.1 INTRODUCTION TO GRAPHING LESSON 3.1 INTRODUCTION TO GRAPHING LESSON 3.1 INTRODUCTION TO GRAPHING 137 OVERVIEW Here s what ou ll learn in this lesson: Plotting Points a. The -plane b. The -ais and -ais c. The origin d. Ordered

More information

Week 3. Topic 5 Asymptotes

Week 3. Topic 5 Asymptotes Week 3 Topic 5 Asmptotes Week 3 Topic 5 Asmptotes Introduction One of the strangest features of a graph is an asmptote. The come in three flavors: vertical, horizontal, and slant (also called oblique).

More information

Slides for Lecture 15

Slides for Lecture 15 Slides for Lecture 5 ENEL 353: Digital Circuits Fall 203 Term Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary October, 203 ENEL 353 F3 Section

More information

Unit 4: Formal Verification

Unit 4: Formal Verification Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification

More information

Lesson 12: Sine 5 = 15 3

Lesson 12: Sine 5 = 15 3 Lesson 12: Sine How did ou do on that last worksheet? Is finding the opposite side and adjacent side of an angle super-duper eas for ou now? Good, now I can show ou wh I wanted ou to learn that first.

More information

Topic 2 Transformations of Functions

Topic 2 Transformations of Functions Week Topic Transformations of Functions Week Topic Transformations of Functions This topic can be a little trick, especiall when one problem has several transformations. We re going to work through each

More information

Robotics Prof. Dilip Kumar Pratihar Department of Mechanical Engineering Indian Institute of Technology, Kharagpur

Robotics Prof. Dilip Kumar Pratihar Department of Mechanical Engineering Indian Institute of Technology, Kharagpur Robotics Prof. Dilip Kumar Pratihar Department of Mechanical Engineering Indian Institute of Technology, Kharagpur Lecture 03 Introduction to Robot and Robotics (Contd.) (Refer Slide Time: 00:34) Now,

More information

Unate Recursive Complement Algorithm

Unate Recursive Complement Algorithm Unate Recursive Complement Algorithm Out: March 28 th, 2016; Due: April 10 th, 2016 I. Motivation 1. To give you experience in implementing the Unate Recursive Paradigm (URP). 2. To show you an important

More information

SEARCH BASICS. Locate the handout, Assignment for lesson 12, for this search basics tutorial. Questions in red are those you ll answer on the handout.

SEARCH BASICS. Locate the handout, Assignment for lesson 12, for this search basics tutorial. Questions in red are those you ll answer on the handout. SEARCH BASICS Locate the handout, Assignment for lesson 12, for this search basics tutorial. Questions in red are those you ll answer on the handout. LIBRARY CATALOG BASICS Library Catalog: a database

More information

Binary Decision Diagrams (BDD)

Binary Decision Diagrams (BDD) Binary Decision Diagrams (BDD) Contents Motivation for Decision diagrams Binary Decision Diagrams ROBDD Effect of Variable Ordering on BDD size BDD operations Encoding state machines Reachability Analysis

More information

(Refer Slide Time 6:48)

(Refer Slide Time 6:48) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 8 Karnaugh Map Minimization using Maxterms We have been taking about

More information

COMP 410 Lecture 1. Kyle Dewey

COMP 410 Lecture 1. Kyle Dewey COMP 410 Lecture 1 Kyle Dewey About Me I research automated testing techniques and their intersection with CS education My dissertation used logic programming extensively This is my second semester at

More information

Figure 4.1: The evolution of a rooted tree.

Figure 4.1: The evolution of a rooted tree. 106 CHAPTER 4. INDUCTION, RECURSION AND RECURRENCES 4.6 Rooted Trees 4.6.1 The idea of a rooted tree We talked about how a tree diagram helps us visualize merge sort or other divide and conquer algorithms.

More information

Overview. Discrete Event Systems - Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. 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

More information

(Refer Slide Time 3:31)

(Refer Slide Time 3:31) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions

More information

Wednesday, February 19, 2014

Wednesday, February 19, 2014 Wednesda, Februar 19, 2014 Topics for toda Solutions to HW #2 Topics for Eam #1 Chapter 6: Mapping High-level to assembl-level The Pep/8 run-time stack Stack-relative addressing (,s) SP manipulation Stack

More information

CS 161 Computer Security

CS 161 Computer Security Wagner Spring 2014 CS 161 Computer Security 1/27 Reasoning About Code Often functions make certain assumptions about their arguments, and it is the caller s responsibility to make sure those assumptions

More information

Name Class Date. subtract 3 from each side. w 5z z 5 2 w p - 9 = = 15 + k = 10m. 10. n =

Name Class Date. subtract 3 from each side. w 5z z 5 2 w p - 9 = = 15 + k = 10m. 10. n = Reteaching Solving Equations To solve an equation that contains a variable, find all of the values of the variable that make the equation true. Use the equalit properties of real numbers and inverse operations

More information

Type Checking and Type Equality

Type Checking and Type Equality Type Checking and Type Equality Type systems are the biggest point of variation across programming languages. Even languages that look similar are often greatly different when it comes to their type systems.

More information

Monday, September 28, 2015

Monday, September 28, 2015 Monda, September 28, 2015 Topics for toda Chapter 6: Mapping High-level to assembl-level The Pep/8 run-time stack (6.1) Stack-relative addressing (,s) SP manipulation Stack as scratch space Global variables

More information

Scan Conversion- Polygons

Scan Conversion- Polygons Scan Conversion- olgons Flood Fill Algorithm Chapter 9 Scan Conversion (part ) Drawing olgons on Raster Displa Input polgon with rasterized edges = (x,) point inside Goal: Fill interior with specified

More information

Bias-Variance Decomposition Error Estimators

Bias-Variance Decomposition Error Estimators Bias-Variance Decomposition Error Estimators Cross-Validation Bias-Variance tradeoff Intuition Model too simple does not fit the data well a biased solution. Model too comple small changes to the data,

More information

1. Fill in the entries in the truth table below to specify the logic function described by the expression, AB AC A B C Z

1. Fill in the entries in the truth table below to specify the logic function described by the expression, AB AC A B C Z CS W3827 05S Solutions for Midterm Exam 3/3/05. Fill in the entries in the truth table below to specify the logic function described by the expression, AB AC A B C Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.

More information

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017 ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 Combinational Logic Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletsch and Andrew Hilton (Duke) Last

More information

ECE 242 Data Structures and Algorithms. Trees IV. Lecture 21. Prof.

ECE 242 Data Structures and Algorithms.  Trees IV. Lecture 21. Prof. ECE 22 Data Structures and Algorithms http://www.ecs.umass.edu/~polizzi/teaching/ece22/ Trees IV Lecture 2 Prof. Eric Polizzi Summary previous lectures Implementations BST 5 5 7 null 8 null null 7 null

More information

Bias-Variance Decomposition Error Estimators Cross-Validation

Bias-Variance Decomposition Error Estimators Cross-Validation Bias-Variance Decomposition Error Estimators Cross-Validation Bias-Variance tradeoff Intuition Model too simple does not fit the data well a biased solution. Model too comple small changes to the data,

More information

Binary Decision Diagrams (BDDs) Pingqiang Zhou ShanghaiTech University

Binary Decision Diagrams (BDDs) Pingqiang Zhou ShanghaiTech University Binary Decision Diagrams (BDDs) Pingqiang Zhou ShanghaiTech University Computational Boolean Algera Representations Applying unate recursive paradigm (URP) in solving tautology is a great warm up example.

More information

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi.

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi. Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 18 Tries Today we are going to be talking about another data

More information

Simple example. Analysis of programs with pointers. Program model. Points-to relation

Simple example. Analysis of programs with pointers. Program model. Points-to relation Simple eample Analsis of programs with pointers := 5 ptr := & *ptr := 9 := program S1 S2 S3 S4 What are the defs and uses of in this program? Problem: just looking at variable names will not give ou the

More information

Implicit differentiation

Implicit differentiation Roberto s Notes on Differential Calculus Chapter 4: Basic differentiation rules Section 5 Implicit differentiation What ou need to know alread: Basic rules of differentiation, including the chain rule.

More information

Project 1 Balanced binary

Project 1 Balanced binary CMSC262 DS/Alg Applied Blaheta Project 1 Balanced binary Due: 7 September 2017 You saw basic binary search trees in 162, and may remember that their weakness is that in the worst case they behave like

More information

Chapter 2. Boolean Expressions:

Chapter 2. Boolean Expressions: Chapter 2 Boolean Expressions: A Boolean expression or a function is an expression which consists of binary variables joined by the Boolean connectives AND and OR along with NOT operation. Any Boolean

More information

2009 Haskell January Test Binary Decision Diagrams

2009 Haskell January Test Binary Decision Diagrams 009 Haskell January est Binary Decision Diagrams his test comprises four parts and the maximum mark is 5. Parts I, II and III are worth of the 5 marks available. he 009 Haskell Programming Prize will be

More information

Arithmetic Processing

Arithmetic Processing CS/EE 5830/6830 VLSI ARCHITECTURE Chapter 1 Basic Number Representations and Arithmetic Algorithms Arithmetic Processing AP = (operands, operation, results, conditions, singularities) Operands are: Set

More information

Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore

Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore Lecture 04 Software Test Automation: JUnit as an example

More information

Rational Functions with Removable Discontinuities

Rational Functions with Removable Discontinuities Rational Functions with Removable Discontinuities 1. a) Simplif the rational epression and state an values of where the epression is b) Using the simplified epression in part (a), predict the shape for

More information

Notes on Non-Chronologic Backtracking, Implication Graphs, and Learning

Notes on Non-Chronologic Backtracking, Implication Graphs, and Learning Notes on Non-Chronologic Backtracking, Implication Graphs, and Learning Alan J. Hu for CpSc 5 Univ. of British Columbia 00 February 9 These are supplementary notes on these aspects of a modern DPLL-style

More information

CMSC 425: Lecture 10 Basics of Skeletal Animation and Kinematics

CMSC 425: Lecture 10 Basics of Skeletal Animation and Kinematics : Lecture Basics of Skeletal Animation and Kinematics Reading: Chapt of Gregor, Game Engine Architecture. The material on kinematics is a simplification of similar concepts developed in the field of robotics,

More information

File System Structure. Kevin Webb Swarthmore College March 29, 2018

File System Structure. Kevin Webb Swarthmore College March 29, 2018 File System Structure Kevin Webb Swarthmore College March 29, 2018 Today s Goals Characterizing disks and storage media File system: adding order and structure to storage FS abstractions (files, directories,

More information

CS357 Lecture: BDD basics. David Dill

CS357 Lecture: BDD basics. David Dill CS357 Lecture: BDD basics David Dill BDDs (Boolean/binary decision diagrams) BDDs are a very successful representation for Boolean functions. A BDD represents a Boolean function on variables x, x 2,...

More information

CSE 12 Abstract Syntax Trees

CSE 12 Abstract Syntax Trees CSE 12 Abstract Syntax Trees Compilers and Interpreters Parse Trees and Abstract Syntax Trees (AST's) Creating and Evaluating AST's The Table ADT and Symbol Tables 16 Using Algorithms and Data Structures

More information

Lab 3, Tutorial 1 Comp 412

Lab 3, Tutorial 1 Comp 412 COMP 412 FALL 2018 Lab 3, Tutorial 1 Comp 412 source code IR IR Front End Optimizer Back End target code Copyright 2018, Keith D. Cooper, Linda Torczon & Zoran Budimlić, all rights reserved. Students enrolled

More information

Lossless Compression Algorithms

Lossless Compression Algorithms Multimedia Data Compression Part I Chapter 7 Lossless Compression Algorithms 1 Chapter 7 Lossless Compression Algorithms 1. Introduction 2. Basics of Information Theory 3. Lossless Compression Algorithms

More information

Introduction to Homogeneous Transformations & Robot Kinematics

Introduction to Homogeneous Transformations & Robot Kinematics Introduction to Homogeneous Transformations & Robot Kinematics Jennifer Ka, Rowan Universit Computer Science Department Januar 25. Drawing Dimensional Frames in 2 Dimensions We will be working in -D coordinates,

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17 01.433/33 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/2/1.1 Introduction In this lecture we ll talk about a useful abstraction, priority queues, which are

More information

Unit 4 Trigonometry. Study Notes 1 Right Triangle Trigonometry (Section 8.1)

Unit 4 Trigonometry. Study Notes 1 Right Triangle Trigonometry (Section 8.1) Unit 4 Trigonometr Stud Notes 1 Right Triangle Trigonometr (Section 8.1) Objective: Evaluate trigonometric functions of acute angles. Use a calculator to evaluate trigonometric functions. Use trigonometric

More information

turn counterclockwise from the positive x-axis. However, we could equally well get to this point by a 3 4 turn clockwise, giving (r, θ) = (1, 3π 2

turn counterclockwise from the positive x-axis. However, we could equally well get to this point by a 3 4 turn clockwise, giving (r, θ) = (1, 3π 2 Math 133 Polar Coordinates Stewart 10.3/I,II Points in polar coordinates. The first and greatest achievement of modern mathematics was Descartes description of geometric objects b numbers, using a sstem

More information

lecture notes September 2, How to sort?

lecture notes September 2, How to sort? .30 lecture notes September 2, 203 How to sort? Lecturer: Michel Goemans The task of sorting. Setup Suppose we have n objects that we need to sort according to some ordering. These could be integers or

More information

CS2630: Computer Organization Homework 1 Bits, bytes, and memory organization Due January 25, 2017, 11:59pm

CS2630: Computer Organization Homework 1 Bits, bytes, and memory organization Due January 25, 2017, 11:59pm CS2630: Computer Organization Homework 1 Bits, bytes, and memory organization Due January 25, 2017, 11:59pm Instructions: Show your work. Correct answers with no work will not receive full credit. Whether

More information

Boolean Algebra & Digital Logic

Boolean Algebra & Digital Logic Boolean Algebra & Digital Logic Boolean algebra was developed by the Englishman George Boole, who published the basic principles in the 1854 treatise An Investigation of the Laws of Thought on Which to

More information

Intro. Scheme Basics. scm> 5 5. scm>

Intro. Scheme Basics. scm> 5 5. scm> Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if

More information

Notes Packet on Quadratic Functions and Factoring Graphing quadratic equations in standard form, vertex form, and intercept form.

Notes Packet on Quadratic Functions and Factoring Graphing quadratic equations in standard form, vertex form, and intercept form. Notes Packet on Quadratic Functions and Factoring Graphing quadratic equations in standard form, vertex form, and intercept form. A. Intro to Graphs of Quadratic Equations:! = ax + bx + c A is a function

More information

Lecture 10: Combinational Circuits

Lecture 10: Combinational Circuits Computer Architecture Lecture : Combinational Circuits Previous two lectures.! TOY machine. Net two lectures.! Digital circuits. George Boole (85 864) Claude Shannon (96 2) Culminating lecture.! Putting

More information

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Module # 02 Lecture - 03 Characters and Strings So, let us turn our attention to a data type we have

More information

CS 261 Fall Mike Lam, Professor Integer Encodings

CS 261 Fall Mike Lam, Professor   Integer Encodings CS 261 Fall 2018 Mike Lam, Professor https://xkcd.com/571/ Integer Encodings Integers Topics C integer data types Unsigned encoding Signed encodings Conversions Integer data types in C99 1 byte 2 bytes

More information

Week - 03 Lecture - 18 Recursion. For the last lecture of this week, we will look at recursive functions. (Refer Slide Time: 00:05)

Week - 03 Lecture - 18 Recursion. For the last lecture of this week, we will look at recursive functions. (Refer Slide Time: 00:05) Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 03 Lecture - 18 Recursion For the

More information

Algebra I Notes Linear Functions & Inequalities Part I Unit 5 UNIT 5 LINEAR FUNCTIONS AND LINEAR INEQUALITIES IN TWO VARIABLES

Algebra I Notes Linear Functions & Inequalities Part I Unit 5 UNIT 5 LINEAR FUNCTIONS AND LINEAR INEQUALITIES IN TWO VARIABLES UNIT LINEAR FUNCTIONS AND LINEAR INEQUALITIES IN TWO VARIABLES PREREQUISITE SKILLS: students must know how to graph points on the coordinate plane students must understand ratios, rates and unit rate VOCABULARY:

More information

Binary Trees. BSTs. For example: Jargon: Data Structures & Algorithms. root node. level: internal node. edge.

Binary Trees. BSTs. For example: Jargon: Data Structures & Algorithms. root node. level: internal node. edge. Binary Trees 1 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the root, which are disjoint from

More information

GDB Tutorial. A Walkthrough with Examples. CMSC Spring Last modified March 22, GDB Tutorial

GDB Tutorial. A Walkthrough with Examples. CMSC Spring Last modified March 22, GDB Tutorial A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program

More information

Lecture 3: Linear Classification

Lecture 3: Linear Classification Lecture 3: Linear Classification Roger Grosse 1 Introduction Last week, we saw an example of a learning task called regression. There, the goal was to predict a scalar-valued target from a set of features.

More information

Boolean Function Simplification

Boolean Function Simplification Universit of Wisconsin - Madison ECE/Comp Sci 352 Digital Sstems Fundamentals Charles R. Kime Section Fall 200 Chapter 2 Combinational Logic Circuits Part 5 Charles Kime & Thomas Kaminski Boolean Function

More information

Section 4.2 Graphing Lines

Section 4.2 Graphing Lines Section. Graphing Lines Objectives In this section, ou will learn to: To successfull complete this section, ou need to understand: Identif collinear points. The order of operations (1.) Graph the line

More information

Grade 6 Math Circles November 6 & Relations, Functions, and Morphisms

Grade 6 Math Circles November 6 & Relations, Functions, and Morphisms Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Relations Let s talk about relations! Grade 6 Math Circles November 6 & 7 2018 Relations, Functions, and

More information

Divisibility Rules and Their Explanations

Divisibility Rules and Their Explanations Divisibility Rules and Their Explanations Increase Your Number Sense These divisibility rules apply to determining the divisibility of a positive integer (1, 2, 3, ) by another positive integer or 0 (although

More information

Basics of Computational Geometry

Basics of Computational Geometry Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals

More information

(Refer Slide Time 5:19)

(Refer Slide Time 5:19) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology, Madras Lecture - 7 Logic Minimization using Karnaugh Maps In the last lecture we introduced

More information

Graphing square root functions. What would be the base graph for the square root function? What is the table of values?

Graphing square root functions. What would be the base graph for the square root function? What is the table of values? Unit 3 (Chapter 2) Radical Functions (Square Root Functions Sketch graphs of radical functions b appling translations, stretches and reflections to the graph of Analze transformations to identif the of

More information

Iteration Preview of Coming Attractions The Need to Get Your Act Together A Process for Developing While Statements

Iteration Preview of Coming Attractions The Need to Get Your Act Together A Process for Developing While Statements Iteration Preview of Coming Attractions In this unit be sure to look for a five-step process for developing while statements tracing while statements The Need to Get Your Act Together As you probably know

More information

Section 1.4: Graphing Calculators and Computers

Section 1.4: Graphing Calculators and Computers Section 1.4: Graphing Calculators and Computers In this section we shall show some of the was that calculators can help us in mathematics. 1. Calculator Warnings Before we even consider how a calculator

More information