원래 난수 발생 알고리즘은 random인 듯 보이지만 실은 그렇지 않은 pseudo-random number의 수열을 발생시키는 점화식을 사용합니다. 각 rand() 함수 구현마다 방식은 다르지만, 첫 번째 seed가 같으면 그 뒤에 따라 나오는 난수열이 동일함은 거의 모든 알고리즘이 공통으로 갖는 특성입니다. 그러니 카드 배열 알고리즘이 deterministic이라면 모든 카드 배열은 seed에 의해 deterministic으로 정해지는 셈이죠.
살짝 주제에서 벗어나는 이야기지만, 얼마나 임의적으로 보이는 pseudo-random number를 생성할 수 있겠느냐도 오랜 연구 주제 중 하나였습니다. TAOCP Vol.2에서도 이 내용을 간략하게 다룹니다.
원래 난수 발생 알고리즘은 random인 듯 보이지만 실은 그렇지 않은 pseudo-random number의 수열을 발생시키는 점화식을 사용합니다. 각 rand() 함수 구현마다 방식은 다르지만, 첫 번째 seed가 같으면 그 뒤에 따라 나오는 난수열이 동일함은 거의 모든 알고리즘이 공통으로 갖는 특성입니다. 그러니 카드 배열 알고리즘이 deterministic이라면 모든 카드 배열은 seed에 의해 deterministic으로 정해지는 셈이죠.
살짝 주제에서 벗어나는 이야기지만, 얼마나 임의적으로 보이는 pseudo-random number를 생성할 수 있겠느냐도 오랜 연구 주제 중 하나였습니다. TAOCP Vol.2에서도 이 내용을 간략하게 다룹니다.