public class Particula
extends java.lang.Object
Title: Particula (Particle)
Description: Particle class: Implements the particles needed on the Particle Swarm Optimization algorithm (PSO). This class stores the position and velocity of a standard particle of this algorithm, also manage those variables by progressing through time, but also stores and manages information used by the ACO algorithm like the pheromone matrix. This allows to hybridize these tow algorithms.
Constructor and Description |
---|
Particula()
Default constructor.
|
Particula(int numCondiciones)
Paramater Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
actualizaFeromona(java.util.Vector particulas,
int indice,
int tamEntorno,
java.util.Vector listaCondiciones)
Updates the pheromone values following the environment of particles.
|
void |
asignarCalidadMPosicion(float calidad)
Assigns the given quality to the best position of the particle.
|
void |
asignarCalidadPosActual(float calidad)
Assigns the given quality to the actual position of the particle.
|
void |
asignarClasePosicionActual(Atributo clase)
Assigns the class for the actual position of the particle.
|
void |
asignarClasePosicionMejor(Atributo clase)
Assigns the class to the best position of the particle.
|
void |
asignarCondicionContinuaPosicionActual(Condicion condicion)
Assigns the given continuous condition to the actual position of the particle.
|
void |
asignarCondicionContinuaPosicionMejor(Condicion condicion)
Assigns the given continuous condition to the best position of the particle.
|
void |
asignarCondicionNominalPosicionActual(Condicion condicion)
Assigns the given nominal condition to the actual position of the particle.
|
void |
asignarCondicionNominalPosicionMejor(Condicion condicion)
Assigns the given nominal condition to the best position of the particle.
|
void |
asignarMuestrasCubiertasActual(int numero)
Assigns the number of examples covered by the actual position of the particle.
|
void |
asignarMuestrasCubiertasPasado(int numero)
Assigns the number of examples covered by the best position of the particle.
|
void |
calculaVelocidad(int numCondiciones,
java.util.Vector particulas,
int entorno,
int indice,
float[][] intervalos,
float x,
float c1,
float c2,
Randomize generadorA)
Computes the velocity of the particle.
|
void |
copiaPosicionMejorPosicion()
Copies the actual position as best position of the particle.
|
void |
generaPosicion(java.util.Vector listaCondiciones,
java.util.Vector listaCondicionesVacias,
int minimoCasosRegla,
ConjuntoDatos cTrain,
Randomize generadorA,
float[][] heuristica)
Generates the particle position using the given posible conditions, its heuristic
values and the data to be covered.
|
ComparadorParticulas |
getComparadorParticulas()
Returns the Particles comparative method.
|
Regla |
getMejorPosicion()
Returns the best position of the particle.
|
Regla |
getPosActual()
Returns the actual position of the particle.
|
void |
imprimePosicion(int numCondiciones)
Prints on the standard output the actual position.
|
void |
inicializaFeromona(java.util.Vector listaCondiciones)
Initializes the particle pheromone values for the given list of conditions.
|
void |
inicializaMejorPosicionContinua(java.util.Vector pos)
Initializes the best continuous particle position with the given conditions vector
|
void |
inicializaMejorPosicionNominal(java.util.Vector pos)
Initializes the best nominal particle position with the given conditions vector
|
void |
inicializaPosicionActualContinua(java.util.Vector pos)
Initializes the actual continuous particle position with the given conditions vector
|
void |
inicializaPosicionActualNominal(java.util.Vector pos)
Initializes the actual nominal particle position with the given conditions vector
|
void |
inicializaVelocidad(float[][] intervalos,
int numCondicionesContinuas,
Randomize generadorA)
Initializes the particle velocity using the given conditions intervals.
|
void |
inicializaVelocidad(int numCondiciones,
float valorInicial)
Initializes the particle velocity with the given value for all the conditions considered.
|
void |
limpiaCNominales()
Removes all nominal conditions from the particle.
|
void |
moverParticula(int numCondiciones,
float[][] intervalos)
Moves the particle to the next position, with the actual position and its velocity.
|
float |
obtenerCalidadMejorPosicion()
Returns the quality of the best position.
|
float |
obtenerCalidadPosicionActual()
Returns the quality of the actual position.
|
java.util.Vector |
obtenerVecinos(int indice,
int tamEntorno,
java.util.Vector particulas)
Returns a vector with the neighbours of the particle.
|
void |
reservaVelocidad(int numCondiciones)
Reserves memory enough to manage the particle velocity.
|
public Particula()
public Particula(int numCondiciones)
numCondiciones
- number of continuous conditions given.public void reservaVelocidad(int numCondiciones)
numCondiciones
- number of conditions taken by the rule.public ComparadorParticulas getComparadorParticulas()
public void inicializaPosicionActualContinua(java.util.Vector pos)
pos
- given conditions vector.public void inicializaPosicionActualNominal(java.util.Vector pos)
pos
- given conditions vector.public void inicializaMejorPosicionContinua(java.util.Vector pos)
pos
- given conditions vector.public void inicializaMejorPosicionNominal(java.util.Vector pos)
pos
- given conditions vector.public void inicializaVelocidad(int numCondiciones, float valorInicial)
numCondiciones
- number of continuous conditions considered.valorInicial
- initial velocity value.public void inicializaFeromona(java.util.Vector listaCondiciones)
listaCondiciones
- conditions to computes their pheromone values.public void asignarClasePosicionActual(Atributo clase)
clase
- class to be assgined.public void asignarClasePosicionMejor(Atributo clase)
clase
- class to be assigned.public void asignarCondicionNominalPosicionMejor(Condicion condicion)
condicion
- given condition to be assigned.public void asignarCondicionContinuaPosicionMejor(Condicion condicion)
condicion
- given condition to be assigned.public void asignarCondicionNominalPosicionActual(Condicion condicion)
condicion
- given condition to be assigned.public void asignarCondicionContinuaPosicionActual(Condicion condicion)
condicion
- given condition to be assigned.public Regla getPosActual()
public Regla getMejorPosicion()
public void asignarCalidadPosActual(float calidad)
calidad
- given quality to be assigned.public void asignarCalidadMPosicion(float calidad)
calidad
- given quality to be assigned.public void actualizaFeromona(java.util.Vector particulas, int indice, int tamEntorno, java.util.Vector listaCondiciones)
particulas
- All the particles in the environment.indice
- Position of particle to update its pheromone.tamEntorno
- Environment size.listaCondiciones
- Conditions list.public void generaPosicion(java.util.Vector listaCondiciones, java.util.Vector listaCondicionesVacias, int minimoCasosRegla, ConjuntoDatos cTrain, Randomize generadorA, float[][] heuristica)
listaCondiciones
- all posible conditions to be used to generate the position (rule).listaCondicionesVacias
- empty/null conditions list.minimoCasosRegla
- minimum number of cases that have to be covered to consider the rule as valid.cTrain
- the data to be covered.generadorA
- Random numbers generator.heuristica
- Heuristic values for the different conditions.public float obtenerCalidadPosicionActual()
public float obtenerCalidadMejorPosicion()
public void copiaPosicionMejorPosicion()
public void inicializaVelocidad(float[][] intervalos, int numCondicionesContinuas, Randomize generadorA)
intervalos
- continuous conditions intervals.numCondicionesContinuas
- number of continuous conditions considered.generadorA
- Random numbers generator.public java.util.Vector obtenerVecinos(int indice, int tamEntorno, java.util.Vector particulas)
indice
- position of the particle in the environment.tamEntorno
- size of the environment.particulas
- vector of considered particles, environment.public void calculaVelocidad(int numCondiciones, java.util.Vector particulas, int entorno, int indice, float[][] intervalos, float x, float c1, float c2, Randomize generadorA)
numCondiciones
- number of conditions considered.particulas
- vector of considered particles, environment.entorno
- size of the environment.indice
- particle position in the environment.intervalos
- continuous conditions intervals.x
- Factor Xc1
- Factor c1c2
- Factor c2generadorA
- Random numbers generator.public void moverParticula(int numCondiciones, float[][] intervalos)
numCondiciones
- number of conditions considered.intervalos
- continuous conditions intervals.public void imprimePosicion(int numCondiciones)
numCondiciones
- number of conditions considered.public void limpiaCNominales()
public void asignarMuestrasCubiertasActual(int numero)
numero
- number of examples covered.public void asignarMuestrasCubiertasPasado(int numero)
numero
- number of examples covered.