확률적 수용을 이용한 O(1) 로터리 휠 선택 알고리즘
초록
**
본 논문은 기존의 O(N)·O(log N) 방식 대신, 무작위로 개체를 선택하고 적합도 비율에 따라 수용 여부를 판단하는 “확률적 수용(stochastic acceptance)” 기법을 제안한다. 평균 시도 횟수가 상수 수준(τ ≈ w_max/⟨w⟩)에 머물러 전체 복잡도가 O(1)이며, 필요에 따라 하이브리드·무교체·컷오프 변형도 가능함을 보인다. 실험 결과는 기존 이진 탐색 대비 CPU 시간에서 수십 배의 가속을 확인한다.
**
상세 분석
**
이 논문은 유전 알고리즘 및 복잡계 네트워크 모델에서 널리 쓰이는 로터리 휠 선택(roulette‑wheel selection)의 구현 효율성을 근본적으로 재고한다. 전통적인 구현은 누적 적합도 배열을 만든 뒤, 무작위 실수 r을 생성하고 r이 속한 구간을 찾기 위해 선형 탐색(O(N)) 혹은 이진 탐색(O(log N))을 수행한다. 저자는 “확률적 수용”이라는 전혀 다른 접근법을 제시한다. 알고리즘은 다음 두 단계로 구성된다.
1️⃣ 전체 개체 N 중 하나를 균등 확률(1/N)로 무작위 선택한다.
2️⃣ 선택된 개체 i의 적합도 w_i 를 현재 최대 적합도 w_max 로 나눈 비율 w_i / w_max 만큼의 확률로 수용한다. 수용되지 않으면 1️⃣ 단계로 되돌아가 반복한다.
수학적으로 한 번의 시도에서 i가 선택될 확률은 w_i/(N·w_max)이다. 무한히 반복되는 시도 과정은 기하급수적 거절 확률 q = 1 − ⟨w⟩/w_max 로 표현되며, 전체 선택 확률 p′_i는
p′_i = (w_i/(N·w_max))·(1 + q + q² + …) = w_i/∑_j w_j = p_i
임을 증명한다. 즉, 기존 로터리 휠 선택과 동일한 확률 분포를 유지한다.
평균 시도 횟수 τ는
τ = w_max / ⟨w⟩
으로, 적합도 평균 ⟨w⟩가 최대 적합도에 비해 크게 작으면 τ가 커져 효율이 떨어진다. 하지만 대부분의 실용적인 경우(예: 적합도가 상수 B 이하이고 ⟨w⟩이 0에 수렴하지 않을 때) τ는 상수에 머물러 전체 알고리즘이 O(1) 복잡도를 가진다.
또한 저자는 두 가지 실용적 변형을 제안한다. 첫째, 적합도가 극단적으로 불균형한 경우(예: 하나의 w₁≫다른 w_i) “하이브리드” 전략을 사용한다. w₁을 직접 확률 w₁/∑w_i 로 선택하고, 나머지 N‑1 개체에 대해서는 확률적 수용을 적용하면 전체 기대 시도 횟수가 크게 감소한다. 둘째, 무교체(sampling without replacement) 상황에서는 선택된 개체의 적합도를 0으로 설정하고, 필요 시 w_max를 재계산하거나 상수 B를 이용해 수용 확률을 w_i/B 로 고정한다. 이는 선택 확률을 유지하면서도 중복 선택을 방지한다.
실험에서는 적합도가
댓글 및 학술 토론
Loading comments...
의견 남기기