MOTOR11. Unin.
Serie Entrada: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,
Serie Salida: 97,89,83,79,73,71,67,61,59,53,47,43,41,37,31,29,23,19,17,13,11,7,5,3,2,

Posibilidades:
1. Tipo de Instrucciones. If Condicional: 50, Asignacion: 50
2. En Instrucciones de If Condicional, el operador de comparacion es:  '==':25, '>':25, '<':25, '!=':25
3. Longitud de la expresin (nmero de operadores): 2

4. Construccin de las expresiones, posiblidad de salir X=33, Parentesis:33, Nmeros=34
5. Variables que se asignaran, compararan o estaran al interior de las expresiones: W=25, X=25, Y=25, Z=25


Nmero de veces que se crear expresin simple: 30000
Nmero de veces que se mutar la expresin simple: 30000
Nmero de veces que se generar algoritmos al azar: 30000
Nmero de veces que se mutar todo un Gen:          30000
Nmero de veces que se mutar parcialmente un Gen:  30000
Nmero de Genes mnimo: 20
Nmero de Genes mximo: 60
Nmero de ciclos CPU: 130


================ SIMPLE EXPRESION ================
Fecha: Sun Apr 04 14:36:08 1999


Intento: [1]  Aproximacion: [1894.343506]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = 3+6-(3+(((((X*3+X-(4+5)-(5)+(9)/X))))));
return Y;
}


Intento: [2]  Aproximacion: [945.286255]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = 8+X+X-(X/((X+6*1*(6-X-((3)+(2/X+X))))));
return Y;
}


Intento: [22]  Aproximacion: [866.814209]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = X+((X)/X/X*X+1+5*8/((X)*((((4/5+X))))));
return Y;
}


Intento: [36]  Aproximacion: [802.622742]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = (((((X+(3+7+(8-(((X)/(X+4+X*(X/2)))))))))));
return Y;
}


Intento: [92]  Aproximacion: [801.035706]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = (X+3+(3/(6)/X/7*X+(((2+9/4+9+5/3)))));
return Y;
}


Intento: [97]  Aproximacion: [644.000000]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = 6*1*8+((X)-X+2)-((3+3+7+2+6*(4)/8));
return Y;
}


Intento: [502]  Aproximacion: [606.463867]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = X-(X-7/X*(X*5+X-((((9/X-3/X)+(X)-5)))));
return Y;
}


Intento: [738]  Aproximacion: [556.136902]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = (6/3/X/(3)-(X)*3+(((8*7)+8/2*(5/X))));
return Y;
}


Intento: [1297]  Aproximacion: [427.006287]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = 6/X+6*5*2-X+5*5/X-(X)+X+X/(X*6-1);
return Y;
}


Intento: [3457]  Aproximacion: [409.374084]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = 7*8-7/6+3-X-(X/6+X+(2*(X)-1)/X)/3;
return Y;
}


Intento: [4519]  Aproximacion: [269.857147]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = 7-1-9/7*X-(2)+9*7-X+X/1/4*4+(4-X);
return Y;
}


Intento: [7887]  Aproximacion: [256.000000]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = (((X)/6/1+7)-4)*((2+6+X+6-X-X)+7);
return Y;
}


Intento: [14308]  Aproximacion: [209.325531]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = (((5/X*3)*1*(X)*6*1)+(8/X*9-X-X*3));
return Y;
}


Intento: [19364]  Aproximacion: [189.125000]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = ((1/X/8*X+(3+(((9*9-((X+X-(X/X-X)))))))));
return Y;
}


Intento: [20366]  Aproximacion: [171.406250]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = 3+3*7*5*X/X+6-X/4*(X+7+8-X-X/8+8);
return Y;
}


Intento: [22610]  Aproximacion: [125.000000]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = X-4*X-X-5+(((X/X+2*5)*9+X)+8-(3+X));
return Y;
}




================ MUTA SIMPLE ================
Fecha: Sun Apr 04 14:36:31 1999


Intento: [15]  Aproximacion: [57.000000]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = X-4*X-X-5+(((X/X+2*5)*9+X)+8-(7+X));
return Y;
}


Intento: [174]  Aproximacion: [56.000000]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = X-4*X-X-5+(((X/X+2*5)*9+X)+8-(8+X));
return Y;
}


Intento: [453]  Aproximacion: [55.000000]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = X-4*X-X-5+(((X/X+2*5)*9+X)+7-(8+X));
return Y;
}




================ ALEATORIO ================
Fecha: Sun Apr 04 14:36:55 1999


