Random Number Generators
Random number generation
Random number generation is a process by which, often using a random number generator (RNG) or a random sequence of symbols or numbers that cannot be easily predictable better than the random chance is generated. This means that the outcomes will include patterns that can be seen in hindsight, but unpredictable to foresight. True random number generators can be hardware random-number generators(HRNGS) that produce random numbers, and each generation is a function of the current value of the physical environment's attribute which changes continuously and in a way practically impossible to model. This would be in contrast to so-called "random number generations" done by pseudorandom number generators (PRNGs) that generate numbers that only look random but are in fact pre-determined--these generations can be reproduced simply by knowing the state of the PRNG.
Various applications of randomness have led to the creation of various methods for creating random data. Certain of these techniques have been used from the beginning of time, in their ranks are the well-known "classic" examples, including the rolling of dice, coin flipping, the shifting of playing cards using yarrow stalks (for predictions) found in the I Ching, as well as countless other techniques. Due to the mechanical nature of these techniques making large numbers of numbers that were sufficiently random (important in statistics) required much work and time. So, results would often be compiled and distributed in random number tables.
Several computational methods to generate pseudorandom numbers are in use. Each of them fails to meet the aim of true randomness. They may have a chance to pass, but with varying degrees of satisfaction, some tests that are meant to assess the uncertainty of their results (that is the extent to which the patterns they generate are evident). These tests are usually not appropriate for use in applications like encryption. However, carefully-designed digitally-secure cryptographically encrypted pseudorandom generation systems (CSPRNGS) also exist, with special features designed specifically for use in cryptography.
Practical applications and uses [editPractical applications and uses[edit
Principal article: Application of randomness
Random number generators can be used for gambling, statistical sampling as well as computer simulation cryptography fully randomized design and many other areas in which an unpredictable outcome is desired. Generallyspeaking, in applications with unpredictable outcomes as their primary feature including security, hardware generators tend to be preferred over pseudorandom algorithm, if feasible.
Pseudorandom generators are useful in developing Monte Carlo methods of simulations, as they allow for debugging. This is made easier by their ability to run the identical set of random number sequences repeatedly with exactly the same random seed. They are also used in cryptography - so long that the seed is kept secret. Sender and receiver can generate the same set of numbers to use as keys.
The generation of pseudorandom numbers is an important and routine task in computer programming. While cryptography, as well as some mathematical algorithms require a high degree of obvious randomness, many other functions require only little or no unpredictability. A few examples are the ability to present a user with the "random quote of the day", or determining which way an adversary controlled by computers could be moving in a computer game. The less random forms of randomness are employed in hash algorithms and when creating amortized-searching and sorting algorithms.
Certain programs that appear at initially to be appropriate for randomization are in fact not quite so simple. For instance, a device that "randomly" selects music tracks for a background music system can only have the appearance of random. It could even include ways to control the musical selections such that a genuine random system has no limit on repeating the same song more than three times.
Comments
Post a Comment