Explorations in Universality

Download Report

Transcript Explorations in Universality

Explorations in Universality
Scott Aaronson (MIT)
Ada Lovelace Bicentenary Lecture on
Computability, Hebrew University, Dec. 31. 2015
Two Meanings of “Universality”
Turing’s “Existence of the Software Industry Lemma”:
There exists a machine U such that U(P,x)=P(x) for all P
The Church-Turing “Ceiling of Expressive Power”
My vision, when I first learned what programming was as
an 11-year-old:

ScottLang
Pascal
QBasic
GW-BASIC
Nope! GW-BASIC can
already do everything,
in principle
Expressiveness Ceilings Everywhere!
Almost any programming language or cellular automaton
you can think to invent, provided it’s “sufficiently
complicated,” can simulate Turing machines
For n  3 or 4, almost any n-bit logic gate will be able to
express all Boolean functions
Almost any 2-qubit unitary transformation can be used to
approximate any unitary transformation on any number
of qubits, to any desired precision
What could there possibly be to say about
such phenomena that’s new?
versus
If Turinguniversality is
“common as dirt,”
then it gives no
basis to distinguish
“our” laws from,
say, Conway’s Game
of Life
This Talk
Recent explorations, by me and my students, into more
“fine-grained” notions of universality
Luke Schaeffer, ICALP 2014: Physically universal
cellular automaton
Adam Yedidia, work in progress: Small Turing
machines that do interesting things
A.-Grier-Schaeffer 2015: Classification of reversible
Boolean logic gates
Some favorite open problems
Physical Universality
Ability to do universal computation
 Ability to manipulate physical world in any desired way
The Toaster-Enhanced Turing Machine (TETM)
Suppose I gave you an oracle for NP-complete problems.
Could you use it to
- Take over the world?
- Cure cancer?
- Make someone fall in love with you?
Janzing 2010: Call a cellular automaton physically universal
if it can implement any desired transformation on any finite
region R, provided we appropriately initialize the
complement of R
Does there exist a physically universal CA?
Conway’s Life: Not physically universal, because not
reversible. No detectors outside R can tell whether the
center of R contained an isolated particle that died
Many Reversible CAs: Still not physically universal, because
of the possibility of constructing “impenetrable walls”
Luke Schaeffer’s Automaton (2014)
The first known example of a physically universal CA
My Favorite Open Problem About
Physical Universality
For every n-qubit unitary transformation U, is there a
Boolean function f such that U can be realized by a
polynomial-time quantum algorithm with an oracle for f?
(I’m giving you any computational capability f you
could possibly want—but it’s still far from obvious
how to get the physical capability U!)
Can show: For every n-qubit state |, there’s a Boolean
function f such that | can be prepared by a
polynomial-time quantum algorithm with an oracle for f
How Weird / Improbable / Complex /
Artificial Are Universal Computers?
Clearly related to the
origin of life debate!
Pr[Life arising on a given planet]:
“A constant factor that matters!”
Even CAs / programming languages that are equivalent
in the Church-Turing sense, could differ dramatically in
“how much encoding we need to get over the threshold
of interesting behavior”
Minsky, McCarthy, et al. 1950s: What’s the “simplest”
universal TM? (Found one with 7 states and 4 symbols)
Stephen Wolfram 2007:
$25,000 prize for proving that
a particular 2-state, 3-symbol
TM was universal
Won later that year by Alex
Smith (who had “nothing
better to do that weekend”)
Wolfram claims this sort of
thing vindicates his “Principle
of Computational Universality”
One reason to doubt his claim: In this game, one gets “tiny
universal machines” only at the cost of fantastically
complicated input and output encodings!
At How Many States Do Turing
Machines “Cross The Threshold”?
BB(n) = the maximum number of steps that a 1-tape, 2symbol, n-state Turing machine can take on an initially blank
tape before halting
BB(1)=1 Question: Where does this happen?
Could BB(6) already be independent of
BB(2)=6 ZF? What about BB(60)? BB(600)?
BB(3)=21
Famously uncomputably-rapidly
growing function
BB(4)=107
Gödel  beyond some finite point, the
BB(5)47,176,870
values of BB(n) are not even provable
BB(6)7.41036534 in ZF set theory! (assuming ZF is consistent)
Adam Yedidia, 2015: Building on work of Harvey Friedman,
constructed a 380,000-state Turing machine whose halting
or non-halting is independent of ZF set theory
Also an 8,000-state machine that tests Goldbach’s
Conjecture, and a 30,000-state machine that tests the
Riemann Hypothesis
Constructions use a special-purpose programming
language, compiled to multi-tape TM and then one-tape TM
Ongoing work: Inline interpreter run by the TM itself 
improvement to ~40,000 states for ZF set theory, 12,000 for
Riemann Hypothesis
Conclusion: For humanity to know BB(40,000) would entail
knowing Con(ZF). What about BB(400)? BB(6)?
Post’s Lattice (1920s)
All possible sets of Boolean functions that are closed
under composing them into circuits
If you assume the constant
functions (0 and 1) are
available for free, then it looks
like this (otherwise it’s way
more complicated)
Meaning: from any non-affine
gate you can extract AND or
OR; from any non-monotone
gate you can extract NOT, etc.
What’s the analogue of Post’s lattice
for classical reversible gates?
I.e. permutations of {0,1}k
Ground rules: Swaps are free, as are ancilla bits, as long
as they’re returned to their initial states by the end
CNOT
Flip y iff x=1
Not universal
(affine)
Toffoli
Fredkin
Flip z iff x=y=1
Swap y,z iff x=1
Universal; generates
all permutations of nbit strings
Like Toffoli but
conservative (preserves
Hamming weight)
A.-Grier-Schaefer 2015:
Classified all sets of
reversible gates in terms of
which n-bit reversible
transformations they
generate (assuming swaps and
ancilla bits are free)
Why Toffoli Generates All Reversible
Transformations
x  x, gar x , f  x 
 x, gar x , f  x , f x 
 x, f  x 
 x, f x , gar  f x , x
 f x , gar  f x , x
 f x 
