# Second Midterm Exam Fall 2017

### Directions:

• 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 was A = 93, C = 63.
• Some useful definitions precede the questions below.
• No books, notes, calculators, or collaboration.
• In case of a numerical answer, an arithmetic expression like "217 - 4" need not be reduced to a single integer.

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

Here are definitions of some terms, sets, predicates, and statements used on this exam.

Remember that a natural is a non-negative integer, so that the set N or all naturals is {0, 1, 2, 3,...}.

The Fibonacci numbers are a sequence of naturals defined by the rules F(0) = 0, F(1) = 1, and, for all n with n ≥ 1, F(n+1) = F(n) + F(n-1).

For every natural n, we define two graphs, a directed graph Dn and an undirected graph Un. Each has vertex set {0, 1,..., n}. The directed edges of Dn are (1) (i, i+1) for every i with 0 ≤ i ≤ n-1, (2) (i+2, i) for every even i with 0 ≤ i ≤ n-2, and (3) (i, i+2) for every odd with 1 ≤ i ≤ n-2.

We also view Dn as a labeled graph where each edge of type (1) above has cost 2, and the other edges have cost 3.

The undirected graph Un has the same vertex set as Dn, and an undirected edge whenever Dn has a directed edge. We will not have occasion to use edge costs in Un.

``````
Directed graph D_5 with edge costs.  The graph U_5 has the
same nodes and edges but all the edges are undirected.

___________        _____________
/      3      \     /      3      \
V               \   V               \
(0) ----> (1) ----> (2) ----> (3) ----> (4) ----> (5)
2      \  2         2   ^  \  2         2   ^
\______________/    \_____________ /
3                   3

``````

• Question 1 (20+10): Pig Floyd is weighed at the beginning of every month. Let W(n), a real number, be his wieight in kilograms for month n. We will assume that for all n with n ≥ 1, his weight follows the rule W(n+1) = √2W(n) - W(n-1) + 700 - 350√2. Note that in our calculations we will not approximate √2. So if W(0) = 350 and W(1) = 400, for example, we calculate W(2) as 400√2 - 350 + 700 - 350√2 = 350 + 50√2.

• (a, 5) Assume for this part only that W(0) and W(1) are both 350. Prove by (strong) induction on all naturals n that W(n) = 350.

• (b, 5) Now assume, for the rest of the problem, that W(0) = 350 and W(1) = 400. Calculate W(n) for all naturals n with n ≤ 10. Put your answers in the form a + b√2 where a and b are integers.

• (c, 10) Still assuming that W(0) = 350 and W(1) = 400, prove by (strong) induction on all naturals n that each value W(n) can be written in the form an + bn√2, where an and bn are integers depending on n. (You are not asked in this part to determine the integers an and bn, only to prove that they exist.

• (d, 10XC) Still assuming that W(0) = 350 and W(1) = 400, determine the value of W(84), which is Floyd's weight seven years after the weighings start. Justify your answer. You will probably find an induction proof useful to avoid having to calculate all the intermediate values of W(n).

• Question 2 (20): The graph families Un and Dn, for all naturals n, are defined above.

• (a, 10) Prove by (strong) induction on n that in the graph Un there are exactly F(n+1) different paths from vertex 0 to vertex n such that the vertex number always increases along the path. (Here F(n) refers to the Fibonacci sequence defined above.)

• (b, 10) Given the cost function on Dn given above, where edges of the form (i, i+1) have cost 2 and the others have cost 3, prove the following by (strong) induction for all positive naturals n: "The minimum-cost path in Dn from vertex 0 to vertex n has cost (3n+1)/2 if n is odd and has cost 3n/2 + 1 if n is even."

Question 3 (30): This question involves various searches of the graphs D5 and U5 defined and pictured above. Note that each of these graphs has six vertices and nine edges. In each case, assume that your search uses a closed list.

• (a, 5) Conduct a breadth-first search of the undirected graph U5, with start node 3 and no goal node. Draw the resulting BFS tree, indicating with edges are tree edges and which are non-tree edges. If two nodes enter the queue at the same time, they should come off in numerical order, lowest number first.

• (b, 10) Conduct a depth-first search of the graph D5, with start node 3 and no goal node. Draw the resulting DFS tree, indicating which edges are tree, back, forward, and cross edges respectively. If two nodes enter the stack at the same time, they should come off in numerical order, lowest number first.

• (c, 10) Conduct a uniform-cost search of the directed graph D5 using the given edge costs, with start node 3 and only goal node 1. Indicate the order in which nodes enter and leave the priority queue.

• (d, 5) Conduct an A* search of the directed graph D5 using the given edge costs, with start node 3 and only goal node 1. The heuristic function h for each node x should give h(x) = |x - 1|. (You may assume without proof that this heuristic is admissible and consistent.) Indicate the order in which nodes enter and leave the priority queue, and the priority assigned to each entry in that queue.

• Question 4 (30): The following are fifteen true/false questions, with no explanation needed or wanted, no partial credit for wrong answers, and no penalty for guessing. Some of them refer to the scenarios of the other problems, and/or the entities defined above. Each one counts two points.

• (a) In the scenario of Question 1, whenever W(0) = W(1), we can be sure that W(0) = W(n) for all naturals n.

• (b) If f(0) = 4 and f(n+1) = f(n) + n - 3 for every natural n, then f(n) = (n2 - 5n + 8)/2 for every natural n.

• (c) The set {0, 1, 2, 3, 4, 5, 6}, with the successor function S(i) = (i+1)%7, does not satisfy the fifth Peano axiom for naturals.

• (d) The operation of exponentiation on naturals, with E(x, y) = xy, is neither commutative nor associative.

• (e) If a binary string has odd length and has a first letter and a last letter that are different, it must contain either 00 or 11 as a substring.

• (f) The graph Dn is strongly connected if and only if n is even.

• (g) The graph Un is bipartite if and only if n ≤ 1.

• (h) Let Σ be a nonempty finite alphabet with k letters. Then the number of strings in Σn that never have the same letter twice in a row is (k-1)kn-1.

• (i) A rooted binary tree has a number of leaves equal to its number of internal nodes.

• (j) A generic search may fail to terminate even if the search space is finite.

• (k) In part (d) of Problem 3, the heuristic h(x) = 2|x-1| would not have been both admissible and consistent. (It would fail to meet at least one of the conditions.)

• (l) The call tree of our recursive `factorial` method has n-1 leaves for any input n with n > 1.

• (m) There exists a boolean expression (as in Discussion #7) with more operators than primitive expressions.

• (n) Suppose that the first player has two choices for a first move in a finite game, and the optimal move is to choose the left subtree. Then every leaf value in the left subtree must be greater than or equal to every leaf value in the right subtree.

• (o) If a finite game has value v, then v must occur as a leaf value in its game tree.