Complexity Theory: Zooming Out Eric Price UT Austin CS 331, Spring - - PowerPoint PPT Presentation

complexity theory zooming out
SMART_READER_LITE
LIVE PREVIEW

Complexity Theory: Zooming Out Eric Price UT Austin CS 331, Spring - - PowerPoint PPT Presentation

Complexity Theory: Zooming Out Eric Price UT Austin CS 331, Spring 2020 Coronavirus Edition Eric Price (UT Austin) Complexity Theory: Zooming Out 1 / 14 Class Outline Complexity classes 1 Computability 2 Eric Price (UT Austin)


slide-1
SLIDE 1

Complexity Theory: Zooming Out

Eric Price

UT Austin

CS 331, Spring 2020 Coronavirus Edition

Eric Price (UT Austin) Complexity Theory: Zooming Out 1 / 14

slide-2
SLIDE 2

Class Outline

1

Complexity classes

2

Computability

Eric Price (UT Austin) Complexity Theory: Zooming Out 2 / 14

slide-3
SLIDE 3

A few complexity classes

P: Polynomial time

Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-4
SLIDE 4

A few complexity classes

P: Polynomial time NP: Nondeterministic polynomial time

Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-5
SLIDE 5

A few complexity classes

P: Polynomial time NP: Nondeterministic polynomial time PP: failure probability < 1/2.

Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-6
SLIDE 6

A few complexity classes

P: Polynomial time NP: Nondeterministic polynomial time PP: failure probability < 1/2.

◮ Kind of silly: NP ⊆ PP Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-7
SLIDE 7

A few complexity classes

P: Polynomial time NP: Nondeterministic polynomial time PP: failure probability < 1/2.

◮ Kind of silly: NP ⊆ PP (guess x; if f (x) true, return True; if f (x)

false, flip a coin)

Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-8
SLIDE 8

A few complexity classes

P: Polynomial time NP: Nondeterministic polynomial time PP: failure probability < 1/2.

◮ Kind of silly: NP ⊆ PP (guess x; if f (x) true, return True; if f (x)

false, flip a coin)

BPP: Probabilistic polynomial time, failure probability at most 1/3.

Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-9
SLIDE 9

A few complexity classes

P: Polynomial time NP: Nondeterministic polynomial time PP: failure probability < 1/2.

◮ Kind of silly: NP ⊆ PP (guess x; if f (x) true, return True; if f (x)

false, flip a coin)

BPP: Probabilistic polynomial time, failure probability at most 1/3. BQP: Probabilistic quantum polynomial time, failure probability at most 1/3.

Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-10
SLIDE 10

A few complexity classes

P: Polynomial time NP: Nondeterministic polynomial time PP: failure probability < 1/2.

◮ Kind of silly: NP ⊆ PP (guess x; if f (x) true, return True; if f (x)

false, flip a coin)

BPP: Probabilistic polynomial time, failure probability at most 1/3. BQP: Probabilistic quantum polynomial time, failure probability at most 1/3. PSPACE: Polynomial space

Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-11
SLIDE 11

A few complexity classes

P: Polynomial time NP: Nondeterministic polynomial time PP: failure probability < 1/2.

◮ Kind of silly: NP ⊆ PP (guess x; if f (x) true, return True; if f (x)

false, flip a coin)

BPP: Probabilistic polynomial time, failure probability at most 1/3. BQP: Probabilistic quantum polynomial time, failure probability at most 1/3. PSPACE: Polynomial space NPSPACE: Nondeterministic, polynomial space

Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-12
SLIDE 12

A few complexity classes

P: Polynomial time NP: Nondeterministic polynomial time PP: failure probability < 1/2.

◮ Kind of silly: NP ⊆ PP (guess x; if f (x) true, return True; if f (x)

false, flip a coin)

BPP: Probabilistic polynomial time, failure probability at most 1/3. BQP: Probabilistic quantum polynomial time, failure probability at most 1/3. PSPACE: Polynomial space NPSPACE: Nondeterministic, polynomial space

◮ NPSPACE = PSPACE: try all proofs. Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-13
SLIDE 13

A few complexity classes

P: Polynomial time NP: Nondeterministic polynomial time PP: failure probability < 1/2.

◮ Kind of silly: NP ⊆ PP (guess x; if f (x) true, return True; if f (x)

false, flip a coin)

BPP: Probabilistic polynomial time, failure probability at most 1/3. BQP: Probabilistic quantum polynomial time, failure probability at most 1/3. PSPACE: Polynomial space NPSPACE: Nondeterministic, polynomial space

◮ NPSPACE = PSPACE: try all proofs.

EXP: Exponential time

Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-14
SLIDE 14

A few complexity classes

P: Polynomial time NP: Nondeterministic polynomial time PP: failure probability < 1/2.

◮ Kind of silly: NP ⊆ PP (guess x; if f (x) true, return True; if f (x)

false, flip a coin)