3 Combinatorial Results that Shape
the Classification
(Proofs left as exercises for the audience)
1. If a reversible G satisfies |G(x)||x|+j (mod k) for all
x, then either k=2 or j=0
2. If a nontrivial affine reversible transformation G
satisfies |G(x)||x| (mod k) for all x, then either k=2
or k=4
3. If a non-conservative reversible transformation
G:{0,1}n{0,1}n satisfies G(x)G(y)xy (mod k) for all
x,y, then k=2
My Favorite Open Problem Here
Classification of all possible sets of quantum gates acting
on qubits, in terms of which unitaries they generate
A complicated problem in representation theory and Lie
algebras, but seems fundamental for QC
Grier-Schaeffer 2015: Classification of all possible sets of “stabilizer”
quantum gates (discrete subgroup used in quantum errorcorrection)
Aaronson-Bouland 2015: Classification of all 2-mode beamsplitters
Concrete questions: Are there interesting discrete
subgroups other than the stabilizer group and its
conjugates? Does every nontrivial continuous subgroup
yield universal QC?
Discussion Questions
What would a universe look like where the Physical
Church-Turing Thesis was false?
Our quantum world? Falsifies the polynomial-time Physical C-T thesis,
but not the original computability one
“Hypercomputing” universes: would allow ways to solve the halting
problem that, in our world, appear precluded by quantum gravity (e.g.
Bekenstein’s bound)
David Deutsch says that, with different laws of physics, the halting
problem would be easy and the AND function would be hard. What
are those laws?
What would an interesting model of computation look
like that could solve its own halting problem?
What would an interesting universe look like that
couldn’t do universal computation?
The Digi-Comp II
(In the lobby of the MIT Stata Center)
“It can multiply! It
can divide! It can
sort!”
Me: “Real question
is, what can’t it do?”
Is this silly device with metal balls a
universal computer? If so, wow! If not,
what prevents it from being one?
Theorem (A.): A natural idealization of the DigiComp II solves exactly the problems in CC
CC (Comparator Circuit): Complexity class defined
by Subramanian in 1990, between NL and P
A CC-complete problem is Stable Marriage
DigiComp
Piles
Comparators
1
0
SORT
0
x/2
x/2
1
Conclusion
The subject of universality is almost 100 years old—
almost 200 if we go back to Lady Ada—yet there are still
basic questions that remain to be answered.