Wednesday, April 25, 2007

Why I Blog

There's a new meme making its way through the blogosphere that I think I will indulge myself with. Although I have not been tagged (as usual) for the "Why do I blog" meme, I have come across it in a few different spots such as Aetiology and A Blog Around The Clock. This meme seems to me to be spreading more slowly than other recent memes, perhaps because the reason why people blog is often self-evident from their blogs themselves. Having said that, I can see at the Blog Meme Tracker that it has been spreading. (One problem with that page is that it doesn't seem to have any facility for adding 'dotted line' links for people like me who weren't officially tagged.)

I actually had a rather specific purpose in mind when I started this blog, so maybe this post will help focus my attention back on that goal. It is said that the best way to test, or reinforce, your understanding of a subject is to explain it to someone else. My hope was that by explaining computability and complexity theory in this blog as I worked through the material, I would force myself to understand the material at a deeper level.

It would also serve a secondary interest I have in pedagogy. One thing I've found while trying to self-instruct from reading textbooks is that often the most frustrating stumbling blocks are the most superficial. I probably spend more time trying to decipher unfamiliar notation than I do with trying to grasp concepts. In fact, although there certainly are some very deep and difficult concepts in TCS, a lot of the material would be quite intuitive if only it was taught in a more concrete fashion. A big part of the problem is that textbooks are not generally meant to be used in isolation; something that might take an hour to parse while reading a text can often be explained away in a minute or two by a knowledgeable teacher in the classroom. So another goal I have with this blog is to explain the things I'm learning in such a concrete fashion that, say, a motivated high-school student could understand it.

As an aside, I've noticed some other bloggers touching on pedagogical issues recently... Bill Gasarch talks about teaching binary search to 8-year-olds. More ambitiously, Andy Drucker ponders teaching topology to kids. Much more ambitiously, Andy has also been working on simplifying the exposition of the PCP Theorem. This latter item is definitely not for kids. I don't know the PCP Theorem, and by that I mean that I do not even understand the statement of the theorem. (I know there are relatively simple "high level" explanations of the theorem, but I am not convinced that they really get to the meat of the theorem.) This might actually be a good end goal for this blog: If I can learn the PCP theorem, and explain the proof here in terms that a high-school student could follow, then I'll know it's time to quit! (I am assuming this will come after I prove that P ≠ NP.)

I've drifted away from my goals with this blog. The main reason for this, I think, is that my usual mode of discourse is to respond to other people instead of initiating the conversation myself. As a result, I've been spending my on-line time mostly by reading and leaving comments on other blogs. (I don't often provoke responses from others, so I sometimes wonder if anyone ever reads those comments... I have to add a thanks here to Joshua at The Adventures of Tobasco da Gama for the positive acknowledgment!) But blogging is all about initiating the conversation, so this is something I am going to work on. I'm also going to try to stay a little more focused on the goal, instead of getting distracted by all those other shiny objects on the Web.

Now for our little exercise in distributed peer pressure. I'm not sure if I know 5 different people who read this blog, but let me at least tag a couple of people. Let's see... I'm too late for Tyler, but I can still tag Foxy. And Antztein, you're being worse than me with your posting--consider this an excuse to make another entry. I know she won't see this, but since I'm sure she's been thinking about it, I'll tag Kathy Sierra. Okay, Kathy, now you have to post again since you've been tagged. And to anyone else out in the aether reading this, consider yourself tagged too.

Labels: , ,

3 Comments:

At 4/25/2007 11:43:00 PM, Blogger Foxy said...

Oh dear ... one of the hardest questions I ever have to answer is why I do math. Let me think about this.

 
At 8/27/2007 08:29:00 PM, Blogger Andy D said...

Hi Kurt! Just happened upon your blog/post, thanks for the mention... I'd be happy to discuss PCPs (or theory of comp more generally) with you, to the limited extent of my expertise.

Today, just like 15 years ago, the PCP theorem is a hard slog. But it's gotten much less hard with the recent work of Irit Dinur. My exposition was aimed at the part of her work that I found hardest to understand.

The *statement* of the PCP theorem, however, is not too complex. It has multiple forms, but here's perhaps the most intuitive one:

There exists a constant eps > 0 such that the following is true:

Given any language L in NP, there exists a polynomial-time reduction R mapping bitstrings to 3-SAT formulae, such that

-if x is in L, then R(x) is a satisfiable formula;

-if x isn't in L, then no assignment to the variables of R(x) can satisfy more than a (1 - eps) fraction of the clauses of R(x).

What does this result have to do with 'probabilistically checkable proofs'?

Suppose we are an all-knowing prover and want to prove to a poly-time verifier that x is in L. We send the verifier a description of a satisfying assignment b to R(x).

The verifier picks a random subset of the clauses of R(x), of size (1/eps), and checks that b satisfies these clauses; this takes 3/eps queries, a constant not depending on n = |x| (!!!).
The verifier accepts iff each of these
1/eps clauses are satisfied by b.

For the analysis:

-If x is in L, then R(x) is satisfiable by some b, and sending b causes the verifier to accept with probability 1.

-on the other hand, if x isn't in L, then (by the assumed property of the reduction R) any assignment b' to R(x) that we send will fail to satisfy an eps fraction of clauses, so there is a constant nonzero probability that at least one of the 1/eps clauses the verifier chooses will be unsatisfied; hence the verifier rejects with fair probability.

This probabilistic, constant-query-complexity protocol for L is called a PCP, and we've sketched how any L in NP has one as a consequence of the NP-hardness of approximating 3-SAT.

 
At 8/27/2007 11:42:00 PM, Blogger Kurt said...

Andy, Thanks so much for that! That was much easier to understand than anything else I've seen trying to explain what the PCP theorem is.

Not to put any pressure on you or anything, but you know that if you wrote that up and expanded on it a bit that would make a heck of a blog post.

 

Post a Comment

Links to this post:

Create a Link

<< Home