Foundation of computing systems
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

Foundation of Computing Systems PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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

Foundation of Computing Systems

Lecture 13

Trees: Part VIII

IT 60101: Lecture #12


Decision tree

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

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 tree1

Example: Decision Tree

A Boolean function and its decision tree representation

IT 60101: Lecture #12


Creating decision tree

Creating Decision Tree

  • Shannon's Expansion

IT 60101: Lecture #12


Creating decision tree1

Creating Decision Tree

IT 60101: Lecture #12


Creating decision tree2

Creating Decision Tree

IT 60101: Lecture #12


Applications of decision tree

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 tree1

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

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

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

Remove duplicate terminals

IT 60101: Lecture #12


Remove non duplicate terminals

Remove Non-duplicate terminals

IT 60101: Lecture #12


Remove redundant edges

Remove Redundant Edges

IT 60101: Lecture #12


Decision tree to bdd1

Decision Tree to BDD

IT 60101: Lecture #12


  • Login