Standing on the Shoulders of a Giant One Person s Experience of Turing s Impact David Harel The 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 Giants Robert K. Merton, 1965 OTSOG
First, the giant Alan M. Turing (1912-1954) The Indisputable Father of Computer Science
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, )
And now to us, the dwarves 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 ).
Clarification: Will not be discussing a central part of my work software/systems engineering, and executable visual languages
The Giant, part I Computability
Turing pioneered computability, universal computing and non-solvability, thus establishing the absolute limits of computing My modest follow-ups: - 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 of software into a computer, and it will do whatever you want it to. There may be limits on what you can do with the machines themselves, but there are no limits on what you can do with software. Not so!!
problems you don t know how to solve problems you know how to solve ROBUSTNESS FOLLOWS FROM THE CHURCH/TURING THESIS, 1936 (All computers are equal ) Unsolvable problems (undecidable) Solvable problems (decidable)
Tiling (Domino) Problems: 1x1 non-rotatable, non-reversible Tile
1 2 3
1 2 3 Can tile any sized area
1 2 3
1 2 3 Can t tile even a 3x3 square! Proof: 1. Tile #3 must appear. 2. Which leads to a contradiction!!!
Basic unbounded tiling (domino) problem: Given a tile set, can it tile any area?,...,, Yes, it can No such machine No such algorithm No such recipe No such program No, it can t The tiling problem is undecidable!!
The halting problem (Turing, 1936) Positive integers 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.
Can we solve the halting problem computationally, in its general form? Program P Input X W YES P halts on X No P 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)
Computability over finite structures (with Chandra, STOC 1979, J.CSS 1980)
Now for the original slides from 1979 Extending Turing computability from numbers/words to general structures (graphs, databases, ; essentially anything with structure)
OK not OK! contains information not in the original structure
Now let s change the original structure a little
this is now OK!
Computable a la Turing This is the crucial thing
Is there a complete language for the computable queries? (an analog of Turing machines)
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
FOCS 1980, complexity theory on structures closing slide
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
Computability over infinite recursive structures (with T. Hirst, J. Comp. Sys. Sci. 1996)
Obtained several results, including completeness in the style of [CH 79] for the (appropriately restricted) class of infinite recursive structures
Work on high non-solvability (Ann. Disc. Math. 1985; J. ACM 1986; Isr. J. Math. 1991, )
undecidable (noncomputable) highly undecidable. plainly undecidable. decidable (computable)
Unbounded and Fair halting (J. ACM 1986) Satisfiability in logics of programs (with various co-authors, 1981-85) Recurring tiles/dominoes (Ann. Disc. Math. 1985; J. ACM 1986) Hamiltonian paths on recursive graphs (Isr. J. Math. 1991)
The Giant, part II Biological Modeling
Turing pioneered the mathematical basis for modeling biological growth (morphogenesis) My modest follow-ups: - 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)
Normal growth:
Wild playing with the model yielded insights into the role of blood vessel density in organ development
Cancer tumor modeled as organ growth Using Statecharts (with N. Bloch, 2014)
WOP: Whole Organism Project A Grand Challenge for Comprehensive Modeling (H, 2003) To construct a full, correct, true-toall-known-facts, 4-dimensional model of a multi-cellular organism Which animal would be a good choice? My proposal: The C. elegans nematode
The Giant, part III Artificial Intelligence
Turing pioneered the Turing test (imitation game) for artificial intelligence My modest follow-up: - A Turing-like test for modeling Nature (2005)
Computer Science folklore: Asking whether computers can think is like asking whether submarines can swim (Dijkstra)
The Turing Test B: human or computer C: human or computer A: human interrogator
A Turing-like test for modeling Nature (Nature Biotech. 2005)
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
New Version of the Turing Test B: elephant laboratory C: computerized model A: expert interrogator
New Version of the Turing Test B: C. elegans laboratory C: computerized model A: expert interrogator
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 weakhearted, 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
1987/1992/2004/ 2012 2001/2004/ 2012
Let s end with a wonderful example of mind-fooling simulation. Actually, it is a (non-interactive) test-passing model... Thank you for listening
Thank you for listening