Ultralytics YOLO27:
Guías

¿Qué es un algoritmo evolutivo? Una guía rápida

Descubre cómo funcionan los algoritmos evolutivos y cómo se utilizan en el aprendizaje automático para optimizar modelos, resolver problemas complejos e impulsar los avances en IA.

ABAbirami Vina10 min read
Algoritmos evolutivos explicados

Para ver una explicación visual de los conceptos tratados en este artículo, mira el vídeo siguiente.

La vida en la Tierra ha evolucionado durante millones de años, y es mediante este proceso que los seres vivos se han adaptado para sobrevivir y prosperar en sus entornos. Por ejemplo, las jirafas desarrollaron cuellos largos a lo largo de muchas generaciones para alcanzar las hojas de las partes altas de los árboles, donde no pueden llegar otros animales. Esto se debe a la selección natural, mediante la cual los rasgos beneficiosos se vuelven más comunes, ya que quienes los poseen tienen más probabilidades de sobrevivir.

En pocas palabras, los organismos que están mejor adaptados a su entorno tienen más probabilidades de sobrevivir y transmitir sus rasgos útiles a su descendencia. Con el tiempo, estos pequeños cambios se acumulan y ayudan a las especies a hacer frente incluso a las condiciones más difíciles.

Los algoritmos evolutivos (EA) se incluyen dentro del término general «Machine Learning». Al igual que la evolución, los EA seleccionan las mejores soluciones de un grupo, introducen pequeños cambios y comprueban si esos cambios mejoran los resultados. Al repetir este proceso durante muchas generaciones, encuentran las mejores soluciones para problemas complejos en diversos campos.

Gracias a su versatilidad, los algoritmos evolutivos son un área de investigación interesante, con estudios en curso orientados a aplicarlos en campos como la ingeniería, la medicina y la ciencia medioambiental. En este artículo analizaremos más detenidamente los algoritmos evolutivos, cómo funcionan y dónde se utilizan. ¡Empecemos!

Algoritmos evolutivos explicados#

Los algoritmos evolutivos son técnicas de optimización que pueden utilizarse en el ámbito del aprendizaje automático para encontrar la mejor solución o el mejor modelo posible para una tarea determinada. Normalmente, comienzan con un grupo de soluciones potenciales y trabajan para mejorarlas durante muchas iteraciones en función de lo bien que resuelven el problema.

Por ejemplo, imagina que intentas diseñar el coche que consuma menos combustible. El algoritmo comienza con una variedad de diseños de coches, prueba cada uno para comprobar su rendimiento y, después, mejora gradualmente los diseños combinando las mejores características y realizando pequeños ajustes durante muchas rondas hasta encontrar el mejor diseño posible.

Existen varios tipos de algoritmos evolutivos, cada uno con su propia forma de representar y mejorar las soluciones, pero todos siguen este enfoque básico. Estos son algunos tipos habituales de algoritmos evolutivos:

  • Algoritmos genéticos: En este tipo de algoritmo evolutivo, las soluciones se representan como cadenas codificadas sencillas, como secuencias de números o símbolos. La mejora se produce al mezclar partes de dos soluciones buenas, de forma similar a la combinación de rasgos de los progenitores, y realizar pequeños cambios aleatorios para crear nuevas variaciones.

  • Programación genética: Se centra en construir soluciones como estructuras similares a árboles. Resulta especialmente útil cuando la solución requiere una secuencia de pasos o instrucciones.

  • Estrategias evolutivas: En este caso, el objetivo es aprender qué tamaño deben tener los cambios al actualizar las soluciones. Esto ayuda al algoritmo a mejorar sus resultados de forma más eficiente con el tiempo.

  • Evolución diferencial: Con este enfoque, las nuevas soluciones se forman combinando partes de distintas soluciones existentes. Funciona especialmente bien en problemas cuyas respuestas son números que pueden variar de forma continua.

Cómo funcionan los algoritmos evolutivos#

