1
PARSING PRE-EVALUATION PROBLEM INDEPENDENT Term | Test cases | Term | EVALUATION PROBLEM DEPENDENT Genotype | Term values on test cases | RAW FITNESS SCORING Correct value on test cases | Genotype fitness score | POPULATION 0 0.95 1.59 3.18 1 2 MaxComp 0 0.6 1 2.01 SelComp 3 THE NEXT STEP IS TO ASSIGN A FITNESS VALUE TO THE SPECIES 4 TTX.XXX Gene ID Gene ID WITHIN THE GENE POOL, GENES ARE CATEGORIZED BY TYPES. EACH GENE IN ITS CATEGORY IS GIVEN A UNIQUE ID WHICH WILL BE USED AS POINTER BY THE CARRIER ORGANISMS. ORGANISMS ARE ARRANGEMENTS OF SPECIFIC GENES. THE ARRANGEMENT IS SPECIFIED BY THE PROOF ASSOCIATED WITH THE SPECIES TO WHICH THE ORGANISM BELONGS, SO EACH ORGANISM IN A GIVEN SPECIES IS BUILT BASED ON THE SAME PATTERN. WITHIN A SPECIES HOWEVER, EACH ORGANISM IS UNIQUE BECAUSE IT IS COMPOSED OF A UNIQUE SET OF GENES. GOALTYPE IS THE TYPE OF THE SOLUTION PROGRAM. FOR EXAMPLE, IF THE PROGRAM THAT NEEDS TO BE EVOLVED RETURNS AN INTEGER AND TAKES TWO ARGUMENTS, AN INTEGER AND A STRING, GOALTYPE WILL BE “INT -> STRING -> INTA GENE MAY HAVE A NON-LOCALIZED EFFECT ON THE WHOLE GENOTYPE. SOME GENES ARE FUNCTIONS THAT TAKE OTHER GENES OF A SPECIFIC TYPE AS ARGUMENTS. SOME GENES ARE FUNCTIONS THAT TAKE TYPES AS ARGUMENTS. SOME GENES ARE VALUES. Gene ID Gene ID TTX.X (ACTION X)X Gene ID Gene ID Gene ID DIRECTION ACTION Gene ID Gene ID Gene ID Gene ID Gene ID Gene ID Gene ID OBJECT Gene ID Gene ID Gene ID Gene ID DIRECTION ACTION x LAB y X X OBJECTX X (OBJECTX)X X food OBJECT pheromone OBJECT DIRECTION(TT X . X(OBJECTX)X) detect FA (OBJECTACTION)ACTION DIRECTION ACTION(OBJECTACTION)ACTION ACTION DIRECTION move DIRECTION ACTION FA y ACTION FA OBJECTACTION) z FA DIRECTIONOBJECTACTION x DIRECTION x (DIRECTIONOBJECTACTION)ACTION y LAB z DIRECTIONOBJECTACTION LAB (DIRECTIONOBJECTACTION)ACTION ACTION TA move DIRECTION ACTION wait ACTION DIRECTION north DIRECTION east west DIRECTION x XXX LAB X UAB TT X . XXX LAB y X X x X XX contains (TT X . X(OBJECTX)X)OBJECT(TTY.YYY) ACTION DIRECTIONACTION DIRECTION ACTION DIRECTION DIRECTION ACTION (TT X . X(OBJECTX)X)OBJECT(TTY.YYY) DIRECTIONDIRECTIONACTION DIRECTION ACTION food OBJECT FA FA FA FA contains TT X . X(OBJECTX)X x OBJECT(TTY.YYY) TTY.YYY ACTIONACTION ACTION FA move y DIRECTION Y TT X . X(OBJECTX)X x LAB LAB (TT X . X(OBJECTX)X)DIRECTIONDIRECTIONACTION TA ACTIONACTIONACTION ACTION FA move z z LAB DIRECTION (OBJECTX)X UAB LAB y FA OBJECTX pheromone OBJECT ACTION west DIRECTION move DIRECTION ACTION FA ACTIONACTION DIRECTION ACTION ACTION DIRECTION ACTION DIRECTION(DIRECTIONACTION)ACTION (DIRECTIONACTION)ACTION ACTION ACTION DIRECTION FA FA wait DIRECTION Y x LAB LAB (DIRECTIONTT X . XXX)DIRECTION(DIRECTIONACTION)ACTION ACTIONACTIONACTION FA z LAB z y TTY.YYY TA ACTION FA DIRECTION(TT X . XXX) x DIRECTION y DIRECTION(TT X . XXX) TT X . X(OBJECTX)X FA DIRECTION(TT X . X(OBJECTX)X) detect x DIRECTION DIRECTION(TT X . X(OBJECTX)X) detect north DIRECTION FA TT X . X(OBJECTX)X x XXX LAB X LAB y X X Y X XX DIRECTION(TT X . X(OBJECTX)X) detect north DIRECTION FA TT X . X(OBJECTX)X DIRECTION TA DIRECTION(OBJECTDIRECTION)DIRECTION FA (OBJECTDIRECTION)DIRECTION east DIRECTION A GENE ENCODES A UNIT OF COMPUTATION. IT IS A CLOSED PROGRAMMING MODULE. EACH GENES HAS A TYPE. THE GENES TYPE SPECIFIES HOW AND WHEN IT CAN BE COMBINED WITH ANOTHER GENE TO PRODUCE A MORE COMPLEX STRUCTURE. GENES ARE STORED IN A GENE POOL. THE GENE POOL CONTAINS ONE COPY OF EACH GENE. GOALTYPE IS ACTION A SPECIES IS AN ARRANGEMENT OF TYPES. THE CURRY-HOWARD ISOMORPHISM ESTABLISHES A CORRESPONDENCE BETWEEN THE TYPE SYSTEM AND SECOND-ORDER LOGIC. SO A SPECIES IS REALLY A SECOND-ORDER LOGIC CONSTRUCTIVE PROOF 0 0.95 1.59 3.18 MaxComp This is the total complexity of The gene pool GENOTYPES ARE SCORED IN PROPORTION TO THEIR ABILITY TO SOLVE A PARTICULAR PROBLEM ALL GENOTYPES ARE KILLED AND A SELECTION OPERATION IS ACTIVATED ON BOTH THE GENE POOL AND THE SPECIES IN THE ECOSYSTEM ONCE ALL THE ORGANISMS IN THE SYSTEM HAVE BEEN ASSIGNED A FITNESS VALUE, GENES CAN BE GRADED AS WELL. A GENES FITNESS IS THE AVERAGE OF THE FITNESSES OF THE ORGANISMS IN WHICH IT FINDS ITSELF. THE EVALUATION OF THE GENOTYPES PROVIDES A WAY TO MEASURE THE FITNESS OF THE GENES IN THE GENE POOL. THE BEST GENES TEND TO BE CARRIED BY FITTER ORGANISMS ACROSS SPECIES. GENES ARE SELECTED BASED IN PROPORTION TO THE PERFORMANCE OF THE ORGANISMS THAT CARRY THEM. THE ECOSYSTEM IS A SET OF GENOTYPES. EACH GENOTYPE BELONGS TO A SPECIES. EACH GENOTYPE IN THE ECOSYSTEM CAN BE READ AS A COMPLETE PROGRAM THAT EVALUATES TO A VALUE OF TYPE GOALTYPE. NEW GENES ARE CONSTRUCTED BUILT AS MUTATIONS OF EXISTING GENES ACTION TTX.X(OBJECTX)X ACTION ACTION(OBJECTACTION)ACTION ACTION (OBJECTACTION)ACTION OBJECTACTION ACTION DIRECTION→ACTION DIRECTION ACTION DIRECTION→ACTION ACTION TT X.XXX DIRECTION DIRECTION DIRECTION DIRECTIONDIRECTION DIRECTIONDIRECTIONDIRECTION DIRECTION (DIRECTIONDIRECTION→ACTION)DIRECTION→ACTION DIRECTIONDIRECTION→ACTION THE LANGUAGE THAT IS USED TO ENCODE THE GENES IS CALLED SYSTEM F wait UAB LAB x TA FA x AN ABSTRACTION-BASED GENETIC PROGRAMMING SYSTEM

