com.brownsoft.ag.individuo
Class EvaluaExpresion

java.lang.Object
  |
  +--com.brownsoft.ag.individuo.EvaluaExpresion

public class EvaluaExpresion
extends java.lang.Object

Esta clase se encarga de evaluar una expresion dado una instanca de IIndividuo o un IndividuoMultiple El formato de la expresion permite constantes numericas, PI, operadores +, -, *, / y las siguientes funciones matematicas (pow, sqrt, cos, sin, tan, acos, asin, atan, floor, round, exp, ln, abs, int, frac, max, min) Las funciones max, min, y pow reciben 2 argumentos La funcion rnd() no recibe argumentos y retorna un número aleatório entre 0 y 1 Las demas funciones reciben 1 argumento Para acceder al valor funcionar de un Individuo, se realiza mediante x si se trata de una funcion de una sola variable, o de f(1)...f(n) en el caso de funciones de n variables. Por ejemplo, si se trata de un individuo simple (funcion de una sola variable): x * pow(2, x) Si se trata de una funcion de 3 variables: f(1) * pow(f(2), f(3)) Mas ejemplos: x * int(x/abs(2*cos(x))-5) 5*PI*cos(f(1) - sin(f(2))

See Also:
FuncionExpresion, IndividuoMultipleFuncionExpresion

Field Summary
protected  IIndividuo contained
           
(package private)  java.lang.String expresion
           
protected  boolean isSimple
           
 
Constructor Summary
protected EvaluaExpresion(java.lang.String expresion)
           
 
Method Summary
 double eval(java.lang.String expr)
          Evalua una expresion
 double getFitness(IIndividuo individuo)
          Obtiene el fitness de este individuo
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

expresion

java.lang.String expresion

isSimple

protected boolean isSimple

contained

protected IIndividuo contained
Constructor Detail

EvaluaExpresion

protected EvaluaExpresion(java.lang.String expresion)
                   throws java.lang.IllegalArgumentException
Method Detail

getFitness

public double getFitness(IIndividuo individuo)
Obtiene el fitness de este individuo


eval

public double eval(java.lang.String expr)
Evalua una expresion

Parameters:
expr - Expresion a evaluar
Returns:
double con el resultado

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object