Artificial Life

Download Report

Transcript Artificial Life

Cognitive Computing
2012
The computer and the mind
LANGTON
Professor Mark Bishop
Artificial Life (AL)

What is Artificial Life?
 Life made by man rather than nature.

Traditional biology
 An attempt to explain the mechanics of life on Earth
 Defined by an ‘analytical approach’ to experimentation and theorising.

Conversely ‘Artificial Life’
 Is fundamentally ‘synthetic’


investigation by putting things together
Goes beyond ‘life as we know it’ to ‘life as it could be’


Hence it is not limited to investigating carbon chain chemistry;
Its aim is to study the dynamics of life itself.
(c) Bishop: The computer and the mind
Historical roots

The earliest devices that generated their own
behaviour were based on water transport e.g.
the Egyptian Clepsydra (around 135 BC)


Early Pneumatics from Hero of Alexandria (1st century
AD)
Later, the development of ‘Clockwork
Technology’ led to the construction of
Vaucanson’s duck

Flapped wings, ate, quacked & digested.

Cf. “If something flaps like a duck; quacks like a duck;
eats like a duck then it is a duck...”
(c) Bishop: The computer and the mind
Control mechanisms

Vaucanson’s duck had actions that were
‘sequenced’:

The development of sequential controllers led to
the development of programmable controllers;

Which in turn were an important step in the
development of general-purpose computers.
(c) Bishop: The computer and the mind
General purpose computers

Computers per se have no intrinsic behaviour, they must always
be instructed what to do.
 Cf. Lady Lovelace’s objection to machine intelligence.

A program ‘instructs’ the computer to behave like as some
‘machine’
 A program is a specification for a machine;
 We design specific Turing machines for specific tasks;

Universal Turing Machine
 Suitably programmed it can emulate any machine

Modern PCs.
(c) Bishop: The computer and the mind
Formal limits of machine
behaviours

Computability in principle:



Turing’s Halting problem;
Extended by Hopcroft & Ullman to demonstrate that we cannot
algorithmically decide any ‘non-trivial’ aspect of future program behaviour.
Computability in practice:

There are many areas in which we do not know how to specify algorithms to
generate certain behaviours;



E.g. How to translate perfectly between French and English.
Vehicle Identification number to registration plate number (cf. Searle’s error).
Practical computing:

There are many tasks for which we can specify an exact algorithmic solution
for simple problems but which for large scale problems take too long to
execute;

E.g. Exponential time programs (travelling salesman).
(c) Bishop: The computer and the mind
Universal constructors

Von Neumann imagined a machine
floating on a ‘pond’ surrounded by
lots of machine parts.

Given the description of any machine
it will locate the parts and construct
that machine.

Given a ‘description of itself’ it will
make itself.


Need not just to make the machine
but a copy of the description of the
machine.
C.f. The RepRap project (Dr. A.Bowyer
@ Bath University).
(c) Bishop: The computer and the mind
Cellular Automata (CA)

With each time step, the whole system is
updated

Every cell is updated by the same local rules

Context sensitive global behviours
(c) Bishop: The computer and the mind
‘Self’ reproduction

Game of life

Von Neumann’s CA model was proof that self-reproduction was
possible by machines


Demo - example of glider ‘reproduction’
Information in the description of the ‘reproducing machine’ is
typically used in two different ways:

Interpreted


Encodes the instructions executed to generate offspring.
Uninterpreted

Encodes the description given to offspring.
(c) Bishop: The computer and the mind
Linear versus non-linear systems

Linear Systems:



Behaviour of the whole is equal to sum of the
behaviour of its parts;
Relatively easy to analyse.
Non Linear Systems


Behaviour of the whole is more than the sum of
its parts;
Difficult to analyse.
(c) Bishop: The computer and the mind
Linear versus non-linear systems (2)

Linear Systems:


Full understanding of the whole system can be achieved
by the composition of the understanding of the separate
parts.
Non Linear Systems:


Interaction between component parts is key to system
behaviour;
System behaviour is not clear if component parts are
studied separately.
(c) Bishop: The computer and the mind
Non-linear systems

The basic building blocks in carbon
organisms - amino acids etc. - are not alive
themselves.

But when combined in the correct way the
system’s dynamic behaviour is life.
(c) Bishop: The computer and the mind
Recursively generated objects

E.g. Lindenmayer systems

Simple Linear growth



Context free
Simple mappings : A -> AB, B -> C, C->A etc
Branching growth (e.g. using these rules - GTYPE):





A -> C[B]D
B -> A
C -> C
D -> C(E)A
E -> D
(c) Bishop: The computer and the mind
Branching growth
(c) Bishop: The computer and the mind
Flocking

Flocking is a complex, emergent, non-centralised behaviour.

Flocking forms the basis mechanism in the Swarm Intelligence PSO
meta-heuristic.

Boids (Craig Reynolds) demonstrates a simulated A-Life flocking
behaviour

Boids demo

Each boid follows same behavioural tendencies:



Separation: steer to avoid crowding local flock-mates, but maintain minimum
distance
Alignment: steer towards the average heading of local flock-mates
Cohesion: steer to move toward the average position of local flock-mates.
(c) Bishop: The computer and the mind
Biological automata

Genotype:


Phenotype:


The specification of the system.
The observable physical characteristics and behaviour of the
system.
Morphogenesis

The development of the phenotype over time as directed by the
genotype.


Cf. Turing, On the chemical nature of morphogenesis (1952);
Explains ‘dappling patterns’.
(c) Bishop: The computer and the mind
Generalised
Genotypes and Phenotypes

In Artificial Life we need to generalise the notion of genotype and
phenotype to artificial systems:

Foundations of Genetic Algorithms/Evolutionary computing

GTYPES
 The unordered set of local rules.
 Global system behaviour is not specified.

PTYPES
 The behaviour and structures that emerge from the interactions of
the GTYPE and environment define the PTYPE.
(c) Bishop: The computer and the mind
Evolutionary and Genetic
Algorithms

Genetic Algorithms (GA) attempt to define the “logical form” of
natural selection processes.

Typically a GA implements natural selection by copying (and
sometimes varying in some way) the character strings (GTYPE) that
represent the fittest PTYPE;


the fittest individual(s) being defined by some ‘objective function’.
Varied GTYPES are produced by the application of genetic
operators:





Reproduction
Crossover
Mutation
Inversion
Duplication
(c) Bishop: The computer and the mind
Thomas Ray’s Tierra

No ‘engineer designed objective function’; instead computer
programs compete for resources: CPU time and memory space.

Their only task is to reproduce themselves.

Reproduction is not exact, and the better performers produce more
offspring.

Programs together in an area can increase or diminish each other’s
reproductive success.

Like nature there are long periods without change, followed by rapid
evolutionary change: see evolution of parasites and ‘anti-bodies’.
(c) Bishop: The computer and the mind
EvolutionZ

EVOLUTIONz allows a user to construct, compare, observe, and
explore dynamic artificial ecosystems through a 3D interface.

The inhabitants of these ecosystems are artificial animals, each
controlled by a neural net, which compete for limited resources
and evolve over time.

The program is meant as a fun tool for investigating learning and
open-ended evolution.

EvolutionZ demo
(c) Bishop: The computer and the mind