18.04.2013 Views

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

War Story: Hard Against the Clock<br />

Next: Approximation <strong>Algorithm</strong>s Up: Intractable Problems and Approximations Previous: <strong>The</strong> Art of<br />

Proving<br />

War Story: Hard Against the Clock<br />

My class's attention span was running down like sand through an hourglass. Eyes were starting to glaze<br />

even in the front row. Breathing had become soft and regular in the middle of the room. Heads were<br />

tilted back and eyes shut in the rear.<br />

<strong>The</strong>re were fifteen minutes left to go in my lecture on NP-completeness, and I couldn't really blame<br />

them. <strong>The</strong>y had already seen several reductions like the ones presented here, but NP-completeness<br />

reductions are easier to create than to understand or explain. <strong>The</strong>y had to watch one being created in<br />

order to appreciate this.<br />

I reached for my trusty copy of Garey and Johnson's book [GJ79], which contains a list of over four<br />

hundred different known NP-complete problems in an appendix in the back.<br />

``Enough of this!'' I announced loudly enough to startle those in the back row. ``NP-completeness proofs<br />

are routine enough that we can construct them on demand. I need a volunteer with a finger. Can anyone<br />

help me?''<br />

A few students in the front held up their hands. A few students in the back held up their fingers. I opted<br />

for one from the front row.<br />

``Select a problem at random from the back of this book. I can prove the hardness of any of these<br />

problems in the now twelve minutes remaining in this class. Stick your finger in and read me a problem.''<br />

I had definitely gotten their attention. But I could have done that by offering to juggle chainsaws. Now I<br />

had to deliver results without cutting myself into ribbons.<br />

<strong>The</strong> student picked out a problem. ``OK, prove that Inequivalence of Programs with Assignments is<br />

hard,'' she said.<br />

``Huh? I've never heard of that problem before. What is it? Read me the entire description of the problem<br />

so I can write it on the board.'' <strong>The</strong> problem was as follows:<br />

file:///E|/BOOK/BOOK3/NODE118.HTM (1 of 4) [19/1/2003 1:29:56]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!