Los algoritmos evolutivos utilizan un proceso iterativo para encontrar la mejor solución a un problema. Puedes imaginarlo como la forma en que la naturaleza perfecciona las especies a lo largo de generaciones, donde cada ciclo ayuda a mejorar la población.

Aunque existen distintos tipos de algoritmos evolutivos, por lo general siguen estos pasos clave:

  • Inicialización: El algoritmo comienza generando un conjunto inicial de posibles soluciones. Este constituye el punto de partida del proceso evolutivo.

  • Evaluación de aptitud: Cada solución se evalúa mediante una función de aptitud que mide lo bien que resuelve el problema. Las soluciones con mejor rendimiento reciben puntuaciones más altas y tienen más probabilidades de ser seleccionadas para los pasos siguientes.

  • Reproducción: Las nuevas soluciones se crean mediante dos métodos principales: cruce y mutación. El cruce combina características de dos soluciones progenitoras, mientras que la mutación introduce pequeños cambios aleatorios para explorar nuevas posibilidades.

  • Reemplazo: Las soluciones recién creadas sustituyen a algunas o a todas las soluciones anteriores. Este paso determina qué soluciones sobreviven y pasan a la siguiente generación.

  • Finalización: El proceso de reproducción y reemplazo continúa hasta que se cumple una condición de parada. Puede tratarse de alcanzar un número determinado de iteraciones, lograr un nivel de aptitud satisfactorio, no observar más mejoras o alcanzar los límites computacionales.

Una vista del funcionamiento de los algoritmos evolutivos

Fig. 1. Una vista del funcionamiento de los algoritmos evolutivos. Imagen del autor.

Aplicaciones de los algoritmos evolutivos#

Ahora que entendemos mejor qué son los algoritmos evolutivos y cómo funcionan, vamos a repasar algunas de sus aplicaciones en el mundo real en distintos sectores.

Algoritmos bioinspirados utilizados en parques eólicos#

Uno de los aspectos más importantes de la generación de energía eólica es la ubicación de los aerogeneradores. La eficiencia de un parque eólico puede variar considerablemente en función de cómo se coloquen los aerogeneradores entre sí y de las condiciones del viento. Los métodos de diseño tradicionales suelen tener dificultades para gestionar las numerosas variables externas implicadas.

Los algoritmos evolutivos son una excelente forma de idear y probar muchas disposiciones distintas para parques eólicos. Analizan aspectos como los patrones del viento, los tipos de aerogeneradores y el terreno disponible para encontrar la mejor configuración. Con cada ronda de pruebas, el diseño mejora, lo que se traduce en más energía, menores costes y un mejor aprovechamiento del terreno. Tras varias iteraciones, el diseño final puede ofrecer una producción energética superior a la de uno creado manualmente.

Un parque eólico

Fig. 2. Un parque eólico.

Técnicas de optimización en el diseño de vehículos#

Diseñar coches seguros, eficientes en el consumo de combustible y asequibles es una prioridad fundamental para los fabricantes de automóviles actuales. Los algoritmos evolutivos pueden ayudar a acelerar este proceso probando muchas opciones de diseño y mejorándolas gradualmente para encontrar la mejor. Esto puede ayudar a los fabricantes a encontrar el mejor equilibrio entre rendimiento y eficiencia.

Un ejemplo interesante es el uso de algoritmos evolutivos para diseñar la estructura principal del vehículo, conocida como carrocería en blanco (BIW). El objetivo principal de este proceso de diseño es reducir el peso de la carrocería manteniendo la misma durabilidad y resistencia.

Los algoritmos genéticos pueden explorar distintas variaciones estructurales mediante pequeños cambios. Después, estos diseños se prueban en función de factores como la resistencia, el peso, la durabilidad y las normas reglamentarias para identificar la mejor opción.

La estructura de diseño de la carrocería en blanco de un vehículo