BPP: Probabilistic polynomial time, failure probability at most 1/3. BQP: Probabilistic quantum polynomial time, failure probability at most 1/3. PSPACE: Polynomial space NPSPACE: Nondeterministic, polynomial space

◮ NPSPACE = PSPACE: try all proofs.

EXP: Exponential time NEXP: Nondeterministic exponential time

Eric Price (UT Austin) Complexity Theory: Zooming Out 3 / 14

slide-15
SLIDE 15

Relations of complexity classes

P ⊆ NP ⊆ PSPACE ⊆ EXP ⊆ NEXP ⊆ EXPSPACE ⊆ . . .

Eric Price (UT Austin) Complexity Theory: Zooming Out 4 / 14

slide-16
SLIDE 16

Relations of complexity classes

P ⊆ NP ⊆ PSPACE ⊆ EXP ⊆ NEXP ⊆ EXPSPACE ⊆ . . . Know: P = EXP, PSPACE = EXPSPACE.

Eric Price (UT Austin) Complexity Theory: Zooming Out 4 / 14

slide-17
SLIDE 17

Relations of complexity classes

P ⊆ NP ⊆ PSPACE ⊆ EXP ⊆ NEXP ⊆ EXPSPACE ⊆ . . . Know: P = EXP, PSPACE = EXPSPACE. That’s about it.

Eric Price (UT Austin) Complexity Theory: Zooming Out 4 / 14

slide-18
SLIDE 18

Relations of complexity classes

P ⊆ NP ⊆ PSPACE ⊆ EXP ⊆ NEXP ⊆ EXPSPACE ⊆ . . . Know: P = EXP, PSPACE = EXPSPACE. That’s about it. P ⊆ BPP ⊆ BQP ⊆ PSPACE

Eric Price (UT Austin) Complexity Theory: Zooming Out 4 / 14

slide-19
SLIDE 19

Relations of complexity classes

P ⊆ NP ⊆ PSPACE ⊆ EXP ⊆ NEXP ⊆ EXPSPACE ⊆ . . . Know: P = EXP, PSPACE = EXPSPACE. That’s about it. P ⊆ BPP ⊆ BQP ⊆ PSPACE Most people expect: P = BPP, everything else .

Eric Price (UT Austin) Complexity Theory: Zooming Out 4 / 14

slide-20
SLIDE 20

Relations of complexity classes

P ⊆ NP ⊆ PSPACE ⊆ EXP ⊆ NEXP ⊆ EXPSPACE ⊆ . . . Know: P = EXP, PSPACE = EXPSPACE. That’s about it. P ⊆ BPP ⊆ BQP ⊆ PSPACE Most people expect: P = BPP, everything else . Don’t know NP compared to BPP or BQP (or even if one is inside the other).

Eric Price (UT Austin) Complexity Theory: Zooming Out 4 / 14

slide-21
SLIDE 21

Prototypical examples

P: evaluate a function

Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-22
SLIDE 22

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)? Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-23
SLIDE 23

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)?

NP: solve a puzzle

Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-24
SLIDE 24

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)?

NP: solve a puzzle

◮ SAT: given f , determine if ∃x : f (x) = 1? Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-25
SLIDE 25

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)?

NP: solve a puzzle

◮ SAT: given f , determine if ∃x : f (x) = 1? ◮ Think candy crush: is there any sequence of moves to achieve score X? Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-26
SLIDE 26

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)?

NP: solve a puzzle

◮ SAT: given f , determine if ∃x : f (x) = 1? ◮ Think candy crush: is there any sequence of moves to achieve score X? ◮ Easy to verify once the solution is found. Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-27
SLIDE 27

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)?

NP: solve a puzzle

◮ SAT: given f , determine if ∃x : f (x) = 1? ◮ Think candy crush: is there any sequence of moves to achieve score X? ◮ Easy to verify once the solution is found.

PSPACE: solve a 2-player game

Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-28
SLIDE 28

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)?

NP: solve a puzzle

◮ SAT: given f , determine if ∃x : f (x) = 1? ◮ Think candy crush: is there any sequence of moves to achieve score X? ◮ Easy to verify once the solution is found.

PSPACE: solve a 2-player game

◮ TQBF: ∃x1∀x2∃x3 · · · ∀xn : f (x) = 1 Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-29
SLIDE 29

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)?

NP: solve a puzzle

◮ SAT: given f , determine if ∃x : f (x) = 1? ◮ Think candy crush: is there any sequence of moves to achieve score X? ◮ Easy to verify once the solution is found.

PSPACE: solve a 2-player game

◮ TQBF: ∃x1∀x2∃x3 · · · ∀xn : f (x) = 1 ◮ Think chess: do I have a move, so no matter what you do, I can find a

move, so no matter, etc., etc., I end up winning?

Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-30
SLIDE 30

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)?

NP: solve a puzzle

◮ SAT: given f , determine if ∃x : f (x) = 1? ◮ Think candy crush: is there any sequence of moves to achieve score X? ◮ Easy to verify once the solution is found.

