1 / 15

Foundation of Computing Systems

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

Télécharger la présentation

Foundation of Computing Systems

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Foundation of Computing Systems Lecture 13 Trees: Part VIII IT 60101: Lecture #12

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

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

  4. Example: Decision Tree A Boolean function and its decision tree representation IT 60101: Lecture #12

  5. Creating Decision Tree • Shannon's Expansion IT 60101: Lecture #12

  6. Creating Decision Tree IT 60101: Lecture #12

  7. Creating Decision Tree IT 60101: Lecture #12

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

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

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

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

  12. Remove duplicate terminals IT 60101: Lecture #12

  13. Remove Non-duplicate terminals IT 60101: Lecture #12

  14. Remove Redundant Edges IT 60101: Lecture #12

  15. Decision Tree to BDD IT 60101: Lecture #12

More Related