complexity and computation in nature: how can we test for artificial life?

39
H ow can we test for artificial life ? Complexity and Computation in Nature Hector Zenil [email protected] November 7, 2013 ShangAI Lectures on Natural and Articial Intelligence Hector Zenil Complexity and Computation N ovember 7, 2013 1/ 37

Upload: hector-zenil

Post on 18-Dec-2014

121 views

Category:

Education


2 download

DESCRIPTION

Invited Guest Lecture on Complexity and Natural Computing for the ShangAI Lectures on Natural and Artificial Intelligence. Broadcasted simultaneously to about 20 universities: UC3 Madrid; Zurich; Pisa, Humboldt, Berlin; Plymouth & Salford, UK; China and Japan, November 7, 2013. Video available at https://cast.switch.ch/vod/clips/2m1xxl21ej/

TRANSCRIPT

Page 1: Complexity and Computation in Nature: How can we test for Artificial Life?

How can we test for artificial life?Complexity and Computation in Nature

Hector Zenil

[email protected]

November 7, 2013ShangAI Lectures on Natural and Artificial Intelligence

Hector Zenil Complexity and Computation November 7, 2013 1 / 37

Page 2: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Natural computing

We all believe we know how computers look like

Hector Zenil Complexity and Computation November 7, 2013 2 / 37

Page 3: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Natural computing

And how they definitely don’t look like. Right?

(Yellow slime mold: a single cell! with thousands of nuclei. They are formedwhen individual flagellated cells swarm together and fuse.)

Hector Zenil Complexity and Computation November 7, 2013 3 / 37

Page 4: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Natural computing

Human computers

But they did use to look like this!

A computer at work, c. 1940.

Oxford English Dictionary: “A person employed to make calculations in anobservatory, in surveying, etc.”

When Computers Were Human by Grier, David Alan (Nov 1, 2013)http://www.computerhistory.org/revolution/calculators/1/65/2209

Hector Zenil Complexity and Computation November 7, 2013 4 / 37

Page 5: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Natural computing

Turing’s computing model

Other computationally equivalent models: Post Tag systems, Church lambdacalculus, Kleene recursive functions.

Hector Zenil Complexity and Computation November 7, 2013 5 / 37

Page 6: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Natural computing

Richard Feynman

I don’t believe in computer science.... To me science is the study of thebehaviour of nature...

Hector Zenil Complexity and Computation November 7, 2013 6 / 37

Page 7: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Natural computing

Natural computing

Some computer scientists are trying to compute with completely differentsubstrates.

Physarum (slime mold) (left) and Electrified liquid crystals (right) Slime moulds areespecially adept at finding optimal solutions to transportation network problems, such

as paths and even inspiring a solution to the (NP complete) travel salesman personproblem and Voronoi partitions.

Computers Made Out of DNA, Slime and Other Strange Stuff (04.02.13)

Hector Zenil Complexity and Computation November 7, 2013 7 / 37

Page 8: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Natural computing

What is a computer? A Digital? Electronic?Quantum device?

(e.g. circadian clock in plants and animals: computing time in a 24hr period)

Hector Zenil Complexity and Computation November 7, 2013 8 / 37

Page 9: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Natural computing

Can a computer simulate the universe?

In fact, Feynman asked what kind of computer could simulate the universe...

Classical computers cannot simulate the universe because the full descriptionof quantum physics requires too many variables. If one particle is describedby 2 variables, for example, then to simulate 100 particles need 2100 (a 1followed by 30 zeroes).

Quantum computers: qubits. They keep up with the world capacity. (and cansolve faster some classical computations)

Whether quantum computers are actually possible and scalable is yetunknown. Nor it is known whether a more fundamental classical substratumgives rise to quantum phenomena. But we can ask about naturalcomputation, even if not quantum mechanical.

Hector Zenil Complexity and Computation November 7, 2013 9 / 37

Page 10: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Natural computing

Natural computation and computation in nature

Fungi “fairy” circles and lava stone hexagons.

Hector Zenil Complexity and Computation November 7, 2013 10 / 37

Page 11: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

Reengineering vs creating life

Hector Zenil Complexity and Computation November 7, 2013 11 / 37

Page 12: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

John von Neumann

J. von Neuman’s self-replication interest (1950s).

von Neumann (with S. Ulam) started the field of Cellular Automata

Hector Zenil Complexity and Computation November 7, 2013 12 / 37

Page 13: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

Cellular Automata

Hector Zenil Complexity and Computation November 7, 2013 13 / 37

Page 14: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

Rule 30 long run

Hector Zenil Complexity and Computation November 7, 2013 14 / 37

Page 15: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

Rule 30 operating in nature?

Image: Zenil, 2012.

Hector Zenil Complexity and Computation November 7, 2013 15 / 37

Page 16: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

von Neumann’s universal constructor (cont.)

J. von Neumann’s universal constructor (claimed to have 28 states).

