Random Number Generators
Random number generation
Random number generation is a process in which, generally via the random number generator (RNG) an array of numbers or symbols that cannot be easily anticipated better than by random chance is generated. This means that the sequence that is generated will have patterns detectable in hindsight but unpredictable to the foresight. True random number generators can be hardware random-number generators(HRNGS) that generate random numbers, wherein each generation is a result of the current value of the physical attribute that can change in a way that is virtually impossible to describe. 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.
Many applications of randomness have led the way to the development of many different methods of generating random data. Certain of them have been in use since antiquity, there are many widely-known "classic" examples, including the rolling of dice, coin flipping, the shuffling of cards, and the use of yarrow-stalks (for for divination) found in the I Ching, as well as countless other techniques. Because of the mechanical nature of these methods creating large amounts of random numbers (important in statistics) took a lot of effort and time. Therefore, the results could be collected and distributed as random number tables.
Several computational methods for creating pseudorandom numbers are available. Each of them fails to meet the aim of true randomness, but they can have a chance to pass, but with varying degrees of satisfaction, some statistical tests for randomness that are designed to gauge the extent to which their results can be unpredictable (that is the extent to which their patterns are discernible). These tests are typically ineffective for purposes such as Cryptography. However, specially designed security-assured cryptographically secured pseudorandom generators (CSPRNGS) also exist, and have functions specifically designed to be used in cryptography.
Practical applications and uses [editPractical applications and uses[edit
Article in the main section: Aspects in randomness
Random number generators may be utilized in games of chance, statistical sampling, computer simulation, cryptography, completely randomized design as well as other areas where a random outcome is desirable. In general, for applications that have unpredictable outcomes as their primary feature such as security applications, hardware generators are preferred over pseudorandom algorithm, if possible.
Pseudorandom number generators are very useful when developing Monte Carlo-method simulations, as the process of debugging is made simpler by the ability to run the identical series of numbers over and over again by starting with an identical random seed. They also are used in cryptography as long that it is ensured that the seed is not disclosed. Both the receiver and sender can generate the same set of numbers in a way to use as keys.
The creation of pseudorandom numbers is an important and common task in computer programming. While cryptography and specific algorithmic computations require a high level of visible randomness, other operations only need little or no unpredictability. Examples of this could be providing a user with a "random quote of the day" or determining the direction a computer-controlled enemy could move in a computer gaming. Weaker forms of randomness are employed in hash algorithms as well as in the creation of amortized searches or sorting techniques.
Certain programs that appear at first glance to be suitable to be suitable for randomization are in fact not quite so simple. For instance, a device that "randomly" selects music tracks for a background music system must only have the appearance of random. It could even contain ways to regulate the music selection A true random system would have no restriction on the same item appearing twice or three times in succession.
Comments
Post a Comment