PSPACE: solve a 2-player game

◮ TQBF: ∃x1∀x2∃x3 · · · ∀xn : f (x) = 1 ◮ Think chess: do I have a move, so no matter what you do, I can find a

move, so no matter, etc., etc., I end up winning?

Caveat: requires the puzzle/game to only have a polynomial number

  • f moves.

Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-31
SLIDE 31

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)?

NP: solve a puzzle

◮ SAT: given f , determine if ∃x : f (x) = 1? ◮ Think candy crush: is there any sequence of moves to achieve score X? ◮ Easy to verify once the solution is found.

PSPACE: solve a 2-player game

◮ TQBF: ∃x1∀x2∃x3 · · · ∀xn : f (x) = 1 ◮ Think chess: do I have a move, so no matter what you do, I can find a

move, so no matter, etc., etc., I end up winning?

Caveat: requires the puzzle/game to only have a polynomial number

  • f moves.

◮ Puzzles/games with exponentially many moves may be harder. Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-32
SLIDE 32

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)?

NP: solve a puzzle

◮ SAT: given f , determine if ∃x : f (x) = 1? ◮ Think candy crush: is there any sequence of moves to achieve score X? ◮ Easy to verify once the solution is found.

PSPACE: solve a 2-player game

◮ TQBF: ∃x1∀x2∃x3 · · · ∀xn : f (x) = 1 ◮ Think chess: do I have a move, so no matter what you do, I can find a

move, so no matter, etc., etc., I end up winning?

Caveat: requires the puzzle/game to only have a polynomial number

  • f moves.

◮ Puzzles/games with exponentially many moves may be harder. ◮ Go (Japanese rules): actually EXP-complete to solve a position. Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-33
SLIDE 33

Prototypical examples

P: evaluate a function

◮ Given a circuit f and input x, what is f (x)?

NP: solve a puzzle

◮ SAT: given f , determine if ∃x : f (x) = 1? ◮ Think candy crush: is there any sequence of moves to achieve score X? ◮ Easy to verify once the solution is found.

PSPACE: solve a 2-player game

◮ TQBF: ∃x1∀x2∃x3 · · · ∀xn : f (x) = 1 ◮ Think chess: do I have a move, so no matter what you do, I can find a

move, so no matter, etc., etc., I end up winning?

Caveat: requires the puzzle/game to only have a polynomial number

  • f moves.

◮ Puzzles/games with exponentially many moves may be harder. ◮ Go (Japanese rules): actually EXP-complete to solve a position. ◮ Zelda: actually PSPACE-complete to solve a level. Eric Price (UT Austin) Complexity Theory: Zooming Out 5 / 14

slide-34
SLIDE 34

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go).

Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-35
SLIDE 35

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-36
SLIDE 36

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

◮ But you’re skeptical—maybe it’s actually a devil before you. Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-37
SLIDE 37

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

◮ But you’re skeptical—maybe it’s actually a devil before you.

The god of candy crush can tell you the solution, and you can check.

Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-38
SLIDE 38

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

◮ But you’re skeptical—maybe it’s actually a devil before you.

The god of candy crush can tell you the solution, and you can check. The god of chess can:

Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-39
SLIDE 39

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

◮ But you’re skeptical—maybe it’s actually a devil before you.

The god of candy crush can tell you the solution, and you can check. The god of chess can:

◮ tell you one line of play that wins for white? Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-40
SLIDE 40

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

◮ But you’re skeptical—maybe it’s actually a devil before you.

The god of candy crush can tell you the solution, and you can check. The god of chess can:

◮ tell you one line of play that wins for white? ◮ with interactivity: convince you he’s better than you at chess? Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-41
SLIDE 41

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

◮ But you’re skeptical—maybe it’s actually a devil before you.

The god of candy crush can tell you the solution, and you can check. The god of chess can:

◮ tell you one line of play that wins for white? ◮ with interactivity: convince you he’s better than you at chess? ◮ Remarkable fact: with interactivity, and careful questioning, can

convince you white wins.

Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-42
SLIDE 42

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

◮ But you’re skeptical—maybe it’s actually a devil before you.

The god of candy crush can tell you the solution, and you can check. The god of chess can:

◮ tell you one line of play that wins for white? ◮ with interactivity: convince you he’s better than you at chess? ◮ Remarkable fact: with interactivity, and careful questioning, can

convince you white wins.

◮ IP = PSPACE [1992] Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-43
SLIDE 43

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

◮ But you’re skeptical—maybe it’s actually a devil before you.

The god of candy crush can tell you the solution, and you can check. The god of chess can:

◮ tell you one line of play that wins for white? ◮ with interactivity: convince you he’s better than you at chess? ◮ Remarkable fact: with interactivity, and careful questioning, can

convince you white wins.

◮ IP = PSPACE [1992]

The god of go:

Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-44
SLIDE 44

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

◮ But you’re skeptical—maybe it’s actually a devil before you.

The god of candy crush can tell you the solution, and you can check. The god of chess can:

