본문 바로가기

유전 프로그래밍

유전 알고리즘(Genetic Algorithm) 유전 알고리즘이란? 유전 알고리즘(Genetic Algorithm)은 자연세계의 진화과정에 기초한 계산 모델로서 존 홀랜드(John Holland)에 의해서 1975년에 개발된 전역 최적화 기법으로, 최적화 문제를 해결하는 기법의 하나이다. 생물의 진화를 모방한 진화 연산의 대표적인 기법으로, 실제 진화의 과정에서 많은 부분을 차용하였으며, 변이(돌연변이), 교배 연산 등이 존재한다. 또한 세대, 인구 등의 용어도 문제 풀이 과정에서 사용된다. 출처 : 위키백과 유전 알고리즘은 선택(Selection), 변이(Mutation), 교차(Crossover)기법을 사용할 수 있다. 선택(Selection)한 세대에서 다음 세대로 전해지는 해의 후보가 되는 해들을 선택한다. 선택 방법에는 균등 비례 룰렛 휠 선.. 더보기
A Genetic Programming Approach to Automated Software Repair A Genetic Programming Approach to Automated Software Repair 0. Abstract 유전 프로그래밍(genetic programming)은 유전 프로그래밍은 기존 C 프로그램에서 버그를 수정하기 위한 프로그램 분석 방법과 결합된다. Fitness는 수리(repair)할 버그를 실행하는 negative test case와 프로그램 요구사항을 인코드(encode)한 positive test case를 사용해서 정의된다. 성공적인 수리가 발견되었으면, 구조적으로 다른 알고리듬과 델타 디버깅 방법(delta debugging methods)은 사이즈를 최소화한다. GP 기술에서 다수의 변형은 아래의 것들을 성공하는데 기여한다:1. 유전 연산자는 negative tes.. 더보기