Orbital library

## orbital.algorithm.template Interface ProbabilisticAlgorithm

All Known Implementing Classes:
ConcurrenceGeneticAlgorithm, GeneticAlgorithm, HillClimbing, IncrementalGeneticAlgorithm, LocalOptimizerSearch, SimpleGeneticAlgorithm, SimulatedAnnealing, SteadyStateGeneticAlgorithm, ThresholdAccepting, TransitionPath

`public interface ProbabilisticAlgorithm`

Tags probabilistic algorithms leading to approximative solutions.

Monte Carlo
"Monte Carlo" algorithms are mostly correct in the sense that they approximate the solution using random choices that should usually converge. When we say that "Monte Carlo" algorithms are mostly correct, we should remember that "mostly" is a euphemism for "not".
Las Vegas
"Las Vegas" algorithms do repetitive randomization until a solution is verified to be found. (Somehow corresponding to what NP algorithms are to P). In fact, Las Vegas algorithms need not even terminate, and have O(∞).

Author:
André Platzer
`isCorrect()`

Method Summary
` java.util.Random` `getRandom()`
Get the random-generator used as probabilistic random source.
` boolean` `isCorrect()`
Whether this algorithm is correct.
` void` `setRandom(java.util.Random randomGenerator)`
Set the random-generator to use as probabilistic random source.

Method Detail

### isCorrect

`boolean isCorrect()`
Whether this algorithm is correct.

Returns:
whether all solutions found by this algorithms are correct despite the approximative nature of this algorithm. Monte Carlo algorithms are not correct, while Las Vegas algorithms usually are.
Preconditions:
true
Postconditions:
RES == OLD(RES)

### getRandom

`java.util.Random getRandom()`
Get the random-generator used as probabilistic random source.

Returns:
the random generator used for producing probabilistic effects.

### setRandom

`void setRandom(java.util.Random randomGenerator)`
Set the random-generator to use as probabilistic random source.

Especially called to change the random source to a previous, more secure, or more realistic generator.

Parameters:
`randomGenarator` - the random generator to use for producing probabilistic effects.

Orbital library
1.3.0: 11 Apr 2009