Hector Zenil Complexity and Computation November 7, 2013 16 / 37

Page 17: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

RepRap

The RepRap machine (University of Bath , UK) prints all its components, it(almost) self-replicates (it does not assemble the pieces).

In computer science a self-reproducing computer program is a computerprogram that, when executed, outputs its own code. This is also called a quine.

Here is an example program in the Python programming language:a=’a=%r;print a%%a’;print a%a

Hector Zenil Complexity and Computation November 7, 2013 17 / 37

Page 18: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

Conway’s Game of Life

Mimics many properties of life (movement, persistence, interaction,evolution).

It is capable of Turing universality!

Hector Zenil Complexity and Computation November 7, 2013 18 / 37

Page 19: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

Cellular automata as models of nature

“Fairy” circles explained with cellular automata.

Image: Norbert Juergens and Science (2013).

Hector Zenil Complexity and Computation November 7, 2013 19 / 37

Page 20: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

Life as self-replication?

Langton’s loop shows that self-replication does not require Turinguniversality.

Hector Zenil Complexity and Computation November 7, 2013 20 / 37

Page 21: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

Crystals...

However, self-replication is not enough by itself to characterise life:

Crystals self-replicate too!

Hector Zenil Complexity and Computation November 7, 2013 21 / 37

Page 22: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

Essential requirements for life?

Hector Zenil Complexity and Computation November 7, 2013 22 / 37

Page 23: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature Artificial life and synthetic biology

Information, computation and life

An informational definition (G.F. Joyce, Bit by Bit: The Darwinian Basis of Life,2012) of life:

A (genetic) system that contains more bits than the number that wererequired to initiate its operation. (added parenthesis)

A computational view (John Hopfield, J. Theor. Biol. 171, 53-60, 1994):

All biological systems perform some kind of computation. Computationis inherent to adaptive systems and makes biology different from physics.

Leroy Cronin (TEDx conference, 2011) proposes that:

Life is anything that can undergo evolution (survival of the fittest).Matter that can evolve is alive.

Borderline case: Virus evolve (not exactly by their own though) yet they areonly matter (encapsulated genetic material).

Hector Zenil Complexity and Computation November 7, 2013 23 / 37

Page 24: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

Do things really compute?

There is a current debate around the concept of natural computationalism.Do things and living systems compute?

Stephen Wolfram (A New Kind of Science, (2002)):

There is a simple rule for our universe.

“Rule” here means a Turing computable rule.

Seth Lloyd (Programming the Universe, (2007)):

The universe computes itself.

“Computes” here means quantum computes.

Hillary Putnam’s “Multiple realizability” criticism to computationalism(functionalism).

Chalmer’s “Does a Rock Implement Every Finite-State Automaton?”

I want a measure to associate it to (and try answer) these claims/questions.

Hector Zenil Complexity and Computation November 7, 2013 24 / 37

Page 25: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

Algorithmic information theory to the rescue?

Which string looks more random?

(a) 1111111111111111111111111111111111111111(b) 0011010011010010110111010010100010111010(c) 0101010101010101010101010101010101010101

Definition

KU(s) = min{|p|,U(p) = s} (1)

Compressibility and algorithmic randomnessA string with low Kolmogorov complexity is c-compressible if |p| + c = |s|. Astring is random if K(s) ≈ |s|.

[Kolmogorov (1965); Chaitin (1966)]

Hector Zenil Complexity and Computation November 7, 2013 25 / 37

Page 26: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

Example of an evaluation of K

The string (b) 01010101...01 is not algorithmic random (or has low Kcomplexity) because it can be produced by the following program:

Program A(i):1: n:= 02: Print n mod 23: n:= n+14: If n=i Goto 65: Goto 26: End

The length of A (in bits) is an upper bound of K(010101...01).

Hector Zenil Complexity and Computation November 7, 2013 26 / 37

Page 27: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

Behavioural classes of abstract computingmachines

Wolfram’s computational classes of behaviour:

Class I: system evolves into a homogeneous state.Class II: system evolves in a periodic state.Class III: system evolves into random-looking states.Class IV: system evolves into localised complex structures.

Living systems clearly fall in class IV systems.

[Wolfram, (1994)]

Hector Zenil Complexity and Computation November 7, 2013 27 / 37

Page 28: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

Asymptotic behaviour of compressed evolutions

[Zenil, Complex Systems (2010)]

Hector Zenil Complexity and Computation November 7, 2013 28 / 37

Page 29: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

A behavioural approach to computation (and liferecognition)A Turing-test like test strategy to the question of life (instead of Turing’soriginal question of artificial intelligence):

[Zenil, Philosophy & Technology and SAPERE, (2013)]Hector Zenil Complexity and Computation November 7, 2013 29 / 37

Page 30: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

Answering Chalmer’s rock question

Figure : ECA R4 has a low Ctn value for any n and t (it doesn’t react much to external

stimuli).

