공통난수법 (Common Random Numbers)
쉽게 풀면
두 레스토랑의 서비스 속도를 비교한다고 할 때, 각 레스토랑에 서로 다른 손님들이 무작위로 온다면 손님 자체의 차이 때문에 비교가 부정확해질 수 있습니다. 만약 완전히 똑같은 손님들이 같은 순서로 두 레스토랑을 방문한다고 가정하면, 결과의 차이는 순전히 레스토랑의 시스템 차이에서만 비롯됩니다. 공통난수법은 이런 아이디어를 시뮬레이션에 적용해, 비교 대상이 되는 여러 시스템에 똑같은 무작위 사건(손님 도착시간, 서비스시간 등)을 사용하도록 만드는 방법입니다. 그 결과 시스템 간 성능 차이를 더 명확하게 볼 수 있습니다.
왜 중요한가
산업공학에서는 여러 운영 정책이나 설계 대안을 시뮬레이션으로 비교하는 일이 많은데, 각 대안을 독립된 난수로 실행하면 우연에 의한 잡음이 실제 성능 차이를 가려버릴 수 있습니다. 공통난수법을 쓰면 잡음을 줄이고 대안 간 진짜 차이를 더 적은 반복으로도 통계적으로 유의하게 검출할 수 있습니다. 이 기법을 적용하면 동일한 통계적 유의성을 확보하는 데 필요한 시뮬레이션 반복 횟수가 줄어들어, 계산 자원이 제한된 환경에서 특히 유용하다고 평가됩니다.
논문에서는 이렇게 쓰입니다
대안 비교의 정밀도를 높이기 위해 동일한 난수 스트림을 적용한 예입니다.
공통난수법 적용 전후의 분산 감소 효과를 확인한 예입니다.
조금 더 깊게 보면
공통난수법이 효과를 내려면 각 난수 스트림이 시스템 내 동일한 확률적 사건(예: 특정 고객의 도착시간)에 일관되게 대응(synchronization)되어야 합니다. 동기화가 깨지면 오히려 분산이 증가할 수 있어, 난수 스트림을 사건별로 분리해 관리하는 것이 일반적입니다. 동기화를 구현하는 방법으로는 각 확률적 사건마다 별도의 난수 스트림을 배정하는 방식이 흔히 쓰이며, 이는 하나의 통합된 난수열을 사용하는 것보다 시스템 간 대응관계를 유지하기 쉽다고 설명됩니다.
주의할 점
모든 상황에서 분산 감소 효과가 보장되는 것은 아니며, 시스템 간 반응이 난수에 대해 단조적이지 않거나 동기화가 어려운 경우 효과가 줄어들거나 역효과가 날 수 있습니다.