Download presentation

Presentation is loading. Please wait.

1
Submitted by : Estrella Eisenberg Yair Kaufman Ohad Lipsky Riva Gonen Shalom

2
P/Poly P/Poly is the class of Turing machines that accept external “advice” in computation. Formally - L P/Poly if there exists a polynomial time two- input machine M and a sequence {a n } of “advice” strings |a n | p(n) s.t

4
An alternative definition: For L in P/Poly there is a sequence of circuits {C n }, where C n has n inputs and 1 output, its size is bounded by p(n), and: This is called a non-uniform family of circuits.

5
There is not necessarily a connection between the different circuits.

6
Proof: Circuit TM with advice: – – There exists a family of circuits {Cn} deciding L and |C n | is poly- bounded. –Given an input x, use a standard circuit encoding for C |x| as advice. –The TM simulates the circuit and accepts/rejects accordingly. Theorem:P/Poly definitions equivalence

8
TM with advice circuit: –Similar to proof of Cook’s theorem build from M(a n,) a circuit which for input x of length n outputs M(a n,x). – – There exists a TM taking advice {a n }. –By running over all n’s a family of circuits is created from the advice strings.

10
Using P/Poly to decide P=NP Claim: P P/poly - just use an empty advice. If we find a language L NP and L P/Poly then we prove P NP. P/Poly and NP both use an external string for computation. How are they different?

11
The different between P/poly & NP a n 1.For a given n, P/poly has a universal witness a n as opposed to NP where every x of length n may have a different witness. 2.In NP, for every x L, for every witness w M(x,w)=0. This is not true for P/poly. 3.P/poly=co-P/poly, but we do not know if NP=co-NP.

12
The power of P/Poly Theorem: BPP P/Poly Proof: By simple amplification on BPP we get that for any x {0,1} n, the probability for M to incorrectly decide x is < 2 -n. Reminder: In BPP, the computation uses a series r of poly(n) coin tosses.

14
P/poly includes non-recursive languages Example: All unary languages (subsets of {1}*) are in P/Poly - the advice string can be exactly L (1 n ) and the machine checks if the input is unary.

15
There are non-recursive unary languages: Take {1 index(1) | x L} where L is non-recursive.

16
Sparse Languages & Question Definition: A language S is sparse if there exists a polynomial p(.) such that for every n, |S {0,1} n | p(n) Theorem: NP P/Poly for every L NP, L is Cook reducible to a sparse language.

17
In other words a language is sparse when there is a “small” number of words in each length, p(n) words of length n. Example: Every unary language is sparse (p(n)=1)

18
Proof: It is enough to prove that SAT P/Poly SAT is Cook reducible to a sparse language. By P/Poly definition, SAT P/Poly says that there exists a series of advice strings {a n } s.t. n |a n | q(n). q(.) Poly and a polynomial Turing Machine M s.t. M( ,a n )=χ SAT ( ). Definition: S i n =0 i-1 10 q(n)-I S = {1 n 0S i n | n>0 where bit i of a n is 1} S is sparse since for every n |S {0,1} n+q(n)+1 | |a n | q(n)

19
S is a list that have an element for each ‘1’ in the advices. For each length we have maximum of all 1’s, so we’ll get |a n | elements of length n+q(n)+1.

20
Cook-Reduction of SAT to S: Input: of length n Reconstruct a n by q(n) queries to S. [The queries are: 1 n 0S i n for 1 i q(n)]. Run M( ,a n ) thereby solving SAT in polynomial time. We solved SAT with a polynomial number of queries to an S-oracle means that it is Cook-reducible to the sparse language S.

21
Reconstruction is done bit by bit. if 1 n 0S i n S then bit i of a n is 1.

22
[SAT P/Poly SAT is Cook reducible to a sparse language.] In order to prove that SAT P/Poly we will construct a series of advice strings {a n } and a deterministic polynomial time M that solves SAT using {a n }. SAT is Cook-reducible to sparse language S. Therefore, there exists an oracle machine M S which solves SAT in polynomial time t(.). M S makes at most t(| |) oracle queries of size t(| |).

24
Construct a n by concatenating all strings of length t(| |) in S. S is sparse There exists p(.) Poly s.t. n |S {0,1} n | p(n). For every i there are at most p(i) elements of length i in S |a n | so a n is polynomial in length. Now, given a n the oracle queries will be simulated by scanning a n. M will act as same as M S except that the oracle queries will be answered by a n. M is a deterministic polynomial time machine that using a n solves SAT, therefore SAT P/Poly.

