유전 알고리즘 계산기
이진 문자열 개체 집단에 선택·교차·돌연변이를 반복 적용해 세대가 지날수록 목표에 가까워지는 과정을 보여줍니다. 세대별 평균·최고 적합도를 함께 확인합니다.
0과 1로 4~24자를 입력합니다.
비트 하나당 확률
같은 시드면 늘 같은 결과가 나옵니다.
4세대에서 목표와 완전히 일치
10110010
최종 적합도 8/8 · 목표 10110010
세대별 적합도
| 세대 | 평균 적합도 | 최고 적합도 | 최고 개체 |
|---|---|---|---|
| 1 | 4.45 | 6 | 10100000 |
| 2 | 5.35 | 7 | 00110010 |
| 4 | 6.65 | 8 | 10110010 |
| 6 | 7.7 | 8 | 10110010 |
| 8 | 7.9 | 8 | 10110010 |
| 10 | 7.9 | 8 | 10110010 |
| 12 | 7.75 | 8 | 10110010 |
| 14 | 7.95 | 8 | 10110010 |
| 16 | 7.95 | 8 | 10110010 |
| 18 | 7.8 | 8 | 10110010 |
| 20 | 7.7 | 8 | 10110010 |
| 22 | 7.8 | 8 | 10110010 |
| 24 | 7.7 | 8 | 10110010 |
| 26 | 7.7 | 8 | 10110010 |
| 28 | 7.85 | 8 | 10110010 |
| 30 | 7.8 | 8 | 10110010 |
계산 방법
- 1맞혀야 할 목표 비트열(0과 1)을 입력합니다.
- 2개체 수·세대 수·교차 확률·돌연변이 확률·시드를 정합니다.
- 3세대별 평균·최고 적합도가 어떻게 오르는지 표에서 확인합니다.
- 4목표와 완전히 일치하는 개체가 나온 세대(있다면)를 확인합니다.
자주 묻는 질문
해 하나를 파고드는 대신, 여러 개체(해 후보)로 이뤄진 집단을 만들어 적합도가 높은 개체가 살아남고 짝짓기(교차)해 다음 세대를 만드는 과정을 반복하는 최적화 방법입니다. 생물의 자연선택·유전을 흉내 낸 것입니다.
선택은 적합도가 높은 개체가 부모로 뽑힐 확률을 높이는 것입니다(이 계산기는 무작위로 몇 개를 뽑아 그중 최고를 고르는 토너먼트 선택을 씁니다). 교차는 두 부모의 비트열을 한 지점에서 잘라 섞어 자식을 만드는 것이고, 돌연변이는 각 비트를 낮은 확률로 뒤집어 다양성을 유지하는 것입니다.
선택·교차·돌연변이는 모두 확률적이라, 아무 장치가 없으면 힘들게 찾은 최고 개체가 다음 세대에서 사라질 수 있습니다. 그래서 매 세대 최고 개체 하나는 손대지 않고 그대로 다음 세대로 넘깁니다. 이 덕분에 역대 최고 적합도는 세대가 지나도 절대 줄지 않습니다.
경사하강법은 미분으로 해 하나를 결정론적으로 내려가고, 시뮬레이티드 어닐링은 해 하나를 확률적으로 옮겨 다니며 개선합니다. 둘 다 해가 늘 하나입니다. 유전 알고리즘은 집단 전체를 동시에 진화시킨다는 점에서 최적화의 다른 갈래입니다.
네. 이 계산기는 시드를 고정한 난수를 씁니다. 같은 목표·개체 수·세대 수·확률·시드를 넣으면 언제나 똑같은 진화 과정이 재현됩니다.
알아두면 좋은 점
- 이 계산기가 푸는 문제는 목표 비트열과 최대한 일치하는 개체 찾기라는 단순화한 예제입니다. 실제 최적화 문제는 적합도 함수 설계가 훨씬 복잡합니다.
- 확률적 과정이라 짧은 목표·적은 세대에서도 완전히 일치하는 개체를 못 찾을 수 있습니다. 세대 수나 개체 수를 늘리면 찾을 확률이 올라갑니다.
- 목표 비트열은 4~24자, 개체 수는 4~60, 세대 수는 1~200까지 다룹니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.