PRNG Nonlinear Mixing of Multiple LCGs

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestatistical robustnessVSAvoidgenerator structure
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #40Composite materials

2Reliability

If the state space is increased for large-scale applications, then statistical robustness improves, but the complexity of the generator increases

Engineering Contradiction:
Improvestatistical robustnessVSAvoidgenerator structure
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

3Productivity

If parallel processing is implemented, then generation speed increases, but statistical correlations may appear among instances

Engineering Contradiction:
Improvegeneration speedVSAvoidstatistical independence
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10922052B2Generating pseudorandom number sequences by nonlinear mixing of multiple subsidiary pseudorandom number generators
Publication Date: 2021.02.16 ORACLE INT CORP
  • US10922052B2 patent drawing
  • US10922052B2 patent drawing
  • US10922052B2 patent drawing

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.