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
See Also:
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

Copyright © 1996-2009 André Platzer
All Rights Reserved.