This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: 1 CS151 Complexity Theory Lecture 2 March 31, 2011 March 31, 2011 2 Reductions • reductions are the main tool for relating problems to each other • given two languages L 1 and L 2 we say “ L 1 reduces to L 2 ” and we write “ L 1 ≤ L 2 ” to mean: – there exists an efficient (for now, polytime) algorithm that computes a function f s.t. • x L 1 implies f(x) L 2 • x L 1 implies f(x) L 2 March 31, 2011 3 Reductions • positive use: given new problem L 1 reduce it to L 2 that we know to be in P . Conclude L 1 in P (how?) – e.g. bipartite matching ≤ max flow – formalizes “ L 1 as easy as L 2 ” yes no yes no L 1 L 2 f f March 31, 2011 4 Reductions • negative use : given new problem L 2 reduce L 1 (that we believe not to be in P ) to it. Conclude L 2 not in P if L 1 not in P (how?) – e.g. satisfiability ≤ graph 3coloring – formalizes “ L 2 as hard as L 1 ” yes no yes no L 1 L 2 f f March 31, 2011 5 Reductions • Example reduction: – 3SAT = { φ : φ is a 3CNF Boolean formula that has a satisfying assignment } (3CNF = AND of OR of ≤ 3 literals) – IS = { (G, k)  G is a graph with an independent set V’ μ V of size ≥ k } (ind. set = set of vertices no two of which are connected by an edge) March 31, 2011 6 Ind. Set is NPcomplete The reduction f: given φ = (x y z) ( x w z) … (…) we produce graph G φ : x y z x w z • one triangle for each of m clauses • edge between every pair of contradictory literals • set k = m … 2 March 31, 2011 7 Reductions φ = (x y z) ( x w z) … (…) • Claim: φ has a satisfying assignment if and only if G has an independent set of size at least k – proof? • Conclude that 3SAT ≤ IS. x y z x w z … March 31, 2011 8 Completeness • complexity class C • language L is Ccomplete if – L is in C – every language in C reduces to L • very important concept • formalizes “L is hardest problem in complexity class C ” March 31, 2011 9 Completeness • Completeness allows us to reason about the entire class by thinking about a single concrete problem • related concept: language L is Chard if – every language in C reduces to L March 31, 2011 10 Completeness • May ask: how to show every language in C reduces to L? – in practice, shown by reducing known C complete problem to L – often not hard to find “1 st ” Ccomplete language, but it might not be “natural” March 31, 2011 11 Completeness – Example: NP = the set of languages L where L = { x : 9 y, y x k , (x, y) R } and R is a language in P. one NPcomplete language “bounded halting”: BH = { (M, x, 1 m ) : 9 y, y x k s.t. M accepts (x, y) in at most m steps } – challenge is to find natural complete problem – Cook 71 : SAT NPcomplete March 31, 2011 12 Summary • problems – function, decision – language = set of strings • complexity class = set of languages • efficient computation identified with efficient computation on Turing Machine – singletape, multitape...
View
Full Document
 Fall '09
 Computational complexity theory, Sim, Time hierarchy theorem

Click to edit the document details