200 likes | 380 Views
If NP languages are hard on the worst-case then it is easy to find their hard instances. Danny Gutfreund, Hebrew U. Ronen Shaltiel, Haifa U. Amnon Ta-Shma, Tel-Aviv U. What is this talk about?. Let ’ s assume P ≠NP . Problem: Finding hard instances
E N D
If NP languages are hard on the worst-case then it is easy to find their hard instances Danny Gutfreund, Hebrew U. Ronen Shaltiel, Haifa U. Amnon Ta-Shma, Tel-Aviv U.
What is this talk about? • Let’s assume P≠NP. • Problem: Finding hard instances • Input: poly-time algorithm DSAT (that is attempting to Decide SAT). • Output: hard instance for DSAT • A formula x on which DSAT(x)≠SAT(x). • Formulaes x1,..,x6 s.t. xiwith DSAT(xi)≠SAT(xi). • A samplable distributionD s.t. PrxD[DSAT(x)=SAT(x)]<<1 • How difficult is this problem?
Outline of talk • Main result:Finding hard instances in poly-time assuming only worst case hardeness. • Version for deterministic algorithms assuming P≠NP. • Version for randomized algorithms assuming RP≠NP . • Two interpretations: • A weak form of worst case to average case reduction. • Limitation on SAT solving heuristics. • Proof of version for deterministic algorithms.
Finding hard instances for deterministic poly-time algorithms We design an algorithm FINDwhich on input: • DSAT - code of a poly-time (detereministic) alg. • n- an input length. Runs in time poly(n). If P≠NP then for infinitely manyn’s FIND(DSAT,n) produces formulae x1,..,x6 s.t. xiwith DSAT(xi)≠SAT(xi). In particular, sampling one formula gives a samplable distribution on instances of length n on which DSAT succeeds with prob < 5/6.
Finding hard instances for randomized poly-time algorithms We design a randomized algorithm FINDwhich on: • DSAT - code of a poly-time (randomized) alg. • n- an input length. Runs in time poly(n). If RP≠NP then for infinitely manyn’s FIND(DSAT,n) We produce a samplable distribution on instances of length n on which DSAT succeeds with prob < 97/100.
NP is hard on average Generating hard instances Generate distribution D on formulae of length n: For every poly-time algorithm DSAT: PrxD[DSAT(x)=SAT(x)]<<1 RP≠NP Finding hard instances Given poly-time algorithm DSAT Generate distribution D on formulae of length n: PrxD[DSAT(x)=SAT(x)]<<1 Open problem: worst case to average case reduction. Negative results: [FF91,BT03,Vio03] Finding hard instances and generating hard instances. Our result Levin’s definition Interpretation: Weak form of worst case to average case reduction. Necessary for Cryptography!
Worst case to average case reductions Our result: Goal: in super-polynomial time 2nd result: Weak form of Generating hard instances.
Perspective: Impagliazzo’s worlds Find hard instancesour result: Generate hard instances Generate hard instances Generate hard instances
Interpretation: limitation on SAT solving heuristics Even in Heuristica, SAT solving heuristics have to be bound to specific samplable distributions. Suppose we live in Heuristica. ⇒ NP is easy on average. ⇒ SAT solving heuristics on real-life inputs. Find hard instances The best we can hope for is that in Heuristica: There exists a SAT solver DSAT that is does well on all samplable distributons. Our result:
Proof of main result: (deterministic case) • Assume P≠NP. • Find hard instances • Input: poly-time algorithm DSAT and input length n on which DSAT fails to decide SAT. • Output: 3 formulae x1,x2,x3 s.t. xi on whichDSAT(xi)≠SAT(xi). • Main idea: Use the code of DSAT to find hard instances. • Apply DSAT on a formula encoding the statement: “DSATfails tosolve SAT”.
Special case: Search algorithms A search algorithm for SAT is an algorithm SSAT which given a formula x: • Either answers “no” (that x isn’t satisfiable). • Or answers “yes” (that x is satisfiable) and in that case it needs to provide a satisfying assignment. SSAT never errs when it answers “yes”. SSAT errs only on x’s s.t.: SAT(x)=“yes”and SSAT(x)≠“yes”.
Proof for search algorithms Given search algorithm SSAT and input length n: Consider the following statement: yn = x{0,1}n : SAT(x)=“yes”and SSAT(x)≠“yes”. • SSAT fails to decide SAT on length n => ynis true. • Deciding ynis in NP (and thus can be reduced to SAT). Run SSAT(yn): • If SSAT answers “no” then ynis a hard instance. • If SSAT answers “yes” then it outputs a witness x for yn and x is a hard instance. We find a hard instance in both cases!
Search to decision reduction(self reducibility of SAT) AlgorithmSSAT: • Given formula x. • If DSAT(x)=“no” answer “no”. • Otherwise consider formulae x0,x1 (constructed by setting first variable to 0/1). • Run DSAT(x0) and DSAT(x1). • Repeat on one that is answered “yes”. • If both x0,x1 are answered by “no” then (x,x0,x1) contain a hard instance. • If all variables are set: obtain a satisfying assignment for original input and answer “yes”.
Proof for decision algorithms Given decision algorithm DSAT and input length n: Consider the following statement: yn = x{0,1}n : SAT(x)=“yes”and SSAT(x)≠“yes”. • SSAT fails to decide SAT on length n => ynis true. • Deciding ynis in NP (and thus can be reduced to SAT). Run SSAT(yn): • If SSAT“catches”DSAT then we find hard instances. • If SSAT answers “no” then ynis a hard instance. • If SSAT answers “yes” then it outputs a witness x for yn and x is a hard instance. x is a hard instance for SSATnot necessarily hard for DSAT
Proof for decision algorithms Given decision algorithm DSAT and input length n: Consider the following statement: yn = x{0,1}n : SAT(x)=“yes”and SSAT(x)≠“yes”. • If SSAT(yn)=“yes” then SSAT outputs a witness x for yn and x is a hard instance for SSAT. Run SSAT(x) • We know that SSAT(x) does not answer “yes”! • If SSAT“catches”DSAT then we find hard instances. • If SSAT answers “no” then DSAT answers “no” and thus xis a hard instance. The proof of the randomized case goes along same lines using more complex case analysis
Conclusions and open problems • When given randomized DSAT we obtain a samplable distribution on which DSAT succeeds with probability < 97/100. • Open problem: Hardness amplification to ½+ε. • The situation is even worse when we switch quantifiers. • Our FIND algorithm is non-black box in DSAT: It relies on the code of DSAT. • Can such ideas be used to bypass the limitations on worst case to average case reductions pointed out by [FF91,BT03,Vio03]? • Our FIND algorithm does not prove that DSAT is incorrect. (What if NP=P).
That’s it… Thank You!