Skip to content

Linear congruential generator (LCG) is an application that demonstrates the generation of pseudo-random numbers. The LCG is a specialized mathematical function (deterministic algorithm) for simulation of “random” numbers. The numbers generated by LCG are called pseudo-random numbers.

License

Notifications You must be signed in to change notification settings

Gagniuc/Linear-congruential-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linear congruential generator

Linear congruential generator (LCG) is an application that demonstrates the generation of pseudo-random numbers. The LCG is a specialized mathematical function (deterministic algorithm) for simulation of “random” numbers. The numbers generated by LCG are called pseudo-random numbers. This name comes from the fact that the random numbers are generated based on mathematical formulas, which explode an initial “seed” (usually, a number extracted from the computer clock) into a sequence of numbers that follow a pattern. Thus, each new number in the sequence will be dependent on the previous number provided by the same formula. The classical example of a pseudo-random generator is the linear congruential generator (Xn+1 = (a × Xn + c) mod m):

X[n+1] = (a × X[n] + c) mod m

Where X1 is an integer seed, n indicates the total number of terms in the sequence, m is the modulus, a is the multiplier, and c is the increment. The pattern of such a function shows a characteristic distribution for long numerical sequences that exceed the period (the cycle of repetition). The range of numbers of the above function is between 0 and m−1, with a uniform distribution of integers. The length of a period can be controlled by setting the value of m. However, a narrow portion over this sequence shows a small piece of the wider pattern, thus simulating randomness without showing the real distribution derived from the initial seed (X1). This subject of pseudo-random numbers is related to a philosophical discussion from the book entitled Algorithms in Bioinformatics: Theory and Implementation. Note that the construction and theory behind the chart of this application can be found here.

Live demo: https://gagniuc.github.io/Linear-congruential-generator/

References

  • Paul A. Gagniuc. Algorithms in Bioinformatics: Theory and Implementation. John Wiley & Sons, Hoboken, NJ, USA, 2021, ISBN: 9781119697961.

About

Linear congruential generator (LCG) is an application that demonstrates the generation of pseudo-random numbers. The LCG is a specialized mathematical function (deterministic algorithm) for simulation of “random” numbers. The numbers generated by LCG are called pseudo-random numbers.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Languages