◮ tell you one line of play that wins for white? ◮ with interactivity: convince you he’s better than you at chess? ◮ Remarkable fact: with interactivity, and careful questioning, can

convince you white wins.

◮ IP = PSPACE [1992]

The god of go:

◮ Probably cannot convince you (if PSPACE = EXP) Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-45
SLIDE 45

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

◮ But you’re skeptical—maybe it’s actually a devil before you.

The god of candy crush can tell you the solution, and you can check. The god of chess can:

◮ tell you one line of play that wins for white? ◮ with interactivity: convince you he’s better than you at chess? ◮ Remarkable fact: with interactivity, and careful questioning, can

convince you white wins.

◮ IP = PSPACE [1992]

The god of go:

◮ Probably cannot convince you (if PSPACE = EXP) ◮ But two gods of go, in different rooms unable to communicate, can! Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-46
SLIDE 46

Interactive proofs

You’re a lowly P peon, and can’t solve NP problems (like candy crush), PSPACE ones (like chess), or EXP ones (like go). If a god appears before you, can they convince you of the answer?

◮ But you’re skeptical—maybe it’s actually a devil before you.

The god of candy crush can tell you the solution, and you can check. The god of chess can:

◮ tell you one line of play that wins for white? ◮ with interactivity: convince you he’s better than you at chess? ◮ Remarkable fact: with interactivity, and careful questioning, can

convince you white wins.

◮ IP = PSPACE [1992]

The god of go:

◮ Probably cannot convince you (if PSPACE = EXP) ◮ But two gods of go, in different rooms unable to communicate, can! ◮ In fact, MIP=NEXP [1991] Eric Price (UT Austin) Complexity Theory: Zooming Out 6 / 14

slide-47
SLIDE 47

Class Outline

1

Complexity classes

2

Computability

Eric Price (UT Austin) Complexity Theory: Zooming Out 7 / 14

slide-48
SLIDE 48

Halting Problem

Given a piece of code, determine if it runs forever or will halt.

Eric Price (UT Austin) Complexity Theory: Zooming Out 8 / 14

slide-49
SLIDE 49

Halting Problem

Given a piece of code, determine if it runs forever or will halt. Suppose you had a program Halts(p, x) that determines if the program with code p halts on input x.

Eric Price (UT Austin) Complexity Theory: Zooming Out 8 / 14

slide-50
SLIDE 50

Halting Problem

Given a piece of code, determine if it runs forever or will halt. Suppose you had a program Halts(p, x) that determines if the program with code p halts on input x. Consider the following function:

1: function Trouble(s) 2:

if Halts(s, s) then

3:

while True do

4:

pass

5:

else

6:

return

Eric Price (UT Austin) Complexity Theory: Zooming Out 8 / 14

slide-51
SLIDE 51

Halting Problem

Given a piece of code, determine if it runs forever or will halt. Suppose you had a program Halts(p, x) that determines if the program with code p halts on input x. Consider the following function:

1: function Trouble(s) 2:

if Halts(s, s) then

3:

while True do

4:

pass

5:

else

6:

return Does Trouble(Trouble) halt?

Eric Price (UT Austin) Complexity Theory: Zooming Out 8 / 14

slide-52
SLIDE 52

Halting Problem

Given a piece of code, determine if it runs forever or will halt. Suppose you had a program Halts(p, x) that determines if the program with code p halts on input x. Consider the following function:

1: function Trouble(s) 2:

if Halts(s, s) then

3:

while True do

4:

pass

5:

else

6:

return Does Trouble(Trouble) halt?

◮ If it does, it doesn’t; if it doesn’t, it does. Eric Price (UT Austin) Complexity Theory: Zooming Out 8 / 14

slide-53
SLIDE 53

Halting Problem

Given a piece of code, determine if it runs forever or will halt. Suppose you had a program Halts(p, x) that determines if the program with code p halts on input x. Consider the following function:

1: function Trouble(s) 2:

if Halts(s, s) then

3:

while True do

4:

pass

5:

else

6:

return Does Trouble(Trouble) halt?

◮ If it does, it doesn’t; if it doesn’t, it does.

Resolution to paradox: Halts cannot be written down.

Eric Price (UT Austin) Complexity Theory: Zooming Out 8 / 14

slide-54
SLIDE 54

Halting Problem

Given a piece of code, determine if it runs forever or will halt. Suppose you had a program Halts(p, x) that determines if the program with code p halts on input x. Consider the following function:

1: function Trouble(s) 2:

if Halts(s, s) then

3:

while True do

4:

pass

5:

else

6:

return Does Trouble(Trouble) halt?

◮ If it does, it doesn’t; if it doesn’t, it does.

Resolution to paradox: Halts cannot be written down. Implies that Halts(p)—with no input x—is also uncomputable.

Eric Price (UT Austin) Complexity Theory: Zooming Out 8 / 14

slide-55
SLIDE 55

Halting problem: attempts to solve it

How about this solution:

