Due Wednesday September 8 1. Show from first principles that there is no finite state machine that accepts the language of formulas of the form x+y=z, where natural numbers x, y and z encoded in binary in the standard way, and where x plus y is indeed equal to z. So for example the input "10100+111=11011" is in the language. So intuitively this shows that finite state machines can not "add" in the most obvious interpretation of "add". 2. Show that there is a finite state machine that can accept the language over a string of 8 symbols, that intuitively mean [000] [001] [010] [011] [100] [101] [110] [111] where the first column plus the second column is equal to the third column. So to reuse our example from problem 1, the 5 symbol input [101][001][110][011][011] is in the language because 10100+111=11011. For simplicity, you may assume that you can read the input tape in either direction (though this assumption isn't strictly necessary). So intuitively this says that finite state machines can "add" for some reasonable intepretation of "add". Due Friday September 10 3. Problem 1.7 from the text. Suggestion: Use the proof of claim 1.6 both to get an idea of how to solve this problem, and as a model as to the level of detail that you should have in your write-up. Due Monday September 13 4. Consider a programming language PL2 that only has one type of loop, and the number of iterations of the loop must be determined when the loop is first encountered. So a loop statement might look like "Repeat n times", and the variable n is evaluated when the statement is reached. You can assume that the program has a variable Size that is instantiated to teh input size when the program starts running (otherwise, you couldn't even read the input). So all PL2 programs must halt on all inputs. Show by diagonalization that there is a language accepted by a Java program that is not accepted by any PL2 program. Use Diagonalization. Give a concrete example of a language that is not acceptable by any PL2 program, but that is accepted by a Java program. Due Wednesday September 15 5. Consider the following decision problem. The input consists of a collection of types of unit squares, four finite state machines that we will call L, R, T, and B, and a collection of color rules. a UNIT SQUARE TYPE is an ordered 4-tuple of colors (there is no a priori bound on the number of possible colors) meaning that you can use as many unit squares as you like that have these four colors in clockwise order around the outside. For example, a unit square type might be (red, red, blue, green). A color rule is a pair of colors meaning that square sides of these colors are allowed to touch. For example, a color rule might be (red, blue). Each of the four finite automata take as input a string of colors, and either reject or accept the string. The decision is to determine whether there is a rectangle filled with available types of unit squares, placed to obey the color rules, where the colors on the top are accepted by T, the colors on the left are accepted by L, the colors on the right are accepted by R, and the colors on the bottom are accepted by B. Show that there is not algorithm to solve this problem. Hint: Recall the proof that the term rewriting problem is not computable. Think of row i of the rectangle as being the configuration of a Turing machine after step i. Think of a sequence of rows as being a computation history. Think of many of the colors encoding either some small string of tape symbols, or a position of the tape head, the state in the finite state control, and some tape symbols. The only issue that is not straightforward is how to guarantee consistency when the tape head moves. To handle this, think about there being some overlap in information between consecutive colors on the bottom/top of a row. Due Friday September 17 6. The goal of this problem is to finish up the proof in class of a version of Goedel's incompleteness theorem that there is no complete sound axiomatization of standard arithmetic. Consider an string S that represents the computation history of a particular Turing machine T, e.g. S = S1#S2# .... #SK for a computation that takes K steps. Here Si is the state on the ith step. The number of symbols J in each Si is the number of states in T plus the size of the tape alphabet for T plus one symbol to represent the position of the tape head. Consider S as a base J integer. Explain how to express the informal sentence "S represents a valid computation for T" as a first order logical sentence using standard arithmetic operators such as plus, minus, times, division, mod, floor, ceiling, equals, less than, etc and standard logical operators: and, or, not, etc. Note that this is required for the proof of that there is no complete axiomatization of standard arithmetic. Due Monday September 20 7. Consider first order logical sentences of arithmetic where your are allowed to use = and +. Without loss of generality we may assume that the only logical operators are AND and NOT, and that all quantifiers appear first. So you might have a formula like: THEREEXISTS x FORALL y FORALL z THEREEXISTS w such that (x+y=z) AND NOT (y+z=w+x) Our goal here is to show that there is an algorithm to accept exactly the language of true formula using the following strategy. Recall from problem 2 that we know how to build a finite state machine that accept tuples (x,y,z,w) properly encoded that satisfy (x+y=z) and a finite state machine that accepts tuples (x, y, z, w) properly encode that satisfy (y+z=w+x). Explain why if you have finite state machines for (x+y=z) and (y+z=w+x), you can get a finite state machine to tuples (x, y, z, w) properly encode that satisfy (x+y=z) AND NOT (y+z=w+x). Now consider the quantifiers from the inside out. Explain how to construct a finite state machine that accepts tuples (x, y, z) properly encoded with the property that THEREEXISTS w such that (x+y=z) AND NOT (y+z=w+x) Explain how to construct a finite state machine that accepts tuples (x, y) properly encoded with the property that FORALL z THEREEXISTS w such that (x+y=z) AND NOT (y+z=w+x) Extend this to the whole formula. Then explain how to use the final finite state machine to get your final answer. It is OK for your write up to use this example, but it should also explain how the algorithm would work on a generic instance. Concentrate on high level ideas, not low level details. Due Wednesday September 22 8. Recall the definition of entropy of a probability distribution X over a set U: H(X) = Sum_{x in U} prob(x) lg (1/prob(x)) Now define the conditional entropy of not necessarily independent probability distributions X and Y to be: H(X|Y) = Sum_{y} prob(y) Sum_{x} prob(x|y) lg 1/prob(x|y) Subproblem A) Prove that H(X|Y) = Sum_{x,y} prob(x,y) lg 1/ prob(x|y) Subproblem B)) Explain why intuitively H(X|Y) tells you how much information one gains from seeing the outcome of X, given that one has already seen the outcome of Y. Subproblem C) Prove that H(X) - H(X|Y )= H(Y)-H(Y|X). Subproblem D) Consider the process of drawing cards without replacement from a deck, and then looking at the cards in some order. What does the above statement say about how the order that you look at the cards affects the amount of information that you receive after each time you look at the cards? Due Friday September 24 9. Assume a log-space reduction from a language A to a language B. So more precisely, there is a Turing machine T with three tapes, a read only input tape, a read/write work tape, and a write-only output tape. T only uses log of the input size many cells on the read/write work tape. Further T never backs up the tape head on the write only output tape, so the tape head on the write only tape either stays in position or moves to the right. The machine T has the property that a string x in in A iff the contents of the write tape when T ends computation on input x is in B. Now show that if there is a log space Turing machine S that accepts B, then there is a log space Turing Machine U that accepts A. Note that this is not trivial because U will have enough work tape to write down the output of T. This is a good problem to show how to make use of the fact that space is reusable. Due Monday September 27 10. Consider the following game played by two players A and B on a directed graph G with a designated start vertex s. On the first move, player A picks an edge (s, v) leaving s. Then s and v are designated as visited. On each even numbered move, player B picks an edge (v, w) from the current vertex v to a vertex w hasn't been visited before. If no such vertex w exists, then player B loses. Vertex w then is designated as visited and becomes the current vertex. On each odd numbered move, player A picks an edge (v, w) from the current vertex v to a vertex w hasn't been visited before. If no such vertex w exists, then player A loses. Vertex w then is designated as visited and becomes the current vertex. So the players A and B taking turns picking edges in a directed path P starting at s, with a player losing if he/she can't extend the path. Prove that determining for a particular G and s, whether the first player has a winning strategy is PSPACE-hard by reduction from the problem of determining whether a quantified Boolean formula F is true. Hint: Conceptually the graph G will have two parts, G_1 and G_2, that P will traverse in that order. In some sense G_1 represents the quantifiers in F. So there will one vertex in G_1 for each quantifier in F. And for each such vertex, there will be two exiting edges corresponding to true and false. Then G_2 needs to verify that there are choices for the first player (corresponding to the existential quantifications in F) in G_1, such that for all choices of the second player (corresponding to the universal quantifications) in G_1, the first player will win iff F is true. Due Wednesday September 29 11. Problem 5.3 from the text. Due Friday October 1 12. Problem 5.9 from the text. Due Monday October 4 13. The time hierarchy theorem leaves open the possibility that Time(n) = Time(n log log n). Show that it is unlikely that one can show that Time(n) = Time(n log log n) by simulation by showing that there is an language B such that Time(n)^B is not equal Time(n log log n)^B. Hint: Try to mimic the proof that there is a language B such that P^B is not equal NP^B. First ask yourself what question about B can a Time(n log log n) machine can easily answer that a TIME(n) machine can not answer. Due Wednesday October 6 14. Problems 6.6 and 6.7 from the text. They are related and quite easy, particularly with the hint at the back of the book. Due Friday October 8 Problem 5.9 from the text. Note here that completeness and reducibility here are relative to to "many-to-one or Karp" reductions. The problem is not interesting if one allows "Turing or Cook" reductions. 15. Problem 6.14 from the text Due Tuesday October 12 16. Prove ZPP = RP intersect co-RP Due Wednesday October 13 17. Problem 8.3 from the text. Note that BP.NP is defined in section 7.6. This is definitely an easy one. The proof is almost immediate once you understand the definitions. Due Friday October 15 18. Problem 8.5 from the text Due Monday October 18 19. Show that MAM is a subset of AM. Note that this is a special case of 8.7 in the text, and that there is a hint in the book. Due Wednesday October 20 20. Read the history of the IP=PSPACE result given in http://www.cs.pitt.edu/~kirk/cs2110/BabaiIPStory.pdf There is no written homework, but there will be a short quiz at the start of class to verify that you did the reading. Due Friday October 22 21. Problem 9.5 from the text. That is, show that if P=NP then one way functions don't exist. Note that the contrapositive of this implication is: If one way functions exist then P is not equal NP. Monday October 25, NO CLASS Wednesday October 27 22. Problem 9.15 Friday October 29 23. Read and understand the protocol in problem exercise 9.17 part b from the text. Write a one paragraph summary of the protocol in your own words. Do your best to formulate a precise formal definition of "computational zero knowledge" that plausibly this protocol might have. Explain why this protocol would seem to have this property. If you have a fully formal definition, and a full proof, great. But I would be satisfied with a reasonably formal definition, and an intuitive explanation why it would seem that this protocol has this property. Monday November 1 24. part a) Recall the 1/2 silvered mirror experiment, which was essentially a Hadamard gate, followed by a "not", followed by a Hadamard gate. In this experiment the state of the bit coming out of the Hadamard gate was the same as the state of the bit entering if the entering bit was not in superposition. Show by basic calculations that this remains true if the entering bit is in superposition. part b) Now you want to replace the intermediate "not" operation with quantum operation Q such that if the input bit was not in superposition, then the output bit will be the opposite of the input bit (or show that there is no such quantum operation). Justify your claim. part c) How does the resulting system (with Q replacing "not") operate if the input qubit is in superposition? Justify your answer. Wednesday November 3 25. part a) Show that if you have a 2-bit system in state a|00> + b | 01> + c |10> + d |11>. Consider two experiments, in one you measure the first qubit, and then measure the second qubit, and in the other, you measure the second qubit, and then measure the first qubit. Show that the probability distributions that the classical bits that you observe in the end is independent the order that you look at the bits. This is very easy, but and is just a warm up problem to get your brain flowing. part b)Work out in detail the probability that Alice and Bob observe a=b in the case that x=y=1 in the EPR experiment in the book. Show every step of your calculations, and give lots of explanation. Friday November 5 26. Consider the same set up as the parity game. Alice and Bob split two entangled bits. Alice and Bob are then split up. Alice is then given 2 classical bits x and y. Depending on the value of x, and y, Alice sends Bob 1 qubit. From this single qubit, Bob determines with certainty the two classical bits x and y from his entangled bit and the sent qubit. Explain how to accomplish this. You need to explain Alice's encoding strategy, Bob's decoding strategy, and why these strategies work. Note that you can extend this to allow for the transmission of 2n classical bits using only n quantum bits. Hint: The 4 possible states of the sent qubit will be + 1/sqrt(2) |0> + 1/sqrt(2) |1> + 1/sqrt(2) |0> - 1/sqrt(2) |1> - 1/sqrt(2) |0> + 1/sqrt(2) |1> - 1/sqrt(2) |0> - 1/sqrt(2) |1> Monday November 8 (Email me your writeup) 27. The goal of this problem is to find a way to transmit information about a qubit by sending two classical bits. Alice and Bob split up entangled bits |ab| in state |00> + |11>. Assume that now Alice is given qubit x. So x is in some unknown superposition between states |0> and |1>. Alice now performs the following reversible operation on x, if a=1 then negate x. Alice then runs qubit a through a Hadamard gate. Alice now measures the current values of a and x, and sends these two classical bits to Bob. Explain what the state of all the particles a, b, and x is after each of Alice's operations. Then explain how Bob can use the two classical particles to change the state of b to the original state of x. Note that when Alice measures a and x, then she can no longer recover the original state of qubit x. Wednesday November 10 28. Problem 11.2 from the text. This is very easy. 29. Problem 11.7 from the text. This should be pretty straightforward. Just convert the interactive proof for the permanent from chapter 8 as the interactive proof for graph non-isomorphism was converted in example 11.7. Friday November 12 30. Problem 11.16 from the text. Note that the problem allows for rational solutions (otherwise the problem would be trivially NP-hard as deciding whether a system of linear equations are all satisfiable over the integers is NP-hard). Hint: There is a simple reduction from MAXSAT. Monday November 15 (Writeup) 31. Problem 13.19 from the text That is it for homework for the semester.