- Answer the problems on the exam pages.
- There are four problems, each with multiple parts, for 100 total points plus 10 extra credit. Actual scale A = 95, C = 65.
- Some useful definitions precede the questions below.
- No books, notes, calculators, or collaboration.
- In case of a numerical answer, an arithmetic expression like
"2
^{17}- 4" need not be reduced to a single integer.

Q1: 15 points Q2: 20+10 points Q3: 35 points Q4: 30 points Total: 100+10 points

- b is in L.
- If w is a string in L, then awc is in L.
- If u and v are both strings in L, then udv is in L.
- The only strings in L are those made using the first three rules.

The rules for T are:

- A single node labeled by b is in T.
- If t is a tree in T, then the tree that has a root with three children: a leaf labeled a, t, and a leaf labeled c, is in T.
- If t and u are trees in T, then the three that has a root with three children: t, a leaf labeled d, and u, is in T.
- The only trees in T are those made using the first three rules.

- (a, 5) Prove by induction on all naturals n that the string
a
^{n}bc^{n}is in L. (For example, if n = 3 this string is aaabccc.) - (b, 5) For any positive natural n, define w
_{n}to be the string of length 2^{n}- 1 that starts with b and alternates b's and d's. (For example, if n = 3 this string is bdbdbdb.) Prove, by induction on all positive naturals n, that w_{n}is in L. - (c, 10) Prove, by induction on the definition of L, that every string in L has odd length.
- (d, 10XC) Prove, by induction on both definitions in the question, that a string is in L if and only if it is the string formed by reading the leaves of a tree in T from left to right.

```
q(7)
/ \
1 1
/ \
r(6) s(8)
| |
1 3
| |
t(5) u(6)
\ / \
2 3 2
\ / \
v(3) w(5)
| |
2 3
| |
x(1) y(2)
\ /
2 2
\ /
z(0)
```

- (a, 5) Carry out a depth-first search of G with start node s and
no goal node. Indicate the stack contents at each step. If two
nodes enter the stack at the same time, they should come off in
alphabetical order. Draw the DFS tree, including non-tree edges.
- (b, 5) Carry out a breadth-first search of G with start node s and no
goal node. Indicate the queue contents at each step. If two nodes
enter the queue at the same time, they should come off in
alphabetical order. Draw the BFS tree, including non-tree edges.
- (c, 5) Prove that if we conduct either a DFS or a BFS of G, with any
choice of start node and no goal node, then the resulting tree will
have exactly two non-tree edges.
- (d, 10) Carry out a uniform-cost search of G with start node s and goal node z, using the given edge weights. Indicate which nodes are on the priority queue at each stage of the search.
- (e, 10) Conduct a complete A
^{*}search of G with start node s and goal node z, using the given edge weights and the given values for the heuristic function h. Indicate which nodes are on the priority queue at each stage of the search.

- (a) Any undirected graph with no cycles is a tree.
- (b) Depth-first search is the same as uniform-cost search with costs of 1 on every edge.
- (c) Let g(s) and h(s) be two admissible heuristic
functions for an A
^{*}search of the same graph with the same target node. Then the average of the two, (1/2)(g(s) + h(s)), is also an admissible heuristic for that graph with that target node. - (d) The path relation on a directed graph may fail to be transitive.
- (e) If a rooted tree has exactly one node, then its depth is 1.
- (f) There exists a rooted binary tree T, with a positive even number of nodes, such that every internal node of T has exactly two children.
- (g) Let G be a weighted directed graph with nodes s and t. Let C be a positive constant. It is possible that if we add C to the cost of evere edge in G, then we will change the path from s to t found by a uniform-cost search.
- (h) Let G be a finite two-player deterministic game of perfect information, where the game ends with a real number payoff from Black to White. Assume that Black has a strategy that will ensure that he pays at most 3. Then White must have a strategy that guarantees her a payoff of at least 3.
- (i) Let P(n) be a predicate on naturals. If P(0) and P(1) are both true, and ∀n: P(n) → (P(2n) ∧ P(2n+1)) is true, then ∀n: P(n) must be true.
- (j) Let G be a two-player deterministic game with perfect information, defined by a finite game tree with real-number values at its leaves. It is possible that G has value x, but that none of the leaves of the tree has value x.
- (k) Let Q(w) be a predicate on binary strings. It is possible that Q(λ) and ∀w: Q(w) → (Q(w0) ∧ Q(w1)) are both true, but that there exists a string v such that Q(v) is false.
- (l) Let G be a directed graph and let s and t be nodes of
G. If we do both a depth-first search and an A
^{*}of G with start node s and goal node t, then the A^{*}search is guaranteed to expand no more nodes than the DFS. - (m) Let G be a strongly connected directed graph, and suppose we conduct a DFS of G from start node s. If we remove all the back edges from the resulting DFS tree, the remaining edges form an acyclic graph.
- (n) Let (u, v) be a non-tree edge of the BFS tree of a strongly connected directed graph. If u is at level 5 of the tree, then it is possible that v is at level 2 or at level 6, but not possible that v is at level 7.
- (o) The set of integers {0,1,2,3,4,5,6}, with successor, addition, and multiplication all defined modulo 7, does not model the Peano axioms.

Last modified 18 May 2020