This is the home page for CMPSCI 601. CMPSCI 601 is the graduate core course in the theory of computation and will deal primarily with complexity theory, with some forays into formal languages, computability, and logic.

The text is the new (and hence untested) textbook by Arora and Barak, called *Computational Complexity: A Modern Approach*. This text is available at the Textbook Annex and elsewhere.

The prerequisite for the course is the mathematical background expected of a computer science graduate student (linear algebra, discrete mathematics, statistics) plus a good undergraduate course in algorithms. An undergraduate course in the theory of computation, such as CMPSCI 401 here, should not be needed -- when we need background in formal language theory or computability I will develop it in lecture. This is a very serious mathematical course and will expect a very serious understanding of the notion of mathematical proof.

The course will meet for lecture Mondays and Wednesdays from 10:35 to 11:50 in room 140 of the CMPSCI building. In addition, there will be an *optional* discussion section on Fridays from 11:15-12:05, currently scheduled for room 142 of the CMPSCI building. I will not present new material in these optional classes, unless I announce in advance that we will have a regular lecture there to make up for a snow day. I will not be taking attendance, but of course I urge you to attend all lectures.

**Instructor Contact Info:** David Mix Barrington, Room 210 Computer Science Building, 545-4329, barring at cs dot umass dot edu. Office hours Monday 4-5, Tuesday 2-3, Thursday 10-12.

**TA Contact Info:** Stephen Murtagh, 545-1985, smurtagh at cs dot umass dot edu, office hours Tuesday 1-2 in LGRT 220.

**Important Course Material:**

