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
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 |
expresion
java.lang.String expresion
isSimple
protected boolean isSimple
contained
protected IIndividuo contained
EvaluaExpresion
protected EvaluaExpresion(java.lang.String expresion)
throws java.lang.IllegalArgumentException
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