Esta es una evolución del algoritmo presentado en "Independencia 06". Se usan variables enteras lo cual le da mayor velocidad en evaluación. Por ejemplo en un AMD Athlon XP 1800+ se están generando y evaluando en 2 minutos 38 segundos, 9 millones de algoritmos (con un promedio de 42 instrucciones cada algoritmo).. es decir, aproximadamente 57000 algoritmos por segundo.
Se usa un nuevo operador el % (división modular).
Los resultados de los algoritmos están en sintaxis C++, por ejemplo:
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: [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,]
Posibilidades:
Número de Instrucciones mínimas para cada Algoritmo: 7
Número de Instrucciones máximas para cada Algoritmo: 80
Número máximo de ciclos para evaluar cada Algoritmo: 600
Total variables usadas: 4
Probabilidad de usar Variables: 30%
Total funciones del ambiente llamadas: 0
Probabilidad de uso de instrucciones IF: 10%
Probabilidad de uso de Funciones: 0%
Probabilidad de uso de instrucciones SET (asignacion): 90%
Número de veces que se genera Algoritmos Genéticos: 2000000
Número de veces que se muta el mejor Algoritmo Genético: 7000000
Intento: [6912130], Margen de Error (menor es mejor): [57.000000]
#include <stdio.h>
void main()
{
int V1=0, V2=0, V3=0, V4=0;
L1: if (V1 != (88 + V4)) goto L34;
L2: V2 = (24 * 81);
L3: V3 = (58 % 87);
L4: V2 = (V4 - 94);
L5: V4 = (78 * 89);
L6: V3 = (58 - 98);
L7: V4 = (44 % 5);
L8: V1 = (27 - 98);
L9: if (V3 > (83 + 21)) goto L10;
L10: V3 = (V3 % V4);
L11: V2 = (87 % 64);
L12: V1 = (V3 % V2);
L13: V4 = (20 / 53);
L14: V2 = (64 * 37);
L15: V3 = (99 / V1);
L16: V1 = (42 * 3);
L17: V1 = (35 + 93);
L18: V2 = (45 / 18);
L19: V3 = (V3 + 42);
L20: V1 = (36 / 76);
L21: if (V4 < (11 - 79)) goto L5;
L22: V2 = (79 % 78);
L23: V1 = (68 * 63);
L24: V1 = (100 * 81);
L25: V2 = (45 / V3);
L26: V1 = (69 - 91);
L27: V2 = (46 + V2);
L28: if (V4 > (8 % 46)) goto L17;
L29: V1 = (58 + V1);
L30: V1 = (V3 * 45);
L31: V3 = (6 - 55);
L32: V2 = (V3 * V4);
L33: V1 = (60 - V1);
L34: if (V3 > (60 % 79)) goto L16;
L35: V4 = (91 * V1);
L36: V4 = (V4 - 93);
L37: V2 = (V4 / 25);
L38: V4 = (V2 * 31);
L39: V1 = (V4 + 82);
L40: if (V2 > (55 - 28)) goto L42;
L41: V2 = (V1 / 44);
L42: if (V3 == (V1 % V2)) goto L38;
L0: printf("%d\n", V2);
}