Intento: [129]  Aproximacion: [48.000000]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = X-4*X-X-5+(((X/X+2*5)*9+X)+7-(8+X));
2: if( Z < 4/(X*X) ) goto 48;
3: Y = Y-Y-Y;
4: if( W = (Z-3) ) goto 6;
5: Y = (4)+9;
6: if( X < (5+4) ) goto 1;
7: Z = W*3-3;
8: X = (1)/3;
9: if( Y = 8*5/2 ) goto 36;
10: X = (6+W);
11: W = (X+X);
12: Y = 1/(Y+Y);
13: W = (2*9);
14: if( W < ((1)+Y) ) goto 32;
15: if( Y = 7-(4/8) ) goto 49;
16: X = Y*4-3;
17: if( X > Z/Z+5 ) goto 54;
18: W = Y-3+Y;
19: Y = 5-Y/Y;
20: if( X = (5*4) ) goto 7;
21: if( Z < 2/W/W ) goto 28;
22: W = X/(7/6);
23: if( Y ! 3*7/8 ) goto 58;
24: Y = 4-(X+X);
25: if( Y < 2+9/X ) goto 11;
26: Y = Z/(6)-Z;
27: X = X*X-1;
28: Z = ((8*5));
29: W = Y+(3+Y);
30: X = Y+Y-1;
31: Y = Y*(8-2);
32: if( Z > ((5-2)) ) goto 8;
33: X = 1*X/2;
34: Y = X+X/X;
35: X = Z/Z-7;
36: Z = W-2*W;
37: X = Y+Y-Y;
38: Y = ((5/1));
39: Z = 4*Y/Y;
40: if( X < W-(W-3) ) goto 4;
41: W = (W/W);
42: if( X < ((Z/3)) ) goto 44;
43: X = Y/Y+Y;
44: Y = 4/(9/3);
45: if( Y = X*X-X ) goto 46;
46: Y = ((W*1));
47: Y = 9+6*5;
48: W = (W+5);
49: X = ((W/8));
50: X = 1+W*7;
51: W = (W+W);
52: if( X > (Y*Y) ) goto 3;
53: W = 3+X*9;
54: Z = (X*X);
55: if( W = X/2+6 ) goto 17;
56: X = 4+(X/1);
57: X = 6*8*6;
58: Z = Z*((((Z/6))));
return Y;
}


Intento: [1459]  Aproximacion: [43.000000]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = X-4*X-X-5+(((X/X+2*5)*9+X)+7-(8+X));
2: X = 1*(((Z+Z)));
3: X = 7+Z-3;
4: Z = Z/(1-5);
5: if( Z ! X-(X)*X ) goto 8;
6: X = (4/4);
7: W = 7*6+3;
8: X = Z+7-Z;
9: if( Y > 4*W*W ) goto 0;
10: W = Z*Z*4;
11: X = 1+(Y)/5;
12: W = (Y-Y);
13: X = 5-((Y-5));
14: Y = 2*2/9;
15: W = Z+(Z+6);
16: W = 3*5/Y;
17: if( X < (5*2) ) goto 6;
18: Y = Y+Y*8;
19: Z = 8/7*W;
20: Y = Y-((5*6));
21: Y = 3+(5+Y);
22: if( X > W*7/W ) goto 30;
23: if( Y > 1-(5/5) ) goto 10;
24: if( Z = W+6+9 ) goto 18;
25: W = Z/(Z)/5;
26: if( W < 6+(((Z+8))) ) goto 4;
27: if( W < 2/((Z)-Z) ) goto 23;
28: X = Z-Z+4;
29: Y = 2+(3+Z);
30: X = Y*Y/Y;
31: Y = Z+4-Z;
32: Y = Y/Y*Y;
33: X = Z*(Z-5);
return Y;
}


Intento: [17829]  Aproximacion: [40.000000]
float fSerVivo(float X)
{
float W=0, Y=0, Z=0;

1: Y = X-4*X-X-5+(((X/X+2*5)*9+X)+7-(8+X));
2: if( Z = ((((6)-7))) ) goto 20;
3: if( X > (Y*5) ) goto 14;
4: X = ((((7+W))));
5: W = (((W-7)));
6: X = X+4/4;
7: if( Y > (W-2) ) goto 51;
8: W = 9+X+4;
9: X = 4+((4-Y));
10: if( W ! 9+1-Z ) goto 40;
11: Z = 5+W/4;
12: if( X = W*W*W ) goto 49;
13: Y = (Y*4);
14: Y = 3+Y*7;
15: Y = (X/6);
16: if( Z ! 4-(3*X) ) goto 8;
17: Z = Y*4*Y;
18: if( W < X+((7*X)) ) goto 31;
19: Y = 2-Y-8;
20: Z = 4*X-3;
21: Z = 4-Y-Y;
22: if( Z = X*X-X ) goto 11;
23: if( W ! ((Z-9)) ) goto 33;
24: if( Z ! (X*X) ) goto 21;
25: X = Z-3*Z;
26: X = X-(X*X);
27: if( Z < X*(X-4) ) goto 18;
28: if( X ! Z+5+Z ) goto 43;
29: Z = X*X-4;
30: X = (W)-W;
31: if( X > 3-5/Z ) goto 46;
32: if( Y ! 1*3*W ) goto 22;
33: if( Y = W-W/W ) goto 0;
34: X = (8+X);
35: if( Y < ((W*W)) ) goto 12;
36: Y = 3-3+X;
37: W = Y+(2)/Y;
38: Z = ((((((((((Z*Z))))))))));
39: Z = Z+Z+Z;
40: W = 5+X-X;
41: if( W < (Z-5) ) goto 13;
42: X = 8-(X*X);
43: Y = 1-W/2;
44: Y = 4/(5/5);
45: X = (((W+5)));
46: if( Y > 5*1-5 ) goto 29;
47: W = ((8)/8);
48: if( Z ! (Y)+4 ) goto 33;
49: W = Y/(6*8);
50: if( Z > X-(3/9) ) goto 24;
51: Z = (Z/4);
52: W = Y/(8*Y);
return Y;
}




================ MUTANDO GENES ================
Fecha: Sun Apr 04 14:41:04 1999




================ SUTIL ================
Fecha: Sun Apr 04 14:43:17 1999




================ TERMINO ================
Fecha: Sun Apr 04 14:45:27 1999


