PRNG Nonlinear Mixing of Multiple LCGs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing pseudorandom number generators face challenges in providing a large state space suitable for large-scale applications with good statistical properties and are not adequately splittable for parallel processing, leading to potential statistical weaknesses and inefficiencies.
Innovation Solution
A pseudorandom number generator (PRNG) that nonlinearly combines outputs from two linear congruential generators, utilizing high bits and applying mixing functions to enhance randomness, while maintaining a deterministic and splittable algorithm suitable for parallel processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single pseudorandom number generator is used, then the generation process is simple, but the state space is limited and statistical weaknesses appear
Solution Approach 1:
The patent combines multiple independent linear congruential generators (LCGs) into a single pseudorandom number generator. Each LCG maintains its own state space, and their outputs are merged through nonlinear mixing functions to produce the final pseudorandom sequence. This merging approach increases the overall state space and improves statistical robustness while maintaining a relatively simple structural design.
Solution Approach 2:
The patent uses composite construction by combining multiple LCG components with different parameters (a1, a2, ..., ak and c1, c2, ..., ck) to create a more robust pseudorandom generator. The composite structure leverages the strengths of individual LCGs while mitigating their individual weaknesses through diversity in parameter selection and nonlinear mixing.
2Reliability
If the state space is increased for large-scale applications, then statistical robustness improves, but the complexity of the generator increases
Solution Approach 1:
The patent segments the pseudorandom number generation process into multiple independent LCG components, each contributing a portion of the state space. By dividing the overall generation task across multiple simpler sub-generators and combining their outputs, the system achieves a large effective state space without requiring a single complex generator structure.
3Productivity
If parallel processing is implemented, then generation speed increases, but statistical correlations may appear among instances
Solution Approach 1:
The patent enables parallel processing by segmenting the generation process into multiple independent LCG instances that can operate simultaneously. Each instance maintains its own state and generates pseudorandom numbers independently, allowing parallel execution across multiple processors or threads while preserving statistical independence through proper initialization and mixing.
Solution Approach 2:
The patent introduces nonlinear mixing functions as intermediaries that combine outputs from multiple parallel LCG instances. These mixing functions serve as mediators that preserve the statistical independence of parallel instances while integrating their outputs into a unified pseudorandom sequence, preventing correlations from manifesting in the final output.
Data Source
AI summary
A method and apparatus is provided for generating pseudorandom numbers in a way that is deterministic (i.e., repeatable), that passes statistical tests, can have multiple instances of objects generating pseudorandom numbers at the same time. Also, the collection of pseudorandom numbers generated by multiple instances have the same statistical properties as numbers generated by a single instance (i.e., randomness). Embodiments described herein generate pseudorandom values by using a plurality of subsidiary linear congruential generators and combining their outputs nonlinearly. According to embodiments, after their outputs have been combined, a mixing function is applied. Embodiments include an on-demand split method in the style of the SplitMix algorithm.


