Title: Semi-feasible Algorithms Hem-Ogi Chapter 3
1Semi-feasible Algorithms Hem-Ogi Chapter 3
- CSC 286/486
- Fall 2004
- University of Rochester
- Anustup Choudhury, Ding Liu, Eric Hughes, Matt
Post, Mike Spear, Piotr Faliszewski
2Note for digital viewers
- This presentation was put together using
Microsoft Powerpoint, from the Office 2004 Suite
for the Apple Macintosh. It was then converted
to PDF format using the PDF converter built in to
Mac OS Xs (version 10.3) printing interface - PDF display was tested under Linux using acroread
5.0.5 xpdf did not work
3Semi-feasible Algorithms Hem-Ogi Chapter 3
- Section 3.1
- Brought to you by
- Anustup Choudhury, Ding Liu, Eric Hughes, Matt
Post, Mike Spear, Piotr Faliszewski
4Outline
- Introduction
- Definitions
- P-sel
- P/poly
- Tools
- Tournaments
- Superloser Theorem
- Main Result
- P-sel Í?P/poly
- P-sel Í P/quadratic
5Semi-feasible Problems
- P the class of feasible problems
- A nice class, but lacks many interesting
languages...perhaps semi-feasible algorithms are
also useful? - Let us consider languages that may not have
polynomial-time algorithms, but for which it is
possible to efficiently decide which of the two
strings given is more likely to be in the
language - One such decision does not give a definite answer
as to whether a chosen string is in a language,
but perhaps a series of them leads to a solution
(of some nice problem)
6P-sel Definition
- Def.
- Set B is P-selective if there exists a function
f, - f S x S ? S
- such that
- f is polynomial-time computable
- f(x,y) ? x,y
- x,y n B ? Ø ? f(x,y) ? B
- In other words f always picks one of its inputs,
and if it can pick a one that is in B then it
does so. Function f picks the input that is no
less likely to be in the set. - Such a function f is called a selector function
7P-sel Definition (contd)
- Def.
- P-sel is the set of of all P-selective languages
- P ? P-sel
- The selector function can simply test membership
of both of its arguments - Let A ? P. We define the selector function f to
be - f(x,y) x if x ? A
- f(x,y) y otherwise
- Is P a proper subset of P-sel?
- Yes! That is exactly your homework!
- Dont worry, we will help ?
8P-sel Example
- So what sets might be in P-sel, but outside of P?
- Consider the language
- LW x x W
- Where
- W is some real number
- the second occurrence of x is treated as a real
number whose binary representation is x - Why is this language P-selective?
- f(x,y) max(x,y)
- What is so special about it?
9Recall the Halting Problem...
- Def.
- HP x x ??L(Mx)
- As we all remember, HP is in RERECURSIVE
- Can we use that to our advantage?
10P-sel Example (Contd)
- Gregory Chaitin from IBM found a really nice W
-
-
- Note the first occurence of p is treated as a
string, but the second as an integer - If were recursive then RECURSIVERE
- But you still need to prove that!
11P-sel NP-hard sets in P-sel?
- P-sel contains sets that are not even decidable!
- It stands to reason that there is some
NP-complete language that is P-selective! - Um... Er... Well not likely, actually...
- Theorem
- If there exists an NP-hard language A such that A
is P-selective then PNP - The opposite direction is clearly true. We have P
? P-sel so - If PNP then all NP-complete sets are in
P-selective. NP-complete sets are NP-hard.
12P-sel Proof of the previous theorem
- Assumptions
- A an NP-hard language
- A ? P-sel
- g a selector function for A
- f a polynomial-time computable function
many-one reducing SAT to A
Let F be the input formula. How do we use f and g
to find a satisfying truth assignment?
g is a selector functionit has to return the
string that is no less likely to be in the set.
Since f is a reduction, g gives us the path in
the tree to follow! After n steps the ground
formula is guaranteed to be satisfiable iff F is
satisfiable.
Proof technique Show a polynomial-time algorithm
for SAT by pruning the tree of possible truth
assignments
13P-sel Conclusion
- A set is P-selective if given two strings we can
decide in polynomial time which of them is no
less likely to be in the set - P-selective sets may be undecidable
- Yet, unless PNP, none of them can be NP-hard
14P/poly Introduction
- Recall tally languages
- L is tally if L ? 1
- What does it take to decide a tally language?
- L could be undecidable!
- To decide whether a string of length n is in a
tally language you just need to know whether 1n
is in the language... - With 1 bit of advice for every length we could
decide any tally language...
15P/poly Introduction (Contd)
- What about sparse languages?
- L is sparse if there is a polynomial p such that
- Ln p(n)
- How much advice per length do we need to decide
sparse languages? - There are at most polynomially many strings of
length n - Each string is n symbols long
- If, as a piece of advice, someone gave us all the
strings of the given length then we could simply
compare each with the input - The advice would only be polynomial in size
16P/poly Definition (Informal)
- P/poly is the class of all languages that can be
decided given a polynomial amount of advice - A P/poly advice interpreter has to work in
polynomal time, but for every string length it is
given polynomially many advice bits - Advice is anything the P/poly algorithm designer
wants it does not even have to be computable - ...but it must only depend on the input length
and not on the input content
17P/poly P/poly and sparse sets
- Theorem
- All tally sets are in P/poly
- Theorem
- All sparse languages are in P/poly
- In fact, P/poly is exactly the class of all sets
Turing-reducible to sparse sets. - Unfortunately, we do not have time to prove this
18P/poly Definition of A/f
- What do the symbols mean?
- A some language
- f N ? N some function
- A/f is the class of all languages L such that for
some function h it holds that - (?n) h(n) f(n)
- L x ltx, h(x)gt ? A
- Intuitions
- Function f measures the amount of advice
available - Language A is the advice interpreter
- Function h provides the advice
19P/poly Definition of C/F
- What do the symbols mean?
- C a class of languages
- F a set of functions from integers to integers
- C/F is the class of all languages L such that
- (? A ? C) (? f ? F) L ? A/f
- Where is P/poly?
- Take C to be the class P, and make F the set of
all polynomials
20P/poly Example
- Let us formally prove that all tally languages
are in P/poly - Let T be some tally language
- First, select the advice function
- We only need 1 bit of advice f(n) 1
- h(n) 1 if 1n ? T
- h(n) 0 otherwise
- Advice interpreter
- A ltx,ygt x ? 1 and y1
- A ? P, f is a polynomial ? T ? P/poly
21Outline
- Piotr defined for us
- P-sel
- P/poly
- Heres what Im going to do
- Explain k-tournaments
- Prove that P-sel ? P/poly
22Thm 3.1 k-tournaments
- What is a k-tournament?
- a graph with k nodes, and exactly one directed
edge between every pair of vertices - Why is it called a tournament?
- think of each edge as a game played, with the
arrow pointing at the winner
23Our k-tournament (k8)
3
2
1
4
- arrows point to the winners
- each node is also considered to defeat itself
8
5
7
6
24Thm 3.1 the superloser set
- Properties of a k-tournament
- G a k-tournament graphH ? G
-
- for each v ? VGH, there is some g ? H such that
(g,v) ? EG - in other words, there is a subset H of G whose
cardinality is O(log n) in the number of nodes in
G, and every node in G defeats one of the nodes
in H - we call H the superloser set
25Proof 3.1 process
- At least one person loses half or more of her
games (why?) - Proof procedure Take that player and remove her
from the graph, G, as well as everyone who
defeated her. Add the player to the loser set, H - there are between 0 and nodes
left - Repeat this process on the remaining graph, G,
until there are no nodes left.
26A Visualization of Thm 3.1
3
2
1
4
H 8,6
H 8
8
5
7
6
well choose 6
find the losers on the remaining graph
every node defeats a super-loser
find all nodes that lost half or more of their
games
well arbitrarily choose 8
select all nodes that beat our loser
the complete graph with the superlosers
remove all of them, add the loser to H
27Proof of Thm 3.1 (contd)
- At each stage we have a full k-tournament graph,
with k shrinking through successive stages - Eventually there will be no nodes to consider
- The recurrence relation for this is
28Review so far
- As Piotr explained
- the class P-sel
- semi-feasible sets the class of sets that have
a selector function that takes two arguments, and
returns the one more likely (not less likely) to
be in the set - the class P/poly
- sets that can be solved with advice that is the
same for all strings of the same length - As I explained
- k-tournaments
29Hem-Ogi Thm 3.2 P-sel ? P/poly
- Proof idea turn a semi-feasible set into a
P/poly set using a k-tournament - Potential point of confusion the text talks
about showing that semi-feasible sets have small
circuits - having small circuits is another characteristic
of P/poly just ignore for now
30Proof 3.2 goal
- Let L be our semi-feasible (P-sel) set
- To show that its in P/poly, we need to show two
things -
- A will be the advice interpreter set from the
definition of P/poly -
- q is the polynomial bound on the advice size
31Proof 3.2 k-tournament at Ln
- Well begin by making a k-tournament from the
elements of Ln. - How?
- remember that a k-tournament is a property of any
fully-connected directed graph - we can consider each string in Ln to be a node,
so all we need is a way to decide which of two
strings is the winner - Any ideas?
32Proof 3.2 selector function
- L is a semi-feasible set, so there is a selector
function f - Let f(x,y) f(min(x,y), max(x,y))
- f is a selector function for the same language
- f is commutative
- The commutativity of f allows us to construct a
k-tournament from the strings in Ln - call this graph G such that for any (a,b ? Ln ?
a ? b) ? ((a,b) ? EG ? f(a,b) b)
33Proof 3.2 Properties of Ln
- Because of the k-tournament, we know that we have
a superloser set Hn ? Ln where -
- for every element in Ln, there exists anh ? Hn
such that f(h,x) x - (remember that every superloser beats itself)
34Proof 3.2 map of the world
a map of the world
35Proof 3.2 what advice?
- So far we have used the selector function to
produce a k-tournament Now well show our set L
is in P/poly by providing - an advice function, g, and
- an advice interpreter, the set A
- Remember that advice on a set is the same for all
strings of the same length - Any guesses what advice g gives for L on strings
of length n?
36Proof 3.2 good advice
- The advice is Hn g(n) provides the superloser
set at length n - The advice interpreter set isA ltx,ygt y is
a (possibly empty) list of elements v1, v2,
,vz and for some j it holds that f(vj,x) x. - Clearly, A ? P. Proof On input ltx,ygt FOR j
FROM 1 TO z DO IF f(x,vj) x ACCEPT REJECT
37Proof 3.2 correctness
- Are the requirements met?
- A ? P
- on the next slide well show that x is in L if
and only if ltx,g(x)gt is in the advice
interpreter set A (i.e., that weve met the
requirement for a set in P/poly)
38Proof 3.2 verification
- Verification of MA three cases
-
- x is a superloser, so the test for some hj is
whether f(x,x) x, which is always true -
- x is not a superloser, but since it is in L it
will defeat one of the superlosers, so we accept -
- x is not a superloser and does not defeat one, so
we reject
39One for the road
- The class P/poly allows a polynomial number of
advice bits. How many did we just use, and what
does that do for us?
40Semi-feasible Algorithms Hem-Ogi Chapter 3
- Section 3.2
- Brought to you by
- Anustup Choudhury, Ding Liu, Eric Hughes, Matt
Post, Mike Spear, Piotr Faliszewski
41Outline
- Review
- P-sel, P/poly
- P-sel ? P/poly
- k-Tournaments
- Limited Advice
- k-Tournament properties
- P-sel ? NP/linear
- Setting the stage for a Polynomial Hierarchy
collapse
42P-sel
- Set B is P-selective iff ? function f
- f is polynomial-time computable
- f(x,y) ? x,y
- x,y n B ? Ø ? f(x,y) ?B
- B has a polynomial-time 2-ary selector function
which always chooses the input more likely to be
in B
43P/poly
- The class of all languages that can be decided in
polynomial time with a polynomial amount of
advice - The advice is polynomial with regard to the
length of the string whose membership is being
tested - Advice is dependent only on input length, not
input content - The advice doesnt even have to be
- computable
44k-Tournaments
- A graph with k nodes, and exactly one directed
edge between every pair of vertices - No self loops
- Each arrow represents a game played, with an
arrow pointing to the winner - There is a superloser set of size ?log(k1)?
45P-sel ? P/poly
- If we treat the members of our P-sel language as
a tournament, then we can use the superloser set
as advice - We can check the membership of an arbitrary
string x by applying the selector function on
every pair (x,y), where y is a string in the
superloser set
46Limited Advice
- Did we really only show P-sel ? P/poly?
- We only used a quadratic amount of advice!
- Can we do better (perhaps by using some
nondeterminism?)
47The Class PP
- It can be shown that P-sel ? PP/linear
- But PP ? NP
48The Class NP
- P/poly ? NP/poly
- P/quadratic ? NP/quadratic
- Can nondeterminism reduce the advice needed to
determine membership in polynomial time?
49k-Tournaments
- Background
- The l nodes are a
- superloser set
- Every node in column
- x defeats node lx
- There are ?log(k1)?
- superlosers
- l1 beat l2 (otherwise, l2 would be in l1s
column) - Likewise, l2 beat l3, l3 beat l4
Tournament
a1 a2 a3 a4
b1 b2 b3 b4
c1 c2 c3 c4
d1 d2 d3 d4
h1 h2 h3 h4
g1 g2 g3 g4
f1 f2 f3 f4
e1 e2 e3 e4
l1
l2
l3
l4
l5
l6
l7
l8
- How much advice is needed?
- No more than the number of superlosers
- When x ? L, x defeats at least one superloser
- When x ? L, x does not defeat any superloser
50The King Loser
- Look at l8 more closely
- Every superloser beat l8
- If not, l8 would be in another losers column
- Everyone else beat a superloser
- Everyone in the tournament is 2 hops from l8
- l8 is the KING LOSER
a1 a2 a3 a4
b1 b2 b3 b4
c1 c2 c3 c4
d1 d2 d3 d4
h1 h2 h3 h4
g1 g2 g3 g4
f1 f2 f3 f4
e1 e2 e3 e4
l1
l2
l3
l4
l5
l6
l7
l8
51The King Loser Theorem
- If G is a k-tournament, then there is a v ? VG
such that VG R2,G(v) - In every k-tournament, there exists a node from
which all nodes can be reached via paths of
length 2 or less
52Proof of the King Loser Theorem
- Proof by induction
- Base case for k-tournaments whose size 3, it
is obviously true - Node a is always a King Loser
- Some graphs have several King Losers
- Disclaimer The k1 base case would suffice for
the following proof
k1
k2
k3
a
a
a
a
b
b
b
c
c
53Proof of the King Loser Theorem
- When k gt 3, we use induction
- Recall when k3
- For any k-tournament, we can classify every node
as follows - x is the king loser
- x beat the king loser
- x beat someone who beat the king loser
- (this implies that the king loser beat x)!
- This classification into sets is clear in our k3
example above - (a is in set 1, b is in set 2, c is in set 3)
a
b
c
54Proof of the King Loser Theorem
- What happens when we add a new node?
- Case 1 The new node (d)
- beats the king loser (a)
- Case 2 The new node (d)
- beats someone who beats the king loser
- (that is, some node in set B)
- Either way, the King Loser doesnt change
a
B
d
C
a
B
d
C
(B and C are sets and may contain multiple nodes
55Proof of the King Loser Theorem
- Case 3 If cases 1 and 2 do not hold, then the
new node becomes the king loser
- The king loser (a) beat the new node (d)
- otherwise case 1
- Everyone who beat the king loser (everyone in set
B) beat the new node (d) - otherwise case 2
- Everyone else (all nodes in set C) is no farther
from the new node (d) than from the old
superloser (a)! - c beat b, b beat d, and b beat a
a
B
d
C
(B and C are sets and may contain multiple nodes
56Using the King Loser
- Let A ? P-sel via commutative selector function
f. Consider using f to build a tournament on the
nodes in An (well be vague on uniformity but it
isnt a problem here) - If we knew the King Loser, we could use the
following algorithm to determine the membership
of x in An - If x King Loser, accept
- ElseIf f(x, King Loser)x, accept
- Else
- Nondeterministically guess a string
- y of the same length as x
- On each path, if f(x,y)x and
- f(y,King Loser)y, accept
- Reject
57Encoding the King Loser
- We want to show that P-sel ? NP/linear
- The King Loser looks like sufficient advice
- How do we encode the King Loser?
- There is a distinct King Loser for each length n
- What if Ln Ø ?
58Using n1 Bits
- Let us define the advice function g(x) as
follows - where wn is the King Loser for strings of length n
59Using n1 Bits
- Let us define the advice interpreter
- A ltx, 0wgt?there is a path of length at most
two, in the tournament induced on Ln by f, from
w to x - We hard-code the case of e ? L
- Since the selector function f is deterministic
and takes polynomial time, we can construct a
NPTM to decide A.
60Using n1 Bits
- Recall this algorithm from before
- If x King Loser, accept
- ElseIf f(x, King Loser)x, accept
- Else
- Nondeterministically guess a string
- y of the same length as x
- On each path, if f(x,y)x and
- f(y,King Loser)y, accept
- Reject
- Since f is a deterministic polynomial-time
function, this is clearly a nondeterministic
polynomial-time algorithm
61Conclusions
- P-sel ? NP/linear
- Since P-sel is closed under complementation
- P-sel ? coNP/linear
- P-sel ? NP/linear n coNP/linear
- P-sel ? NP/n1
- Can we do better?
- NO (see the book for details)
62Collapsing the Polynomial Hierarchy
- Using the techniques weve covered so far, we can
learn the more subtle properties of the
polynomial hierarchy - But what is the polynomial hierarchy?
63The Polynomial Hierarchy
- A time-bounded analog of the arithmetical
hierarchy - We can think of it iteratively
- Q, R are poly-time predicates p, p are
polynomials - swaps the quantifiers
- or inductively
64The Polynomial Hierarchy
(bounded by PSPACE)
65FP Deterministic Functions
- A function is in FP iff
- It is single valued
- It is computed by a deterministic, polynomial
time TM - It does not have to be total
66Nondeterministic Functions
- NPMV nondeterministic, polynomial time,
multi-valued - A function f belongs to NPMV if there exists a
NPTM N such that on input x, fs outputs are
exactly the outputs of N
y1
y2
y3
y2
y4
y2
y5
67Nondeterministic Functions
- On input x, set-f(x) is the set of all possible
outputs of NPMV function f - set-f(x) a?a is an output of f(x)
- On inputs where f(x) is undefined, set-f(x) Ø
- We dont care if an item in set-f(x) occurs on
multiple paths
set-f(x) y1, y2, y3, y4, y5
y1
y2
y3
y2
y4
y2
y5
68Nondeterministic Functions
- NPSV nondeterministic, polynomial time,
single-valued - A subset of NPMV where ? x, set-f(x) 1
set-f(x) y1
y1
y1
y1
y1
y1
y1
y1
69NPMV Selector Functions
- A set L is NPMV-selective if
- ? x,y. set-f(x,y) ? x,y
- ? x,y. x ? L ? y ? L ? Ø ? set-f(x,y) ? L
- In other words, NPMV-selector functions can
return multiple values, but only if both
arguments are in L or both arguments are not in L - The selector function can return Ø when both
arguments are not in L - NPSV-selective sets exist as well
70Refinement
- NPMV function f is a refinement of NPMV function
g if - ? x. set-f(x) Ø ? set-g(x) Ø
- ? x. set-f(x) ? set-g(x)
- A refinement has fewer outputs, but remains
defined whenever the original function was
defined - A refinement may be NPSV
71Next Time
- Section 3.3 Unique Solutions Collapse the
Polynomial Hierarchy
72Semi-feasible Algorithms Hem-Ogi Chapter 3
- Section 3.3
- Brought to you by
- Anustup Choudhury, Ding Liu, Eric Hughes, Matt
Post, Mike Spear, Piotr Faliszewski
73Outline
- Review
- FP, NPMV, NPSV
- refinements
- NPMV-sel, NPSV-sel
- NP/poly, coNP/poly etc.
- Goal
- If all NPMV functions have NPSV refinements then
PH collapses to its second level... - ... and even further
74FP Deterministic Functions
- A function is in FP iff
- It is single-valued
- It is computed by a deterministic,
polynomial-time TM - It does not have to be total
75Nondeterministic Functions
- NPMV nondeterministic, polynomial-time,
multivalued - A function f belongs to NPMV if there exists a
NPTM N such that on input x, fs outputs are
exactly the outputs of N
y1
y2
y3
y2
y4
y2
y5
76Nondeterministic Functions
- On input x, set-f(x) is the set of all outputs of
NPMV function f - set-f(x) a?a is an output of f(x)
- On inputs where f(x) is undefined, set-f(x) Ø
- We dont care if an item in set-f(x) occurs on
multiple paths
set-f(x) y1, y2, y3, y4, y5
y1
y2
y3
y2
y4
y2
y5
77Nondeterministic Functions
- NPSV nondeterministic, polynomial-time,
single-valued - A subset of NPMV where ? x, set-f(x) 1
set-f(x) y1
y1
y1
y1
y1
y1
y1
y1
78NPMV Selector Functions
- A set L is NPMV-selective if
- ? x,y. set-f(x,y) ? x,y
- ? x,y (x ? L ? y ? L) ? Ø ? set-f(x,y) ? L
- In other words, NPMV-selector functions can
return multiple values, but only if both
arguments are in L or both arguments are not in L - The selector function can return Ø when both
arguments are not in L - NPSV-selective sets exist as well
79Refinement
- NPMV function f is a refinement of NPMV function
g if - ?x. set-f(x) Ø ? set-g(x) Ø
- ?x. set-f(x) ? set-g(x)
- A refinement has fewer outputs, but remains
defined whenever the original function was
defined - A refinement may be NPSV
80Goal
- Theorem
- If all NPMV functions have NPSV refinements then
PH collapses to its second level, NPNP. - We need the following intermediate results
- NPSV-sel n NP ? (NP n coNP)/poly
- NP ? (NP n coNP)/poly ? PHNPNP
- Proof outline
- Create an NPMV selector for SAT
- Refine it to be an NPSV selector
- Conclude NP ? NPSV-sel n NP
- NP ? NPSV-sel n NP ? (NP n coNP)/poly ? PH NPNP
81Goal
- Theorem
- If all NPMV functions have NPSV refinements then
PH collapses to its second level, NPNP. - We need the following intermediate results
- NPSV-sel n NP ? (NP n coNP)/poly
- NP ? (NP n coNP)/poly ? PHNPNP
- Proof outline
- Create an NPMV selector for SAT
- Refine it to be an NPSV selector
- Conclude NP ? NPSV-sel n NP
- NP ? NPSV-sel n NP ? (NP n coNP)/poly ? PH NPNP
82Goal
- Theorem
- If all NPMV functions have NPSV refinements then
PH collapses to its second level, NPNP. - We need the following intermediate results
- NPSV-sel n NP ? (NP n coNP)/poly
- NP ? (NP n coNP)/poly ? PHNPNP
- Proof outline
- Create an NPMV selector for SAT
- Refine it to be an NPSV selector
- Conclude NP ? NPSV-sel n NP
- NP ? NPSV-sel n NP ? (NP n coNP)/poly ? PH NPNP
83Roadmap
- Assume all NPMV functions have NPSV refinements
- Prove SAT has an NPMV selector function
- If SAT has an NPSV selector function
- Then NP ? NP n NPSV-sel
- Prove NP n NPSV-sel ? (NP n coNP)/poly
- Prove NP ? (NP n coNP)/poly ? PHNPNP
84NPMV selector for SAT
- NPMV selector for SAT
- fSAT(x,y) x,y n SAT
- Clearly, fSAT is a selector
- Is it in NPMV?
- Nondeterministically choose x or y
- Guess a satisfying truth assignment for the
string chosen - Check if it indeed is satisfying, and output the
chosen string if so - SAT ? NPMV-sel
85NPSV selector for SAT
- Assumptions
- All NPMV functions have NPSV refinements
- fSAT is an NPMV selector for SAT
- We can refine it to be an NPSV selector!
86Roadmap
- Assume all NPMV functions have NPSV refinements
- Prove SAT has an NPMV selector function
- If SAT has an NPSV selector function
- Then NP ? NP n NPSV-sel
- Prove NP n NPSV-sel ? (NP n coNP)/poly
- Prove NP ? (NP n coNP)/poly ? PHNPNP
87NP ? NP n NPSV-sel
- Assumptions
- All NPMV functions have NPSV refinements
- Under these assumptions SAT is in NPSV-sel (it
has an NPSV selector function) - If NPSV-sel was closed under polynomial-time
many-one reductions then we would be done
88NPSV-sel
- Theorem
- NPSV-sel is closed under many-one
polynomial-time reductions - Proof
- A polynomial-time many-one reduces to B
- B ? NPSV-sel
- fB NPSV selector for B
- g FP function many-one reducing A to B
89Roadmap
- Assume all NPMV functions have NPSV refinements
- Prove SAT has an NPMV selector function
- If SAT has an NPSV selector function
- Then NP ? NP n NPSV-sel
- Prove NP n NPSV-sel ? (NP n coNP)/poly
- Prove NP ? (NP n coNP)/poly ? PHNPNP
90NPSV-sel n NP ? (NP n coNP)/poly
- Assumptions
- L ? NPSV-sel n NP
- NL an NPTM accepting L
- f an NPSV selector for L
- set-f(x,y) set-f(y,x)
- Goal
- Show that L ? (NP n coNP)/poly
- Proof is essentially the same as in section 3.1,
but with a more carefully chosen advice string. - We need to provide
- An advice interpreter that belongs to NP n coNP
- Advice of at most polynomial size
91NPSV-sel n NP ? (NP n coNP)/poly
- Advice interpreter
- Input ltx,dgt
- Interpret d as ltlta1,,amgt,ltw1,,wmgtgt
- List of strings a1, , am, each of length x
- List of strings w1, , wm
- Output
- Accept if for every i, wi is an accepting
computation path of NL on ai, and set-f(x,aj)
x for at least one j - Reject otherwise
- Clearly, it is an NP algorithm
- It is also a coNP algorithm
- Discussed during lecture
- The advice
- ai superloser set for a tournament induced by f
on Ln - wi accepting computation paths for ais.
92Roadmap
- Assume all NPMV functions have NPSV refinements
- Prove SAT has an NPMV selector function
- If SAT has an NPSV selector function
- Then NP ? NP n NPSV-sel
- Prove NP n NPSV-sel ? (NP n coNP)/poly
- Prove NP ? (NP n coNP)/poly ? PHNPNP
93Relativization
- Theorem X
- If A ? P/poly then A ? P/poly
- Proof
- Advice interpreter for A simulates the advice
interpreter for A, and flips its answer - Advice is the same
- Relativized version Theorem X
- If A ? PB/poly then A ? PB/poly
- The same proof works!
- We say that Theorem X relativizes
94Relativization (Contd)
- Most of theorems relevant to complexity theory
relativize - There are some exceptions, though.
- Nonrelativizing theorems are usually very hard to
prove - A theorem resolving the P vs. NP problem cannot
relativize - There is a set A such that PA NPA
- There is a set B such that PB ? NPB
95NP ? (NP n coNP)/poly ? PHNPNP
- The Karp-Lipton Theorem
- NP ? P/poly ? PHNPNP
- This theorem relativizes
- Let A be some language
- NPA ? PA/poly ? PHANPNPA
- Assumptions
- NP ? (NP n coNP)/poly
- SAT in (NP n coNP)/poly via NP n coNP set B
- Proof
- NPB ? PB/poly ? PHB NPNPB
- NPB NP because NPNP n coNP NP, PHB PH
- NP ? PB/poly ? PHNPNP
- NP is a subset of PB/poly because
- SAT in PB/poly
- PB/poly closed under many-one reductions
96Conclusion
- We have reached our goal!
- We proved all intermediate results
- It holds that if all NPMV functions have an NPSV
refinement then PH collapses to its second level - Interpretation
- What does it mean for an NPMV function to have an
NPSV refinement? - It means that an NPTM can isolate a single
solution from possibly exponentially many - Isolating a unique solution for every NPMV
function collapses the polynomial hierarchy to
its second level