Fig. 3. La estructura de diseño de la carrocería en blanco de un vehículo (fuente).

Estrategias evolutivas para la planificación de horarios en hospitales#

Los investigadores estudian activamente cómo los algoritmos evolutivos pueden ayudar en la atención sanitaria, por ejemplo, al planificar los horarios del personal hospitalario, mejorar los planes de tratamiento y descubrir nuevos medicamentos. Estos algoritmos funcionan bien porque pueden gestionar grandes cantidades de datos y tener en cuenta aspectos como la fatiga y el estrés.

Por ejemplo, se han probado algoritmos genéticos para mejorar la planificación de los turnos de enfermería en hospitales. Un estudio fascinante utilizó una combinación de algoritmos genéticos y técnicas de búsqueda local para crear horarios que redujeran la fatiga del personal de enfermería. Los resultados mostraron una reducción del 10 % de la fatiga y permitieron agilizar el proceso de planificación en un 98 %, reduciendo el tiempo de más de una hora a poco más de un minuto.

Planificación manual frente al uso de un algoritmo genético

Fig. 4. Planificación manual frente al uso de un algoritmo genético (GA) (fuente).

El papel de las técnicas evolutivas en la visión por ordenador#

Además de las aplicaciones de aprendizaje automático, los algoritmos evolutivos también pueden utilizarse en áreas como la visión por ordenador, el campo de la IA que permite a las máquinas interpretar y analizar datos visuales, como imágenes y vídeos. Las investigaciones en curso exploran su potencial en tareas como la segmentación de imágenes, la detección de objetos y la extracción de características.

Estos algoritmos funcionan probando muchas soluciones posibles y seleccionando las mejores, lo que los hace flexibles y capaces de gestionar datos visuales complejos y variados. Por ejemplo, los investigadores han utilizado algoritmos evolutivos para mejorar sistemas de IA que analizan imágenes médicas, como radiografías de tórax.

Estos sistemas de IA, conocidos como redes neuronales convolucionales (CNNs), actúan como radiólogos expertos al analizar imágenes para detectar signos de enfermedades como la COVID-19. El algoritmo evolutivo ayuda a diseñar y ajustar automáticamente la estructura y la configuración de la CNN, probando muchas versiones, conservando las que ofrecen mejores resultados y creando gradualmente modelos más precisos. Este proceso da lugar a herramientas de IA que pueden ayudar a los médicos a diagnosticar la COVID-19 de forma más rápida y precisa.

Ventajas y desventajas de los algoritmos evolutivos#

Estas son algunas de las principales ventajas que ofrecen los algoritmos evolutivos:

  • Capacidad de búsqueda global: Los algoritmos evolutivos exploran simultáneamente muchas partes del espacio de soluciones, lo que reduce la probabilidad de quedarse atrapados en soluciones deficientes.
  • Robustez: En entornos inciertos y cambiantes, el carácter aleatorio de los algoritmos evolutivos y la diversidad de sus soluciones ayudan al sistema a mantener un rendimiento constante.
  • Flexibilidad: Los algoritmos evolutivos pueden ajustarse para funcionar bien con muchos tipos de problemas diferentes cambiando la forma en que se representan las soluciones y cómo se mide el éxito.

Aunque estos algoritmos ofrecen muchas ventajas, también es importante conocer sus limitaciones. Estas son algunas desventajas habituales de los algoritmos evolutivos:

  • Coste computacional: Evaluar repetidamente muchas soluciones posibles puede requerir recursos informáticos potentes y caros, lo que hace que estos algoritmos sean lentos o costosos para algunas aplicaciones.
  • Sensibilidad a los parámetros: El éxito de los algoritmos evolutivos suele depender en gran medida de elegir correctamente los ajustes iniciales, como el tamaño de la población, la tasa de mutación y los métodos de selección. Las elecciones poco adecuadas pueden perjudicar el rendimiento.
  • Convergencia lenta: Pueden necesitar muchas iteraciones para mejorar las soluciones, especialmente en problemas muy complejos, lo que puede dar lugar a tiempos de ejecución más largos que los de otros métodos.
  • Sensibilidad a la función de aptitud: Un diseño deficiente de la función de aptitud puede hacer que los algoritmos exploten fallos en lugar de resolver el problema previsto, lo que induce a los desarrolladores a equivocarse sobre el rendimiento real.

