asm
Class BFParams

asm.BFParams

public class BFParams

Title: BFParams

Description: BFParams es la clase que sostiene los valores que pueden necesitar varias clases, principalmente, BFagent, BFCast o BitVector.

Esta clase actualmete esta diseñada, de tal manera que cada uno de los agentes pueda tener su propia instancia, y así poder individualizar los parámetros. Esta version particular de BFParams observa 16 bits de información.

En el método init() se especifica cuales son esos 16 bits monitorizados, y cuales son sus nombres. De tal manera que posteriormente se le pide a la clase World cual es el numero de bit que corresponde a cada uno de los 16 elegidos.Este proceso secuencial configura el array bitlist, donde se guarda esta información. Este clase es una de las más complicadas de todo el programa

Copyright:

Depto.Organización Industrial. Universidad de Valladolid

Version:
1.0
Author:
José Manuel Galán & Luis R. Izquierdo

Field Summary
 double a_max
          máximo y mínimo para p+d coef
 double a_min
          máximo y mínimo para p+d coef
 double a_range
          derived: max - min"
static int ALL
           
 double b_max
          máximo y mínimo para div coef
 double b_min
          máximo y mínimo para div coef
 double b_range
          derived: max - min"
static int BADINPUT
           
 double bitcost
          Parámetro de penalización para specificity
 int[] bitlist
          array dinámico,de longitud condbits
 double bitprob
           
 double c_max
          máximo y mínimo para el término constante
 double c_min
          máximo y mínimo para el término constante
 double c_range
          derived: max - min"
 int condbits
          nº de bits de condición observados en cada forecast
 int condwords
          nº de palabras de memoria requeridas para mantener los bits
static int ENDLIST
           
static int EQ
           
 int firstgatime
          Después de cuantos pasos el Algoritmo Genético empieza a funcionar
 int gafrequency
          Frecuencia de uso del Algoritmo Genético
 double gaprob
          derived: 1/gafrequency"
 double genfrac
          fracción de bits 0/1 para generalizar
 int individual
           
 double initvar
          Varianza del total de las forecast para t<200
 double lambda
           
 int longtime
          Periodos sin usar antes de utilizar Generalize() en el Algoritmo Genético
 double maxbid
           
static int MAXCONDBITS
           
 double maxdev
          máxima desviación de un forecast en estimación de varianza
 int mincount
          nº de veces que un forecast ha de ser usado para llegar a ser activo
 int ncondmax
           
 double newfcastvar
          Varianza asignada a cada nuevo forecast
 double newfrac
          fracción de reglas reemplazables
 double nhood
          tamaño del vecindario
 int nnew
          derived: número de nuevas reglas"
 int nnewmax
           
 int nnulls
          bits sin usar
static int NOTFOUND
           
 int npool
          derived: tamaño del grupo de reemplazables"
 int npoolmax
           
static int NULLBIT
           
 int numfcasts
          nº de forecast mantenidas por cada agente
 double pcrossover
          probailidad de correr Crossover()
 double plinear
          probabilidad de linear combination en Crossover
 double plong
          probabilidad de long jump
 double pmutation
          probabilidad de mutación por bit
 double poolfrac
          fracción de reglas en el grupo de reemplazables
 double prandom
          probabilidad de random each parent en Crossover
 double[] problist
          array dinámico,de longitud condbits
 double pshort
          probabilidad de long jump(en el vecindario)
static int SETPROB
           
static KeyTable[] specialbits
           
 double subrange
          fracción de min-max range para los valores iniciales aleatorios
 double tauv
           
 
Constructor Summary
(package private) BFParams(swarm.defobj.Zone aZone)
           
(package private) BFParams(swarm.defobj.Zone aZone, boolean a)
           
 
Method Summary
 BFParams copy(swarm.defobj.Zone aZone)
          Crea una copia de la instancia BFParams.
 void copyBitList$Length(int[] x, int size)
           
 void copyProbList$Length(double[] p, int size)
           
 int[] getBitListPtr()
           
 double[] getProbListPtr()
           
 java.lang.Object init()
          Init hace la mayor parte del trabajo del objeto BFParam.
 int ReadBitname(java.lang.String variable, KeyTable[] table)
           
 int WORD(int bit)
           
 

Field Detail

numfcasts

public int numfcasts
nº de forecast mantenidas por cada agente

condwords

public int condwords
nº de palabras de memoria requeridas para mantener los bits

condbits

public int condbits
nº de bits de condición observados en cada forecast

mincount

public int mincount
nº de veces que un forecast ha de ser usado para llegar a ser activo

