1. Instituto Tecnológico de Tijuana Computación Evolutiva
GPLab ToolBox
Demoant.m
Conjunto de Antright, antleft, antmove.
terminales
Conjunto de Antif, antprogn2, antprogn3.
funciones
Fitness Antfitness. Regresa el fitness del individuo medido como el numero de bolitas
comidas en el camino artificial de la hormiga durante 400 time step. También
regresan los resultados obtenidos en cada caso del fitness.
Funcionamiento Crea programas (arboles) con los parámetros definidos para nodos y hojas.
Tipo inicial de la población (rampedinit) con identificadores únicos iniciando
en LASTID+1 aleatoriamente crea representaciones de árbol con el método
de Koza “Half and Half” para inicialización de arboles usando los operadores
disponibles.
Parametros Para definir la selección por ruleta:
p.sampling='roulette'
Tipo de elitismo utilizado:
p.elitism='keepbest'
Define el número de individuos para la próxima generación:
p.survival='fixedpopsize'
El cruce de dos puntos:
p=setoperators(p,'crossover',2,2)
Las funciones o nodos internos:
p= setfunctions(p,'antif',2,'antprogn2',2,'antprogn3',3)
Las terminales u hojas:
p=setterminals(p,'antright','antleft','antmove')
La forma cómo calcula el fitness individual basado en los datos con los
procedimientos indicados en los parámetros:
p.calcfitness='antfitness'
Retorna el primer estado de la generación de individuos para la siguiente
generación, es lo mismo que fixedpopsize pero en diferente contexto:
p.lowerisbetter=0
Regresa una matriz con las pistas de la comida y el número de
puntos(comida) que pueden ser encontradas en el camino:
p.files2data='anttrail'
Carga los datos predefinidos en los archivos de texto:
p.datafilex='santafetrail.txt'
p.datafiley='santafepellets.txt'
Aplica calculo de diversidad en la población (hamming ó uniquegen):
p.calcdiversity={}
Xochilt Ramírez García
2. Instituto Tecnológico de Tijuana Computación Evolutiva
Calcula la complejidad:
p.calccomplexity=0
Significa que el limite no es en profundidad, pero el numero de nodos en el
procedimiento es una adaptación:
p.depthnodes='1'
Éxito La hormiga encuentra un buen porcentaje de la comida expuesta en la matriz
(trail food).
Mejor individuo:
Best individual:
Population size: 20
Maximum generations: 10
Best occurred in generation: 6
Best individual found:
antprogn2(antprogn2(antif(antprogn2(antleft,antright),antleft),antmove),antprogn2(antleft,antprogn2(
antprogn3(antleft,antleft,antmove),antmove)))
Fitness: 21/89
Depth: 5
Nodes: 16
Xochilt Ramírez García
4. Instituto Tecnológico de Tijuana Computación Evolutiva
Demo.m
Conjunto de terminales X1
Conjunto de funciones Times, Plus, Cos, Minus, Sin, Mylog
Fitness Regfitness. El fitness del individuo medido como la suma de la
diferencias entre los obtenidos y los resultados esperados en un
conjunto de datos Data.
Funcionamiento Crea programas (arboles) con los parámetros definidos para nodos y
hojas. Problema de regresión simbólica con adaptación automática de
operadores de probabilidad. Hace plots de las corridas en tiempo de
ejecución y finaliza con el ploteo de dos adicionales post-corridas.
Tipo de población inicial (fullinit) con identificadores únicos iniciando
con LASTID+1 y aleatoriamente crea representaciones de árbol
construyendo con el método “Full” de Koza para inicialización de
arboles (depth = MAXLEVEL), usando los operadores disponibles.
Parametros Define operadores de cruce y mutación. El cruce utiliza de dos puntos y
la mutación regresa un individuo creado por la sustitución de un
subárbol aleatorio por un nuevo árbol creado aleatoriamente.
p=setoperators(p,'crossover',2,2,'mutation',1,1)
Tipo de probabilidad de los operadores es variable:
p.operatorprobstype='variable'
p.minprob=0
Obtiene los datos de los archivos de texto:
p.datafilex='quartic_x.txt'
p.datafiley='quartic_y.txt'
Usar datos de prueba, utilice valores de 0 y 1:
p.usetestdata=0
Calcula la diversidad de la población, la diversidad es calculada como
el porcentaje de individuos que cuenta para todos los diferentes
genotipos de la población.
p.calcdiversity={'uniquegen'}
Utiliza valores de 0 y 1:
p.calccomplexity=1
Ploteo de las gráficas:
p.graphics={'plotfitness','plotdiversity','plotcomplexity','plotoperators'}
Significa que el limite no es en profundidad sino en número de nodos:
p.depthnodes='2'
Éxito Encuentra un programa (árbol) que resuelve el problema del polinomio
de cuarto grado.
Xochilt Ramírez García
5. Instituto Tecnológico de Tijuana Computación Evolutiva
Mejor individuo:
Creating generation 25
#Individuals: 50
UsedResources: 954
Best so far: 1052
Fitness: 0.497978
Depth: 6
Nodes: 25
Xochilt Ramírez García
6. Instituto Tecnológico de Tijuana Computación Evolutiva
Demoparity.m
Conjunto de terminales X1, X2.
Conjunto de funciones nand, nor, and, or.
Fitness Regfitness. El fitness del individuo medido como la suma de la
diferencias entre los obtenidos y los resultados esperados en un
conjunto de datos Data.
Funcionamiento Tipo inicial de la población (rampedinit) con identificadores únicos
iniciando en LASTID+1 aleatoriamente crea representaciones de árbol
con el método de Koza “Half and Half” para inicialización de arboles
usando los operadores disponibles.
Parametros Para definir la selección por torneo:
p.sampling='tournament'
Tipo de elitismo utilizado:
p.elitism='replace'
Define el número de individuos para la próxima generación:
p.survival='fixedpopsize'
El cruce de dos puntos:
p=setoperators(p,'crossover',2,2)
Las funciones o nodos internos:
p=setfunctions(p,'nand',2,'nor',2,'and',2,'or',2)
Las terminales u hojas:
p=setterminals(p)
Carga los datos predefinidos en los archivos de texto.
p.datafilex='parity3bit_x.txt'
p.datafiley='parity3bit_y.txt’
Tipo de probabilidad de los operadores es definido como fijo:
p.operatorprobstype='fixed'
Aplica calculo de diversidad en la población:
p.calcdiversity={'hamming'}
Calcula la complejidad:
p.calccomplexity=1
Significa que el limite no es en profundidad, pero el numero de nodos en
el procedimiento es una adaptación:
p.depthnodes='1'
Ploteo de los datos:
p.graphics={'plotfitness','plotdiversity','plotcomplexity'}
Éxito Encontrar al menos un programa que de una solución buena para
resolver el problema.
Xochilt Ramírez García
7. Instituto Tecnológico de Tijuana Computación Evolutiva
Mejor individuo:
Creating generation 20
#Individuals: 50
UsedResources: 1670
Best so far: 527
Fitness: 1.000000
Depth: 7
Nodes: 55
Xochilt Ramírez García
8. Instituto Tecnológico de Tijuana Computación Evolutiva
Demoplexer.m
Conjunto de terminales Variables (X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11.)
Conjunto de funciones And, or, not,myif.
Fitness Regfitness. El fitness del individuo medido como la suma de la diferencias
entre los obtenidos y los resultados esperados en un conjunto de datos
Data.
Funcionamiento Tipo inicial de la población (rampedinit) con identificadores únicos iniciando
en LASTID+1 aleatoriamente crea representaciones de árbol con el método
de Koza “Half and Half” para inicialización de arboles usando los operadores
disponibles.
Parametros Devuelve los individuos de la población ordenada por su orden de aparición
de la próxima generación, asegurando que el número total de nodos de
estas personas no exceda STATE.MAXRESOURCES, o el aumento de
STATE.MAXRESOURCES.
p.survival='resources';
Recursos dinamicos:
p.dynamicresources='2'
p.veryheavy=0
Funciones o nodos internos:
p=setfunctions(p,'and',2,'or',2,'not',1,'myif',3);
Regresa parámetros actualizados variables donde la información de las
terminales (nombre-aridad es siempre nulo) será el conjunto de datos
proveído en los argumentos de la función TERMNAME. Algunas terminales
pueden ser conjunto al mismo tiempo que agregan algunos argumentos
TERMNAME.
p=setterminals(p);
Operadores utilizados, es cruce de dos puntos:
p=setoperators(p,'crossover',2,2);
Probabilidad del tipo de cruce es fijo:
p.operatorprobstype='fixed';
Archivos de datos:
p.datafilex='11-multiplexer_x.txt';
p.datafiley='11-multiplexer_y.txt';
Calcula diversidad:
p.calcdiversity={};
p.calccomplexity=0;
p.fixedlevel=0;
p.dynamiclevel='0'
Significa que el limite no es en profundidad, pero el numero de nodos en el
procedimiento es una adaptación.
Depthnodes='1'
Tipo de seleccion:
p.sampling='tournament'
Xochilt Ramírez García
9. Instituto Tecnológico de Tijuana Computación Evolutiva
p.tournamentsize=0.05
Hits por default:
p.hits='[100 0]'
Desactiva el ploteo de graficas:
p.graphics={}
Éxito Encuentra al menos un programa (árbol) que resuelve el problema.
Mejor individuo:
Creating generation 20 -
(decreasing max resources to 3148)
#Individuals: 29
MaxResources: 3148
UsedResources: 3148
Best so far: 1279
Fitness: 640.000000
Depth: 8
Nodes: 28
Xochilt Ramírez García