Common · History
Randomized algorithm
Algorithm designed to use randomness from auxiliary inputs as part of its logic
A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performance in the "average case" over all possible choices of random determined by the random bits; thus either the running time, or the output (or both) are random variables.
From Wikipedia
A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performance in the "average case" over all possible choices of random determined by the random bits; thus either the running time, or the output (or both) are random variables. There is a distinction between algorithms that use the random input so that they always terminate with the correct answer, but where the expected running time is finite (Las Vegas algorithms, for example Quicksort), and algorithms which have a chance of producing an incorrect result (Monte Carlo algorithms, for example the Monte Carlo algorithm for the MFAS problem) or fail to produce a result either by signaling a failure or failing to terminate. In some cases, probabilistic algorithms are the only practical means of solving a problem. 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 and mathematical guarantees which may depend on the existence of an ideal true random number generator.
Text: Wikipédia, CC BY-SA 4.0. ·
Related cards
-
★★★
Interleaved memory
Computer memory access architecture
-
★★★
Common logarithm
The logarithm with base 10, formerly widely used for calculations
-
E★★
Exponentiation by squaring
Algorithm
-
★★★★★★
R (programming language)
Programming language for statistical analysis
-
O★
Overhead (computing)
Any combination of excess or indirect computation time, memory, bandwidth, or other resources that are required to perform a specific task
-
★★★
NP (complexity)
Computational complexity class of decision problems solvable by a non-deterministic Turing machine in polynomial time
-
C★★★
Computational complexity
Measure of the amount of resources needed to run an algorithm or solve a computational problem
-
★★★
Dynamic programming
Problem optimization method that simplifies a complicated problem by decomposing it into simpler subproblems recursively
-
L★
Loop unrolling
Loop transformation technique
-
★★★
Mathematical analysis
Branch of mathematics
-
M★
Mediocrity principle
Philosophical concept
-
I★
Information gain (decision tree)
Gain from observing another random variable
-
★★
Path tracing
Computer graphics method
-
I★★
Introduction to Algorithms
Book on computer programming
-
★★
RAS syndrome
Using an acronym followed by one of the words composing that acronym
-
★★★
Cauchy distribution
Probability distribution
-
V★★
Variety (cybernetics)
Number of states of a cybernetic system
-
E★
Envelope theorem
Theorem in mathematics and economics