Advanced Genetic Programming
description
Transcript of Advanced Genetic Programming
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
Run Termination 실행을 중지하는 여러가지 제한조건 추가 Intron explosion
Parallelization Parallel Population
각 프로세서가 별도의 population 관리 인접 프로세서끼리 “ boatland”,”migrants” 로 통신 Linear speed-up 보다 빠르다 .
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
Cont’d
Stochastic Sampling
100 different situations
Each test takes 500 ms
Total 50 programs
한번 진행에 17 시간 ..
각 프로그램이 한번씩만
돌리도록 하자 !
Improving the Evolvability of Programs
Modularization Automatically Defined Functions(ADF) Encapsulation Module Acquisition Adaptive Representation Loops and Recursion Memory Manipulation Strongly Typed 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
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)
*
Cont’d Encapsulation Module Acquisition
Argument of module
Module
Library
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 처음부터 무한루프가 발생하지 않도록 구성
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
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!!
Improving the Power of GP Search
Ontology
Adaptive Parsimony Pressure
Chunking
Co-Evolution
Hybrid Approaches
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
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
Cont’d
Chunking divide big fitness case into small chunks ex) image process
Co-Evolution 부모와 자식 세대가 서로 fitness 를 평가 .
Cont’d
Hybrid Approach GP + other search algorithm
general search algorithm special purpose search algorithm