Talk:Randomized algorithm

From Wikipedia, the free encyclopedia
Jump to: navigation, search
edit·history·watch·refresh Stock post message.svg To-do list for Randomized algorithm:

Here are some tasks awaiting attention:
  • Expand : Motivation: find a better example (closest pair?) that can be formulated using randomization of the input, Las Vegas and Monte Carlo while reducing expected run time and memory usage.

Comment on "Motivation"[edit]

"Find an 'a' in the array" is not an output. Possible outputs would be a boolean (" 'a' found") or 'a' itself.

"findingA_LV(array A, n)" has no output.

The behaviour of "findingA_MC(array A, n, k)" is independent of 'a'.

I am not editing because I do not know what is intended, am ignorant of the subject, which is why I looked this up. — Preceding unsigned comment added by (talk) 15:43, 8 December 2011 (UTC)

Merger proposal[edit]

Needs to be merged with randomized algorithms. Fredrik 09:33, 10 Mar 2004 (UTC)

Possible minor mistake in the Miller-Rabin primality test ?[edit]

Shouldn't the probability in the article: (3/4)100 be (1/4)100, according to the 3 propositions of the Miller-Rabin test, since the probability of not picking a witness each iteration is 1/4?

  • Yes, it should have been (1/4)100. Corrected now. Andris 15:29, Jun 28, 2004 (UTC)

Nonterminating "algorithm"?[edit]

I am told by my theoretical Computer Science teacher that an algorithm is not an algorithm if it doesn't end (please see the wikipedia page about Algorithm: "given an initial state, will terminate in a corresponding recognizable end-state". So the side-note "(possibly nonterminating) algorithm" doesn't make sense. But I don't know enough about this to make an edit.

No, algorithms that do not terminate are still algorithms.

There are two possible definitions of the term 'probabilistic algorithm'. See my addition to the intro section and cited books. Qwertyus (talk) 00:50, 28 April 2009 (UTC)

pseudorandom number generator?[edit]

In the first paragraph, the sentence: this means that the machine implementing the algorithm has access to a pseudorandom number generator. - does it really matter if the random number generator is pseodorandom? Would an algorithm which used a Hardware random number generator, not be classed as a randomized algorithm? If so, then this line should be changed to ' a source of random numbers'...

The statement was oddly placed and unclear; it said "in common practice" and is describing how they're typically implemented, as opposed to defining "randomized algorithm." In fact, a program based on a PRNG isn't a randomized algorithm at all but a deterministic approximation of one, so this was quite misleading. Dcoetzee 04:30, 4 December 2008 (UTC)
After reading the paragraph In common practice, randomized algorithms are approximated using a pseudorandom number generator in place of a true source of random bits; such an implementation may deviate from the expected theoretical behavior., I thought a reference is missing, did anyone found a reference, or is willing to re-write or remove it. As a non-english native I don't think I am able to write an understandable and grammatically correct part, in addition I am not fimilar enough with theoretical informatics. - Have a nice day, -- 12:50, 7 June 2014 (UTC)~ — Preceding unsigned comment added by (talk)

Where randomness helps[edit]

Another example that could be added to the list Randomized algorithm#Where randomness helps: Symmetry breaking in distributed computing. As a trivial example, leader election in a symmetric, anonymous network is impossible without randomness. — Miym (talk) 00:04, 29 November 2009 (UTC)

Relevance of Prisoner's Dilemma[edit]

I don't pretend to have a deep understanding of randomized algorithms, but the invocation of the Prisoner's Dillema in the "Motivation" section makes little sense to me: "Randomized algorithms are particularly useful when faced with a malicious "adversary" or attacker who deliberately tries to feed a bad input to the algorithm (see worst-case complexity and competitive analysis (online algorithm)) such as in the Prisoner's dilemma." I don't think the Prisoner's Dilemma is at all an example of what the sentence is talking about (another party passing particular data to an algorithm, hoping to make it work as hard as possible). Am I missing something? Dindon (talk) 04:58, 16 December 2009 (UTC)


I don't understand why the Monte Carlo algorithm does not care about finding an 'a' and how we'd use it in practice. Should we always run it k times in a row and then have a look at what has been found (after each iteration? or just at the k^th)? Or is a stop condition based on the value selected at each iteration missing? (talk) 15:27, 22 September 2010 (UTC)

History section[edit]

From the history section: «[...] since with a little care the probability of error can be made astronomically small.» Astronomically small... I don't know what that's supposed to mean. Maybe rewrite to negligible or something like that? (talk) 00:22, 6 January 2012 (UTC)


In cryptographic applications, pseudo-random numbers cannot be used, since the adversary can predict them, making the algorithm effectively deterministic. Therefore either a source of truly random numbers or a cryptographically secure pseudo-random number generator is required.

The first sentence contradicts the second. Cryptographically secure pseudo-random numbers are still pseudo-random numbers. Get plenty of rest before editing, unless stupidity is the main problem, then try banging your head on the wall. — Preceding unsigned comment added by (talk) 19:42, 13 January 2014 (UTC)