Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Standing on the Shoulders of a Giant
One Person’s Experience of Turing’s Impact
David HarelThe Weizmann Institute of Science
“If I have seen further, it is because I stand on the shoulders of giants”
(Isaac Newton)
Great read:
On the Shoulders of GiantsRobert K. Merton, 1965
OTSOG
Turing can almost be said to be the Mozart of computing
Died at a young age, leaving an incredibly brilliant, deep and versatile legacy
And we are left with the tantalizing question of what would he have achieved
had he lived another 30 years
He invented computational universality and conceived of the simplest all-powerful models of
computation
But also worked on the design of the most complex computers of his
time
He proved that there are many things that computers cannot do
(in 1936!)
But also taught us that there are some amazing things they can do
He did pioneering work on the idea of mathematical and computational
modeling of biology
But also dealt with the question of whether computers can be of
human-like intelligence
I truly feel that Turing will become recognized as one of the
most important and influential thinkers/scientists of all time
(with Galileo, Newton, Darwin, Einstein,…)
Many computer scientists feel that much of their research has its roots
in Turing’s work
I’ll discuss briefly three of his main lines of work, and the crucial way
they impacted one person’s research (that of yours truly…).
And now to us, the dwarves
Clarification:
Will not be discussing a central part of my work – software/systems
engineering, and executable visual languages
My modest follow-ups:
Turing pioneered computability, universal computing and
non-solvability, thus establishing the absolute limits of computing
- Computability on finite structures (1978-82)
- Computability on recursive structures (1993-6)
- Work on “high” non-solvability (1985-91)
TIME magazine (April 1984)
“Put the right kind ofsoftware into a computer,and it will do whatever youwant it to. There may belimits on what you can dowith the machines themselves,but there are no limits onwhat you can do with software.”
Not so !!
problemsyou don’tknow howto solve
problemsyou knowhow tosolve
ROBUSTNESS
FOLLOWS
FROM THE
CHURCH/TURING
THESIS, 1936
(All computers are equal…)
Unsolvableproblems(undecidable)
Solvableproblems(decidable)
Can’t tile even a 3x3 square !
Proof:
1. Tile #3 must appear.
!!!
2. Which leads to a contradiction
1
2 3
No such machineNo such algorithmNo such recipeNo such program
Given a tile set, can it tile any area ?
,, ,
………...
No, it can’tYes, it can
Basic unbounded tiling (domino) problem:
The tiling problemis undecidable !!
Positiveintegers
A: if x=1 stop;
x x-1;
goto A.
B: if x=1 stop
if x is even then x x/2
else x 3x+1;
goto B.
?????
The halting problem (Turing, 1936)
W
InputXProgram P
YESP halts on X
Can we solve the halting problem
computationally, in its general form?
NoP doesn’t halt on X
Turing 1936: There is no such W!
The halting problem is undecidable
And so is essentially any problem about computation, including correctness,
efficiency, equivalence, etc.! (Rice, 1960s)
Now for the original slides from 1979
Extending Turing computability
from numbers/words to general
structures
(graphs, databases, …; essentially anything
with structure)
Why not simply take the set of
automorphism-preserving (“consistent”,
or “generic”) Turing machines as a
complete language?
Because even it’s syntax is not effective!
By Rice’s theorem, genericity is undecidable
Is there an effective logic/language for
the polynomial-time functions on general
(not necessarily ordered) structures?
Still open, after 32 years!
Considered central open problem in finite model theory, and in descriptive
complexity
Obtained several results, including
completeness in the style of [CH ’79]
for the (appropriately restricted) class
of infinite recursive structures
Recurring tiles/dominoes(Ann. Disc. Math. 1985; J. ACM 1986)
Hamiltonian paths on recursive graphs(Isr. J. Math. 1991)
Unbounded and Fair halting(J. ACM 1986)
Satisfiability in logics of programs
(with various co-authors, 1981-85)
My modest follow-ups:
Turing pioneered the mathematicalbasis for modeling biological growth
(morphogenesis)
- Modeling pancreatic morphogenesis (2007)
- Modeling cancerous tumor as organ growth (2014)
“… one proceeds as with a physical theory
and defines an entity called 'the state of
the system'. One then describes how that
state is to be determined from the state
at a moment very shortly before” (Turing, 1952)
Executable modeling of pancreatic morphogenesis
Using Statecharts
(with Setty, Cohen, Dor, PNAS 2007)
Wild “playing” with the model yielded insights into the role of blood vessel
density in organ development
To construct a “full”, “correct”, true-to-all-known-facts, 4-dimensional model of
a multi-cellular organism
WOP: Whole Organism Project
A Grand Challenge for Comprehensive Modeling (H, 2003)
Which animal would be a good choice?
My proposal: The C. elegans nematode
My modest follow-up:
Turing pioneered the Turing test (imitation game) for artificial
intelligence
- A Turing-like test for modeling Nature (2005)
”Asking whether computers can think is like asking whether submarines can swim” (Dijkstra)
Computer Science folklore:
When can we say we’ve finished building a model of Nature? (e.g., a full model of an organism)
Aha! The $64m question…
In conventional (non-comprehensive) modeling, we address specific questions, and
are thus satisfied with making particular predictions.
The model is deemed valid (complete) when the predictions are verified in the lab.
But,… comprehensive modeling is about understanding a whole thing, not based on
specific questions
You really and truly understand a thing when you can build an interactive simulation
that does exactly what the original thing does on its own.
Q: How do you tell when you’ve managed to achieve that?
A: We want prediction-making taken to the utmost limit;
the idea is to fool an expert
Hence, for comprehensive modeling,I propose a Turing-like test, but
with a Popperian twist
We are done when a team of biologists, “well versed” in the
relevant field, won’t be able to tell the difference between the model
and the real thing
If they can tell the difference, the model is “refuted” and has to be changed.
But this will happen all the time, because of the advancement of science! Hence, the test is in the
good spirit of Karl Popper and the model is a theory of the system – until it is refuted...
Of course, we need a far better “buffer” than Turing needed, to conceal obvious differences
(e.g., unrealistic graphics, computer speed vs. laboratory probe time, etc.)
This is not a test for the weak-hearted, or for the impatient…
And it’s probably not realizable at all…
But as the ultimate mechanism for prediction-confirming, it can serve as a lofty, end-of-the-day goal for the Grand Challenge of modeling an
entire organism
Thank you for listening
Let’s end with a wonderful example of mind-fooling
simulation. Actually, it is a (non-interactive) test-passing model...