진화/유전 알고리즘을 사용하여 문제를 해결하고 싶습니다. 그것은 예술과 관련이 있습니다 - 알고리즘을 보는 사람들은 하나의 염색체 (가능한 해결책)를 시도해야하고, 그들의 취향에 따라 평가해야합니다."동적 인구"를 지닌 진화 알고리즘
이 설정을 사용하면 평가 프로세스가 상당히 비용이 많이 들며 각 염색체를 테스트하는 데 많은 시간이 걸립니다. 실현 가능한 시간 (세대가 자주 바뀌는 것을 의미 함)에서 진전이 이루어 지도록하기 위해서는 작은 인구 규모를 수용해야합니다 (단점이 있습니다). 다른 옵션은 인구 규모가 더 크지 만 세대는 거의 없을 것입니다.
"동적 인구"라고 부르는 다른 해결책을 생각했습니다. 그것은 다음과 같이 작동합니다 :
- 인구 규모
x
으로, 설치에 알고리즘,x
염색체가 무작위로 생성x
1에서 번호가 자신의age
을 나타냅니다. - 초기 인구 염색체의 적합성이 평가됩니다.
- 하나의 새로운 염색체가 교차 및/또는 돌연변이 메커니즘을 사용하여 생성됩니다.
age = 1
이 새 염색체에 지정됩니다. 다른 모든 염색체는 한 단계 더 오래 성장합니다 (age = age + 1
).age > x
인 염색체는 개체군에서 제거됩니다. (크로스 오버 메커니즘이 자손으로 2 개의 염색체를 생산하는 경우, 한 어린이는age = 1
을 얻고 다른 하나는 을 얻고 다른 염색체는age = age + 2
) - 해결책을 찾을 때까지 1-3 단계 반복하십시오.
(이 과정은 확실히 쉽게 엘리트주의를 사용하여 채택 될 수 있습니다.)
이러한 메커니즘을 사용하여, 더 중요한 것은 (이 모든 (신규) 염색체와 (수) 진행을하고 것 내 케이스) 모든 평가.
나는 그러나 단점도 생각할 수...
같은 "동적 인구"를 사용하여 구현이 진화 알고리즘을 수용합니다되지 않는 논리적 인 이유가 있습니까?