Cromosoma (computación evolutiva)

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Para información sobre cromosomas en biología, véase cromosoma.

En los algoritmos genéticos, un cromosoma (también a veces llamado genoma) es un conjunto de parámetros que definen una solución propuesta al problema que el algoritmo genético está intentando resolver. El cromosoma se representa a menudo como una serie de bits, aunque también se utilizan una variedad amplia de otras estructuras de datos.

El diseño del cromosoma y sus parámetros es, por necesidad, específico para el problema que resolver. Para ofrecer un ejemplo trivial, supóngase que el problema sea encontrar el valor del entero de x entre 0 y 255 que proporciona el resultado máximo para f(x) = x^2. (Éste no es el tipo de problema que es normalmente resuelto por un algoritmo genético, puesto que se puede trivialmente resolver utilizando métodos numéricos. Sólo se utiliza para servir como ejemplo simple.) Nuestras soluciones posibles son los enteros de 0 a 255, cuál se puede representar todo como series binarias de 8 dígitos. Así, se podría utilizar una serie binaria de 8 dígitos como representación de nuestro cromosoma. Si un cromosoma dado en la población representa el valor 155, su cromosoma sería 10011011.

Un problema más realista que se puede desear resolver es el problema del viajante. En este problema, se busca una lista ordenada de ciudades que ocasiona el viaje más corto por el que el vendedor viaje. Supóngase que haya seis ciudades, que denominaremos A, B, C, D, E, y F. Un buen diseño para nuestro cromosoma podría ser la lista ordenada que queremos probar. Un cromosoma de ejemplo que nos podríamos encontrar en la población podría ser DFABEC.

El operador de mutación y el operador de sobrecruzamiento empleados por el algoritmo genético tienen que tener en cuenta el diseño del cromosoma.