Natural Computing 2017
Total Page:16
File Type:pdf, Size:1020Kb
The Many Facets of Natural Computing Lila Kari Dept. of Computer Science University of Western Ontario London, ON, Canada http://www.csd.uwo.ca/~lila/ [email protected] Natural Computing • Investigates models and computational techniques inspired by nature • Attempts to understand the world around us in terms of information processing • Interdisciplinary field that connects computer sciences with natural sciences Lila Kari, University of Western Ontario Natural Computing • (i) Nature as Inspiration • (ii) Nature as Implementation Substrate • (iii) Nature as Computation Lila Kari, University of Western Ontario (i) Nature as Inspiration • Cellular Automata – self-reproduction • Neural Computation – the brain • Evolutionary Computation – evolution • Swarm Intelligence – group behaviour • Immunocomputing – immune system • Artificial Life – properties of life • Membrane Computing – cells and membranes • Amorphous Computing - morphogenesis Lila Kari, University of Western Ontario 1.Cellular Automata • Cellular automaton = dynamical system consisting of a regular grid of cells • Space and time and discrete • Each cell can be in a finite number of states • Each cell changes its state according to a list of transition rules, based on its current state and the states of its neighbours • The grid updates its configuration synchronously Lila Kari, University of Western Ontario 1-dimensional CA Example: Rule 30 111 110 101 100 011 010 001 000 0 0 0 1 1 1 1 0 Lila Kari, University of Western Ontario CA Classification • Class 1: Initial patterns evolve into a stable state; Any randomness disappears. • Class 2: Initial patterns evolve into stable or oscillating states; Some randomness remains. • Class 3: Initial patterns evolve into a pseudo- random or chaotic manner; Stable structures are destroyed (Rule 30 is a Class 3 CA.) • Class 4: Initial patterns evolve into structures that interact in complex ways, with local patterns surviving for a long time; Wolfram conjectured that many Class 4 CA (Rule 110, Game of Life) are capable of universal computation Rule 110 Lila Kari, University of Western Ontario Conway’s Game of Life • Neighbourhood – 8 neighbours (Moore) • Two states: dead or alive • Any live cell with less than 2 live neighbours dies (under-population) • Any live cell with 2 or 3 live neighbours lives • Any live cell with more than 3 live neighbours dies (overcrowding) • Any dead cell with exactly 3 live neighbours becomes live cell (reproduction) • Edges “wrap around” Lila Kari, University of Western Ontario Self-replicating CA • Von Neumann, 1940s: Universal Constructor (UC) • UC = 29-state self-replicating machine in a cellular automaton environment. • Size of self-replicating machine 2063 x 377 [Buckley, 2009]. • Timesteps for replication 1.12 x 1014 Lila Kari, University of Western Ontario CA patterns • Game of Life patterns: gliders, still lives, spaceships • https://niginsblog.wordpress.com/2016/03/07/ne w-spaceship-speed-in-conways-game-of-life/ • CA patterns in nature: Conus textile Lila Kari, University of Western Ontario 2. Neural Computation Lila Kari, University of Western Ontario 2.Neural Computation • Artificial Neural Network: a network of interconnected artificial neurons • Neuron A : * n real- valued inputs x1,…, xn * weights w1,…,wn * computes fA(w1x1 + w2x2 + …+ wnxn) • Network Function = vectorial function that, for n input values, associates the outputs of the m pre-selected output neurons Lila Kari, University of Western Ontario Artificial Neural Networks (ANN) Lila Kari, University of Western Ontario Neural Network Art • Program that generates colourful plots using Cascade Correlation neural networks – F.Dandurand • http://www.psych.mcgill.ca/labs/lnsc/html/L ab-Home.html Lila Kari, University of Western Ontario 3.Evolutionary Computation • Constant or variable-sized population • A fitness criterion according to which individuals are evaluated • Genetically inspired operators (mutation or recombination of parents) that produce the next generation from the current one Lila Kari, University of Western Ontario Genetic Algorithms • Individuals = fixed-length bit strings • Cross-over = cut-and-paste of a prefix of a parent with a suffix of another • Fitness function is problem-dependent • If initial population encodes possible solutions to a given problem, then the system evolves to produce a near-optimal solution to the problem • Applications: real-valued parameter optimization Lila Kari, University of Western Ontario Cross-over Lila Kari, University of Western Ontario Example: Max of f(x) = x2 (x = 0,…, 31) Lila Kari, University of Western Ontario Cross-over and 1st generation offspring Lila Kari, University of Western Ontario Evolutionary Art • Initially generated art is put through an iterated process of selection and modification to arrive at a final product (the artist is the selective agent). Lila Kari, University of Western Ontario 4.Swarm Intelligence • Swarm: group of mobile biological organisms (bacteria, ants, bees, fish, birds) • Each individual communicates with others either directly or indirectly by acting on its environment • These interactions contribute to collective problem solving = collective intelligence Lila Kari, University of Western Ontario Boids [Reynolds 1987] • Simulates flocking behaviour of birds rules: • Separation: steer to avoid crowding local clockmates • Alignment: steer towards the average heading of local flockmates • Cohesion: steer toward the average position (center of mass) of local flockmates Lila Kari, University of Western Ontario Particle Swarm Optimization • Inspired by flocking behaviour of birds • Start with a swarm of particles (each representing a potential solution) • Particles move through a multidimensional space and positions are updated based on * previous own velocity * tendency towards personal best * tendency toward neighbourhood best Lila Kari, University of Western Ontario Ant Algorithms • Model the foraging behaviour of ants • In finding the best path between nest and a source of food, ants rely on indirect communication by laying a pheromone trail on the way back (if food is found) and by following concentration of pheromones (if food is sought) Lila Kari, University of Western Ontario Kari, Rozenberg “The many facets of natural computing” CACM 2008 Lila Kari, University of Western Ontario 5.Immunocomputing • Immune system’s function = protect our bodies against external pathogens • Role of immune system: recognize cells and categorize them as self or non-self • Innate (non-specific) immune system • Adaptive (acquired) immune system Lila Kari, University of Western Ontario Artificial Immune Systems • Computational aspects of the immune system: distinguishing self from non-self, feature extraction, learning, immunological memory, self-regulation, fault-tolerance • Applications: computer virus detection, anomaly detection in a time-series of data, fault diagnosis, pattern recognition Lila Kari, University of Western Ontario 6.Artificial Life • ALife attempts to understand the very essence of what it means to be alive • Builds ab initio, within in silico computers, artificial systems that exhibit properties normally associated only with living organisms Lila Kari, University of Western Ontario Lindenmayer Systems • Parallel rewriting systems • Start with an initial word • Apply the rewriting rules in parallel to all letters of the word • Used, e.g., for modelling of plant growth and morphogenesis Lila Kari, University of Western Ontario L systems • G = (V, a, P) • V = the alphabet (set of symbols: variables and constants) • a = axiom (string of symbols from V) • P = set of production rules Lila Kari, University of Western Ontario Example: Growth of Algae • Variables : A, B • Axiom: A • Rules: A à AB, B à A • Length of each string: Fibonacci sequence Lila Kari, University of Western Ontario Example: Pythagoras Tree • Variables: 0, 1 • Constants: [, ] • Axiom: 0 • Rules: 1à 11, 0 à 1[0]0 • 2nd recursion 11[1[0]0]1[0]0 • 3rd recursion 1111[11[1[0]0]1[0]0]11[1[0]0]1[0]0 Lila Kari, University of Western Ontario Turtle Graphics • 0 – draw a line segment (ending in a leaf) • 1 – draw a line segment • [ - push position and angle, turn left 45 degrees • ]- pop position and angle, turn right 45 degrees Lila Kari, University of Western Ontario Pythagoras Tree (2nd and 7th recursion) Lila Kari, University of Western Ontario Fractal Weeds (3D) Lila Kari, University of Western Ontario L-system Trees Lila Kari, University of Western Ontario L-Systems Applications • Plant growth [Fuhrer, Wann Jensen, Prusinkiewicz 2004-05] • Architecture and design [J.Bailey, Archimorph] Lila Kari, University of Western Ontario Mechanical Artificial Life • Evolving populations of artificial creatures in simulated environments • Combining the computational and experimental approaches and using rapid manufacturing technology to fabricate physical evolved robots that were selected for certain abilities (to walk or get a cube) Lila Kari, University of Western Ontario • How to insert pdf file http://www.creativema chineslab.com/self- modeling.html Lila Kari, University of Western Ontario Lila Kari, University of Western Ontario 7.Membrane Computing • Inspired by the compartmentalized internal structure of cells • Membrane System = a nested hierarchical structure of regions delimited by “membranes” • Each region contains objects and transformation rules + transfer rules Lila Kari, University of Western Ontario 9-region “membrane computer” Lila Kari, University of Western Ontario P-system