Towards an automated biological programming tool

  • Upload
    fbinard

  • View
    312

  • Download
    1

Embed Size (px)

DESCRIPTION

University of Ottawa IT Fair Poster Competition, Graduate student scholarship winner, Franck Binard

Citation preview

Page 1: Towards an automated biological programming tool

PARSINGPRE-EVALUATION

PROBLEM INDEPENDENT

Term |

Test cases |

Term |

EVALUATION

PROBLEM DEPENDENT

Genotype |Term values on test cases |

RAW FITNESS SCORING

Correct value on test cases |

Genotype fitness score |

POPULATION

0 0.95 1.59 3.18

1

2

MaxComp

0 0.6 1 2.01

SelComp

3

THE NEXT STEP IS TO ASSIGN A FITNESS VALUE TO THE SPECIES

4

TTX.X→ X→ X

GeneID

GeneID

WITHIN THE GENE POOL, GENES ARE CATEGORIZED BY TYPES. EACH GENE IN ITS CATEGORY IS GIVEN A UNIQUE ID WHICH WILL BE USED AS POINTER BY THE CARRIER ORGANISMS. ORGANISMS ARE ARRANGEMENTS OF SPECIFIC GENES. THE

ARRANGEMENT IS SPECIFIED BY THE PROOF ASSOCIATED WITH THE SPECIES TO WHICH THE ORGANISM BELONGS, SO EACH ORGANISM IN A GIVEN SPECIES IS BUILT BASED ON THE SAME PATTERN. WITHIN A SPECIES HOWEVER, EACH ORGANISM IS UNIQUE BECAUSE IT IS COMPOSED OF A UNIQUE SET OF GENES.

