Computational Complexity Lecture 8 More of the Polynomial - - PowerPoint PPT Presentation

computational complexity
SMART_READER_LITE
LIVE PREVIEW

Computational Complexity Lecture 8 More of the Polynomial - - PowerPoint PPT Presentation

Computational Complexity Lecture 8 More of the Polynomial Hierarchy Oracle-based Definition 1 Recall PH { x | u 1 u 2 u 3 F( x ,u 1 ,u 2 ,u 3 )} { x | u 1 u 2 u 3 F( x ,u 1 ,u 2 ,u 3 )} 3P 3P { x | u 1 u 2


slide-1
SLIDE 1

Computational Complexity

Lecture 8 More of the Polynomial Hierarchy Oracle-based Definition

1

slide-2
SLIDE 2

Recall PH

P NP coNP

{x|F(x)} {x|∃u1 F(x,u1)}

Σ2P Π2P Σ3P Π3P

{x|∃u1∀u2∃u3 F(x,u1,u2,u3)} {x|∀u1∃u2∀u3 F(x,u1,u2,u3)} {x|∀u1 F(x,u1)} {x|∃u1∀u2 F(x,u1,u2)} {x|∀u1∃u2 F(x,u1,u2)}

2

slide-3
SLIDE 3

Oracle Machines

3

slide-4
SLIDE 4

Oracle Machines

Recall Oracle Machine

3

slide-5
SLIDE 5

Oracle Machines

Recall Oracle Machine Writes queries on query-tape, enters and leaves query state, and expects answer from oracle on the tape

3

slide-6
SLIDE 6

Oracle Machines

Recall Oracle Machine Writes queries on query-tape, enters and leaves query state, and expects answer from oracle on the tape Can run an oracle machine with any oracle

3

slide-7
SLIDE 7

Oracle Machines

Recall Oracle Machine Writes queries on query-tape, enters and leaves query state, and expects answer from oracle on the tape Can run an oracle machine with any oracle Oracle fully specified by the input-output behavior

3

slide-8
SLIDE 8

Oracle Machines

Recall Oracle Machine Writes queries on query-tape, enters and leaves query state, and expects answer from oracle on the tape Can run an oracle machine with any oracle Oracle fully specified by the input-output behavior Language oracle: answer is a single bit

3

slide-9
SLIDE 9

Oracle Machines

Recall Oracle Machine Writes queries on query-tape, enters and leaves query state, and expects answer from oracle on the tape Can run an oracle machine with any oracle Oracle fully specified by the input-output behavior Language oracle: answer is a single bit This is what we consider

3

slide-10
SLIDE 10

Oracle Machines (ctd.)

4

slide-11
SLIDE 11

Oracle Machines (ctd.)

Non-deterministic oracle machine

4

slide-12
SLIDE 12

Oracle Machines (ctd.)

Non-deterministic oracle machine Can make non-deterministic choices and make

  • racle queries. (Note: oracles are deterministic!)

4

slide-13
SLIDE 13

Oracle Machines (ctd.)

Non-deterministic oracle machine Can make non-deterministic choices and make

  • racle queries. (Note: oracles are deterministic!)

Said to accept if any thread reaches accept state

4

slide-14
SLIDE 14

Oracle Machines (ctd.)

Non-deterministic oracle machine Can make non-deterministic choices and make

  • racle queries. (Note: oracles are deterministic!)

Said to accept if any thread reaches accept state Equivalently, a deterministic oracle machine which takes a (read-once) certificate w (the list of non- deterministic choices)

4

slide-15
SLIDE 15

Oracle Machines (ctd.)

Non-deterministic oracle machine Can make non-deterministic choices and make

  • racle queries. (Note: oracles are deterministic!)

Said to accept if any thread reaches accept state Equivalently, a deterministic oracle machine which takes a (read-once) certificate w (the list of non- deterministic choices) Said to accept x if ∃w such that (x,w) takes it to accepting state

4

slide-16
SLIDE 16

Oracle Machines (ctd.)

Non-deterministic oracle machine Can make non-deterministic choices and make

  • racle queries. (Note: oracles are deterministic!)

Said to accept if any thread reaches accept state Equivalently, a deterministic oracle machine which takes a (read-once) certificate w (the list of non- deterministic choices) Said to accept x if ∃w such that (x,w) takes it to accepting state co- ^ all threads reach ∀w

5

slide-17
SLIDE 17

NPA

6

slide-18
SLIDE 18

NPA

NPA : class of languages accepted by oracle NTMs with

  • racle for A in poly time

6

slide-19
SLIDE 19

NPA

NPA : class of languages accepted by oracle NTMs with

  • racle for A in poly time

Certificate version: NPA has languages of the form

6

slide-20
SLIDE 20

NPA

NPA : class of languages accepted by oracle NTMs with

  • racle for A in poly time

Certificate version: NPA has languages of the form B = {x | ∃w MA(x,w) = 1}

6

slide-21
SLIDE 21

NPA

NPA : class of languages accepted by oracle NTMs with

  • racle for A in poly time

Certificate version: NPA has languages of the form B = {x | ∃w MA(x,w) = 1} where M deterministic oracle machine

6

slide-22
SLIDE 22

NPA

NPA : class of languages accepted by oracle NTMs with

  • racle for A in poly time

Certificate version: NPA has languages of the form B = {x | ∃w MA(x,w) = 1} where M deterministic oracle machine MA runs in poly(|x|) time and |w|=poly(|x|)

6

slide-23
SLIDE 23

NPA

NPA : class of languages accepted by oracle NTMs with

  • racle for A in poly time

Certificate version: NPA has languages of the form B = {x | ∃w MA(x,w) = 1} where M deterministic oracle machine MA runs in poly(|x|) time and |w|=poly(|x|) i.e., B = {x | ∃w (x,w) ∈ L}, where L in PA

6

slide-24
SLIDE 24

NPA

NPA : class of languages accepted by oracle NTMs with

  • racle for A in poly time

Certificate version: NPA has languages of the form B = {x | ∃w MA(x,w) = 1} where M deterministic oracle machine MA runs in poly(|x|) time and |w|=poly(|x|) i.e., B = {x | ∃w (x,w) ∈ L}, where L in PA co-(NPA) = (co-NP)A

6

slide-25
SLIDE 25

NPA

NPA : class of languages accepted by oracle NTMs with

  • racle for A in poly time

Certificate version: NPA has languages of the form B = {x | ∃w MA(x,w) = 1} where M deterministic oracle machine MA runs in poly(|x|) time and |w|=poly(|x|) i.e., B = {x | ∃w (x,w) ∈ L}, where L in PA co-(NPA) = (co-NP)A languages of the form {x | ∀w (x,w) ∈ L}, where L in PA

6

slide-26
SLIDE 26

NPA

7

slide-27
SLIDE 27

NPA

If A in P, NPA = NP

7

slide-28
SLIDE 28

NPA

If A in P, NPA = NP Can “implement” the oracle as a subroutine

7

slide-29
SLIDE 29

NPA

If A in P, NPA = NP Can “implement” the oracle as a subroutine If A in NP?

7

slide-30
SLIDE 30

NPA

If A in P, NPA = NP Can “implement” the oracle as a subroutine If A in NP? Oracle for A is an oracle for Ac too! NPA = NPAc

7

slide-31
SLIDE 31

NPA

If A in P, NPA = NP Can “implement” the oracle as a subroutine If A in NP? Oracle for A is an oracle for Ac too! NPA = NPAc NP ∪ co-NP ⊆ NPSAT

7

slide-32
SLIDE 32

NPA

If A in P, NPA = NP Can “implement” the oracle as a subroutine If A in NP? Oracle for A is an oracle for Ac too! NPA = NPAc NP ∪ co-NP ⊆ NPSAT Can we better characterize NPSAT?

7

slide-33
SLIDE 33

NPNP and relatives

8

slide-34
SLIDE 34

NPNP and relatives

NPSAT = ∪A∈NP NPA

8

slide-35
SLIDE 35

NPNP and relatives

NPSAT = ∪A∈NP NPA Oracle for A can be implemented using oracle for SAT in polynomial time (deterministically)

8

slide-36
SLIDE 36

NPNP and relatives

NPSAT = ∪A∈NP NPA Oracle for A can be implemented using oracle for SAT in polynomial time (deterministically) NPSAT also called NPNP

8

slide-37
SLIDE 37

NPNP and relatives

NPSAT = ∪A∈NP NPA Oracle for A can be implemented using oracle for SAT in polynomial time (deterministically) NPSAT also called NPNP NPΣk = ∪A∈Σk NPA = NPΣkSAT

8

slide-38
SLIDE 38

NPNP and relatives

NPSAT = ∪A∈NP NPA Oracle for A can be implemented using oracle for SAT in polynomial time (deterministically) NPSAT also called NPNP NPΣk = ∪A∈Σk NPA = NPΣkSAT Will show NPΣk = Σk+1P (alt. definition for Σk+1P)

8

slide-39
SLIDE 39

NPNP and relatives

NPSAT = ∪A∈NP NPA Oracle for A can be implemented using oracle for SAT in polynomial time (deterministically) NPSAT also called NPNP NPΣk = ∪A∈Σk NPA = NPΣkSAT Will show NPΣk = Σk+1P (alt. definition for Σk+1P) In particular, NPNP = Σ2P

8

slide-40
SLIDE 40

Σk+1 = NPΣk

9

slide-41
SLIDE 41

Σk+1 = NPΣk

Consider L ∈ Σk+1P

9

slide-42
SLIDE 42

Σk+1 = NPΣk

Consider L ∈ Σk+1P L = { x| ∃w (x,w) ∈ L ’}, where L ’ in ΠkP

9

slide-43
SLIDE 43

Σk+1 = NPΣk

Consider L ∈ Σk+1P L = { x| ∃w (x,w) ∈ L ’}, where L ’ in ΠkP So L in NPL

’ where L

’ in ΠkP

9

slide-44
SLIDE 44

Σk+1 = NPΣk

Consider L ∈ Σk+1P L = { x| ∃w (x,w) ∈ L ’}, where L ’ in ΠkP So L in NPL

’ where L

’ in ΠkP So NPL

’ ⊆ NPΠk = NPΣk

9

slide-45
SLIDE 45

Σk+1 = NPΣk

Consider L ∈ Σk+1P L = { x| ∃w (x,w) ∈ L ’}, where L ’ in ΠkP So L in NPL

’ where L

’ in ΠkP So NPL

’ ⊆ NPΠk = NPΣk

So Σk+1P ⊆ NPΣk

9

slide-46
SLIDE 46

Σk+1 = NPΣk

Consider L ∈ Σk+1P L = { x| ∃w (x,w) ∈ L ’}, where L ’ in ΠkP So L in NPL

’ where L

’ in ΠkP So NPL

’ ⊆ NPΠk = NPΣk

So Σk+1P ⊆ NPΣk Now to show NPΣk ⊆ Σk+1P

9

slide-47
SLIDE 47

NPΣk ⊆ Σk+1

10

slide-48
SLIDE 48

NPΣk ⊆ Σk+1

To show NPA ⊆ Σk+1P if A in ΣkP

10

slide-49
SLIDE 49

NPΣk ⊆ Σk+1

To show NPA ⊆ Σk+1P if A in ΣkP For B ∈ NPA poly-time TM M s.t. B = { x| ∃w MA(x,w)=1}

10

slide-50
SLIDE 50

NPΣk ⊆ Σk+1

To show NPA ⊆ Σk+1P if A in ΣkP For B ∈ NPA poly-time TM M s.t. B = { x| ∃w MA(x,w)=1} i.e., B = { x| ∃w ∃ans M<ans>(x,w)=1 and “ans correct”}

10

slide-51
SLIDE 51

NPΣk ⊆ Σk+1

To show NPA ⊆ Σk+1P if A in ΣkP For B ∈ NPA poly-time TM M s.t. B = { x| ∃w MA(x,w)=1} i.e., B = { x| ∃w ∃ans M<ans>(x,w)=1 and “ans correct”} To show C = {(x,w,ans) | M<ans>(x,w)=1 and “ans correct”} in Σk+1P

10

slide-52
SLIDE 52

NPΣk ⊆ Σk+1

To show NPA ⊆ Σk+1P if A in ΣkP For B ∈ NPA poly-time TM M s.t. B = { x| ∃w MA(x,w)=1} i.e., B = { x| ∃w ∃ans M<ans>(x,w)=1 and “ans correct”} To show C = {(x,w,ans) | M<ans>(x,w)=1 and “ans correct”} in Σk+1P Then B also in Σk+1P

10

slide-53
SLIDE 53

NPΣk ⊆ Σk+1

11

slide-54
SLIDE 54

NPΣk ⊆ Σk+1

To show C = {(x,w,ans) | M<ans>(x,w)=1 and “ans correct”} in Σk+1P

11

slide-55
SLIDE 55

NPΣk ⊆ Σk+1

To show C = {(x,w,ans) | M<ans>(x,w)=1 and “ans correct”} in Σk+1P Suppose M makes only one query z=Z(x,w). ans is a single bit saying if z in A or not

11

slide-56
SLIDE 56

NPΣk ⊆ Σk+1

To show C = {(x,w,ans) | M<ans>(x,w)=1 and “ans correct”} in Σk+1P Suppose M makes only one query z=Z(x,w). ans is a single bit saying if z in A or not “ans correct”: (ans=1 ∧ z ∈ A) or (ans=0 ∧ z ∉ A)

11

slide-57
SLIDE 57

NPΣk ⊆ Σk+1

To show C = {(x,w,ans) | M<ans>(x,w)=1 and “ans correct”} in Σk+1P Suppose M makes only one query z=Z(x,w). ans is a single bit saying if z in A or not “ans correct”: (ans=1 ∧ z ∈ A) or (ans=0 ∧ z ∉ A) C={(x,w,ans) | M<ans>(x,w)=1 ∧ [(ans=1 ∧ ∃u1∀u2...Qkuk F(z,u1,...)=1) or (ans=0 ∧ ∀v1∃v2...Q’kvk F(z,v1,...)=0)] }

11

slide-58
SLIDE 58

NPΣk ⊆ Σk+1

To show C = {(x,w,ans) | M<ans>(x,w)=1 and “ans correct”} in Σk+1P Suppose M makes only one query z=Z(x,w). ans is a single bit saying if z in A or not “ans correct”: (ans=1 ∧ z ∈ A) or (ans=0 ∧ z ∉ A) C={(x,w,ans) | M<ans>(x,w)=1 ∧ [(ans=1 ∧ ∃u1∀u2...Qkuk F(z,u1,...)=1) or (ans=0 ∧ ∀v1∃v2...Q’kvk F(z,v1,...)=0)] } C={(x,w,ans) | ∃u1∀u2v1∃u3v2...Qkukvk-1Q’kvk M<ans>(x,w)=1 ∧ [(ans=1 ∧ F(z,u1,...)=1) or (ans=0 ∧ F(z,v1,...)=0)] }

11

slide-59
SLIDE 59

NPΣk ⊆ Σk+1

To show C = {(x,w,ans) | M<ans>(x,w)=1 and “ans correct”} in Σk+1P Suppose M makes only one query z=Z(x,w). ans is a single bit saying if z in A or not “ans correct”: (ans=1 ∧ z ∈ A) or (ans=0 ∧ z ∉ A) C={(x,w,ans) | M<ans>(x,w)=1 ∧ [(ans=1 ∧ ∃u1∀u2...Qkuk F(z,u1,...)=1) or (ans=0 ∧ ∀v1∃v2...Q’kvk F(z,v1,...)=0)] } C={(x,w,ans) | ∃u1∀u2v1∃u3v2...Qkukvk-1Q’kvk M<ans>(x,w)=1 ∧ [(ans=1 ∧ F(z,u1,...)=1) or (ans=0 ∧ F(z,v1,...)=0)] } i n Σk+1P

11

slide-60
SLIDE 60

NPΣk ⊆ Σk+1

To show C = {(x,w,ans) | M<ans>(x,w)=1 and “ans correct”} in Σk+1P Suppose M makes only one query z=Z(x,w). ans is a single bit saying if z in A or not “ans correct”: (ans=1 ∧ z ∈ A) or (ans=0 ∧ z ∉ A) C={(x,w,ans) | M<ans>(x,w)=1 ∧ [(ans=1 ∧ ∃u1∀u2...Qkuk F(z,u1,...)=1) or (ans=0 ∧ ∀v1∃v2...Q’kvk F(z,v1,...)=0)] } C={(x,w,ans) | ∃u1∀u2v1∃u3v2...Qkukvk-1Q’kvk M<ans>(x,w)=1 ∧ [(ans=1 ∧ F(z,u1,...)=1) or (ans=0 ∧ F(z,v1,...)=0)] } Changes for t queries: z=Z(x,w) ! (z(1)...z(t)) = Z(x,w,ans), ui ! ui(1)...ui(t), vi ! vi(1)...vi(t), and use conjunction of t checks (for j=1,...,t) of the form [ (ans(j)=1 ∧ F(z(j),u1(j),...)=1) or (ans(j)=0 ∧ F(z(j),v1(j),...)=0) ] i n Σk+1P

11

slide-61
SLIDE 61

Oracle Version

12

slide-62
SLIDE 62

Oracle Version

Σk+1P = NPΣk (with Σ0P = P)

12

slide-63
SLIDE 63

Oracle Version

Σk+1P = NPΣk (with Σ0P = P) Πk+1P = co-NPΠk (with Π0P = P)

12

slide-64
SLIDE 64

Oracle Version

Σk+1P = NPΣk (with Σ0P = P) Πk+1P = co-NPΠk (with Π0P = P) Πk+1P = co-(NPΣk) = co-NPΣk = co-NPΠk

12

slide-65
SLIDE 65

ΔkP

13

slide-66
SLIDE 66

ΔkP

Δk+1P = PΣk = PΠk

13

slide-67
SLIDE 67

ΔkP

Δk+1P = PΣk = PΠk Δ1P = P

13

slide-68
SLIDE 68

ΔkP

Δk+1P = PΣk = PΠk Δ1P = P Δ2P = PNP

13

slide-69
SLIDE 69

ΔkP

Δk+1P = PΣk = PΠk Δ1P = P Δ2P = PNP Note that Δ2P = co-Δ2P

13

slide-70
SLIDE 70

ΔkP

Δk+1P = PΣk = PΠk Δ1P = P Δ2P = PNP Note that Δ2P = co-Δ2P Δk+1P ⊇ ΣkP ∪ ΠkP

13

slide-71
SLIDE 71

ΔkP

Δk+1P = PΣk = PΠk Δ1P = P Δ2P = PNP Note that Δ2P = co-Δ2P Δk+1P ⊇ ΣkP ∪ ΠkP Δk+1P ⊆ Σk+1P ∩ Πk+1P (why?)

13

slide-72
SLIDE 72

ΔkP

Δk+1P = PΣk = PΠk Δ1P = P Δ2P = PNP Note that Δ2P = co-Δ2P Δk+1P ⊇ ΣkP ∪ ΠkP Δk+1P ⊆ Σk+1P ∩ Πk+1P (why?) PΣk ⊆ NPΣk ∩ coNPΣk

13

slide-73
SLIDE 73

PH

P NP coNP Σ2P Π2P Σ3P Π3P

14

slide-74
SLIDE 74

PH

P NP coNP Σ2P Π2P Σ3P Π3P

NPNP

14

slide-75
SLIDE 75

PH

P NP coNP Σ2P Π2P Σ3P Π3P

NPNP coNPNP

14

slide-76
SLIDE 76

PH

P NP coNP Σ2P Π2P Σ3P Π3P

NPNP coNPNP NPNPNP

14

slide-77
SLIDE 77

PH

P NP coNP Σ2P Π2P Σ3P Π3P

NPNP coNPNP NPNPNP coNPNPNP

14

slide-78
SLIDE 78

PH

P NP coNP Σ2P Π2P Σ3P Π3P

NPNP coNPNP NPNPNP coNPNPNP

Δ2P

14

slide-79
SLIDE 79

PH

P NP coNP Σ2P Π2P Σ3P Π3P

NPNP coNPNP NPNPNP coNPNPNP

Δ3P Δ2P

14

slide-80
SLIDE 80

PH

P NP coNP Σ2P Π2P Σ3P Π3P

NPNP coNPNP NPNPNP coNPNPNP PNP

Δ3P Δ2P

14

slide-81
SLIDE 81

PH

P NP coNP Σ2P Π2P Σ3P Π3P

NPNP coNPNP NPNPNP coNPNPNP PNP PNPNP

Δ3P Δ2P

14

slide-82
SLIDE 82

Today

15

slide-83
SLIDE 83

Today

Today, more PH

15

slide-84
SLIDE 84

Today

Today, more PH Oracle-based definitions (in particular NPNP = Σ2P)

15

slide-85
SLIDE 85

Today

Today, more PH Oracle-based definitions (in particular NPNP = Σ2P) Next lecture, more PH

15

slide-86
SLIDE 86

Today

Today, more PH Oracle-based definitions (in particular NPNP = Σ2P) Next lecture, more PH Alternating TM-based definitions

15

slide-87
SLIDE 87

Today

Today, more PH Oracle-based definitions (in particular NPNP = Σ2P) Next lecture, more PH Alternating TM-based definitions Time-Space tradeoffs

15