Foundation of Computing Systems

1 / 15

# Foundation of Computing Systems - PowerPoint PPT Presentation

Foundation of Computing Systems. Lecture 13 Trees: Part VIII. Decision Tree. Decision tree is a binary tree where a node represents some decision and edges emanating from a node represent the outcome of the decision. all the internal nodes represent the local decision

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Foundation of Computing Systems' - honorato-hurley

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Foundation of Computing Systems

Lecture 13

Trees: Part VIII

IT 60101: Lecture #12

Decision Tree
• Decisiontree is a binary tree where a node represents some decision and edges emanating from a node represent the outcome of the decision.
• all the internal nodes represent the local decision
• External nodes represent the ultimate decisions
• IF condition is true THEN decision1 ELSE decision2

IT 60101: Lecture #12

Example: Decision Tree

A decision tree for finding the greatest number among A, B, C

A decision tree for deciding the ascending order among three numbers A, B, C

IT 60101: Lecture #12

Example: Decision Tree

A Boolean function and its decision tree representation

IT 60101: Lecture #12

Creating Decision Tree
• Shannon's Expansion

IT 60101: Lecture #12

Creating Decision Tree

IT 60101: Lecture #12

Creating Decision Tree

IT 60101: Lecture #12

Applications of Decision Tree
• Boolean satisfiability
• Whether a given Boolean function is satisfiable (that is, having logic value 1 for a given input) or not can be tested very efficiently.
• Property testing
• It can be decided very quickly whether a given Boolean function is a tautology (logic value is 1 for any input combination) or a contradiction (logic value is 0 for all input combinations) by drawing its corresponding Boolean tree. A Boolean function is tautology (contradiction) if all the leaf nodes have label as 1(0).
• Circuit synthesis
• Synthesis of a logic network for a given Boolean function can be directly mapped from its Boolean tree.

IT 60101: Lecture #12

Applications of Decision Tree
• Testing digital circuits
• A set of test vectors can be opted from the Boolean tree to perform the exhaustive test the functionality of a given circuit. The set of test vectors are the Binary string starting from root to the leaf nodes.
• Deduction of standard forms
• Canonical forms [sum of products (SOP) or product of sums (POS)] for a given Boolean function can be easily obtained for the Boolean tree. SOP(POS) can be obtained by tracing all the paths from the root node but leads to the leaf nodes having label 1(0).

IT 60101: Lecture #12

Binary Decision Diagram (BDD)
• The decision tree is in the form of a binary tree
• Binary decision diagram (BDD) is a graph which contains same information as the decision tree
• BDD graph is a compact version of decision tree and BDD graph can be obtained from a decision tree

IT 60101: Lecture #12

Decision Tree to BDD
• Remove duplicate terminals
• Eliminate all but one terminal vertices with a given label and redirect all edges of the eliminated vertices to the remaining one
• Remove duplicate non-terminals
• If there are two non-terminal vertices u and v such that:

var(u) = var(v)

low(u) = low(v)

high(u) = high(v)

then eliminate one of the two vertices and redirect all incoming

edges to the other vertex

• Remove redundant edges
• If there is a non-terminal vertex v such that low(v) = high(v), then eliminate that v from the graph and redirect the incoming edge into its children

IT 60101: Lecture #12

Remove duplicate terminals

IT 60101: Lecture #12

Remove Non-duplicate terminals

IT 60101: Lecture #12

Remove Redundant Edges

IT 60101: Lecture #12

Decision Tree to BDD

IT 60101: Lecture #12