If NP languages are hard on the worst-case then it is easy to find their hard instances - PowerPoint PPT Presentation

gazit
if np languages are hard on the worst case then it is easy to find their hard instances n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
If NP languages are hard on the worst-case then it is easy to find their hard instances PowerPoint Presentation
Download Presentation
If NP languages are hard on the worst-case then it is easy to find their hard instances

Loading in 2 Seconds...

play fullscreen
1 / 20
Download Presentation
If NP languages are hard on the worst-case then it is easy to find their hard instances
153 Views
Download Presentation

If NP languages are hard on the worst-case then it is easy to find their hard instances

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. 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.

  2. 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. PrxD[DSAT(x)=SAT(x)]<<1 • How difficult is this problem?

  3. 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.

  4. Part 1: Statement of result

  5. 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.

  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.

  7. Part 2: Interpretation

  8. NP is hard on average Generating hard instances Generate distribution D on formulae of length n: For every poly-time algorithm DSAT: PrxD[DSAT(x)=SAT(x)]<<1 RP≠NP Finding hard instances Given poly-time algorithm DSAT Generate distribution D on formulae of length n: PrxD[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!

  9. Worst case to average case reductions Our result: Goal: in super-polynomial time 2nd result: Weak form of Generating hard instances.

  10. Perspective: Impagliazzo’s worlds Find hard instancesour result: Generate hard instances Generate hard instances Generate hard instances

  11. 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:

  12. Part 3: Proof

  13. 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”.

  14. 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”.

  15. 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!

  16. 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”.

  17. 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

  18. 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

  19. 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).

  20. That’s it… Thank You!