Professional Documents
Culture Documents
Your score
Question
Points Score
Search
11
Propositional logic
10
10
Constraint satisfaction
10
Total:
50
Solutions
(a) Assume you have been give the state space graph of a search problem, and you need to
define the corresponding search tree. How many nodes in the search tree correspond to
one node in the state space graph?
Solution: As many as there are paths from the initial state to the node. An infinite
number if there are loops.
[2 points]
(b) Fill in the following table to list the steps in which DFS traverses the search tree given in
figure 1 (bottom of page).
Step
0.
1.
2.
3.
4.
5.
Node Queue
A
B
D
G
H
E
{B,C}
{D,E,C}
{G,H,E,C}
{H,E,C}
{E,C}
{C}
Solution:
[2 points]
(c) Why is graph-search DFS complete (for problems with a finite set of states), but treesearch DFS is not?
Solution: Graph-search DFS does not get stuck in infinite loops because it keeps
track of visited nodes. So it will always terminate with failure or find a solution
whenever one exists.
B
D
G
Page 2/11
C
E
CS440/ECE448 Midterm
March 3, 2011
Solutions
[1 point]
(d) How do heuristic search techniques such as Uniform-Cost Search and A* search differ
from systematic search techniques such as DFS/BFS?
Solution: Heuristic search algorithms use a priority queue where items are sorted by
cost. Systematic search algorithms use a deterministic queuing function.
[1 point]
(e) How do the two heuristic search algorithms Uniform-Cost Search and A* search differ
from each other?
Solution: Uniform-cost considers only the cost to get from start to current state; A*
also considers the estimated cost of getting to the goal state.
[2 points]
(f) In the traveling salesman problem a list of cities (including one home city) and their
pairwise distances is given. The task is to find the shortest route that starts and ends in
the home city and visits all cities on the list exactly once.
Our salesman travels by plane, and can fly directly between any two cities on this list.
Flying distances obey the triangle inequality: flying from A to B is always shorter than or
equally long as flying from A to C and then from C to B.
If we define the home city as unvisited until we get back to it, is the distance to the nearest
unvisited city an admissible heuristic? Why?
Solution: Yes, because due to the triangle inequality it will never overestimate the
true distance.
[1 point]
(g) When does regular hill-climbing search fail to find the optimal solution?
Solution: If it gets stuck in a local maximum
[1 point]
(h) How does k-best hill climbing differ from random restart hill climbing?
Solution:
k-best: maintain k searches in parallel (always pick k best next options across
all k searches).
random restart: k independent searches from random positions.
March 3, 2011
CS440/ECE448 Midterm
Page 3/11
Solutions
(a) Is p p valid?
Solution: Yes.
[1 point]
[2 points]
[p (q r)]
...
...
...
...
(p q) (p r)
[1 point]
[1 point]
Page 4/11
CS440/ECE448 Midterm
March 3, 2011
Solutions
[1 point]
[1 point]
[1 point]
(h) Show how resolution can be used to derive a contradiction between p and p.
Solution: p p
0/
[1 point]
March 3, 2011
CS440/ECE448 Midterm
Page 5/11
Solutions
[1 point]
[1 point]
[1 point]
Page 6/11
CS440/ECE448 Midterm
March 3, 2011
Solutions
[1 point]
[2 points]
[2 points]
(g) Do the following sets of formulas unify? If they do, what is the most general unifier, and
what is the resulting unification instance? If they dont, give the reason. (Variables are
written as lowercase letters, constants as uppercase letters).
A. P(x, y, y) and P( f (C),C, v)
Solution: MGU = x/ f (C), y/C, v/y (0.5), result: P( f (C),C,C) (0.5)
B. P(x, f (x)), P(x, y), P(g(u), u)
Solution: no, there is a loop.
March 3, 2011
CS440/ECE448 Midterm
Page 7/11
Solutions
[1 point]
[1 point]
[1 point]
[1 point]
Figure 2: In KenKen, the numbers in each set of cells (indiciated by a thicker border) have to be
combined using an arithmetic operation (e.g. ) to yield a result (e.g. 6). The Latin Square on the
right is a solution to the KenKen puzzle on the left.
+3
3
1 2 3
x6 x6
2 3 1
3 1
Page 8/11
3x3 KenKen
CS440/ECE448 Midterm
March 3, 2011
Solutions
[1 point]
(f) A Latin square (see Figure 2) is an n n table whose cells are filled with numbers from
1 to n in such a way that each row and column of the table contains each number exactly once. How do you formalize the task of generating a Latin square as a constraint
satisfaction problem?
Solution: Variables = cells. Domains = numbers from 1 to n. Constraints: one allDiff constraint for each row and column.
[1 point]
(g) What is the constraint graph for the Latin square task?
Solution: nodes/variables = boxes; edges: no two boxes in the same cell or row can
be equal (alternative: binarized allDiff)
[1 point]
(h) KenKen (see Figure 2) is a logic puzzle similar to Sudoku. The task is to find a Latin
square for an empty n n table. The twist is that the cells of this table are partitioned
into sets (indicated by a thicker border) whose numbers have to be combined by addition
or multiplication to yield a prespecified result. What are the additional global constraints
that KenKen introduces beyond the Latin square problem?
Solution: one global constraint for each box.
[1 point]
(i) How can the arithmetic constraints in KenKen be expressed in a constraint hypergraph?
(You do not have to draw a hypergraph).
Solution: One hyperedge for each arithmetic constraint
[1 point]
(j) How can the arithmetic constraints in KenKen be expressed in a constraint graph?
Solution: This requires the introduction of one auxiliary variable for each global
arithmetic constraint.
March 3, 2011
CS440/ECE448 Midterm
Page 9/11
Solutions
[1 point]
[2 points]
(c) What does the definition of an operator (e.g. move(x,y,z) (move x from y to z) consist of?
Solution: Preconditions (a set of fluents that have to be true for the operator to be
applicable) and effects (a set of fluents that will be true after the operator has been
applied).
[1 point]
Page 10/11
CS440/ECE448 Midterm
March 3, 2011
Solutions
[1 point]
[1 point]
(f) How do Situation Calculus and STRIPS differ in how they solve the frame problem?
Which approach is better, and why?
Solution: Situation Calculus specifies which fluents remain the same, STRIPS specifies which fluents change. It is better/easier/more efficient to specify which fluents
change, because typically fewer things change than remain the same.
[1 point]
(g) The basic insight behind SATplan is that a plan of fixed length n can be translated into a
formula of propositional logic. Why is this always the case in classical planning?
Solution: Because in classical planning we always deal with a finite domain (database
semantics) as well as a finite number of operators and predicates, and thus have only
a finite number of possible actions and fluents.
March 3, 2011
CS440/ECE448 Midterm
Page 11/11