• No results found

Comparing the costs of implementing biosecurity practices to manage Foc TR4 spread The development of the modelled scenarios is based on the application of the principle of exclusion

Dependiendo de las preferencias de los autores los términos de algunos de los pasos en el desarrollo de un Algoritmo genético suele tener varios nombres, sin embargo el significado esencial es el mismo; así mientras Kuri51 y Gen52 hablan de codificación; ese mismo concepto es llamado

51 KURI, Angel. (1999). A Comprehensive Approach to Genetic Algorithms in Optimization and

Learning. Theory and Applications. Volume 1. Foundations. Instituto Politécnico Nacional. México.

52 GEN, Mitsuo, CHENG, Runwei. (2000) Genetic Algorithms and Engineering Optimization. Wiley-

por Michalewicz53 y Martí54 como representación, y, por otro lado el

paso de evaluación es mencionado como evaluación por Kuri55, por

medida de evaluación por Martí56 y como función de evaluación por Michalewicz57, Gen58, Holland59 y Goldberg60.

Así pues nosotros hablaremos que para poder representar un problema como Algoritmo genético es necesario realizar los siguientes pasos:

• Representación en forma de cromosoma (codificación).

• Población inicial.

• Selección.

• Evaluación.

• Cruza.

• Mutación.

Representación en forma de cromosoma (codificación): la

solución hipotética al problema que se esté encarando se representa en forma de una cadena de caracteres binarios, la siguiente es una representación típica de la codificación61:

Cromosoma 1 1101100100110110 Cromosoma 2 1101111000011110

Población inicial: en general suele ser generada aleatoriamente,

sobre todo en los casos en los que desconocemos todo acerca de las características de la solución de nuestro problema, en esos casos dejamos que la computadora seleccione N candidatos de solución. Recientemente se están utilizando métodos heurísticos para generar soluciones de buena calidad, sin embargo hay que tener cuidado con estas pues se podría caer a convergencias prematuras. Las siguientes representaciones son todas de Kuri62:

53 MICHALEWICZ, Zbigniew. (1992). Genetic Algorithms + Data Structures = Evolution Programs.

Springer. Berlin. 54http://www.uv.es/~rmarti/genet.html 55 Ibíd. 56 Ibíd. 57 Ibíd. 58 Ibíd. 59 Ibid 36 60 Ibid 56 61 Tomada de http://cs.felk.cvut.cz/~xobitko/ga/operators.html 62 Ibíd. 61

Número Individuo 1 0111 2 0100 3 0101 4 0001 5 0000 6 1100 7 1000 8 1001 9 1000 10 1010

Selección: el proceso de selección de un Algoritmo genético es

fundamental en la exactitud de los resultados que presentará dicho AG una vez procesado. Dado que el proceso de selección es probabilístico, aun los individuos menos aptos tienen cierta oportunidad de sobrevivir. Existen tres grandes grupos para clasificar las técnicas de selección de un AG, a saber:

Selección proporcional: conjunto de esquemas de selección

en los cuales se eligen individuos de acuerdo a su contribución de aptitud con respecto al total de la población. Las técnicas de selección son: o La ruleta. o Sobrante estocástica. o Universal estocástica. o Muestreo determinístico. o Escalamiento sigma. o Jerarquías. o Selección de Boltzmann.

En particular para este estudio seleccionaremos las técnicas de la ruleta y la selección de Boltzmann que serán discutidas con más detalle en el capítulo 5.

Selección mediante torneo: métodos que requieren dos

pasos a través de toda la población en cada generación: 1) calcular la aptitud media y, 2) Calcular el valor esperado de cada individuo. La idea básica del método es seleccionar con base en comparaciones directas de los individuos. Se habla de dos versiones, la probabilística y la determinística.

Selección de estado uniforme: sólo los individuos menos

aptos son reemplazados en cada generación y es muy útil cuando los miembros de una población resuelven colectivamente un problema.

Evaluación: a los individuos seleccionados se les evalúa la aptitud

para determinar si estos candidatos a soluciones son “buenos” o no lo son.

Es en este punto es donde se compara la medida de aptitud que se definió en el problema y que de hecho ya no es una codificación sino un número real. Por ejemplo:

Número Individuo aptitud

1 0111 95.00 2 0100 29.00 3 0101 47.00 4 0001 -1.00 5 0000 -3.00 6 1100 285.00 7 1000 125.00 8 1001 159.00

Cruza: es un proceso complejo que ocurre entre parejas de

cromosomas. Estos cromosomas se alinean, luego se fraccionan en ciertas partes y posteriormente intercambian fragmentos entre sí. La representación básica de una cruza es la siguiente:

11 01 00 01 11 01 01 00

Las técnicas de cruza básica son:

Cruza de un punto: se selecciona aleatoriamente un punto en

el genoma y después se intercambian los genes de dos individuos previamente seleccionados.

Antes de la cruza 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 0 1 0 1 Después de la cruza 1 0 0 0 1 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 0

Cruza de dos puntos: el genoma es tratado como un anillo,

esto es, se supone que los extremos de un anillo genético están anexados unos a otros:

Antes de la cruza 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 0 1 0 1 Después de la cruza 1 0 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 0 1

Cruza uniforme: los genes a ser cruzados son seleccionados

aleatoriamente de tal manera que el número de genes intercambiados son equivalentes en una razón de ½:

Antes de la cruza

Después de la cruza

Mutación: es la modificación intencional de algunos de los elementos del código

genético de ciertos individuos con el fin de explorar posibles soluciones más aptas.

La mutación se considera como un operador secundario en los Algoritmos genéticos canónicos, es decir, su uso es menos frecuente que el de la cruza. El papel que juega la mutación en el proceso evolutivo, así como su comparación con la cruza, sigue siendo tema frecuente de investigación y debate en la comunidad de computación evolutiva.

Entre otras, las siguientes son las técnicas de mutación que se han propuesta en la literatura especializada.

• Mutación para permutaciones:

o Mutación por inserción.

o Mutación por desplazamiento. o Mutación por intercambio recíproco. o Mutación heurística.

• Mutación para programación genética.

• Mutación para representación real:

o Mutación de límite. o Mutación uniforme.

o Mutación basada en parámetros.

5.3 Algoritmos genéticos y finanzas

Los Algoritmos Genéticos son un enfoque válido para muchos problemas prácticos en finanzas, los cuales pueden ser complejos y por lo tanto requerir del uso de técnicas eficientes y robustas de optimización.

Algunas aplicaciones de los Algoritmos genéticos a problemas complejos de los mercados financieros incluyen: Pronósticos de rendimientos, optimización de portafolios, identificar reglas de transacciones y optimización de transacciones.