Randomization function: Difference between revisions

Content deleted Content added
Tag: possible vandalism
Tag: New redirect
 
(5 intermediate revisions by 5 users not shown)
Line 1:
#REDIRECT [[Random number generation]]
{{Unreferenced|date=April 2009}}
In [[computer science]], a '''randomization function''' or '''randomizing function''' is an [[algorithm]] or [[Subroutine|procedure]] that implements a [[random]]ly chosen [[function (mathematics)|function]] between two specific [[set (mathematics)|set]]s, suitable for use in a [[randomized algorithm]].
 
{{Rcat shell|
Randomizing functions are related to [[random number generator]]s and [[hash function]]s, but have somewhat different requirements and uses, and often need specific algorithms.
{{R to related topic}}
 
}}
==Uses==
 
Randomizing functions are used to turn algorithms that have good [[expected value|expected]] performance for ''random'' inputs, into algorithms that have the same performance for ''any'' input.
 
For example, consider a [[sorting algorithm]] like [[quicksort]], which has small expected running time when the input items are presented in random order, but is very slow when they are presented in certain unfavorable orders. A randomizing function from the integers 1 to ''n'' to the integers 1 to ''n'' can be used used to rerrange the ''n'' input items in "random" order, before calling that algorithm. This modified (randomized) algorithm will have small expected running time, whatever the input order.
 
==Requirements==
 
these are nothing ,these are the functions written on basic of computers.
 
===Uniformity===
The uniformity requirements for a randomizing function are usually much weaker than those of hash functions and pseudo-random generators. The minimum requirement is that it maps any input of the deterministic algorithm into a "good" input with a sufficiently high probability. (However, analysis is usually simpler if the randomizing function implements each possible mapping with uniform probability.)
 
==References==
{{comp-sci-stub}}
[[Category:Algorithms]]