AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10....

32
AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University [email protected] Department of Computer Science

Transcript of AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10....

Page 1: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

AN INTRODUCTION TO

GENE EXPRESSION

PROGRAMMINGNigel Browne Ryerson University

[email protected] Department of Computer Science

Page 2: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 3: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

A brief introduction

Evolutionary Computation3

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 4: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 5: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 6: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

Some applications:

Financial modeling

Symbolic regression

Circuit design

Antenna design

Evolving Neural Networks

Evolutionary Computation6

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 7: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

A not so brief introduction

Gene Expression Programming7

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 8: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 9: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

Gene Expression Programming

Linear Genotype Representation

012345678901234567890+Q-/b*+*Qbaabaabbaaab

9

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 10: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

Gene Expression Programming

Tree-based phenotype representation

10

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 11: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

Gene Expression Programming

Fixed length chromosome

Genes make up chromosome

Genes composed of Codons

11

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 12: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 13: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

Gene Expression Programming

Replication

Fitness Proportional Selection with Elitism

13

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 14: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

Gene Expression Programming

Chromosome selection by operators

GP = Individual based

GEP = Population based

14

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 15: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 16: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 17: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 18: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 19: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 20: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 21: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 22: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 23: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

Gene Expression Programming

More advanced GEP techniques

ADFs (Automatically Defined Functions)

GEP-RNC

23

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 24: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

What I’m doing with it…24

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 25: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

What I’m doing with it…

Studying migration

25

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 26: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

What I’m doing with it…

Studying diversity

26

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 27: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

What I’m doing with it…

Studying

self-adaptation

27

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 28: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

What I’m doing with it…

Self Adaptive Distributed GEP algorithm

Syrah

28

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 29: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

Cross you fingers…

A Brief Demonstration29

Nigel Browne - Ryerson University - [email protected] - Oct 7, 2008

Page 30: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 31: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

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

Page 32: AN INTRODUCTION TO GENE EXPRESSION PROGRAMMINGasadeghi/teaching/Presentation_5.pdf · 2008. 10. 21. · AN INTRODUCTION TO GENE EXPRESSION PROGRAMMING Nigel Browne Ryerson University

AN INTRODUCTION TO

GENE EXPRESSION

PROGRAMMINGNigel Browne Ryerson University

[email protected] Department of Computer Science