1: function Halts(p) 2:

Run p for T steps (e.g., 1 hour).

3:

If it halts, return True

4:

Otherwise, return False.

Eric Price (UT Austin) Complexity Theory: Zooming Out 9 / 14

slide-56
SLIDE 56

Halting problem: attempts to solve it

How about this solution:

1: function Halts(p) 2:

Run p for T steps (e.g., 1 hour).

3:

If it halts, return True

4:

Otherwise, return False. Works for short programs!

Eric Price (UT Austin) Complexity Theory: Zooming Out 9 / 14

slide-57
SLIDE 57

Halting problem: attempts to solve it

How about this solution:

1: function Halts(p) 2:

Run p for T(|p|) steps.

3:

If it halts, return True

4:

Otherwise, return False. Works for short programs! T needs to grow with the program size

Eric Price (UT Austin) Complexity Theory: Zooming Out 9 / 14

slide-58
SLIDE 58

Halting problem: attempts to solve it

How about this solution:

1: function Halts(p) 2:

Run p for T(|p|) steps.

3:

If it halts, return True

4:

Otherwise, return False. Works for short programs! T needs to grow with the program size There are a finite number of size-k programs, and one of them takes the longest before halting. This is the busy beaver number BB(k).

Eric Price (UT Austin) Complexity Theory: Zooming Out 9 / 14

slide-59
SLIDE 59

Halting problem: attempts to solve it

How about this solution:

1: function Halts(p) 2:

Run p for T(|p|) steps.

3:

If it halts, return True

4:

Otherwise, return False. Works for short programs! T needs to grow with the program size There are a finite number of size-k programs, and one of them takes the longest before halting. This is the busy beaver number BB(k). Picking any T(k) ≥ BB(k) would work.

Eric Price (UT Austin) Complexity Theory: Zooming Out 9 / 14

slide-60
SLIDE 60

Halting problem: attempts to solve it

How about this solution:

1: function Halts(p) 2:

Run p for T(|p|) steps.

3:

If it halts, return True

4:

Otherwise, return False. Works for short programs! T needs to grow with the program size There are a finite number of size-k programs, and one of them takes the longest before halting. This is the busy beaver number BB(k). Picking any T(k) ≥ BB(k) would work. ... but Halts is uncomputable, so BB(k) is too.

Eric Price (UT Austin) Complexity Theory: Zooming Out 9 / 14

slide-61
SLIDE 61

Halting problem: attempts to solve it

How about this solution:

1: function Halts(p) 2:

Run p for T(|p|) steps.

3:

If it halts, return True

4:

Otherwise, return False. Works for short programs! T needs to grow with the program size There are a finite number of size-k programs, and one of them takes the longest before halting. This is the busy beaver number BB(k). Picking any T(k) ≥ BB(k) would work. ... but Halts is uncomputable, so BB(k) is too. Still, there exists a program that solves Halts on any 1Gb program.

Eric Price (UT Austin) Complexity Theory: Zooming Out 9 / 14

slide-62
SLIDE 62

Halting problem: attempts to solve it

How about this solution:

1: function Halts(p) 2:

Run p for T(|p|) steps.

3:

If it halts, return True

4:

Otherwise, return False. Works for short programs! T needs to grow with the program size There are a finite number of size-k programs, and one of them takes the longest before halting. This is the busy beaver number BB(k). Picking any T(k) ≥ BB(k) would work. ... but Halts is uncomputable, so BB(k) is too. Still, there exists a program that solves Halts on any 1Gb program.

◮ And it’s even short! Eric Price (UT Austin) Complexity Theory: Zooming Out 9 / 14

slide-63
SLIDE 63

Halting problem: attempts to solve it

How about this solution:

1: function Halts(p) 2:

Run p for T(|p|) steps.

3:

If it halts, return True

4:

Otherwise, return False. Works for short programs! T needs to grow with the program size There are a finite number of size-k programs, and one of them takes the longest before halting. This is the busy beaver number BB(k). Picking any T(k) ≥ BB(k) would work. ... but Halts is uncomputable, so BB(k) is too. Still, there exists a program that solves Halts on any 1Gb program.

◮ And it’s even short! Just needs to know the slowest size-k machine. Eric Price (UT Austin) Complexity Theory: Zooming Out 9 / 14

slide-64
SLIDE 64

Halting problem: attempts to solve it

How about this solution:

1: function Halts(p) 2:

Run p for T(|p|) steps.

3:

If it halts, return True

4:

Otherwise, return False. Works for short programs! T needs to grow with the program size There are a finite number of size-k programs, and one of them takes the longest before halting. This is the busy beaver number BB(k). Picking any T(k) ≥ BB(k) would work. ... but Halts is uncomputable, so BB(k) is too. Still, there exists a program that solves Halts on any 1Gb program.

◮ And it’s even short! Just needs to know the slowest size-k machine. Eric Price (UT Austin) Complexity Theory: Zooming Out 9 / 14

slide-65
SLIDE 65

