유전자 프로그래밍이란 무엇입니까?
유전자 프로그래밍은 진화 알고리즘 기반 방법론을 사용하여 하나의 컴퓨터 프로그램을 사용하여 다른 컴퓨터 프로그램을 작성하는 과정입니다. 이 프로세스는 종종 선형 프로그래밍과 비교되며, 프로그래머는 컴퓨터가 수행하도록 특정 지침을 작성합니다. LISP 및 체계는 높은 수준의 기능과 유연성으로 인해 이러한 유형의 작업에서 가장 일반적인 프로그래밍 언어입니다. 생물학적 진화와 개념적 유사성의 결과로, 유전자 프로그래밍은 종종 생물에서 영감을 얻은 컴퓨팅의 예로 인용됩니다.
유전자 프로그램 (GPS) 작업 수천 개의 프로그램을 생성하고 실행하여 가장 효과적이며 가장 효과적인 사용을 선택합니다. 예를 들어, GP는 사진의 스케치를 그리는 프로그램을 만드는 데 사용될 수 있습니다. GP가 가장 먼저 할 일은 다양한 컴퓨터 드로잉 기능을 임의의 조합으로 사용하는 일련의 프로그램을 만드는 것입니다. 그런 다음 GP는 이러한 각 프로그램을 순서대로 실행하여 각 프로그램의 결과를 이미지로 출력합니다.파일.
GP의 다음 단계는 세트에서 최고의 프로그램을 선택하는 것입니다. 이 과정은 일반적으로 유전자 프로그래밍에서 가장 어려운 부분입니다. 드로잉 프로그램의 경우 GP는 이미지 비교 소프트웨어를 사용하여 소프트웨어가 그려 낸 이미지와 가장 유사한 임의의 도면을 결정합니다. 무작위로 생성 된 프로그램 중에서 GP는 상단을 선택하고 나머지를 버립니다. 선택 과정은 체력 평가라고하며 일반적으로 유전자 프로그래밍의 가장 어려운 부분으로 간주됩니다.
일단 상위 소수의 프로그램이 선택되면 GP는이를 새로운 프로그램 배치의 기초로 사용할 것입니다. 각각의 새로운 배치를 세대라고합니다. 새로운 세대를 만드는 두 가지 방법은 돌연변이와 교차입니다. 돌연변이는 기존 프로그램 중 하나를 취하고이를 무작위로 변경하여 작동합니다.더 좋습니다. 번식이라고도 불리는 크로스 오버는 두 가지 최고의 프로그램을 가져 와서 새로운 프로그램을 만들기 위해 요소를 결합하여 작동합니다.
새로운 배치의 프로그램을 만든 후 GP는이 프로그램을 실행하고 평가하는 프로세스를 반복 한 다음 선택, 제거 및 생성 프로세스를 반복합니다. GPS는 만족스러운 결과를 가진 단일 프로그램을 찾기 전에 수백 세대를 자주 운영합니다. 이러한 제한에도 불구하고 유전자 프로그래밍은 로봇 공학 및 인공 지능 문제를 포함하여 어려운 컴퓨팅 문제를 해결하는 일반적인 방법입니다.