ALife - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

ALife

Description:

Genetic Algorithms. Genetic Programming. Evolutionary Programming. Genetic Algorithms. Learning through manipulation of a feature space ... – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 22
Provided by: drrich
Category:
Tags: alife

less

Transcript and Presenter's Notes

Title: ALife


1
ALife
  • Artificial Life - just as AI is the pursuit of
    using computation to explore intelligence, ALIFE
    is the pursuit of using computation to explore
    biological life and simulate it electronically
  • ALIFE-AI Claim The dumbest smart thing you can
    do is stay alive
  • Alife is the lower bound for AI

2
Life Comes Before Intelligence
  • This idea (or slogan) is being promoted by those
    who feel that Alife must precede AI
  • There are many missing pieces to the AI picture,
    perhaps Alife can fill them in
  • Missing common sense
  • Missing learning abilities
  • Missing intentionality
  • Missing emotions
  • Missing spirit and soul

3
Is life a new missing piece?
  • Is Alife just some new piece of software?
  • Is Alife something that emerges from an
    organization of physical moving parts?
  • If the latter, then perhaps for AI to succeed,
    computers need more elements found in life, such
    as motion, perception and elements found in
    organic chemistry
  • Alife investigates processes involved in
    self-replication, evolution, symbiosis as modeled
    in software

4
Forms of Alife
  • Predominantly Evolutionary techniques
  • Also Neural Networks to some extent
  • Other forms of Learning
  • Perception
  • Vehicle Control
  • Adaptive Systems
  • Modeling the environment

5
Evolutionary Computing
  • Using natural selection as a basis for techniques
    applied to learning in problem solving
  • Three common approaches
  • Genetic Algorithms
  • Genetic Programming
  • Evolutionary Programming

6
Genetic Algorithms
  • Learning through manipulation of a feature space
  • The state is a vector representing which features
    are present and absent
  • Supervised learning requiring a method of
    determining how good a given feature vector is
  • Binary vector - an associated feature is present
    or absent (using a 1 or a 0)
  • Multi-valued vector - each feature is represented
    by an integer, real or other non-binary value

7
Example of a binary vector
  • A vector may be represented as
  • (a, b, c, d, e) where afever?, bsoreness?,
    cachyeyes? drunny nose?, ecoughing?
  • We might wish to learn a concept like flu
  • start with (0, 0, 0, 0, 0) (no symptoms) and
    learn that this is not the flu
  • eventually we may learn that flu can be
    represented by the vector (1, 1, 1, ?, ?) (?
    means dont care what the value is)
  • Allergies might be represented as (?, 0, ?, 1, 1)

8
Multi-valued Vector
  • Features may include values pertaining to height,
    weight, color, etc
  • Consider an animal vector (a, b, c, d, e, f)
    where aheight, bweight, c of legs, dcolor,
    eshape and ftail?)
  • Elephant(4, 2000 lbs, 4, grey, round, y)
  • Mouse(3, 2 lbs, 4, grey, round, y)
  • Dog(1, 20 lbs, 4, varies, long, y)

9
Learning in GAs
  • The idea behind learning a vector space is to use
    prior vectors and generate a new generation of
    vectors using natural selection techniques
  • This is a search problem (searching for the ideal
    or optimal vector)
  • The natural selection techniques will (hopefully)
    improve the performance of the search
  • This form of learning can be used to learn
    recognition knowl., control knowl., planning and
    design knowl., diagnostic knowl.

10
Fitness Function
  • This form of learning is supervised (requires
    feedback)
  • Feedback provided via a fitness function
  • Given a vector V, apply the function f(V)
  • Use this value to determine this vectors worth
    towards the next generation
  • A vector that is highly rated may be used in
    forming the next generation of vectors
  • A vector that is lowly rated will probably not be
    used (unless randomly selected)

11
Natural Selection Methods
  • Think of the vector as a chromosome
  • Standard methods are
  • inversion - moving around features in the vector
    such as reversing 3 features
  • mutation - changing a features value to another
    value (in binary vectors, simply complementing
    the bit, in multi-valued vectors, requires random
    selection of a new value)
  • crossover (requires two chromosomes, randomly
    swap some portion of the two vectors)

12
Selection Methods
  • How do you determine which vectors to
    alter/mutate?
  • Fitness Ranking - use a fitness function to
    select the best available vector (or vectors) and
    use it (them)
  • Rank Method - use the fitness function but do not
    select the best, use probabilities instead
  • Random Selection - in addition to the top
    vector(s), some approaches randomly select some
    number of vectors from the remaining, lesser
    ranked ones
  • Diversity - determine which vectors are the most
    diverse from the top ranked one(s) and select it
    (them)

13
General Procedure for GAs
Unrated Fitness Rated
Population Function Population Mutation S
election Operations Function Population
of Reproduction Population of Parent
Copies Function Parents
14
The Evolution Process
  • Create an initial population of one vector
  • Mutate one or more genes producing a new
    offspring
  • Mate one or more vectors
  • Add mutated and offspring vectors to current
    population
  • Create a new generation by keeping the best along
    with randomly selected individuals

15
Choices
  • How many vectors for the population?
  • If too low, vectors will be the same or similar
    to previous generations, if too high, computation
    time may be too long
  • What is the mutation rate?
  • If too low, changes will occur infrequently, if
    too high, there is no guided search
  • Is mating allowed?
  • Are duplicate vectors allowed?

16
Another Ranking Method
  • Instead of selecting the best vectors based on
    the fitness function, use the fitness function to
    rank the vectors and then
  • Sort the vectors on ranking
  • Assign a high probability to the highest ranked
  • The probability of the second is (1-p)f where p
    is the probability of the first and f is a
    predetermined fitness for the second item
  • Compute the remaining probabilities similarly
  • Select a candidate by randomly producing a
    probability

17
Diversity
  • Based on the idea that diversity helps promote
    survival, it might also be reasonable to select
    vectors which are most diverse from other
    selections
  • Select the first vector(s) for the new generation
    using the rank or fitness method
  • Select the remaining vector(s) by finding one(s)
    most diverse with those already chosen

18
Genetic Programming
  • Instead of fixed-length vectors as forms of
    representation, use dynamic representations (e.g.
    trees)
  • Trees are formed out of syntactic parses of
    programs
  • Evolutionary methods are then used to adapt a
    program into other forms

19
Adapting Programs
  • Crossover swaps one part of a program with
    another
  • Since the parse tree represents a syntactic unit
    as a subtree, swapping one subtree with another
    will leave both subtrees syntactically correct
  • Therefore, crossover will not introduce errors
  • Other adaptions (mutation, inversion) must
    maintain the syntactic correctness if used
  • A fitness function is then used to determine if
    the new program behaves better or worse

20
Evolutionary Process
  • Start with an initial population of first-order
    calculus terms (Horn clauses) (or use some
    provided by the user)
  • Apply crossover techniques
  • Use positive and negative examples and a weighted
    average as a fitness function to determine how
    well the given clauses define the concept
  • Retain the best for the next generation and
    discard the remainder

21
Evolutionary Programming
  • Unlike Genetic Programming, Evolution Programming
    takes a single program and mutates it using
    randomness
  • On average, the child is like the parent with
    some distinctiveness
  • The difference is determined by gaussian
    probabilities using a normal bell curve
  • Different types of mutations are used based on
    the given syntactic structure of the program
Write a Comment
User Comments (0)
About PowerShow.com