GOALTYPE IS THE TYPE OF THE SOLUTION PROGRAM. FOR EXAMPLE, IF THE PROGRAM THAT NEEDS TO BE EVOLVED RETURNS AN INTEGER AND TAKES TWO ARGUMENTS, AN INTEGER AND A STRING, GOALTYPE WILL BE “INT -> STRING -> INT”

A GENE MAY HAVE A NON-LOCALIZED EFFECT ON THE WHOLE GENOTYPE. SOME GENES ARE FUNCTIONS THAT TAKE OTHER GENES OF A SPECIFIC TYPE AS ARGUMENTS. SOME GENES ARE FUNCTIONS THAT TAKE TYPES AS ARGUMENTS. SOME GENES ARE VALUES.

GeneID

GeneID

TTX.X → (ACTION → X)→ X

GeneID

GeneID

GeneID

DIRECTION

ACTION

GeneID

GeneID

GeneID

GeneID GeneID

GeneID

GeneID

OBJECT

GeneID

GeneID

GeneID

GeneID

DIRECTION → ACTION

x

LAB

y

X

XOBJECT→X

X →(OBJECT→X)→X

X

food

OBJECT

pheromone

OBJECT

DIRECTION→(TT X . X→(OBJECT→X)→X)

detect

FA

(OBJECT→ACTION)→ACTION

DIRECTION

ACTION→(OBJECT→ACTION)→ACTION

ACTION

DIRECTION

move

DIRECTION → ACTION

FA

y

ACTION

FAOBJECT→ACTION)

z

FADIRECTION→OBJECT→ACTION

x

DIRECTION

x

DIRECTIONLAB

DIRECTION→DIRECTION→

(DIRECTION→OBJECT→ACTION)→ACTION

DIRECTION→(DIRECTION→OBJECT→ACTION)→ACTION

yLAB

zDIRECTION→OBJECT→ACTION

LAB(DIRECTION→OBJECT→ACTION)→ACTION

ACTION

TA

move

DIRECTION → ACTION

wait

ACTION

DIRECTION

north

DIRECTION

east

west

DIRECTION

x

X→X→XLAB

X

UAB

TT X . X→X→X

LAB

y

X

X

xX

X→X

contains

(TT X . X→(OBJECT→X)→X)→OBJECT→(TTY.Y→Y→Y)

ACTION

DIRECTION→ACTION

DIRECTION

ACTION

DIRECTION

DIRECTION → ACTION

(TT X . X→(OBJECT→X)→X)→OBJECT→(TTY.Y→Y→Y)

DIRECTION→DIRECTION→ACTION

DIRECTION → ACTION

food

OBJECT

FA

FA

FA

FA

containsTT X . X→(OBJECT→X)→X

x

OBJECT→(TTY.Y→Y→Y)

TTY.Y→Y→Y

ACTION→ACTION

ACTION

FA

movey

DIRECTION

YTT X . X→(OBJECT→X)→X

x LAB

LAB

(TT X . X→(OBJECT→X)→X)→DIRECTION→DIRECTION→ACTION

TA

ACTION→ACTION→ACTION

ACTION

FA

move z

z

LAB

DIRECTION

(OBJECT→X)→X

UAB

LAB

TT X . X→(OBJECT→X)→X

y

FA

OBJECT→X

pheromone

OBJECT

ACTION

west

DIRECTION

move

DIRECTION → ACTION FA

ACTION→ACTION

DIRECTION → ACTION

ACTION

DIRECTION → ACTION

DIRECTION→(DIRECTION→ACTION)→ACTION

(DIRECTION→ACTION)→ACTION

ACTION

ACTION

