CMPSCI 601: Theory of Computation
David Mix Barrington
Spring, 2010
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:
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-Xi)Xj(1-Xk)", 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