AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10....
Transcript of AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10....
AN INTRODUCTION TO
GENE EXPRESSION
PROGRAMMINGNigel Browne Ryerson University
[email protected] Department of Computer Science
Agenda
Evolutionary Computation Overview
The Gene Expression Programming Algorithm
What I’m doing with it
Demonstration
Conclusions
2
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
A brief introduction
Evolutionary Computation3
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Evolutionary Computation
Biologically inspired algorithms
Survival of the fittest
Not attempting to duplicate nature
Evolves populations of “programs”
Effectively explores problem space
Handles “noisy” environments
4
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Evolutionary Computation
Parallel by definition
Easily distributed
Very good at optimization
Can perform multi-objective and coevolutinoary
searches
5
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Some applications:
Financial modeling
Symbolic regression
Circuit design
Antenna design
Evolving Neural Networks
Evolutionary Computation6
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
A not so brief introduction
Gene Expression Programming7
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Developed by Candida Ferreira
Always produces valid programs
Separates genotype and phenotype
8
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Linear Genotype Representation
012345678901234567890+Q-/b*+*Qbaabaabbaaab
9
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Tree-based phenotype representation
10
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Fixed length chromosome
Genes make up chromosome
Genes composed of Codons
11
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Genes divided into a Head and Tail
Functions and terminals in Head
Only terminals in Tail
Tail Length = Head Length x (Max Arity-1) + 1
Open read frame is executed
12
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Replication
Fitness Proportional Selection with Elitism
13
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Chromosome selection by operators
GP = Individual based
GEP = Population based
14
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Mutation
012345678012345678012345678-+-+abaaa/bb/ababb*Q*+aaaba
012345678012345678012345678Q+-+abaaa/bbQababb*b*+aaaba
15
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Inversion
012345678012345678012345678-+-+abaaa/bb/ababb*Q*+aaaba
012345678012345678012345678-+-+abaaa/bb/ababb*+*Qaaaba
16
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Insertion Sequence Transposition
012345678901234567890012345678901234567890*-+*a-+a*bbabbaabababQ**+abQbb*aabbaaaabba
012345678901234567890012345678901234567890*-+*a-bba+babbaabababQ**+abQbb*aabbaaaabba
17
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Root IS Transposition
012345678901234567890012345678901234567890-ba*+-+-Q/abababbbaaaQ*b/+bbabbaaaaaaaabbb
012345678901234567890012345678901234567890-ba*+-+-Q/abababbbaaa+bbQ*b/+bbaaaaaaaabbb
18
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Gene Transposition
012345678012345678012345678*a-*abbab-QQ/aaabbQ+abababb
012345678012345678012345678-QQ/aaabb*a-*abbabQ+abababb
19
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
One Point Recombination
012345678012345678-b+Qbbabb/aQbbbaab/-a/ababb-ba-abaaa
012345678012345678-b+/ababb-ba-abaaa/-aQbbabb/aQbbbaab
20
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Two Point Recombination
0123456789001234567890+*a*bbcccac*baQ*acabab-*cbb+cccbcc++**bacbaab-
0123456789001234567890+*a*bbccbcc++*Q*acabab-*cbb+ccccac*ba*bacbaab-
21
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
Gene Recombination
012345678012345678012345678/aa-abaaa/a*bbaaab/Q*+aaaab/-*/abbabQ+aQbabaa-Q/Qbaaba
012345678012345678012345678/aa-abaaaQ+aQbabaa/Q*+aaaab/-*/abbab/a*bbaaab-Q/Qbaaba
22
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Gene Expression Programming
More advanced GEP techniques
ADFs (Automatically Defined Functions)
GEP-RNC
23
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
What I’m doing with it…24
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
What I’m doing with it…
Studying migration
25
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
What I’m doing with it…
Studying diversity
26
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
What I’m doing with it…
Studying
self-adaptation
27
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
What I’m doing with it…
Self Adaptive Distributed GEP algorithm
Syrah
28
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Cross you fingers…
A Brief Demonstration29
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Conclusions
GEP is fast
GEP separates genotype and phenotype
GEP is easily distributed
GEP always created valid programs
30
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
Further Reading
Gene Expression Programming: A New Adaptive Algorithm for Solving
Problems: Candida Ferreira, 2001, Complex Systems
Gene Expression Programming, Mathematical Modeling by and Artificial
Intelligence: Candida Ferreira, 2006, Springer
31
Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008
AN INTRODUCTION TO
GENE EXPRESSION
PROGRAMMINGNigel Browne Ryerson University
[email protected] Department of Computer Science