21-nphard - Algorithms Lecture 21 NP-Hard Problems The wonderful thing about standards is that there are so many of them to choose from Real

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Algorithms Lecture 21: NP-Hard Problems The wonderful thing about standards is that there are so many of them to choose from. Real Admiral Grace Murray Hopper If a problem has no solution, it may not be a problem, but a fact not to be solved, but to be coped with over time. Shimon Peres 21 NP-Hard Problems 21.1 Efficient Problems A generally-accepted minimum requirement for an algorithm to be considered efficient is that its running time is polynomial: O ( n c ) for some constant c , where n is the size of the input. 1 Researchers recognized early on that not all problems can be solved this quickly, but we had a hard time figuring out exactly which ones could and which ones couldnt. there are several so-called NP-hard problems, which most people believe cannot be solved in polynomial time, even though nobody can prove a super-polynomial lower bound. Circuit satisfiability is a good example of a problem that we dont know how to solve in polynomial time. In this problem, the input is a boolean circuit : a collection of A ND, OR, and NOT gates connected by wires. We will assume that there are no loops in the circuit (so no delay lines or flip-flops). The input to the circuit is a set of m boolean (T RUE / F ALSE) values x 1 ,..., x m . The output is a single boolean value. Given specific input values, we can calculate the output of the circuit in polynomial (actually, linear ) time using depth-first-search, since we can compute the output of a k-input gate in O ( k ) time. x y x y x y x y x x An And gate, an Or gate, and a Not gate. x 1 x 2 x 3 x 4 x 5 A boolean circuit. inputs enter from the left, and the output leaves to the right. The circuit satisfiability problem asks, given a circuit, whether there is an input that makes the circuit output T RUE, or conversely, whether the circuit always outputs F ALSE. Nobody knows how to solve this problem faster than just trying all 2 m possible inputs to the circuit, but this requires exponential time. On the other hand, nobody has ever proved that this is the best we can do; maybe theres a clever algorithm that nobody has discovered yet! 1 This notion of efficiency was independently formalized by Alan Cobham (The intrinsic computational difficulty of functions. Logic, Methodology, and Philosophy of Science (Proc. Int. Congress) , 2430, 1965), Jack Edmonds (Paths, trees, and flowers. Canadian Journal of Mathematics 17:449467, 1965), and Michael Rabin (Mathematical theory of automata. Proceedings of the 19th ACM Symposium in Applied Mathematics , 153175, 1966), although similar notions were considered more than a decade earlier by Kurt Gdel and John von Neumann....
View Full Document

This note was uploaded on 12/15/2009 for the course 942 cs taught by Professor A during the Spring '09 term at University of Illinois at Urbana–Champaign.

Page1 / 18

21-nphard - Algorithms Lecture 21 NP-Hard Problems The wonderful thing about standards is that there are so many of them to choose from Real

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online