[Zenil, Philosophy & Technology, (2013)]Hector Zenil Complexity and Computation November 7, 2013 30 / 37

Page 31: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

Turing universality

Figure : ECA R110 has large asymptotic coefficient Ctn value for large enough choices

of t and n, which is compatible with the fact that it is Turing universal (for particularsemi-periodic initial configurations).

Hector Zenil Complexity and Computation November 7, 2013 31 / 37

Page 32: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

A hierarchical view of computing systems (and life?)The measure can be applied to other than computers.Programmability of physical and biological entities sorted by variabilityversus controllability:

The diagonal determines the degree of programmability.

[Zenil, Ball, Tegner, ECAL MIT Press Proceedings, (2013)]Hector Zenil Complexity and Computation November 7, 2013 32 / 37

Page 33: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

Phorphyrins: mapping behaviour to stimuli

One can find the specific stimuli producing specific behaviours and go to the lab andtest it. Compound parameters that have highest or lowest behavioural impact can be

tested and programmed in silico.

(Hemes in hemoglobin. They give the red color to blood)

[Terrazas, Zenil and Krasnogor, Natural Computing (in press)]

Hector Zenil Complexity and Computation November 7, 2013 33 / 37

Page 34: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

ProgrammableMedicine

Building on molecular (DNA and non-DNA, e.g. porphyrin computation)imagine the introduction of an array of these molecules with a simple logic totreatments releasing a payload if expressing cancer markers, etc.

Hector Zenil Complexity and Computation November 7, 2013 34 / 37

Page 35: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

The EMBL-EBI BioModel’s Database

The EMBL-EBI BioModel DB is a curated database of mathematical published(about 400) models related to living organisms.

Hector Zenil Complexity and Computation November 7, 2013 35 / 37

Page 36: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

Cell cycle versus metabolic pathways

Variability analysis: Models cluster by their role in living processes.

[Zenil, Ball, Tegner, ECAL MIT Press Proceedings, (2013)]

Hector Zenil Complexity and Computation November 7, 2013 36 / 37

Page 37: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

Variability and controllability of biologicalmodels

Information content trajectories(from EMBL-EBI model simulations):

Programmability is a combination of variability and controllability

[Zenil, Ball, Tegner, ECAL MIT Press Proceedings, (2013)]Hector Zenil Complexity and Computation November 7, 2013 37 / 37

Page 38: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

H. Zenil, Compression-based Investigation of the Dynamical Properties ofCellular Automata and Other Systems, Complex Systems, Vol. 19, No. 1, pages1-28, 2010.

H. Zenil, What is Nature-like Computation? A Behavioural Approach and aNotion of Programmability, Philosophy & Technology (special issue on Historyand Philosophy of Computing), 2013.

H. Zenil, On the Dynamic Qualitative Behavior of Universal ComputationComplex Systems, vol. 20, No. 3, pp. 265-278, 2012.

G. Terrazas, H. Zenil and N. Krasnogor, Exploring Programmable Self-Assemblyin Non DNA-based Computing, Natural Computing, DOI:10.1007/s11047-013-9397-2.

H. Zenil and E. Villarreal-Zapata, Asymptotic Behaviour and Ratios of Complexityin Cellular Automata Rule Spaces, Journal of Bifurcation and Chaos (in press).

H. Zenil, G. Ball and J. Tegner, Testing Biological Models for Non-linearSensitivity with a Programmability Test. In P. Lio, O. Miglino, G. Nicosia, S. Nolfiand M. Pavone (eds), Advances in Artificial Intelligence, ECAL 2013, pp.1222-1223, MIT Press, 2013.

H. Zenil, A Turing Test-Inspired Approach to Natural Computation. In G.Primiero and L. De Mol (eds.), Turing in Context II (Brussels, 10-12 October 2012),

Hector Zenil Complexity and Computation November 7, 2013 37 / 37

Page 39: Complexity and Computation in Nature: How can we test for Artificial Life?

Complexity and Computation in Nature A behavioural approach to computation

Historical and Contemporary Research in Logic, Computing Machinery andArtificial Intelligence, Proceedings published by the Royal Flemish Academy ofBelgium for Science and Arts, 2013.

A Behavioural Foundation for Natural Computing and a Programmability Test. InG. Dodig-Crnkovic and R. Giovagnoli (eds), Computing Nature: Turing CentenaryPerspective, SAPERE Series vol. 7, Springer, 2013.

H. Zenil, Turing Patterns with Turing Machines: Emergence and Low-levelStructure Formation, Natural Computing, 12(2): 291-303 (2013), 2013.

J.-P. Delahaye and H. Zenil, Numerical Evaluation of the Complexity of ShortStrings: A Glance Into the Innermost Structure of Algorithmic Randomness,Applied Mathematics and Computation 219, pp. 63-77, 2012.

Hector Zenil Complexity and Computation November 7, 2013 37 / 37