87
Standing on the Shoulders of a Giant One Person’s Experience of Turing’s Impact David Harel The Weizmann Institute of Science

Standing on the Shoulders of a Giant the Shoulders of a Gia… · Standing on the Shoulders of a Giant One Person’s Experience of Turing’s Impact David Harel The Weizmann Institute

  • 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

Alan M. Turing(1912-1954)

The Indisputable Father of Computer Science

First, the giant

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

The Giant, part I

Computability

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)

Tiling (Domino) Problems:

Tile

1x1

non-rotatable,

non-reversible

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

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)

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 notin 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 structuresclosing 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,…)

“plainly”undecidable

highlyundecidable

undecidable(noncomputable)

decidable(computable)

...

...

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)

The Giant, part II

Biological Modeling

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)

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)

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

The Giant, part III

Artificial Intelligence

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:

The Turing Test

C: human or computerB: 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

C: computerized modelB: elephant laboratory

A: expert interrogator

New Version of the Turing Test

C: computerized modelB: C. elegans laboratory

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 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

1987/1992/2004/ 2012 2001/2004/ 2012

Thank you for listening

Let’s end with a wonderful example of mind-fooling

simulation. Actually, it is a (non-interactive) test-passing model...

Thank you for listening