180 likes | 298 Views
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.
E N D
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
100 different situations Each test takes 500 ms Total 50 programs 각 프로그램이 한번씩만 돌리도록 하자! 한번 진행에 17시간.. Cont’d • Stochastic Sampling
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 program • 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 defun defun Values ADF0 (ARG0) Values ADF0 * ADF0 (ARG0) * X (ARG0) (ARG0)
Cont’d • Module Acquisition • Encapsulation Module Library Argument of module
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-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
Specify type!! Cont’d • Strongly Typed Genetic Programming N IF S N N AND + S S N N 0 = OR Y 1 N S N S X 1 Z Q
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-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