Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

814 views

Published on

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/

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. How can we test for artificial life? Complexity and Computation in Nature Hector Zenil hector.zenil@ki.se November 7, 2013 ShangAI Lectures on Natural and Artificial Intelligence Hector Zenil Complexity and Computation November 7, 2013 1 / 37
  2. 2. 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
  3. 3. 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 formed when individual flagellated cells swarm together and fuse.) Hector Zenil Complexity and Computation November 7, 2013 3 / 37
  4. 4. 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 an observatory, 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
  5. 5. Complexity and Computation in Nature Natural computing Turing’s computing model Other computationally equivalent models: Post Tag systems, Church lambda calculus, Kleene recursive functions. Hector Zenil Complexity and Computation November 7, 2013 5 / 37
  6. 6. Complexity and Computation in Nature Natural computing Richard Feynman I don’t believe in computer science.... To me science is the study of the behaviour of nature... Hector Zenil Complexity and Computation November 7, 2013 6 / 37
  7. 7. Complexity and Computation in Nature Natural computing Natural computing Some computer scientists are trying to compute with completely different substrates. Physarum (slime mold) (left) and Electrified liquid crystals (right) Slime moulds are especially adept at finding optimal solutions to transportation network problems, such as paths and even inspiring a solution to the (NP complete) travel salesman person problem 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
  8. 8. 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
  9. 9. 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 description of quantum physics requires too many variables. If one particle is described by 2 variables, for example, then to simulate 100 particles need 2100 (a 1 followed by 30 zeroes). Quantum computers: qubits. They keep up with the world capacity. (and can solve faster some classical computations) Whether quantum computers are actually possible and scalable is yet unknown. Nor it is known whether a more fundamental classical substratum gives rise to quantum phenomena. But we can ask about natural computation, even if not quantum mechanical. Hector Zenil Complexity and Computation November 7, 2013 9 / 37
  10. 10. 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
  11. 11. Complexity and Computation in Nature Artificial life and synthetic biology Reengineering vs creating life Hector Zenil Complexity and Computation November 7, 2013 11 / 37
  12. 12. 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
  13. 13. Complexity and Computation in Nature Artificial life and synthetic biology Cellular Automata Hector Zenil Complexity and Computation November 7, 2013 13 / 37
  14. 14. Complexity and Computation in Nature Artificial life and synthetic biology Rule 30 long run Hector Zenil Complexity and Computation November 7, 2013 14 / 37
  15. 15. 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
  16. 16. 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
  17. 17. 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 computer program 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
  18. 18. 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
  19. 19. 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
  20. 20. Complexity and Computation in Nature Artificial life and synthetic biology Life as self-replication? Langton’s loop shows that self-replication does not require Turing universality. Hector Zenil Complexity and Computation November 7, 2013 20 / 37
  21. 21. 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
  22. 22. Complexity and Computation in Nature Artificial life and synthetic biology Essential requirements for life? Hector Zenil Complexity and Computation November 7, 2013 22 / 37
  23. 23. 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 were required 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. Computation is 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 are only matter (encapsulated genetic material). Hector Zenil Complexity and Computation November 7, 2013 23 / 37
  24. 24. 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
  25. 25. 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 randomness A string with low Kolmogorov complexity is c-compressible if |p| + c = |s|. A string is random if K(s) ≈ |s|. [Kolmogorov (1965); Chaitin (1966)] Hector Zenil Complexity and Computation November 7, 2013 25 / 37
  26. 26. 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 K complexity) because it can be produced by the following program: Program A(i): 1: n:= 0 2: Print n mod 2 3: n:= n+1 4: If n=i Goto 6 5: Goto 2 6: 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
  27. 27. Complexity and Computation in Nature A behavioural approach to computation Behavioural classes of abstract computing machines 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
  28. 28. 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
  29. 29. Complexity and Computation in Nature A behavioural approach to computation A behavioural approach to computation (and life recognition) A Turing-test like test strategy to the question of life (instead of Turing’s original question of artificial intelligence): [Zenil, Philosophy & Technology and SAPERE, (2013)] Hector Zenil Complexity and Computation November 7, 2013 29 / 37
  30. 30. Complexity and Computation in Nature A behavioural approach to computation Answering Chalmer’s rock question Figure : ECA R4 has a low Ct value for any n and t (it doesn’t react much to external n stimuli). [Zenil, Philosophy & Technology, (2013)] Hector Zenil Complexity and Computation November 7, 2013 30 / 37
  31. 31. Complexity and Computation in Nature A behavioural approach to computation Turing universality Figure : ECA R110 has large asymptotic coefficient Ct value for large enough choices n of t and n, which is compatible with the fact that it is Turing universal (for particular semi-periodic initial configurations). Hector Zenil Complexity and Computation November 7, 2013 31 / 37
  32. 32. 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 variability versus controllability: The diagonal determines the degree of programmability. [Zenil, Ball, Tegn´ r, ECAL MIT Press Proceedings, (2013)] e Hector Zenil Complexity and Computation November 7, 2013 32 / 37
  33. 33. 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 and test 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
  34. 34. Complexity and Computation in Nature A behavioural approach to computation Programmable Medicine Building on molecular (DNA and non-DNA, e.g. porphyrin computation) imagine the introduction of an array of these molecules with a simple logic to treatments releasing a payload if expressing cancer markers, etc. Hector Zenil Complexity and Computation November 7, 2013 34 / 37
  35. 35. 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
  36. 36. 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, Tegn´ r, ECAL MIT Press Proceedings, (2013)] e Hector Zenil Complexity and Computation November 7, 2013 36 / 37
  37. 37. Complexity and Computation in Nature A behavioural approach to computation Variability and controllability of biological models Information content trajectories (from EMBL-EBI model simulations): Programmability is a combination of variability and controllability [Zenil, Ball, Tegn´ r, ECAL MIT Press Proceedings, (2013)] e Hector Zenil Complexity and Computation November 7, 2013 37 / 37
  38. 38. Complexity and Computation in Nature A behavioural approach to computation H. Zenil, Compression-based Investigation of the Dynamical Properties of Cellular Automata and Other Systems, Complex Systems, Vol. 19, No. 1, pages 1-28, 2010. H. Zenil, What is Nature-like Computation? A Behavioural Approach and a Notion of Programmability, Philosophy & Technology (special issue on History and Philosophy of Computing), 2013. H. Zenil, On the Dynamic Qualitative Behavior of Universal Computation Complex Systems, vol. 20, No. 3, pp. 265-278, 2012. G. Terrazas, H. Zenil and N. Krasnogor, Exploring Programmable Self-Assembly in Non DNA-based Computing, Natural Computing, DOI: 10.1007/s11047-013-9397-2. H. Zenil and E. Villarreal-Zapata, Asymptotic Behaviour and Ratios of Complexity in Cellular Automata Rule Spaces, Journal of Bifurcation and Chaos (in press). H. Zenil, G. Ball and J. Tegn´ r, Testing Biological Models for Non-linear e Sensitivity with a Programmability Test. In P. Lio, O. Miglino, G. Nicosia, S. Nolfi ` and 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
  39. 39. Complexity and Computation in Nature A behavioural approach to computation Historical and Contemporary Research in Logic, Computing Machinery and Artificial Intelligence, Proceedings published by the Royal Flemish Academy of Belgium for Science and Arts, 2013. A Behavioural Foundation for Natural Computing and a Programmability Test. In G. Dodig-Crnkovic and R. Giovagnoli (eds), Computing Nature: Turing Centenary Perspective, SAPERE Series vol. 7, Springer, 2013. H. Zenil, Turing Patterns with Turing Machines: Emergence and Low-level Structure Formation, Natural Computing, 12(2): 291-303 (2013), 2013. J.-P. Delahaye and H. Zenil, Numerical Evaluation of the Complexity of Short Strings: 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

×