- Course requirements and grading
- Homework Assignment Directory (with HW#8)
- Exam Directory (with real final and solution)
- Notes from Friday Discussions (up to 2 April)
- Questions and Answers (with some on HW#7)
- Syllabus (revised 24 Feb)

**Announcements (19 May 2010):**

- (19 May) Solutions are done. Have a great summer!
- (19 May) The final is posted, and most of the solutions. I hope to finish the solutions tonight.
- (14 May) I have now graded the final exams and filed grades. (I will
post the exam and solution, but at the moment that is a lower priority for me
than grading my other course's final exam -- I'll get to it this weekend.)
The finals were disappointing, with only three A-type (92, 83, 70), 22 B-type (ranging from 66 down to 43) and seven C-type (41, 33, 31, 30, 28, 22). The basis for the scale was A = 84, B = 56.

Overall for the course, the generally very strong homework performances pulled most students up to the grade they needed. I gave five A's (including one unofficial A+ which I reported to the GPD for later reference), eight A-'s, fifteen B+'s, and three B's. I have emailed the three people with B's individually, so if you did not get that email you should know that you have B+ or better.

Thanks for all of your helpful and thoughtful comments on the response sheets from last week -- they will be helpful to Neil as he plans next year's course.

- (5 May) Solutions for HW#8 are now available in the CMPSCI main office, at least except for Exercise 9.15(c), half of which turned out to involve more details of the "semantically secure" definition than I could handle easily. I will take the excessive difficulty of this question into account when scaling HW#8.
- (3 May) I have posted a solution to the practice final exam. I'll discuss this in class tomorrow morning (or later this morning, technically).
- (29 Apr) I have posted the practice final exam. I'll discuss this in the Friday class period and post a solution over the weekend.
- (22 Apr) I have now posted the last HW assignment, due at 4:00 on the last day of classes, Tuesday 4 May.
- (15 Apr) I have posted the first question and answer on HW#7 and will add to this page as needed. Also, I have decided to take the suggestion in class and make HW#7 due on Friday 23 April. HW#8 will be due on the last day of classes, Tuesday 4 May.
- (15 Apr) There is a serious typo in [AB] that affects one of the
questions on HW#7. On page 138, Definition 7.16 says the a probabilistic
TM M computes a randomized reduction from B to C if for any x,
Pr(B(M(x)) = C(x)) ≥ 2/3. This should say "Pr(C(M(x)) = B(x) ≥ 2/3".
The important property of a randomized reduction is that BPP is closed
downward under them, as [AB] observe immediately after the definition. If
B ≤
_{r}C, we want to be able to use a BPP algorithm for C to build a BPP algorithm for B. So given an input x, we want to create a string M(x) such that it is probably the case that "x is in B iff M(x) is in C". Then if our C-tester probably tells us whether M(x) is in C, we probably know whether x is in B. Note that M(x) is a random variable -- a distribution on strings.I also observed (and noted in class last Monday) a significant typo on page 158, in the display equation at the bottom. The right-hand side should be "1 - (1-X

_{i})X_{j}(1-X_{k})", which equals 1 iff the OR of the three literals on the left-hand side is true. The expression in [AB] is 1 iff the AND of those three literals is true. This error doesn't affect anything they say later about this expression, as far as I can tell. - (13 Apr) I have posted the HW#7 assignment, due a week from tomorrow. It has ten points of extra credit, in case you want to boost the homework component of your grade. (The scale will still be A = 45 and B = 30, so a 60 could be quite valuable.)
- (8 Apr) I have posted some questions and answers on HW#6 and will add to this as I get new questions.
- (4 Apr) I have posted notes from last Friday's optional discussion and made a correction and an addition to HW#6.
- (29 Mar) I have posted HW#6, due two weeks from this morning. You will have about a week and a half each for the last two assignments.
- (25 Mar) I have posted a question and answer on HW#5 and will add more as I get questions.
- (17 Mar) I've just posted the midterm and its solution. I'm actually fairly satisfied with how this came out, though I wish I had given you a more accurate idea of the scale before the test. The people with 60's did demonstrate the sort of command of the material I am looking for in a B+, and the people with 40's didn't. The final exam will be similar in length and difficulty to the midterm, except that you will have two hours for it (maybe 2:15) -- the scale might be A = 90 and B = 60 because of that, but not any more different. Even the people with 30's still have a reasonable shot at a B+ overall with strong homework and a greatly improved final exam.
- (15 Mar) I've graded the midterms -- with the revised scale of A = 80 and B = 50, the 32 exams divided into 2 A+'s, 5 A's, 9 A-'s, 4 B+'s, 3 B's, 4 B-'s, 4 C+'s, and a C. (The sorted sequence of all grades was 95, 90, 83, 82, 79, 76, 76, 74, 74, 70, 69, 69, 69, 68, 68, 68, 64, 63, 57, 56, 52, 52, 46, 40, 37, 35, 35, 32, 31, 29, 26, 18. I will post the exam and solutions tonight or tomorrow, more likely tomorrow -- I will also answer email requests for grades.
- (11 Mar) The HW#5 assignment is now up. About half of it uses only material from Chapter 5, if you want to work on it before or during break, but you will have a full week after you get back. I will probably not have the midterms graded by tomorrow morning.
- (11 Mar) HW#5 assignment will be up later today, sorry.
- (8 Mar) I will post the HW#5 assignment sometime on Wednesday after
the exam, and it will be due on Monday 29 March, the
*second*Monday after spring break. This Friday's discussion will be a post-mortem of the exam -- I will post the exam and solutions on Monday 15 March. - (8 Mar) As we discovered in lecture this morning, the solution to
Exercise 5.9(c) in the HW#4 solutions (which I wrote for Steve very late last
night) is not quite right. We let Z = X ∩ Y, with X in NP and Y in co-NP,
and then the NP-completeness of IND-SET gives us functions f and g such that
for any w, f(w) = (G,k) and g(w) = (H,k') where (G,k) is in IND-SET iff w is in
X and (H,k') is
*not*in IND-SET iff w is in Y.I need to hack out a single graph A and a number m such that (A,m) is in EXACT-IND-SET iff w is in Z. Let m be an odd number that is bigger than both k and 2k'. We first create a graph G' that has an ind-set of size m iff w is in X and has no ind-set bigger than m either way. To do this, make sure we construct (G,k) using the reduction from 3-SAT to IND-SET in the book, which never has an ind-set bigger than the target size, and add new isolated vertices to bring the size of the target ind-set from k up to m. Then we take H and replace each of its vertices by a pair of vertices, not connected to each other but each connected to both members of the pair for every vertex their former vertex was connected to. This has the effect of doubling the size of any independent set, so the new H' has an ind-set of size at least 2k' if w is not in Y and of size at most 2k' - 2 if w is in Y. By adding new isolated vertices, we create an H'' that has an ind-set of size at least m+1 if w is not in Y and at most m-1 if w is in Y.

Now we apply the construction in the solutions to combine G' and H'' into a single graph A whose ind-sets are exactly those of G' and those of H''. The maximum ind-set of A has size exactly m if w is in both X and Y, of size more than m if w is not in Y, and of size less than m if w is in Y but not in X. So w is in Z iff (A,m) is in EXACT-IND-SET. There is probably a somewhat simpler construction.

- (8 Mar) The midterm will cover all of Chapters 1-5 of [AB]
*except*Section 5.4, on time/space tradeoffs for SAT. (I had intended to talk about that section in lecture today but didn't get to it, so I will talk about it the Monday after break.) Remember that my office hours today are 3-4 rather than 4-5, because of the faculty candidate talk. - (6 Mar) I have posted solutions to the practice midterm. There are also now some questions and answers on HW#4.
- (4 Mar) Sorry, I thought I had linked to the practice exam last night but it seems that I didn't. It's up now -- Question 8 is a bit different from what I had up last night and is probably still too hard, but instructive nonetheless.
- (3 Mar) I've posted the practice midterm exam. I'll discuss this in the Friday session this week, and post solutions over the weekend.
- (3 Mar) I've made a correction to the HW#4 assignment because of an error in the textbook.
- (3 Mar) I am moving my office hours next Monday (8 March) from 4-5 to 3-4 because of a faculty candidate talk.
- (3 Mar) I will post the practice midterm tonight. The real midterm a week from today will be in class, last 75 minutes, and not allow books, notes, or calculators.
- (1 Mar) Sorry for the late notice, but I will not be at my office hours this afternoon because I'll be at Rod's distinguished faculty lecture.
- (26 Feb) I have posted the HW#4 assignment, which is due a week from Monday. There is an extra credit, which involves quoting a result from Chapter 6 -- you have the background in Chapter 4 to understand and use the result, and we will prove it later.
- (25 Feb) I have a somewhat embarassing request. When we handed back the graded HW#1's, Steve and I each assumed that the other had written down the scores but neither of us did. So I would like to see your graded HW#1 at some point and write down the grade -- any time before or after class is fine and there is not a big hurry.
- (24 Feb) Well, at 6:00 a.m. the UMass closing page said that we would open at 10:00, but now (8:30) it says we open at 5:30. So today's lecture is cancelled and we will have an ordinary lecture 11:15-12:05 Friday in room 142, in place of the discussion section. If the conditions there are anything like they are here in Gill, closing for the day was the right move.
- (23 Feb) There is some chance of a snow day tomorrow -- check here in the morning. If the class tomorrow is cancelled (i.e., if the university is still closed at 10:35) I will have a regular lecture on Friday 26 February. We've covered all the material that is on HW#3, because we are done with Chapter 3.
- (23 Feb) There are now some questions and answers on HW#3 -- I will add to this if I get more.
- (20 Feb) I have posted notes from yesterday's discussion section on the Friday notes page.
- (17 Feb) I have posted the HW#3 assignment, due a week from Friday either in discussion class or to the CMPSCI main office by 4:00 p.m. at the latest. Today in class we handed back graded HW#1 papers. The scale for HW#1 (out of 50 points) is 30 = B, 45 = A.
- (14 Feb) I have posted some questions and answers on HW#2, and will add to this page as I get more questions.
- (13 Feb) I have fixed the links that were broken by my editing this page from Germany (lesson -- don't use TextEdit to maintain raw HTML). Philipp reports a successful couple of classes, and I will finish Chapter 2 as planned on Tuesday and start Chapter 3 on Wednesday. (Remember that Tuesday is a Monday schedule.)
- (13 Feb) By request, I am extending the due date for HW#2 from Tuesday in class to Wednesday in class. That will give you another chance at office hours for me at least -- I will keep my 4-5 Monday hours rather than the 2-3 Tuesday ones. (I'm also fixing the mistake that labeled HW#2 as "HW#1".)
- (10 Feb) I understand that we were snowed out today, so what I would like to do is for PhilippÂ to take the discussion period this Friday (12 February) for an hour's worth of the lecture he was going to give today.Â So unlike most Friday sessions, this one is required.Â (I know one or two of you can't make it -- I can talk to you when I get back.)
- (3 Feb) I have posted the HW#2 assignment, which is due a week from Tuesday (when we have class due to the Monday schedule). Note that I will be away from Saturday 6 February through Friday 12 February, with limited access to email, so send your questions to Steve first.Â
- (3 Feb) Steve has set his office hours for Tuesdays 1-2 in LGRT 220. It was my fault, not his, that we didn't tell you about yesterdays office hours until now, sorry.Â
- (26 Jan) I have chosen my office hours, which are listed above. I expect to be able to post Steve's hours soon.Â
- (26 Jan) You may get more insight into the nature of a Turing machine by looking at this mural from Sieg Hall, the former home of the CSE department at the University of Washington. Note that this TM has just one singly-infinite tape with a start symbol at the first cell (in the lower left) and appears to have a two-letter tape alphabet. I think the gong to the left of the red central processing unit is to announce if and when the machine halts.Â
- (22 Jan) I've posted some notes from today's discussion.Â
- (22 Jan) I have posted the first HW assignment, due Wednesday 3 February.Â
- (22 Jan) I've been informed that CMPSCI 635 also has an in-class midterm scheduled for Wed 10 March -- I am checking with Prof. Weems and one of us will move the test. One possibility is that I will move mine to that evening.
**(He moved his exam, so we stay with Wednesday morning.)** - (16 Jan) The Course Requirements and Grading page is now up.Â
- (15 Jan) The syllabus is posted, and the course requirements and grading will follow over the weekend.Â
- (8 Jan) I am just starting construction of the site for the new offering of the course today. As I've indicated, I'm changing the course significantly from what Prof. Immerman (and I, subbing for him in 2003 and 2004) have offered in the past. This is going to be a course in complexity theory, using a new textbook. I will be following the book fairly closely in lecture, and hence will not be preparing lecture notes as Neil and I did in the past.

Last modified 19 May 2010