The uncomputability of busy beaver

BB(k) := longest number of steps any k-state Turing machine takes before halting.

Eric Price (UT Austin) Complexity Theory: Zooming Out 10 / 14

slide-66
SLIDE 66

The uncomputability of busy beaver

BB(k) := longest number of steps any k-state Turing machine takes before halting. Per Wikipedia: BB(2) = 6

Eric Price (UT Austin) Complexity Theory: Zooming Out 10 / 14

slide-67
SLIDE 67

The uncomputability of busy beaver

BB(k) := longest number of steps any k-state Turing machine takes before halting. Per Wikipedia: BB(2) = 6, BB(3) = 21

Eric Price (UT Austin) Complexity Theory: Zooming Out 10 / 14

slide-68
SLIDE 68

The uncomputability of busy beaver

BB(k) := longest number of steps any k-state Turing machine takes before halting. Per Wikipedia: BB(2) = 6, BB(3) = 21, BB(4) = 107

Eric Price (UT Austin) Complexity Theory: Zooming Out 10 / 14

slide-69
SLIDE 69

The uncomputability of busy beaver

BB(k) := longest number of steps any k-state Turing machine takes before halting. Per Wikipedia: BB(2) = 6, BB(3) = 21, BB(4) = 107, BB(5) = 47176870 (?),

Eric Price (UT Austin) Complexity Theory: Zooming Out 10 / 14

slide-70
SLIDE 70

The uncomputability of busy beaver

BB(k) := longest number of steps any k-state Turing machine takes before halting. Per Wikipedia: BB(2) = 6, BB(3) = 21, BB(4) = 107, BB(5) = 47176870 (?), BB(6) ≥ 7.4 × 1036534,

Eric Price (UT Austin) Complexity Theory: Zooming Out 10 / 14

slide-71
SLIDE 71

The uncomputability of busy beaver

BB(k) := longest number of steps any k-state Turing machine takes before halting. Per Wikipedia: BB(2) = 6, BB(3) = 21, BB(4) = 107, BB(5) = 47176870 (?), BB(6) ≥ 7.4 × 1036534, BB(7) ≥ 10101010107 .

Eric Price (UT Austin) Complexity Theory: Zooming Out 10 / 14

slide-72
SLIDE 72

The uncomputability of busy beaver

BB(k) := longest number of steps any k-state Turing machine takes before halting. Per Wikipedia: BB(2) = 6, BB(3) = 21, BB(4) = 107, BB(5) = 47176870 (?), BB(6) ≥ 7.4 × 1036534, BB(7) ≥ 10101010107 . To be clear, we have no clue what the actual values are.

Eric Price (UT Austin) Complexity Theory: Zooming Out 10 / 14

slide-73
SLIDE 73

The uncomputability of busy beaver

BB(k) := longest number of steps any k-state Turing machine takes before halting. Per Wikipedia: BB(2) = 6, BB(3) = 21, BB(4) = 107, BB(5) = 47176870 (?), BB(6) ≥ 7.4 × 1036534, BB(7) ≥ 10101010107 . To be clear, we have no clue what the actual values are. Doesn’t really reveal the true enormousness of busy beavers! 9999 is big too, but BB is utterly different.

Eric Price (UT Austin) Complexity Theory: Zooming Out 10 / 14

slide-74
SLIDE 74

The uncomputability of busy beaver

BB(k) := longest number of steps any k-state Turing machine takes before halting. Per Wikipedia: BB(2) = 6, BB(3) = 21, BB(4) = 107, BB(5) = 47176870 (?), BB(6) ≥ 7.4 × 1036534, BB(7) ≥ 10101010107 . To be clear, we have no clue what the actual values are. Doesn’t really reveal the true enormousness of busy beavers! 9999 is big too, but BB is utterly different. BB(2000) is impossible to prove an upper bound on. It’s just a number, but you can’t prove that the number is correct.

Eric Price (UT Austin) Complexity Theory: Zooming Out 10 / 14

slide-75
SLIDE 75

  • del’s Incompleteness Theorem

Theorem (G¨

  • del’s second incompleteness theorem)

No consistent system of axioms can prove its own consistency.

Eric Price (UT Austin) Complexity Theory: Zooming Out 11 / 14

slide-76
SLIDE 76

  • del’s Incompleteness Theorem

Theorem (G¨

  • del’s second incompleteness theorem)

No consistent system of axioms can prove its own consistency. Mathematical proofs are based on a set of axioms

Eric Price (UT Austin) Complexity Theory: Zooming Out 11 / 14

slide-77
SLIDE 77

  • del’s Incompleteness Theorem

Theorem (G¨

  • del’s second incompleteness theorem)

No consistent system of axioms can prove its own consistency. Mathematical proofs are based on a set of axioms

◮ Euclidean geometry (two points determine a line, etc.) Eric Price (UT Austin) Complexity Theory: Zooming Out 11 / 14

slide-78
SLIDE 78

  • del’s Incompleteness Theorem