Conclusiones clave#

Los algoritmos evolutivos son una excelente opción para resolver problemas difíciles que otros métodos pueden tener problemas para abordar. Las investigaciones han demostrado que mejoran gradualmente mediante la iteración y que pueden adaptarse a una amplia variedad de tareas. A medida que la IA sigue avanzando y evolucionando, se espera que estos algoritmos desempeñen un papel aún más importante en el desarrollo de tecnologías inteligentes, eficientes y capaces de aprender por sí mismas en muchas aplicaciones diferentes.

Únete a nuestra comunidad, cada vez más grande, y visita nuestro repositorio de GitHub para acceder a recursos de IA. Explora distintas aplicaciones de la visión por ordenador en la agricultura y la IA en la logística en nuestras páginas de soluciones. Descubre nuestras opciones de licencia para poner en marcha tus proyectos de visión por ordenador.

Explore solutions

Visión por computadora para imágenes aéreas

Visión por computadora para imágenes aéreas

Transforma imágenes de drones y aéreas en información en tiempo real para agricultura, acuicultura, supervisión ambiental, conservación y análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en la industria aeroespacial

Visión artificial en la industria aeroespacial

Lleva la IA de visión al monitoreo aéreo con los modelos Ultralytics YOLO. Potencia drones, flujos de trabajo aeroespaciales, conservación ambiental e industrias geoespaciales con soluciones de visión artificial.
Más información

Protege cada sitio con los modelos Ultralytics YOLO. La IA de visión potencia el monitoreo perimetral, la detección de amenazas, el reconocimiento de matrículas y la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Impulsa máquinas más inteligentes con los modelos de Ultralytics YOLO. La IA de visión en robótica permite la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La IA de visión permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad de los almacenes en tiempo real.
Más información
Visión artificial en comercio minorista

Visión artificial en comercio minorista

Reinventa el comercio minorista con los modelos de Ultralytics YOLO. La IA de visión impulsa el seguimiento del inventario, la supervisión de estanterías, la gestión de colas y un conocimiento más inteligente de los clientes.
Más información
Visión por computador en el sector sanitario

Visión por computador en el sector sanitario

Crea soluciones sanitarias con modelos de Ultralytics YOLO. La IA de visión en el sector sanitario permite obtener imágenes médicas más rápidamente, diagnósticos más inteligentes y supervisar a los pacientes.
Más información
Visión por computador en la fabricación

Visión por computador en la fabricación

Optimiza la fabricación con modelos de Ultralytics YOLO. La IA de visión impulsa el control de calidad, la detección de defectos, el cumplimiento del PPE y la automatización de las líneas de montaje.
Más información
Visión artificial en el sector automovilístico

Visión artificial en el sector automovilístico

Aplica visión artificial en el sector automovilístico con modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para conseguir carreteras más inteligentes.
Más información
Visión artificial en agricultura

Visión artificial en agricultura

Lleva la IA de visión a la agricultura inteligente con modelos de Ultralytics YOLO. Impulsa la supervisión de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas mayores e inteligentes.
Más información
Visión por computadora para imágenes aéreas

Visión por computadora para imágenes aéreas

Transforma imágenes de drones y aéreas en información en tiempo real para agricultura, acuicultura, supervisión ambiental, conservación y análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en la industria aeroespacial

Visión artificial en la industria aeroespacial

Lleva la IA de visión al monitoreo aéreo con los modelos Ultralytics YOLO. Potencia drones, flujos de trabajo aeroespaciales, conservación ambiental e industrias geoespaciales con soluciones de visión artificial.
Más información

