lio.search.probabilistic
Class PBIL

java.lang.Object
  extended by lio.search.LiOSearch
      extended by lio.search.probabilistic.PBIL
All Implemented Interfaces:
java.lang.Runnable, LiOResource

public class PBIL
extends LiOSearch

This class implements the population based incremantal learning defined by Shumeet Baluja in "Population-Based Incremental Learning: A Method for Integrating Genetic Search Based Function Optimization and Competitive Learning". This version can be found in "An Empirical Comparison of Seven Iterative and Evolutionary Function Optimization Heuristics", of the same author.


Field Summary
 
Fields inherited from class lio.search.LiOSearch
listenerList, searchOutput, stopCondition, stopFlag
 
Constructor Summary
PBIL()
          Creates a new instance of PBIL
 
Method Summary
 LiOResourceDefinition getDefinition()
          Return a LiOResDescription object which holds the name and all parameters that describe the resource.
 double getLearningRate()
          Getter for property learningRate.
 double getMutationProbability()
          Getter for property mutationProbability.
 double getMutationShift()
          Getter for property mutationShift.
 double getNegativeLearningRate()
          Getter for property negativeLearningRate.
 int getPopulationSize()
          Getter for property populationSize.
static void main(java.lang.String[] args)
           
 void run()
           
 void setLearningRate(double learningRate)
          Setter for property learningRate.
 void setMutationProbability(double mutationProbability)
          Setter for property mutationProbability.
 void setMutationShift(double mutationShift)
          Setter for property mutationShift.
 void setNegativeLearningRate(double negativeLearningRate)
          Setter for property negativeLearningRate.
 void setPopulationSize(int populationSize)
          Setter for property populationSize.
 boolean worksWith(LiOTask kindOfTask)
          Allows knowing if the specified algorithm is able to process the task.
 
Methods inherited from class lio.search.LiOSearch
addLiOEventListener, build, cleanExecution, execute, fireFinishEvent, getSearchOutput, getStopCondition, initialize, initialize, loadSearchOutput, loadStatistics, loadStopCondition, removeLiOEventListener, setOptions, setSearchOutput, setStopCondition, setTask, showOptions, stopCondition, stopSearching, updateTaskDependentResources
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PBIL

public PBIL()
Creates a new instance of PBIL

Method Detail

run

public void run()

worksWith

public boolean worksWith(LiOTask kindOfTask)
Description copied from class: LiOSearch
Allows knowing if the specified algorithm is able to process the task.

Specified by:
worksWith in class LiOSearch
Returns:
true if the search algorithm can deal with this kind of task and the corresponding data-type

getDefinition

public LiOResourceDefinition getDefinition()
Description copied from interface: LiOResource
Return a LiOResDescription object which holds the name and all parameters that describe the resource.

Returns:
A definition of the resource.

main

public static void main(java.lang.String[] args)
Parameters:
args - the command line arguments

getPopulationSize

public int getPopulationSize()
Getter for property populationSize.

Returns:
Value of property populationSize.

setPopulationSize

public void setPopulationSize(int populationSize)
Setter for property populationSize.

Parameters:
populationSize - New value of property populationSize.

getLearningRate

public double getLearningRate()
Getter for property learningRate.

Returns:
Value of property learningRate.

setLearningRate

public void setLearningRate(double learningRate)
Setter for property learningRate.

Parameters:
learningRate - New value of property learningRate.

getNegativeLearningRate

public double getNegativeLearningRate()
Getter for property negativeLearningRate.

Returns:
Value of property negativeLearningRate.

setNegativeLearningRate

public void setNegativeLearningRate(double negativeLearningRate)
Setter for property negativeLearningRate.

Parameters:
negativeLearningRate - New value of property negativeLearningRate.

getMutationProbability

public double getMutationProbability()
Getter for property mutationProbability.

Returns:
Value of property mutationProbability.

setMutationProbability

public void setMutationProbability(double mutationProbability)
Setter for property mutationProbability.

Parameters:
mutationProbability - New value of property mutationProbability.

getMutationShift

public double getMutationShift()
Getter for property mutationShift.

Returns:
Value of property mutationShift.

setMutationShift

public void setMutationShift(double mutationShift)
Setter for property mutationShift.

Parameters:
mutationShift - New value of property mutationShift.