매트랩 유전 알고리즘 예제

그의 알고리즘 디자인 매뉴얼에서 Skiena는 모든 작업에 대한 유전 알고리즘에 대해 조언합니다 : 이제 유전 알고리즘의 기본 이해를 이해했다고 가정합니다. 이제 데이터 과학에서 유전 알고리즘의 응용 프로그램 중 일부를 살펴보겠습니다. 유전 알고리즘을 사용하여이 문제를 해결하기 위해, 우리의 첫 번째 단계는 우리의 인구를 정의하는 것입니다. 그래서 우리의 인구는 각각 염색체의 그들의 자신의 세트를 가진 개별을 포함할 것입니다. 이것은 유명한 문제이며 시간 절약과 경제적이기 때문에 많은 판매 기반 회사에서 효율적으로 채택되었습니다. 이것은 또한 유전 알고리즘을 사용하여 달성됩니다. 이 프로세스는 궁극적으로 초기 생성과 다른 염색체의 차세대 인구 귀착됩니다. 일반적으로 평균 체력은 1 세대에서 최고의 유기체만 덜 적합 솔루션의 작은 비율과 함께 번식을 위해 선택되기 때문에, 인구에 대한이 절차에 의해 증가 할 것이다. 이 보다 적게 적당한 해결책은 부모의 유전 풀 내의 유전 다양성을 보장하고 그러므로 아이들의 후속 세대의 유전 다양성을 보장합니다. 진화는 일반적으로 무작위로 생성된 개인의 집단에서 시작되며, 각 반복의 인구를 세대라고 하는 반복 프로세스입니다. 각 세대에서, 인구에 있는 모든 개별의 적합성은 평가됩니다; 적합성은 일반적으로 해결되는 최적화 문제에서 객관적인 함수의 가치입니다.

더 적합 한 개인은 현재 인구에서 stochastically 선택, 각 개인의 게놈 수정 (재결합 하 고 아마도 무작위로 돌연변이) 새로운 세대를 형성 하기 위해. 그런 다음 차세대 후보 솔루션이 알고리즘의 다음 반복에 사용됩니다. 일반적으로 알고리즘은 최대 세대 수가 생성되거나 인구에 대해 만족스러운 체력 수준에 도달하면 종료됩니다. 대체 최적화 알고리즘에 비해 유전 알고리즘의 사용에 제한이 있습니다: 이것은 유전 변이의 규칙이 자연적인 경우에 다른 의미를 가질 수 있다는 것을 의미합니다. 예를 들면 – 단계가 연속순서로 저장된다는 것을 제공하십시오 – 교차는 아버지 DNA에서 단계의 수를 추가하는 모계 DNA에서 단계의 수를 합산할 수 있습니다 등등. 이것은 더 많은 아마 자형질 풍경에 능선을 따를 수 있습니다 벡터를 추가하는 것과 같습니다. 따라서, 공정의 효율은 많은 수주에 의해 증가될 수 있다. 또한, 반전 연산자는 생존 또는 효율성을 위해 연속 순서 또는 다른 적합한 순서로 단계를 배치 할 수있는 기회를 가합니다. [23] 각 후보 솔루션의 표준 표현은 비트의 배열입니다.

[3] 다른 형식 및 구조의 배열은 본질적으로 동일한 방식으로 사용할 수 있습니다. 이러한 유전 적 표현을 편리하게 만드는 주요 속성은 부품이 고정 된 크기로 인해 쉽게 정렬되어 간단한 크로스 오버 작업을 용이하게한다는 것입니다. 가변 길이 표현도 사용할 수 있지만 이 경우 크로스오버 구현이 더 복잡합니다. 나무와 같은 표현은 유전 프로그래밍에서 탐구되고 그래프 형식 표현은 진화 적 프로그래밍에서 탐구됩니다. 선형 염색체와 나무의 혼합은 유전자 발현 프로그래밍에서 탐구됩니다.

About the author: mcadmin