Theorem (G¨

  • del’s second incompleteness theorem)

No consistent system of axioms can prove its own consistency. Mathematical proofs are based on a set of axioms

◮ Euclidean geometry (two points determine a line, etc.) ◮ ZFC: Zermelo-Fraenkel set theory with the axiom of choice is standard. Eric Price (UT Austin) Complexity Theory: Zooming Out 11 / 14

slide-79
SLIDE 79

  • del’s Incompleteness Theorem

Theorem (G¨

  • del’s second incompleteness theorem)

No consistent system of axioms can prove its own consistency. Mathematical proofs are based on a set of axioms

◮ Euclidean geometry (two points determine a line, etc.) ◮ ZFC: Zermelo-Fraenkel set theory with the axiom of choice is standard.

Axioms are inconsistent if they can prove a contradiction.

Eric Price (UT Austin) Complexity Theory: Zooming Out 11 / 14

slide-80
SLIDE 80

  • del’s Incompleteness Theorem

Theorem (G¨

  • del’s second incompleteness theorem)

No consistent system of axioms can prove its own consistency. Mathematical proofs are based on a set of axioms

◮ Euclidean geometry (two points determine a line, etc.) ◮ ZFC: Zermelo-Fraenkel set theory with the axiom of choice is standard.

Axioms are inconsistent if they can prove a contradiction.

1: function FindInconsistency(A) 2:

for every possible string s do

3:

if s is a valid proof under A of a contradiction then

4:

return s

Eric Price (UT Austin) Complexity Theory: Zooming Out 11 / 14

slide-81
SLIDE 81

  • del’s Incompleteness Theorem

Theorem (G¨

  • del’s second incompleteness theorem)

No consistent system of axioms can prove its own consistency. Mathematical proofs are based on a set of axioms

◮ Euclidean geometry (two points determine a line, etc.) ◮ ZFC: Zermelo-Fraenkel set theory with the axiom of choice is standard.

Axioms are inconsistent if they can prove a contradiction.

1: function FindInconsistency(A) 2:

for every possible string s do

3:

if s is a valid proof under A of a contradiction then

4:

return s FindInconsistency(A) halts ⇐ ⇒ A is inconsistent.

Eric Price (UT Austin) Complexity Theory: Zooming Out 11 / 14

slide-82
SLIDE 82

  • del’s Incompleteness Theorem

Theorem (G¨

  • del’s second incompleteness theorem)

No consistent system of axioms can prove its own consistency. Mathematical proofs are based on a set of axioms

◮ Euclidean geometry (two points determine a line, etc.) ◮ ZFC: Zermelo-Fraenkel set theory with the axiom of choice is standard.

Axioms are inconsistent if they can prove a contradiction.

1: function FindInconsistency(A) 2:

for every possible string s do

3:

if s is a valid proof under A of a contradiction then

4:

return s FindInconsistency(A) halts ⇐ ⇒ A is inconsistent. Therefore, if A is consistent, Halts(FindInconsistency, A) cannot be proven under A.

Eric Price (UT Austin) Complexity Theory: Zooming Out 11 / 14

slide-83
SLIDE 83

  • del’s Incompleteness Theorem

Theorem (G¨

  • del’s second incompleteness theorem)

No consistent system of axioms can prove its own consistency. Mathematical proofs are based on a set of axioms

◮ Euclidean geometry (two points determine a line, etc.) ◮ ZFC: Zermelo-Fraenkel set theory with the axiom of choice is standard.

Axioms are inconsistent if they can prove a contradiction.

1: function FindInconsistency(A) 2:

for every possible string s do

3:

if s is a valid proof under A of a contradiction then

4:

return s FindInconsistency(A) halts ⇐ ⇒ A is inconsistent. Therefore, if A is consistent, Halts(FindInconsistency, A) cannot be proven under A. Therefore BB(|FindInconsistency| + |ZFC|) cannot be upper bounded under ZFC.

Eric Price (UT Austin) Complexity Theory: Zooming Out 11 / 14

slide-84
SLIDE 84

The uncomputability of busy beaver

  • del says: we cannot prove any upper bound on

BB(|FindInconsistency| + |ZFC|) is.

Eric Price (UT Austin) Complexity Theory: Zooming Out 12 / 14

slide-85
SLIDE 85

The uncomputability of busy beaver

  • del says: we cannot prove any upper bound on

BB(|FindInconsistency| + |ZFC|) is.

◮ Concretely: we cannot prove BB(2000). [O’Rear, Aaronson-Yedidia

’16]

Eric Price (UT Austin) Complexity Theory: Zooming Out 12 / 14

slide-86
SLIDE 86

The uncomputability of busy beaver

  • del says: we cannot prove any upper bound on

BB(|FindInconsistency| + |ZFC|) is.

◮ Concretely: we cannot prove BB(2000). [O’Rear, Aaronson-Yedidia

’16]

