com.brownsoft.ag.mutacion
Class MutacionHillClimber

java.lang.Object
  |
  +--com.brownsoft.ag.mutacion.MutacionHillClimber
All Implemented Interfaces:
IMotorListener, IMutacion

public class MutacionHillClimber
extends java.lang.Object
implements IMutacion

Aplico un algoritmo de random-hill-climbing a un individuo Es decir, voy eligiendo bits al azar y les hago un flip y veo si el fitness que obtengo es mayor, en cuyo caso me voy quedando con el nuevo genotipo. Hago esto hasta N veces

Version:
1.0
Author:
Gustavo Brown

Field Summary
protected  int N
           
 
Constructor Summary
MutacionHillClimber(int N)
          Constructor
 
Method Summary
 void finAlgoritmo()
          Avisa que finalizó la ejecución del algoritmo
 void finIteracion()
          Indica que se finaliza la iteracion
 void inicializar(MotorAG motor, double pMutacion)
          Inicializa el operador de mutacion
 void inicioIteracion()
          Indica que se inica la iteracion
 IIndividuo mutar(IIndividuo individuo)
          Muta un individuo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

N

protected int N
Constructor Detail

MutacionHillClimber

public MutacionHillClimber(int N)
                    throws InvalidMutationException
Constructor

Parameters:
N - cantidad de veces que se realizan bit-flips
Method Detail

inicializar

public void inicializar(MotorAG motor,
                        double pMutacion)
Inicializa el operador de mutacion

Specified by:
inicializar in interface IMutacion
Parameters:
motor - MotorAG asociado
pMutacion - probabilidad de mutacion

mutar

public IIndividuo mutar(IIndividuo individuo)
                 throws InvalidMutationException
Muta un individuo

Specified by:
mutar in interface IMutacion
Parameters:
individuo - a mutar
InvalidMutationException

inicioIteracion

public void inicioIteracion()
Indica que se inica la iteracion

Specified by:
inicioIteracion in interface IMotorListener

finIteracion

public void finIteracion()
Indica que se finaliza la iteracion

Specified by:
finIteracion in interface IMotorListener

finAlgoritmo

public void finAlgoritmo()
Avisa que finalizó la ejecución del algoritmo

Specified by:
finAlgoritmo in interface IMotorListener