Advanced Genetic Programming

18
Advanced Genetic Programming 이이이 SCAI

description

Advanced Genetic Programming. 이상신 SCAI. Index. Improving the Speed of GP Improving Evolvability of Programs Improving the Power of GP Search. Improving the Speed of GP. Run Termination Parallelization Parallel Fitness Evaluations Machine Code Evolution Stochastic Sampling. Cont’d. - PowerPoint PPT Presentation

Transcript of Advanced Genetic Programming

Page 1: Advanced Genetic Programming

Advanced Genetic Programming

이상신SCAI

Page 2: Advanced Genetic Programming

Index

Improving the Speed of GP

Improving Evolvability of Programs

Improving the Power of GP Search

Page 3: Advanced Genetic Programming

Improving the Speed of GP

Run Termination

Parallelization

Parallel Fitness Evaluations

Machine Code Evolution

Stochastic Sampling

Page 4: Advanced Genetic Programming

Cont’d

Run Termination 실행을 중지하는 여러가지 제한조건 추가 Intron explosion

Parallelization Parallel Population

각 프로세서가 별도의 population 관리 인접 프로세서끼리 “ boatland”,”migrants” 로 통신 Linear speed-up 보다 빠르다 .

Page 5: Advanced Genetic Programming

Cont’d

Parallel Fitness Evaluation 가장 시간이 많이 걸리는 곳은 Evaluation Evaluate Programs in Parallel SIMD machine 사용

Machine Code Evaluation 프로세서는 기계어를 더 빨리 처리 60-200% 속도 향상

Stochastic Sampling other fitness selection Technics

Dynamic Subset Selection Limited Error Fitness

Page 6: Advanced Genetic Programming

Cont’d

Stochastic Sampling

100 different situations

Each test takes 500 ms

Total 50 programs

한번 진행에 17 시간 ..

각 프로그램이 한번씩만

돌리도록 하자 !

Page 7: Advanced Genetic Programming

Improving the Evolvability of Programs

Modularization Automatically Defined Functions(ADF) Encapsulation Module Acquisition Adaptive Representation Loops and Recursion Memory Manipulation Strongly Typed Genetic Programming

Page 8: Advanced Genetic Programming

Cont’d

Modularization Module : lexically contiguous sequence of program

statement. divide and conquor strategy encapsulation

Crossover building block

Scaling 과 inefficiency 문제 해결 Example

ADF, ADM Module Acquisition

Page 9: Advanced Genetic Programming

ADF Automatically Defined Functions 구성요소

result producing set function set

other ADF Argument List Function Definition

Initialize factor number of function-defining branch ADF argument # reference between ADF function set, terminal set, fitness

ADM

program

Values

ADF0

ADF0

X

defundefun

ADF0 (ARG0) Values

*

(ARG0)

(ARG0) (ARG0)

*

Page 10: Advanced Genetic Programming

Cont’d Encapsulation Module Acquisition

Argument of module

Module

Library

Page 11: Advanced Genetic Programming

Cont’d Adaptive Representation

based on heuristic information make small subtree as candidate of module these subtree is extracted from population

serve as New functions, subroutines

Epoch : 새로운 candidates for module 집합이 생성될 때까지의 시간

Subtree 의 추출 부모와 비교해 가장 높은 Fitness 값을 가진 child

프로그램에서 가장 활동적인 부분 etc

Loop and Recursion limit number of iteration distribute execution time according to iteration type 처음부터 무한루프가 발생하지 않도록 구성

Page 12: Advanced Genetic Programming

Cont’d Memory Manipulation

assignment of Variables Complex data structure and Abstract Data Type

GP can handle any data type evolve its own data type

Cultural GP Advance by non-geneticnon-genetic information between individuals Issue

the dissemination speed of genetic information is slow compared to that of cultural information

hence, gene pool is more stable compared to the meme pool Use common Indexed memory

Page 13: Advanced Genetic Programming

Cont’d

Strongly Typed Genetic Programming

IF

+

Y 10

AND

OR=

X 1 Z Q

N

NN

N N

N N

S S

S S

S

Specify type!!

Page 14: Advanced Genetic Programming

Improving the Power of GP Search

Ontology

Adaptive Parsimony Pressure

Chunking

Co-Evolution

Hybrid Approaches

Page 15: Advanced Genetic Programming

Cont’d Ontology

individual 의 lifetime 중에 individual 의 구성변화 Structure

carrier of function. Determine function

GP 의 문제해결 How can the search be left unconstrained, whereas the solutions

need to be highly constrained through syntax? How can one use a compact genetic representation that unfolds into

a complex individual program? Is there a way to include the “environment” into process of

generating complexity?

Ontology Programming add self-modificationself-modification operator

Page 16: Advanced Genetic Programming

Cont’d

Adaptive Parsimony Pressure

Similar to human’s problem solving first find a solution next simply solution and make it more elegant

Error produced by individual i

Complexity of individual i

generation

Page 17: Advanced Genetic Programming

Cont’d

Chunking divide big fitness case into small chunks ex) image process

Co-Evolution 부모와 자식 세대가 서로 fitness 를 평가 .

Page 18: Advanced Genetic Programming

Cont’d

Hybrid Approach GP + other search algorithm

general search algorithm special purpose search algorithm