Sunteți pe pagina 1din 2

COMPUTACIN EVOLUTIVA

Qu es la Computacin Evolutiva?
La Computacin Evolutiva hay que decir que la CE es una rama de la inteligencia artificial muy
interesante (sobre todo a los que nos gusta la inteligencia artificial) pero tambin se ha de dejar
muy claro que no es la panacea y que no se ha de aplicar la CE para resolver cualquier
problema ya que la CE no da los mejores resultados posibles a un problema aunque si puede dar
un resultado bueno o decente a determinados problemas de los que no tenemos ni idea. Con
esto quiero decir que a la hora de resolver un problema hay que analizarlo bien y ver cmo se
pueden alcanzar las mejores soluciones. Existen algoritmos como el Backtracking (que mucho
hemos sufrido que nos da la mejor solucin para un problema de optimizacin combinatoria
siempre que este problema tenga un espacio de bsqueda tratable y finito y para esos casos
es mejor utilizar este algoritmo que no un algoritmo evolutivo. Si el problema tuviese una gran
cantidad de datos que el Backtracking no pudiese darnos los resultados en un tiempo
prudencial s que se podra utilizar los algoritmos evolutivos.
Otra de las aplicaciones errneas que me he encontrado es la de utilizar algoritmos genticos
para encontrar el mnimo de una determinada funcin. Para resolver este problema es tan
sencillo como derivar la funcin e igualarla a cero para obtener su mnimo. Este ejemplo lo digo
porque en mucho sitios se ponen ejemplos didcticos de cmo obtener el mnimo de una
funcin con algoritmos evolutivos, y precisamente la mejor forma de entender un algoritmo
evolutivo es solucionando este tipo de problemas, que por algo son ejemplos didcticos pero
no son ejemplo eficientes, as que cuidado con la utilizacin de estos algoritmos.
La computacin evolutiva, engloban diferentes estrategias para la resolucin de problemas de
optimizacin.

Estas estrategias son las siguientes:


1. Procesos de Bsqueda Evolutiva: Fue propuesta por Alan Turing en el ao 1948.
2. Estrategias Evolutivas (EE): Propuesto por Rechenberg en 1964. Representan a los
individuos con Vectores reales.
3. Programacin Evolutiva (PE): Propuesto por Fogel en 1965. Utilizan mquinas de estado
finito.
4. Algoritmos Genticos (AG): Propuesto por Holland en 1975. Representan a los
individuos como cadenas binarias.
5. Programacin Gentica (PG): Propuesto por Koza en 1992. Utilizan Arboles LISP.

Cmo representamos a los individuos?


Basndonos en el conocimiento humano y haciendo una simplificacin, diremos que cada
persona tiene una informacin gentica nica que se puede ver en el ADN de cada un@. Este
ADN los forman 4 tipos de elementos que son la Adenina (A), Timina (T), Citosina (C) y
Guanina (G), con lo que haciendo una gran simplificacin podemos decir que las personas
estamos representados por un ARRAY compuesto por alguno de estos 4 elementos con lo
cual ya tenemos aqu una forma (o estructura de datos) para representar a los individuos. Esto,
pasado a un problema de optimizacin combinatoria, significa que un posible resultado al
problema lo podemos pasar a un array (por ejemplo un array binario de ceros y unos), al que le
daremos un cierto significado. A este array que representa a un individuo del problema o una
posible solucin, se le denomina Cromosoma.
Cmo se reproducen y mutan los individuos?
Siguiendo con las simplificaciones, podemos decir que el proceso de reproduccin no es ms
que crear un nuevo individuo a partir de dos individuos dados, es decir combinando los dos
arrays que representan a dos individuos. A continuacin ponemos un ejemplo que como
obtenemos un nuevo individuo a partir de dos:

A grandes rasgos es as como funciona la reproduccin humana, ya que uno al nacer hereda unas
caractersticas de la madre y otras del padre. Como se ve no se tiene porque heredar en partes
iguales las caractersticas de los dos progenitores.
Por ltimo en lo referente a la generacin de nuevo individuos, existe la posibilidad de que
Mute algn gen; es decir, que sin ninguna lgica (aunque supongo que biolgicamente la
tendr) un determinado elemento del cromosoma cambie de valor, por ejemplo al valor
complementario:

Qu es eso de que un individuo es suficientemente bueno?


Como se ha comentado los Algoritmos Evolutivos sirven para resolver problemas de
optimizacin combinatoria, pero tambin se ha de decir que no siempre alcanzan la mejor
solucin, por lo tanto hay que definir un umbral a partir del cual consideramos que la solucin
que buscamos es lo suficientemente buena. Este umbral se ha de obtener a partir de una
funcin de evaluacin que se ha de definir siempre que se utilicen algoritmos evolutivos. Esta
funcin de evaluacin es conocida como Funcin de Fitness aunque tambin se le suele
denominar funcin de calidad, funcin de aptitud o funcin objetivo.

S-ar putea să vă placă și