Las Vegas algorithm

From Wikipedia Quality
(Redirected from Las vegas algorithm)
Jump to: navigation, search

In computing, a Las Vegas algorithm is a randomized algorithm that always gives correct results; that is, it always produces the correct result or it informs about the failure. In other words, a Las Vegas algorithm does not gamble with the correctness of the result; it gambles only with the resources used for the computation. A simple example is randomized quicksort, where the pivot is chosen randomly, but the result is always sorted. The usual definition of a Las Vegas algorithm includes the restriction that the expected run time always be finite, when the expectation is carried out over the space of random information, or entropy, used in the algorithm. An alternative definition requires that a Las Vegas algorithm always terminates (be effective), but it may output a symbol not part of the solution space to indicate failure in finding a solution.

Las Vegas algorithms were introduced by László Babai in 1979, in the context of the graph isomorphism problem, as a dual to Monte Carlo algorithms. Las Vegas algorithms can be used in situations where the number of possible solutions is limited, and where verifying the correctness of a candidate solution is relatively easy while calculating the solution is complex.

The name refers to the city of Las Vegas, which is well known as an icon of gambling.