Call Dave
(702) 379-3401
  • 유전 프로그래밍 예제

    유전 알고리즘과 프로그래밍은 소프트웨어 개발 방식을 근본적으로 바꿉니다: 프로그래머에 의해 코딩되는 대신, 문제를 해결하기 위해 진화합니다. 유전 알고리즘과 프로그래밍은 동물이 문제를 해결하기 위해 진화하는 자연의 진화를 복제하고자합니다. 유전 프로그래밍은 전체 소프트웨어 프로그램(일반적으로 Lisp 소스 코드의 형태로)을 만드는 것을 말합니다. 유전 알고리즘은 짧은 코드 조각(염색체라는 문자열로 표시)을 만드는 것을 말합니다. 계산 집약적인 프로세스는 IO를 거의 수행하지 않는 프로세스로, 예를 들어 파일에서 일부 초기 데이터를 읽은 다음 끝에 결과를 생성하기 전에 데이터를 처리하는 데 오랜 시간을 소비하므로 최소한의 출력이 필요합니다. 전산 유체 역학(CFD) 및 일기 예보 및 컴퓨터 기반 시뮬레이션과 같은 응용 분야에서의 유전 프로그래밍과 같은 기술을 사용하는 대부분의 과학적 컴퓨팅은 이 범주에 속합니다. 이러한 응용 프로그램은 IO 활동을 수행하지 않고도 오랜 시간 동안 실행할 수 있습니다. 따라서, 그들은 거의 항상 할당 된 시간 조각을 전체를 사용하고 거의 차단하지 않습니다. 지금까지, 우리는 개별적인 값으로 평가하는 프로그램을 생성하기 위하여 유전 프로그래밍을 사용하여 설명했습니다. 그러나 더 흥미로운 것은 AI가 변수와 미지수를 포함하는 보다 복잡한 수학적 함수에 대한 프로그램을 생성하는 것입니다. 이러한 방식으로, 우리는 유전 알고리즘에 예를 들어 X 및 Y 값과 같은 몇 가지 훈련 데이터 예제를 제공할 수 있습니다.

    그런 다음 AI에게 이러한 X 및 Y 값에 해당하는 수학 수식을 생성하도록 요청할 수 있습니다. 목표는 주어진 X 값에 대한 Y의 결과를 정확하게 계산할 수 있는 결과 프로그램이 될 것입니다. 상기 예는 값(123)을 출력하는 프로그램을 생성하는 유전자 프로그래밍 솔루션의 초기 실행을 나타낸다. 유전 알고리즘은 생성된 발현 트리의 깊이에 대한 제한을 포함하지 않는다. GP는 다양한 문제 영역, 특히 매개 변수 최적화에 자연적인 진화에서 영감을 얻은 휴리스틱 검색 원칙을 적용하는 진화 알고리즘의 증가하는 컬렉션의 일부입니다. 유전 알고리즘, 진화 적 프로그래밍, 진화 전략 및 차동 진화는 대부분 최적화 기술로 응용 프로그램을 찾을 진화 알고리즘영역의 다른 지점입니다. GP와 이러한 진화 알고리즘의 다른 영역 간의 주요 차이점은 GP는 간단한 매개 변수가 아닌 동작을 제어하는 기호 식, 컴퓨터 지침 또는 기타 도구와 같은 활성 구성 요소를 처리한다는 것입니다. 또한 GP는 개인의 가변적 복잡성을 허용하여 문제의 자체 표현을 개발할 수 있습니다. GP는 자동 프로그래밍 도구, 기계 학습 도구 및 자동 문제 해결 엔진으로 성공적으로 사용되었습니다[18]. GP는 솔루션의 정확한 형태를 사전에 알 수 없거나 대략적인 솔루션이 허용되는 도메인에서 특히 유용합니다(정확한 솔루션을 찾는 것이 매우 어렵기 때문일 수 있음). GP의 응용 프로그램 중 일부는 곡선 피팅, 데이터 모델링, 기호 회귀, 기능 선택, 분류 등입니다. John R.

    Koza는 유전 프로그래밍이 인간이 생산한 결과(인간 경쟁 결과라고 함)와 경쟁적인 결과를 생성할 수 있었던 76가지 사례를 언급합니다[42]. 2004년부터 매년 개최되는 유전 및 진화 컴퓨팅 컨퍼런스(GECCO)는 인간 경쟁 상(Humies) 공모전[43]을 개최하며, 모든 형태의 유전적 및 진화적 결과에 대한 현금 상금이 수여됩니다. 계산.

    Comments are closed.

Copyright © 2019 Dave Radcliffe Vegas     Log in     Design by Real Estate Tomato     Powered by Tomato Real Estate Blogs

All Content Owned and Copyright Their Respective Owner Unless Otherwise Stated