DIRECTIONFA

FA

wait

DIRECTION

Y

x LAB

LAB

(DIRECTION→TT X . X→X→X)→

DIRECTION→(DIRECTION→ACTION)→ACTION

ACTION→ACTION→ACTION

FA

z

LAB

z y

TTY.Y→Y→Y TA

ACTIONFA

DIRECTION→(TT X . X→X→X)x

DIRECTION

y

DIRECTION→(TT X . X→X→X)

TT X . X→(OBJECT→X)→X

FADIRECTION→(TT X . X→(OBJECT→X)→X)

detect xDIRECTION

DIRECTION→(TT X . X→(OBJECT→X)→X)

detect north

DIRECTIONFA

TT X . X→(OBJECT→X)→X

TT X . X→X→X

x

X→X→XLAB

X

UAB

LAB

y

X

X

Y

X

X→X

DIRECTION→(TT X . X→(OBJECT→X)→X)

detectnorth

DIRECTIONFA

TT X . X→(OBJECT→X)→X

DIRECTION

TA

DIRECTION→(OBJECT→DIRECTION)→DIRECTIONFA

(OBJECT→DIRECTION)→DIRECTION

east

DIRECTION

A GENE ENCODES A UNIT OF COMPUTATION. IT IS A CLOSED PROGRAMMING MODULE. EACH GENES HAS A TYPE. THE GENE’S TYPE SPECIFIES HOW AND WHEN IT CAN BE COMBINED WITH ANOTHER GENE TO PRODUCE A MORE COMPLEX STRUCTURE.

GENES ARE STORED IN A GENE POOL. THE GENE POOL CONTAINS ONE COPY OF EACH GENE.

GOALTYPE IS ACTION

A SPECIES IS AN ARRANGEMENT OF TYPES. THE CURRY-HOWARD ISOMORPHISM ESTABLISHES A CORRESPONDENCE BETWEEN THE TYPE SYSTEM AND SECOND-ORDER LOGIC. SO A SPECIES IS REALLY A SECOND-ORDER LOGIC CONSTRUCTIVE PROOF

0 0.95 1.59 3.18

MaxComp

This is the total

complexity of The

gene pool

GENOTYPES ARE SCORED IN PROPORTION TO THEIR ABILITY TO SOLVE A PARTICULAR

PROBLEM

ALL GENOTYPES ARE KILLED AND A SELECTION

OPERATION IS ACTIVATED ON BOTH THE GENE POOL AND THE SPECIES IN THE

ECOSYSTEM

ONCE ALL THE ORGANISMS IN THE SYSTEM HAVE BEEN ASSIGNED A FITNESS VALUE, GENES CAN BE GRADED AS WELL. A GENE’S FITNESS IS THE AVERAGE OF THE FITNESSES OF THE ORGANISMS

IN WHICH IT FINDS ITSELF.

THE EVALUATION OF THE GENOTYPES PROVIDES A WAY TO MEASURE THE FITNESS OF THE GENES IN THE GENE POOL. THE BEST GENES TEND TO BE CARRIED BY FITTER ORGANISMS ACROSS SPECIES. GENES ARE SELECTED BASED IN PROPORTION TO THE PERFORMANCE OF THE ORGANISMS THAT CARRY THEM.

THE ECOSYSTEM IS A SET OF GENOTYPES. EACH GENOTYPE BELONGS TO A SPECIES. EACH GENOTYPE IN THE ECOSYSTEM CAN BE READ AS A COMPLETE PROGRAM THAT EVALUATES TO A VALUE OF TYPE GOALTYPE.

NEW GENES ARE CONSTRUCTED BUILT AS MUTATIONS OF EXISTING GENES

ACTION

TTX.X→(OBJECT→X)→X ACTION

ACTION→(OBJECT→ACTION)→ACTION ACTION

(OBJECT→ACTION)→ACTION OBJECT→ACTION

ACTION

DIRECTION→ACTION DIRECTION

ACTION

DIRECTION→ACTION

ACTION

TT X.X→X→X DIRECTION

DIRECTION

DIRECTIONDIRECTION→DIRECTION

DIRECTION→DIRECTION→DIRECTION DIRECTION

(DIRECTION→DIRECTION→ACTION)→DIRECTION→ACTION DIRECTION→DIRECTION→ACTION

THE LANGUAGE THAT IS USED TO ENCODE THE GENES IS CALLED SYSTEM F

wait

UAB LAB

x

TA

FA

x

AN ABSTRACTION-BASED

GENETIC PROGRAMMING

SYSTEM