04.09.2013 Views

Algorithm Design

Algorithm Design

Algorithm Design

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

552<br />

Chapter 9 PSPACE: A Class of Problems beyond NP<br />

on this problem, covering the state of the art up to a year before IBM’s Deep<br />

Blue finally achieved the goal of defeating the human world champion in a<br />

match.<br />

Planning is a fundamental problem in artificial intelligence; it features<br />

prominently in the text by Russell and Norvig (2002) and is the subject of a<br />

book by Ghallab, Nau, and Traverso (2004). The argument that Planning can<br />

be solved in polynomial space is due to Sa.vitch (1970), who was concerned<br />

with issues in complexity theory rather than the Planning Problem per se.<br />

Notes on the Exercises Exercise 1 is based on a problem we learned from<br />

Maverick Woo and Ryan Williams; Exercise 2 is based on a result of Thomas<br />

Schaefer.<br />

Ch ter<br />

Extending the Limits<br />

Trac~abigity<br />

Although we started the book by studying a number of techniques for solving<br />

problems efficiently, we’ve been looking for a while at classes of problems--<br />

NP-complete and PSPACE-complete problems--for which no efficient solution<br />

is believed to exist. And because of the insights we’ve gained this way,<br />

we’ve implicitly arrived at a two-pronged approach to dealing with new<br />

computational problems we encounter: We try for a while to develop an<br />

efficient algorithm; and if this fails, we then try to prove it NP-complete (or<br />

even PSPACE-complete). Assuming one of the two approaches works out, you<br />

end up either with a solution to the problem (an algorithm), or a potent<br />

"reason" for its difficulty: It is as hard as many of the famous problems in<br />

computer science.<br />

Unfortunately, this strategy will only get you so far. If there is a problem<br />

that people really want your help in solving, they won’t be particularly satisfied<br />

with the resolution that it’s NP-hard I and that they should give up on it. They’ll<br />

still want a solution that’s as good as possible, even if it’s not the exact, or<br />

optimal, answer. For example, in the Independent Set Problem, even if we can’t<br />

find the largest independent set in a graph, it’s still natural to want to compute<br />

for as much time as we have available, and output as large an independent set<br />

as we can find.<br />

The next few topics in the book will be focused on different aspects<br />

of this notion. In Chapters 11 and 12, we’ll look at algo~-ithms that provide<br />

approximate answers with guaranteed error bounds in polynomial time; we’ll<br />

also consider local search heuristics that are often very effective in practice,<br />

~ We use the term NP-hard to mean "at least as hard as an NP-complete problem." We avoid referring to<br />

optimization problems as NP-complete, since technically this term applies only to decision problems.

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

Saved successfully!

Ooh no, something went wrong!