Talk:Randomized algorithm
This is the talk page for discussing improvements to the Randomized algorithm article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
![]() | This article has not yet been rated on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||||||||||||||
Please add the quality rating to the {{WikiProject banner shell}} template instead of this project banner. See WP:PIQA for details.
Please add the quality rating to the {{WikiProject banner shell}} template instead of this project banner. See WP:PIQA for details.
|
|
Comment on "Motivation"
"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 82.210.108.5 (talk) 15:43, 8 December 2011 (UTC)
Merger proposal
Needs to be merged with randomized algorithms. Fredrik 09:33, 10 Mar 2004 (UTC)
Possible minor mistake in the Miller-Rabin primality test ?
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"?
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?
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 178.190.51.123 (talk)
Where randomness helps
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
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)
Motivation
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?134.58.45.79 (talk) 15:27, 22 September 2010 (UTC)
History section
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? 84.226.128.111 (talk) 00:22, 6 January 2012 (UTC)
motivation
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 24.151.242.14 (talk) 19:42, 13 January 2014 (UTC)
Remove a questionable remark on the effectivity
I made a change (forgot to log in before...) where I removed a remark on the *effectivity* of a Monte Carlo algorithm. It said that when the answer may be wrong (Monte Carlo algorithm), this is not an algorithm anymore. I do not know any reference pretending this, and on the contrary modern presentations of algorithms mention randomized algorithms (of any sort) as perfectly valid algorithms. The citation to justify the sentence was the following:
- Probabilistic algorithms should not be mistaken with methods (which I refuse to call algorithms), which produce a result which has a high probability of being correct. It is essential that an algorithm produces correct results (discounting human or computer errors), even if this happens after a very long time.
- H. Cohen (2000). A course in computational number theory. Springer-Verlag, p2.
However, this citation was misunderstood. The end of the paragraph is an example of a "non-algorithmic method" in the words of Cohen. It explains a pseudo-primality test (to test whether N is prime, test whether 2N-1 = 1 mod N) which fails for N = 341 for instance. This method indeed is not an algorithm. But it has nothing to do with a Monte Carlo algorithm! It uses no randomness, and consistently fails for some input. -- B!Gre (talk) 15:02, 2 September 2019 (UTC)
probabilistic algorithm
Today probabilistic algorithm is a redirect to randomized algorithm.
I feel that to comply with the WP:R#ASTONISH guideline, this article needs to specifically spell out the relationship between probabilistic algorithms and randomized algorithms. Are they the same (interchangeable synonyms)? If not, exactly what is the difference between a probabilistic algorithm and a randomized algorithm? --DavidCary (talk) 03:43, 26 December 2020 (UTC)
"Adversarial input" listed at Redirects for discussion
A discussion is taking place to address the redirect Adversarial input. The discussion will occur at Wikipedia:Redirects for discussion/Log/2021 May 13#Adversarial input until a consensus is reached, and readers of this page are welcome to contribute to the discussion. KnowledgeablePersona (talk) 04:56, 13 May 2021 (UTC)