Algoritmo genéticoGenetic Algorithm

Mezclar y variar un poco varios candidatos para ir eligiendo

Puntos clave
  • El algoritmo genético fabrica varios candidatos a la vez y repite, una y otra vez, elegir los que salieron bien, mezclarlos y variarlos un poco.
  • Un candidato es una lista de valores de configuración. Esa lista se ordena por puntaje, y solo la parte de arriba pasa a la siguiente ronda.
  • Mezclar es armar un candidato nuevo repartiendo entre dos ya buenos los valores de sus listas, y también se hace desviar a propósito un solo punto.
  • Su valor sube cuando no se puede calcular una pendiente o cuando la configuración toma valores discretos. A cambio, es lento porque hay que probar tantas veces como candidatos haya.
  • Si desaparece la variedad, se detiene ahí mismo. Por eso se deja a propósito algo de margen a los candidatos rezagados y se ajusta cuánto se varía.
Contenido

1La analogía

Al llegar a un camping para armar el toldo, no hay una sola respuesta correcta. Qué tan alto poner el poste, en qué ángulo abrir las cuerdas, cuántas estacas clavar, hacia qué lado orientarlo contra el viento. Las combinaciones son decenas. En vez de probarlas una por una en orden, se arman seis toldos a la vez con seis configuraciones distintas en seis puntos del terreno, y con un solo viento de la tarde salen seis resultados juntos. Se eligen los dos que mejor aguantaron, y del uno se toma la altura del poste y del otro el ángulo de las cuerdas, para armar uno nuevo. A eso se le suma desviar a propósito solo el número de estacas. Al día siguiente por la tarde queda en las manos una forma mucho más resistente que la del principio. El algoritmo genético es justo ese método, trasladado tal cual.

2En detalle

No se maneja uno, se maneja un grupo entero

El aprendizaje habitual toma una sola respuesta y la va corrigiendo poco a poco. El algoritmo genético, desde el inicio, arma de decenas a cientos de candidatos y los hace correr juntos. A ese grupo se le llama población.

Un candidato es una lista de valores de configuración puestos en fila. En el caso del toldo, sería una línea con la altura del poste, el ángulo de las cuerdas, el número de estacas, en ese orden. Cómo se definen esos casilleros es la mitad del problema. Si se dividen demasiado fino, las combinaciones se vuelven imposibles de manejar; si se agrupan demasiado grueso, la buena respuesta puede quedar fuera de la lista.

Se ordena por puntaje y solo queda lo de arriba

A cada candidato se le mide un puntaje probándolo de verdad. A ese puntaje se le llama aptitud. Con el toldo sería cuánto tiempo aguantó el viento; con un auto que se estaciona, qué tan cerca quedó del lugar objetivo. Lo importante aquí es que basta con tener una regla para puntuar. No hace falta saber de antemano cómo corregir para mejorar.

Se ordenan por puntaje y los de arriba se toman como padres de la siguiente ronda. Aunque no siempre se elige solo al primero: se saca un grupo pequeño y de ahí se elige al mejor, con algo de holgura, para que un candidato que salió bien por casualidad al principio no se apodere de toda la población. A veces también se pasa tal cual, sin tocar, a uno o dos de los mejores candidatos a la siguiente ronda.

Mezclar y desviar un solo punto

Un candidato nuevo se arma repartiendo entre dos padres los valores de sus listas. La primera mitad se toma de uno, la segunda mitad del otro, por ejemplo. También se puede tirar una moneda por cada casillero para decidir de cuál padre se toma. Es un mecanismo para pegar dos con fortalezas distintas y apostar por un tercero mejor.

A eso se le suma algo más: elegir un casillero de la lista recién armada y desviar un poco su valor. Sin esto, ningún valor que no estuviera ya en los candidatos iniciales aparecería jamás. Si se desvía muy poco, se da vueltas en el mismo lugar; si se desvía mucho, la buena combinación que costó encontrar se desarma cada vez. Mezclar es combinar lo que ya se tiene, y desviar es traer algo que no estaba.

Cuando se acumulan las generaciones

A cada ronda se le llama generación. A medida que pasan las generaciones, el promedio del puntaje sube y los candidatos de la población se van pareciendo entre sí. Cuando llega el punto en que, por más vueltas que se den, el puntaje ya no sube, ahí se detiene.

El problema es cuando se parecen demasiado rápido. Si al principio aparece un candidato notablemente bueno, sus descendientes llenan toda la población, y aunque haya una respuesta mejor en otra parte, ya no queda ningún candidato que pueda llegar hasta ahí. Por eso se elige con más holgura, se sube un poco la tasa de desviar, o se divide la población en varios grupos que corren aparte y de vez en cuando se mezclan.

En qué se usa

Si el problema permite calcular una pendiente, casi siempre los métodos de la familia del descenso de gradiente son mucho más rápidos. El lugar del algoritmo genético está justo del otro lado: problemas donde se puede puntuar pero no se sabe hacia dónde corregir para mejorar, problemas cuya configuración toma valores discretos como cantidades u órdenes, problemas donde una buena respuesta puede estar repartida en varios lugares distintos.

Su costo es el número de pruebas. Como hay que probar tantas veces como candidatos por generación, si cada prueba tarda mucho, se vuelve difícil de sostener. Por eso se usa sobre todo en problemas donde probar es rápido o donde se pueden correr muchas cosas a la vez, y se aplica a menudo para elegir la configuración de una red neuronal o para diseñar una forma.

3Con más precisión

El algoritmo genético (Genetic Algorithm) es un método de búsqueda inspirado en la selección, el cruce y la mutación de la evolución. A un candidato se le llama individuo, a la lista de configuración, genes, al grupo de candidatos, población, y al puntaje, aptitud. Para elegir a los padres es común usar la selección por torneo o la selección basada en ranking, y a pasar tal cual a los mejores candidatos se le llama elitismo. Como no usa la pendiente de la función objetivo, se puede aplicar también a problemas que no son diferenciables, aunque no hay garantía de que encuentre la solución óptima.

La analogía también tiene sus costuras. Con el toldo, una persona ve con sus ojos y puede intuir por qué un lado aguantó mejor, pero el algoritmo genético no indaga en el porqué: solo mira el puntaje. Por eso a veces sobrevive una combinación que a ojos humanos parece rara. Y otra cosa: en el camping basta con una tarde para probar las seis opciones, pero en problemas reales, aun con el mismo candidato, el puntaje puede cambiar según las condiciones, así que muchas veces hace falta probar varias veces y sacar un promedio.

4Pruébalo

5Malentendidos comunes

  • Es fácil pensar que el algoritmo genético es un tipo de aprendizaje, pero en realidad no aprende una regla a partir de datos: es un método de búsqueda que encuentra una buena configuración.

  • Es fácil pensar que, si se corren suficientes generaciones, siempre se llega a la mejor respuesta, pero en realidad, si la población se parece demasiado rápido, el proceso se detiene ahí mismo.

  • Es fácil pensar que cuanto más alta la tasa de desviar, mejor, pero en realidad, si es demasiado alta, la buena combinación que costó encontrar se desarma cada vez y el puntaje deja de subir.

7Resumen en una línea

En resumenEl algoritmo genético arma varios candidatos, los ordena por puntaje, mezcla los que salieron bien y desvía un punto de cada uno para ir puliendo la respuesta.

¿Has visto un error o tienes una analogía mejor? Sugerir una corrección · Última actualización2026-09-02