Inicio » Tendencias » Algoritmos genéticos: cómo funcionan y para qué se utilizan

Algoritmos genéticos: cómo funcionan y para qué se utilizan

En ocasiones la computación se basa en procesos observados de la naturaleza para resolver ciertos problemas. Entre ellos nos encontramos las ya bien conocidas redes neuronales que replican los procesos de sinapsis entre las neuronas o los algoritmos de colonia de hormigas que replican el comportamiento de las hormigas, etc.

En este caso, vamos a tratar los algoritmos genéticos que se engloban dentro de este tipo de algoritmos y replican el modelo de selección natural propuesto por Darwin, y que resume la famosa frase ‘la supervivencia del más fuerte o adaptado’.

Ahora que sabemos, en líneas generales, lo que pretende replicar un algoritmo genético, vamos a ver cómo funcionan y para qué se utilizan.

¿Cómo funciona un algoritmo genético?

Como decía en la introducción, un algoritmo genético trata de replicar el modelo de selección natural que propuso Darwin. Este modelo básicamente dice que, dentro de una población, los individuos que sobreviven son aquellos que están más adaptados al medio.

Por ejemplo, entre un camaleón verde y uno rojo que viven en la selva, es más fácil que sobreviva el de color verde pues está mejor adaptado al medio en el que vive (la selva en este caso, que es de color verde). Sin embargo, el camaleón rojo es muy probable que no sobreviva, ya que será comido con rapidez. Además, tampoco tendrá la oportunidad de reproducirse y trasladar sus genes (entre ellos el color rojo) a su descendencia.

Es por esto que los individuos que se reproducen dando lugar a descendencia con sus genes son los que están mejor adaptados. Por lo tanto, las generaciones están cada vez mejor adaptadas pues son combinación de los mejores genes de las generaciones anteriores.

Además, esta teoría de la evolución introduce un concepto muy interesante que son las mutaciones. Una mutación es un pequeño cambio que se produce de manera aleatoria en ciertos individuos e introduce de esta manera versatilidad en las poblaciones. Habrá mutaciones que den lugar a cambios favorables y otros desfavorables.

Siguiendo con los camaleones de la selva, imaginemos que un individuo sufre una mutación por la cual su cola, que hasta entonces era rígida, ahora no tiene huesos, esto le permite no caerse de los árboles e incluso alcanzar cosas más lejanas con ella. En este caso el nuevo camaleón está todavía mejor adaptado por lo que le será más fácil sobrevivir e introducirá sus genes en la población que después de cierto número de generaciones tendrá la cola sin huesos.

Sin embargo, si la mutación es la de quitarle la lengua, este camaleón tendrá muchas dificultades para alimentarse y terminará muriendo de hambre, por lo que esta mutación no se introducirá en la población.

¿Para qué se utilizan los algoritmos genéticos?

Los algoritmos genéticos se utilizan para resolver problemas de búsqueda y optimización pues se basan en hacer evolucionar poblaciones de soluciones hacia valores óptimos del problema.

Estructura de un algoritmo genético

Para poder explicar la estructura de los algoritmos genéticos voy a introducir primero algunos términos que serán útiles:

  • Individuo:  los individuos de nuestra población son las posibles soluciones al problema que estamos tratando.
  • Población: conjunto de individuos (soluciones).
  • Función fitness o de adaptación: función que evalúa a los individuos y les asigna una puntuación en función de lo buenas soluciones que sean para el problema.
  • Función de cruce: función que, dados dos individuos, genera dos ‘descendientes’ a partir de la combinación de genes de sus ‘padres’. Esta función se diseña especialmente para el problema que se esté tratando y, por lo general, se encarga de que los hijos sean mejores soluciones que los padres.

Entonces, la estructura de un algoritmo genético es la siguiente:

  1. Se genera una población inicial de individuos (soluciones), usualmente de manera aleatoria.
  2. Fase de evaluación: se evalúan los individuos de la población con la función fitness.
  3. Fase de selección: se seleccionan los mejores individuos.
  4. Fase de reproducción: se cruzan los individuos seleccionados mediante la función de cruce, dando lugar a una nueva generación que va a sustituir a la anterior. 
  5. Fase de mutación: se introducen mutaciones (pequeños cambios) en ciertos individuos de la nueva población de manera aleatoria.
  6. Tenemos una nueva generación, generalmente, con soluciones mejores que la anterior. Volvemos al punto 2.

Los algoritmos genéticos finalizan o bien cuando alcanzan un número de generaciones concreto o cuando cumplen una condición de parada.

A continuación puedes observar el diagrama de flujo de un algoritmo genético.

Ilustración 1: Diagrama de flujo de un algoritmo genético. (Elaboración propia)

Principales ventajas de los algoritmos genéticos frente a heurísticas convencionales

Fáciles de implementar y versátiles

Como has podido comprobar, la estructura de un algoritmo genético es siempre la misma, independientemente del problema, lo que facilita su uso. La única configuración que habrá que hacer será la creación de la función fitness basándose en el problema que queremos resolver.

El resto de funciones (selección, cruce y mutación) se basan en la forma en la que están definidos los individuos y para ellas existen funciones predefinidas.

Son intrínsecamente paralelos

Esto quiere decir que trabajan y desarrollan diferentes soluciones a la vez. Este es el motivo por lo que se utilizan para resolver problemas de búsqueda y optimización ya que exploran el espacio de soluciones en más de una dirección a la vez.

Alba Muñoz del Río, alumna del Master en Big Data y Business Analytics de IMF Business School.

Formación Relacionada

Las dos pestañas siguientes cambian el contenido a continuación.
IMF Business School
Equipo de profesionales formado esencialmente por profesores y colaboradores con amplia experiencia en las distintas áreas de negocio del mundo empresarial y del mundo académico. IMF Business School ofrece una exclusiva oferta de postgrados en tecnología en colaboración con empresa como Deloitte, Indra o EY (masters en Big Data, Ciberseguridad, Sistemas, Deep Learning, IoT) y un máster que permite acceder a la certificación PMP/PMI. Para ello IMF cuenta con acuerdos con universidades como Nebrija, la Universidad de Alcalá y la Universidad Católica de Ávila así como con un selecto grupo de universidades de Latinoamérica.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¡Noticias, eventos y formación!

Suscríbete ahora y recibe los mejores contenidos sobre Negocios, Prevención, Marketing, Energías Renovables, Tecnología, Logística y Recursos Humanos.

Acepto recibir comunicaciones comerciales por parte del grupo IMF
He leído y acepto las condiciones


Algoritmos genéticos: cómo funcionan y para qué se utilizan

Ahora que sabemos, en líneas generales, lo que pretende replicar los algoritmos genéticos, vamos a ver cómo funcionan y para qué se utilizan.