gafrequency

public int gafrequency
Frecuencia de uso del Algoritmo Genético

firstgatime

public int firstgatime
Después de cuantos pasos el Algoritmo Genético empieza a funcionar

longtime

public int longtime
Periodos sin usar antes de utilizar Generalize() en el Algoritmo Genético

individual

public int individual

tauv

public double tauv

lambda

public double lambda

maxbid

public double maxbid

bitprob

public double bitprob

subrange

public double subrange
fracción de min-max range para los valores iniciales aleatorios

a_min

public double a_min
máximo y mínimo para p+d coef

a_max

public double a_max
máximo y mínimo para p+d coef

b_min

public double b_min
máximo y mínimo para div coef

b_max

public double b_max
máximo y mínimo para div coef

c_min

public double c_min
máximo y mínimo para el término constante

c_max

public double c_max
máximo y mínimo para el término constante

a_range

public double a_range
derived: max - min"

b_range

public double b_range
derived: max - min"

c_range

public double c_range
derived: max - min"

newfcastvar

public double newfcastvar
Varianza asignada a cada nuevo forecast

initvar

public double initvar
Varianza del total de las forecast para t<200

bitcost

public double bitcost
Parámetro de penalización para specificity

maxdev

public double maxdev
máxima desviación de un forecast en estimación de varianza

poolfrac

public double poolfrac
fracción de reglas en el grupo de reemplazables

newfrac

public double newfrac
fracción de reglas reemplazables

pcrossover

public double pcrossover
probailidad de correr Crossover()

plinear

public double plinear
probabilidad de linear combination en Crossover

prandom

public double prandom
probabilidad de random each parent en Crossover

pmutation

public double pmutation
probabilidad de mutación por bit

plong

public double plong
probabilidad de long jump

pshort

public double pshort
probabilidad de long jump(en el vecindario)

nhood

public double nhood
tamaño del vecindario

genfrac

public double genfrac
fracción de bits 0/1 para generalizar

gaprob

public double gaprob
derived: 1/gafrequency"

npool

public int npool
derived: tamaño del grupo de reemplazables"

nnew

public int nnew
derived: número de nuevas reglas"

nnulls

public int nnulls
bits sin usar

bitlist

public int[] bitlist
array dinámico,de longitud condbits

problist

public double[] problist
array dinámico,de longitud condbits

npoolmax

public int npoolmax

nnewmax

public int nnewmax

ncondmax

public int ncondmax

MAXCONDBITS

public static final int MAXCONDBITS

ENDLIST

public static final int ENDLIST

ALL

public static final int ALL

SETPROB

public static final int SETPROB

BADINPUT

public static final int BADINPUT

NOTFOUND

public static final int NOTFOUND

EQ

public static final int EQ

NULLBIT

public static final int NULLBIT

specialbits

public static KeyTable[] specialbits
Constructor Detail

BFParams

BFParams(swarm.defobj.Zone aZone)

BFParams

BFParams(swarm.defobj.Zone aZone,
         boolean a)
Method Detail

WORD

public int WORD(int bit)

init

public java.lang.Object init()
Init hace la mayor parte del trabajo del objeto BFParam. Toma nota del número de bits de condición que pueden ser usados y les proporciona espacio. Utilizamos el método especial para acceder a World y encontrar que bit en World representa esa cantidad de información. Esta versión de BFParams tiene condbits igual a 16. En World, todos los bits son mantenidos, y cualquiera puede pedir mediante un nombre descriptivo como 'pr/d>1/4' la información que quiera. Esposible revisar este método para permitir observar más bits. Para añadir más bits es necesario cambiar la variable de instancia condbits y escribir los nombres de los bits que queremos monitorizar es este método init.(Esto quizá debería programarse mejor para que fuese más fácil) Otro punto importante del que conviene darse cuenta es que tal y como esta programado este objeto, todos los forecast de un mismo agente monitorizan los mismos bits. Sería mejor poner un bitlist en cada forecast y así desacoplar los forecast de los agentes.
Returns:
this

getBitListPtr

public int[] getBitListPtr()

copyBitList$Length

public void copyBitList$Length(int[] x,
                               int size)

getProbListPtr

public double[] getProbListPtr()

copyProbList$Length

public void copyProbList$Length(double[] p,
                                int size)

ReadBitname

public int ReadBitname(java.lang.String variable,
                       KeyTable[] table)

copy

public BFParams copy(swarm.defobj.Zone aZone)
Crea una copia de la instancia BFParams.
Parameters:
aZone -  
Returns:
BFParams