Abstract
We study sub-Peres functions that are defined recursively as Peres function for random number generation. Instead of using two parameter functions as in Peres function, the sub-Peres functions uses only one parameter function. Naturally, these functions produce less random bits, hence are not asymptotically optimal. However, the sub-Peres functions runs in linear time, i.e., in O(n) time rather than O(n logn) as in Peres's case. Moreover, the implementation is even simpler than Peres function not only because they use only one parameter function but because they are tail recursive, hence run in a simple iterative manner rather than by a recursion, eliminating the usage of stack and thus further reducing the memory requirement of Peres's method. And yet, the output rate of the sub-Peres function is more than twice as much as that of von Neumann's method which is widely known linear-time method. So, these methods can be used, instead of von Neumann's method, in an environment with limited computational resources like mobile devices. We report the analyses of the sub-Peres functions regarding their running time and the exact output rates in comparison with Peres function and other known methods for random number generation. Also, we discuss how these sub-Peres function can be implemented.
이 논문은 무작위수 생성을 위한 페레즈 함수와 같이 재귀적으로 정의된 부 페레즈 함수에 대하여 논한다. 페레즈 함수와 같이 두 개의 인자함수를 쓰는 대신, 부 페레즈 함수들은 한 개의 인자함수만을 이용하여 정의된다. 따라서 당연히 그 출력효율은 페레즈 함수에 비하여 낮고, 점근적으로 최적효율을 내지도 않는다. 그러나, O(n logn)의 시간복잡도를 갖는 페레즈 함수에 비하여, 부 페레즈 함수들은 선형시간, 즉 O(n)의 시간에 실행된다. 더구나, 이 함수들은 하나의 인자함수를 쓰기 때문만이 아니라 꼬리재귀함수로서 간단한 반복수행에 의해 구현되어 페레즈 함수보다 더 적은 메모리로 구현될 수 있다. 그럼에도, 이 함수들은 널리 알려진 선형시간 알고리즘인 폰 노이만 방법보다 출력효율이 최대 두 배 이상 높다. 따라서, 이 방법들은 모바일 기기와 같은 제한된 계산 자원을 가진 환경에서 폰 노이만 방법 대신 이용될 수 있다. 이 논문에서는 이러한 부 페레즈 함수들의 실행시간과 정확한 출력효율을 분석하여, 페레즈 함수를 비롯한 다른 무작위수 생성을 위한 방법들과 비교한다. 그리고, 부 페레즈 함수들의 구현에 대하여 논한다.