◮ (Probably impossible to prove for much smaller values, too.) Eric Price (UT Austin) Complexity Theory: Zooming Out 12 / 14

slide-87
SLIDE 87

The uncomputability of busy beaver

  • del says: we cannot prove any upper bound on

BB(|FindInconsistency| + |ZFC|) is.

◮ Concretely: we cannot prove BB(2000). [O’Rear, Aaronson-Yedidia

’16]

◮ (Probably impossible to prove for much smaller values, too.)

Bounding BB(744) would show the Riemann hypothesis is provable (one way or the other).

Eric Price (UT Austin) Complexity Theory: Zooming Out 12 / 14

slide-88
SLIDE 88

Back to interactivity

Recall: MIP = NEXP:

Eric Price (UT Austin) Complexity Theory: Zooming Out 13 / 14

slide-89
SLIDE 89

Back to interactivity

Recall: MIP = NEXP:

◮ Two non-interacting provers in separate rooms can convince a P

verifier of anything computable in nondeterministic exponential time.

Eric Price (UT Austin) Complexity Theory: Zooming Out 13 / 14

slide-90
SLIDE 90

Back to interactivity

Recall: MIP = NEXP:

◮ Two non-interacting provers in separate rooms can convince a P

verifier of anything computable in nondeterministic exponential time.

MIP*: two quantum entangled non-interacting provers can convince a P verifier that a program halts.

Eric Price (UT Austin) Complexity Theory: Zooming Out 13 / 14

slide-91
SLIDE 91

Back to interactivity

Recall: MIP = NEXP:

◮ Two non-interacting provers in separate rooms can convince a P

verifier of anything computable in nondeterministic exponential time.

MIP*: two quantum entangled non-interacting provers can convince a P verifier that a program halts.

◮ MIP* = RE [Ji-Natarajan-Vidick-Wright-Yuen ’20]. Eric Price (UT Austin) Complexity Theory: Zooming Out 13 / 14

slide-92
SLIDE 92

Back to interactivity

Recall: MIP = NEXP:

◮ Two non-interacting provers in separate rooms can convince a P

verifier of anything computable in nondeterministic exponential time.

MIP*: two quantum entangled non-interacting provers can convince a P verifier that a program halts.

◮ MIP* = RE [Ji-Natarajan-Vidick-Wright-Yuen ’20].

Note: unlike the halting problem, this is computable

Eric Price (UT Austin) Complexity Theory: Zooming Out 13 / 14

slide-93
SLIDE 93

Back to interactivity

Recall: MIP = NEXP:

◮ Two non-interacting provers in separate rooms can convince a P

verifier of anything computable in nondeterministic exponential time.

MIP*: two quantum entangled non-interacting provers can convince a P verifier that a program halts.

◮ MIP* = RE [Ji-Natarajan-Vidick-Wright-Yuen ’20].

Note: unlike the halting problem, this is computable

◮ If the program doesn’t halt, the prover doesn’t have to halt either—it

just shouldn’t give the wrong answer.

Eric Price (UT Austin) Complexity Theory: Zooming Out 13 / 14

slide-94
SLIDE 94

Back to interactivity

Recall: MIP = NEXP:

◮ Two non-interacting provers in separate rooms can convince a P

verifier of anything computable in nondeterministic exponential time.

MIP*: two quantum entangled non-interacting provers can convince a P verifier that a program halts.

◮ MIP* = RE [Ji-Natarajan-Vidick-Wright-Yuen ’20].

Note: unlike the halting problem, this is computable

◮ If the program doesn’t halt, the prover doesn’t have to halt either—it

just shouldn’t give the wrong answer.

◮ So the prover could just run the program till it halts... Eric Price (UT Austin) Complexity Theory: Zooming Out 13 / 14

slide-95
SLIDE 95

Back to interactivity

Recall: MIP = NEXP:

◮ Two non-interacting provers in separate rooms can convince a P

verifier of anything computable in nondeterministic exponential time.

MIP*: two quantum entangled non-interacting provers can convince a P verifier that a program halts.

◮ MIP* = RE [Ji-Natarajan-Vidick-Wright-Yuen ’20].

Note: unlike the halting problem, this is computable

◮ If the program doesn’t halt, the prover doesn’t have to halt either—it

just shouldn’t give the wrong answer.

◮ So the prover could just run the program till it halts... ◮ but certainly not in polynomial time! Eric Price (UT Austin) Complexity Theory: Zooming Out 13 / 14

slide-96
SLIDE 96

Summary

P ⊆ NP ⊆ PSPACE ⊆ EXP ⊆ NEXP ⊆ EXPSPACE ⊆ . . . P ⊆ BPP ⊆ BQP ⊆ PSPACE Halting problem and busy beaver are uncomputable Cannot prove BB(2000) in ZFC

Eric Price (UT Austin) Complexity Theory: Zooming Out 14 / 14

slide-97
SLIDE 97

Eric Price (UT Austin) Complexity Theory: Zooming Out 15 / 14