A series of numbers or symbols that cannot be fairly anticipated other than by random chance is produced by a process known as random number generation. This technique often makes use of a random number generator (RNG), which stands for random number generator. This indicates that the specific result sequence will have certain patterns that are recognisable in retrospect but cannot be anticipated based on the current state of knowledge. True random number generators may take the form of hardware random-number generators (HRNGs), in which case each generation is a function of the current value of an attribute of a physical environment that is continually changing in a way that is almost impossible to predict.