도구스학업·수학

유전 알고리즘 계산기

이진 문자열 개체 집단에 선택·교차·돌연변이를 반복 적용해 세대가 지날수록 목표에 가까워지는 과정을 보여줍니다. 세대별 평균·최고 적합도를 함께 확인합니다.

0과 1로 4~24자를 입력합니다.

%
%

비트 하나당 확률

같은 시드면 늘 같은 결과가 나옵니다.

4세대에서 목표와 완전히 일치

10110010

최종 적합도 8/8 · 목표 10110010

세대별 적합도

세대평균 적합도최고 적합도최고 개체
14.45610100000
25.35700110010
46.65810110010
67.7810110010
87.9810110010
107.9810110010
127.75810110010
147.95810110010
167.95810110010
187.8810110010
207.7810110010
227.8810110010
247.7810110010
267.7810110010
287.85810110010
307.8810110010
1세대 최고 적합도6/8
30세대 최고 적합도8/8
역대 최고 적합도는 절대 줄지 않습니다. 매 세대 최고 개체 하나를 손대지 않고 그대로 다음 세대로 넘기는 엘리트 보존 덕분입니다. 선택·교차·돌연변이는 모두 확률적이라 엘리트 보존이 없으면 힘들게 찾은 좋은 해를 잃을 수 있습니다.
토너먼트 선택으로 부모를 고릅니다. 개체를 무작위로 몇 개 뽑아 그중 적합도가 가장 높은 것을 부모로 삼습니다. 뽑는 개수가 많을수록 우수한 개체가 뽑힐 확률이 높아져 수렴은 빨라지지만, 다양성이 줄어 지역해에 갇히기 쉬워집니다.
확률적 과정입니다. 짧은 목표·적은 세대에서도 완전히 일치하는 개체를 못 찾을 수 있습니다. 세대 수나 개체 수를 늘리거나 시드를 바꿔 다시 시도하면 찾을 확률이 올라갑니다.

계산 방법

  1. 1맞혀야 할 목표 비트열(0과 1)을 입력합니다.
  2. 2개체 수·세대 수·교차 확률·돌연변이 확률·시드를 정합니다.
  3. 3세대별 평균·최고 적합도가 어떻게 오르는지 표에서 확인합니다.
  4. 4목표와 완전히 일치하는 개체가 나온 세대(있다면)를 확인합니다.

자주 묻는 질문

해 하나를 파고드는 대신, 여러 개체(해 후보)로 이뤄진 집단을 만들어 적합도가 높은 개체가 살아남고 짝짓기(교차)해 다음 세대를 만드는 과정을 반복하는 최적화 방법입니다. 생물의 자연선택·유전을 흉내 낸 것입니다.

선택은 적합도가 높은 개체가 부모로 뽑힐 확률을 높이는 것입니다(이 계산기는 무작위로 몇 개를 뽑아 그중 최고를 고르는 토너먼트 선택을 씁니다). 교차는 두 부모의 비트열을 한 지점에서 잘라 섞어 자식을 만드는 것이고, 돌연변이는 각 비트를 낮은 확률로 뒤집어 다양성을 유지하는 것입니다.

선택·교차·돌연변이는 모두 확률적이라, 아무 장치가 없으면 힘들게 찾은 최고 개체가 다음 세대에서 사라질 수 있습니다. 그래서 매 세대 최고 개체 하나는 손대지 않고 그대로 다음 세대로 넘깁니다. 이 덕분에 역대 최고 적합도는 세대가 지나도 절대 줄지 않습니다.

경사하강법은 미분으로 해 하나를 결정론적으로 내려가고, 시뮬레이티드 어닐링은 해 하나를 확률적으로 옮겨 다니며 개선합니다. 둘 다 해가 늘 하나입니다. 유전 알고리즘은 집단 전체를 동시에 진화시킨다는 점에서 최적화의 다른 갈래입니다.

네. 이 계산기는 시드를 고정한 난수를 씁니다. 같은 목표·개체 수·세대 수·확률·시드를 넣으면 언제나 똑같은 진화 과정이 재현됩니다.

알아두면 좋은 점

  • 이 계산기가 푸는 문제는 목표 비트열과 최대한 일치하는 개체 찾기라는 단순화한 예제입니다. 실제 최적화 문제는 적합도 함수 설계가 훨씬 복잡합니다.
  • 확률적 과정이라 짧은 목표·적은 세대에서도 완전히 일치하는 개체를 못 찾을 수 있습니다. 세대 수나 개체 수를 늘리면 찾을 확률이 올라갑니다.
  • 목표 비트열은 4~24자, 개체 수는 4~60, 세대 수는 1~200까지 다룹니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.