Genetic Algorithms (GAs)

Genetic Algorithms
(GAs)
by Jia-Huei Liao
Source:
Chapter 9, Machine Learning, Tom M. Mitchell, 1997
The Genetic Programming Tutorial Notebook
http://www.geneticprogramming.com/Tutorial/tutorial.html#anchor160803
Simple Symbolic Regression Using Genetic Programming John Koza
http://www.ifh.ee.ethz.ch/~gerber/approx/default.html
Genetic Algorithms
• Genetic Algorithms
• Genetic Programming
• Models of Evaluation And Learning
Overview of GAs
• It is a kind of evolutionary computation.
• It is general optimization method that searches a
large space of candidate objects (hypotheses,
population) seeking one that performs best
according to the fitness function (a predefined
numerical measure ).
• It is NOT guaranteed to find an optimal object.
• It is broadly applied on optimization, machine
learning, circuit layout, job-shop scheduling, and
so on.
Motivation for GAs
• Evolution is know to be a successful, robust
method for adaptation within biological systems.
• GAs can search spaces of hypotheses containing
complex interacting models.
• GAs are easily parallelized and can take advantage
of the decreasing costs of powerful computer
hardware.
A Prototypical GA
Representing Hypotheses
Rule Precondition:
Attribute 1 : Outlook
Values : Sunny, Overcast or Rainy
100 -> Outlook = Sunny
011-> Outlook = Overcast  Rainy
Attribute 2 : WindValues : Strong or Weak
Outlook
(Outlook = Overcast  Rainy)  (Wind = Strong) 
011
Rule Postcondition:
Attribute 3 : PlayTennis
Values : Yes or No
 1 bit
Example of Bit String:
IF Wind = Strong THEN PlayTennis = No
Outlook
111
Wind
10
PlayTennis
0
 bit string: 111100
Wind
10
Genetic Operators