0% found this document useful (0 votes)
38 views2 pages

Exercises 7

This document contains 6 exercises related to efficient AI programming. It asks the reader to: 1) Describe polynomial time algorithms for determining if a DNF is satisfiable and a CNF is a tautology. 2) Explain how tautology and satisfiability can be decided with an equivalence checking algorithm. 3) Write Boolean expressions using if-then-else and provide their ROBDDs. 4) Draw the ROBDD for an expression using a given variable ordering. 5) Draw the ROBDD for an expression using two different variable orderings. 6) Analyze the number of possible ROBDDs and argue most do not have polynomial size. It also provides a

Uploaded by

DB_fan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views2 pages

Exercises 7

This document contains 6 exercises related to efficient AI programming. It asks the reader to: 1) Describe polynomial time algorithms for determining if a DNF is satisfiable and a CNF is a tautology. 2) Explain how tautology and satisfiability can be decided with an equivalence checking algorithm. 3) Write Boolean expressions using if-then-else and provide their ROBDDs. 4) Draw the ROBDD for an expression using a given variable ordering. 5) Draw the ROBDD for an expression using two different variable orderings. 6) Analyze the number of possible ROBDDs and argue most do not have polynomial size. It also provides a

Uploaded by

DB_fan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Exercises Lecture 7

Efficient AI Programming (IAIP)

Exercise 1 (adapted from A97 2.1-2)


Describe a polynomial time algorithm for determining whether a DNF is satisfiable. Describe a polynomial
time algorithm for determining whether a CNF is a tautology.

Exercise 2 (adapted from A97 2.5)


Explain how the question of tautology and satisfiability can be decided if we are given an algorithm for
checking equivalence between two Boolean expressions.

Exercise 3 (adapted from A97 3.1)


Show how to write the Boolean expressions ¬x, x ∧ y, x ∨ y, x ⇒ y, and x ⇔ y using the if-then-else
operator, tests on un-negated variables, and the constants 0 and 1. Draw the ROBDDs for the expressions.

Exercise 4
Draw the ROBDD for (x1 ∧ y1) ∨ (x2 ∧ y2) using the ordering x1, x2, y1, y2.

Exercise 5 (adapted from A97 3.2)


Draw the ROBDD for (x1 ⇔ y1) ∧ (x2 ⇔ y2) ∧ (x3 ⇔ y3) using the ordering x1, y1, x2, y2, x3, y3 and x1, x2, x3, y1,
y2, y3

Exercise 6
Ignoring cycles, variable orderings and reduction rules, give an upper bound on the number of ROBDDs on n
variables with g internal nodes. As for circuits during lecture, use this estimate to show that the fraction of
Boolean functions with ROBDDs that have polynomial size in n goes to 0 as n goes to infinity.
Mandatory assignment
A threshold function    ,  , … , 
is a Boolean function on n Boolean variables that is true if at least k
of the Boolean variables are true.

Thus,

   ,  , … , 
|   1|  ).

1) Draw the ROBDD of    ,  ,  ,  , 


using the variable order          .
2) Label each internal node of your ROBDD with the number of true variables on the path leading to
the node.
3) Argue that the size (number of nodes) of the ROBDD of    ,  , … , 
is O(kn).
Hint: Use your solution from 2) to get an idea.

You might also like