Protege cada sitio con los modelos Ultralytics YOLO. La IA de visión potencia el monitoreo perimetral, la detección de amenazas, el reconocimiento de matrículas y la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Impulsa máquinas más inteligentes con los modelos de Ultralytics YOLO. La IA de visión en robótica permite la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La IA de visión permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad de los almacenes en tiempo real.
Más información
Visión artificial en comercio minorista

Visión artificial en comercio minorista

Reinventa el comercio minorista con los modelos de Ultralytics YOLO. La IA de visión impulsa el seguimiento del inventario, la supervisión de estanterías, la gestión de colas y un conocimiento más inteligente de los clientes.
Más información
Visión por computador en el sector sanitario

Visión por computador en el sector sanitario

Crea soluciones sanitarias con modelos de Ultralytics YOLO. La IA de visión en el sector sanitario permite obtener imágenes médicas más rápidamente, diagnósticos más inteligentes y supervisar a los pacientes.
Más información
Visión por computador en la fabricación

Visión por computador en la fabricación

Optimiza la fabricación con modelos de Ultralytics YOLO. La IA de visión impulsa el control de calidad, la detección de defectos, el cumplimiento del PPE y la automatización de las líneas de montaje.
Más información
Visión artificial en el sector automovilístico

Visión artificial en el sector automovilístico

Aplica visión artificial en el sector automovilístico con modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para conseguir carreteras más inteligentes.
Más información
Visión artificial en agricultura

Visión artificial en agricultura

Lleva la IA de visión a la agricultura inteligente con modelos de Ultralytics YOLO. Impulsa la supervisión de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas mayores e inteligentes.
Más información
Visión por computadora para imágenes aéreas

Visión por computadora para imágenes aéreas

Transforma imágenes de drones y aéreas en información en tiempo real para agricultura, acuicultura, supervisión ambiental, conservación y análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en la industria aeroespacial

Visión artificial en la industria aeroespacial

Lleva la IA de visión al monitoreo aéreo con los modelos Ultralytics YOLO. Potencia drones, flujos de trabajo aeroespaciales, conservación ambiental e industrias geoespaciales con soluciones de visión artificial.
Más información

Protege cada sitio con los modelos Ultralytics YOLO. La IA de visión potencia el monitoreo perimetral, la detección de amenazas, el reconocimiento de matrículas y la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Impulsa máquinas más inteligentes con los modelos de Ultralytics YOLO. La IA de visión en robótica permite la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La IA de visión permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad de los almacenes en tiempo real.
Más información
Visión artificial en comercio minorista

Visión artificial en comercio minorista

Reinventa el comercio minorista con los modelos de Ultralytics YOLO. La IA de visión impulsa el seguimiento del inventario, la supervisión de estanterías, la gestión de colas y un conocimiento más inteligente de los clientes.
Más información
Visión por computador en el sector sanitario

Visión por computador en el sector sanitario

Crea soluciones sanitarias con modelos de Ultralytics YOLO. La IA de visión en el sector sanitario permite obtener imágenes médicas más rápidamente, diagnósticos más inteligentes y supervisar a los pacientes.
Más información
Visión por computador en la fabricación

Visión por computador en la fabricación

Optimiza la fabricación con modelos de Ultralytics YOLO. La IA de visión impulsa el control de calidad, la detección de defectos, el cumplimiento del PPE y la automatización de las líneas de montaje.
Más información
Visión artificial en el sector automovilístico

Visión artificial en el sector automovilístico

Aplica visión artificial en el sector automovilístico con modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para conseguir carreteras más inteligentes.
Más información
Visión artificial en agricultura

Visión artificial en agricultura

Lleva la IA de visión a la agricultura inteligente con modelos de Ultralytics YOLO. Impulsa la supervisión de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas mayores e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Comienza tu recorrido hacia el futuro del aprendizaje automático