26
P=NP using the Karp-reduction Theorem P=NP iff for every language L NP, L is Karp-reducible to a sparse language. Proof: ( ) P=NP Any L in NP is Karp-reducible to a sparse language. L NP, we reduce it (Karp reduction) to {1} using the function :

27
{1} is obviously a sparse language. The reduction function f is polynomial, since it computes x L. L NP and we assume that P = NP, so computing L takes polynomial time. The reduction is correct because x L iff f(x) {1}

28
( ) SAT is Karp-reducible to a sparse language P=NP We prove a weaker claim ( even though this claim holds) SAT is Karp-reducible to a guarded sparse language P=NP Definition : A sparse language S is guarded if there exists a sparse language G, such that S G and G is in P. For example, S= {1 n 0s n i | n >0,where bit i of a n is 1} is guarded sparse by G= {1 n 0s n i | n >0 and 0<i<=q(n) }.

29
Obviously, we can prove the theorem for SAT instead of proving it for every L in NP. (SAT is NP-complete)

30
As Claimed, we have a Karp reduction from SAT to a guarded sparse language S by f. Input: A boolean formula = (x 1,…,x n ). We build the assignment tree of by assigning at each level another variable both ways (0,1). Each node is labeled by its assignment. Thus the leaves are labeled with n-bit string of all possible assignments to .

31
the leaves have a full assignment, thus a boolean constant value.

32
The tree assignment 1 = (1,x 2,…,x n ) 0 = (0,x 2,…,x n ) 11 10 1 0 00 01

34
We will solve by DFS search on the tree using branch and bound. The algorithm will backtrack from a node only if there is no satisfying assignment in its entire subtree. At each node it will calculate x .: S is the guarded sparse language of the reduction and G is the polynomial sparse language which S is guarded by. We also define :B G – S.

35
x is computed in polynomial time because Karp reduction is polynomial time reduction. B is well defined since S G.

36
Algorithm: Input = (x 1, …,x n ). 1. B = 2. Tree-Search( ) 3. In case the above call was not halted, reject as non satisfiable.

37
At first B is empty, we have no information on the part of S in G. We call the procedure Tree-Search for the first time with the empty assignment.

38
Tree-Search ( ) if | |=n //we’ve reached a leaf a full assignment if True then output the assignment and halt. else return. if | | < n a.compute x =f( ) b.if x G then return // x G ( x S SAT) c.if x B then return //x B ( x G-S SAT) d.Tree-Search( 1) e.if x G add x to B //We backtracked from both sons f.Tree-Search( 0) g.return

39
x G Can be computed in poly-time because G is in P. We backtrack (return in the recursion) when we know that x S [ x B or x G ] hence there is no assignment that starts with the partial assignment , so there is no use expanding and building this assignment. If we backtrack from both sons of we add x to the set B G - S

40
Correctness If is satisfiable we will find some satisfying assignment, since for all nodes on the path from the root to a leaf x S and we continue developing its sons. When finding an assignment it is first checked to give TRUE and only then returned. The algorithm returns “no” if it has not found a satisfying assignment and has backtracked from all possible sons.

42
Complexity analysis: If we visit a number of nodes equal to the number of strings in G, the algorithm is polynomial, due to G’s sparseness. It is needed to show that only a polynomial part of the tree is developed. Claim: Let and be different nodes in the tree such that neither is an ancestor of the other and x = x . Then it is not possible that the sons of both nodes were developed.

43
To prevent developing a certain part of the tree that does not lead to a truth assignment over and over by different x s, we maintain the set B which keeps x from which we have backtracked.We do not develop a node whose x is in B.

44
Proof: W.l.o.g. we assume that we reach before . Since is not an ancestor of , we arrive at after backtracking from . If x G then x G since x = x and we will not develop them both. Otherwise, after backtracking from , x B thus x B so we will not develop its sons.

46
Last point : Only polynomial part of the tree is developed. Proof : G is sparse thus at each level of the tree there are at most p(n) different such that x G, moreover every two different nodes on this level are not ancestors of each other. Therefore by the previous claim the number of x developed from this level is bounded by p(n). The overall number of nodes developed is bounded by n p(n).

47
Each level of the tree represents a different number of variable needed to be assigned in the formula. In this length there are polynomial number of items belonging to G since it is a sparse language.

48
We have shown that with this algorithm, knowing that SAT is Karp reducible to a guarded sparse language, we can solve SAT in polynomial time SAT P P=NP

Similar presentations

© 2020 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google