Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Guías

¿Qué es un algoritmo evolutivo? 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.

Abirami VinaAbirami Vina10 min de lectura
Algoritmos evolutivos explicados

La vida en la Tierra ha evolucionado durante millones de años y, gracias a este proceso, los seres vivos se han adaptado para sobrevivir y prosperar en sus entornos. Pensemos, por ejemplo, en las jirafas. A lo largo de muchas generaciones desarrollaron cuellos largos para alcanzar las hojas de las copas de los árboles, a las que otros animales no llegan. Esto se debe a la selección natural, por la que los rasgos beneficiosos se vuelven más comunes porque quienes los poseen tienen más probabilidades de sobrevivir.

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

Los algoritmos evolutivos (EA) se engloban en el término «inteligencia computacional». Al igual que en la evolución, un EA selecciona las mejores soluciones de un grupo, introduce pequeños cambios y comprueba si mejoran los resultados. Al repetir este proceso durante muchas generaciones, encuentra las mejores soluciones para problemas complejos de distintos ámbitos.

Gracias a su versatilidad, los algoritmos evolutivos son un área de investigación interesante, con estudios en curso para aplicarlos a campos como la ingeniería, la medicina y las ciencias medioambientales. En este artículo veremos con más detalle qué son los algoritmos evolutivos, cómo funcionan y dónde se utilizan.

Algoritmos evolutivos: explicación#

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 modelo posible para una tarea determinada. Normalmente, parten de un grupo de posibles soluciones y las mejoran a lo largo de muchas iteraciones según lo bien que resuelvan el problema.

Por ejemplo, imagina que intentas diseñar el coche que consuma menos combustible. El algoritmo empieza con diversos diseños de coches, prueba el rendimiento de cada uno y, a continuación, los mejora gradualmente combinando las mejores características y haciendo pequeños ajustes a lo largo de varias rondas, hasta encontrar el mejor diseño posible.

Hay varios tipos de algoritmos evolutivos, cada uno con su propia forma de representar y mejorar las soluciones, pero todos siguen este planteamiento 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, por ejemplo, secuencias de números o símbolos. La mejora se consigue combinando partes de dos buenas soluciones (de forma similar a la combinación de rasgos de dos progenitores) y realizando pequeños cambios aleatorios para crear nuevas variantes.
  • Programación genética: Se centra en construir soluciones con 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é magnitud deben tener los cambios al actualizar las soluciones. Esto ayuda al algoritmo a mejorar sus resultados con mayor eficiencia a lo largo del tiempo.
  • Evolución diferencial: Con este enfoque, se crean nuevas soluciones combinando partes de distintas soluciones existentes. Funciona especialmente bien con problemas cuyas respuestas son números que pueden variar de forma continua.

Comprender cómo funcionan los algoritmos evolutivos#

Los algoritmos evolutivos utilizan un proceso iterativo para encontrar la mejor solución a un problema. Puedes compararlo con la forma en que la naturaleza perfecciona las especies a lo largo de las generaciones, donde cada ciclo contribuye 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 la aptitud: Cada solución se evalúa mediante una función de aptitud que mide en qué grado resuelve el problema. Las soluciones que ofrecen mejores resultados reciben puntuaciones más altas y tienen más posibilidades de seleccionarse para las siguientes etapas.
  • Reproducción: Se crean nuevas soluciones mediante dos métodos principales: el cruce y la mutación. El cruce combina características de dos soluciones parentales, mientras que la mutación introduce pequeños cambios aleatorios para explorar nuevas posibilidades.
  • Reemplazo: Las nuevas soluciones sustituyen a algunas o a todas las soluciones anteriores. Este paso determina cuáles 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. Esta puede consistir en alcanzar un número determinado de iteraciones, lograr un nivel de aptitud satisfactorio, no conseguir más mejoras o alcanzar los límites computacionales.

Un vistazo al funcionamiento de los algoritmos evolutivos

Fig. 1. Un vistazo al 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, repasemos algunas de sus aplicaciones prácticas 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 según la posición de los aerogeneradores entre sí y las condiciones del viento. Los métodos de diseño tradicionales suelen tener dificultades para gestionar las numerosas variables externas que intervienen.

Los algoritmos evolutivos son una forma excelente de proponer y probar numerosos diseños distintos de parques eólicos. Analizan aspectos como los patrones del viento, los tipos de turbinas y el terreno disponible para encontrar la mejor configuración. Con cada ronda de pruebas, el diseño mejora, lo que permite generar más energía, reducir los costes y aprovechar mejor el terreno. Tras varias iteraciones, el diseño final puede ofrecer una producción de energía mayor que la de uno creado manualmente.

Un parque eólico con aerogeneradores

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 clave para los fabricantes de automóviles actuales. Los algoritmos evolutivos pueden ayudar a agilizar este proceso, ya que permiten probar numerosas opciones de diseño y mejorarlas gradualmente hasta encontrar la mejor. Esto puede ayudar a los fabricantes a encontrar el equilibrio óptimo entre rendimiento y eficiencia.

Un ejemplo interesante es el uso de algoritmos evolutivos para diseñar la estructura básica 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 sin renunciar a su durabilidad y resistencia.

Los algoritmos genéticos pueden explorar distintas variaciones estructurales con 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 turnos 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 combinó 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 agilizaron el proceso de planificación un 98 %, al reducir el tiempo de más de una hora a poco más de un minuto.

Planificación manual frente a planificación con un algoritmo genético

Fig. 4. Planificación manual frente a planificación con un algoritmo genético (GA) (fuente).

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

Los algoritmos evolutivos también se utilizan en visión artificial, el campo de la IA que permite a las máquinas interpretar y analizar datos visuales, como imágenes y vídeos. La investigación en curso explora 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 numerosas soluciones posibles y seleccionando las mejores, lo que les permite ser flexibles y 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 (CNN), actúan como radiólogos expertos al examinar imágenes para detectar signos de enfermedades como la COVID-19. El algoritmo evolutivo ayuda a diseñar automáticamente y ajustar la estructura y la configuración de la CNN, probar numerosas versiones, conservar las que mejor funcionan y crear 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 con mayor rapidez y precisión.

Los métodos evolutivos también aparecen en el entrenamiento de modelos del día a día. Por ejemplo, el ajuste de hiperparámetros en el paquete de Python de Ultralytics utiliza un algoritmo genético que modifica parámetros como la tasa de aprendizaje, los pesos de la función de pérdida y la intensidad del aumento de datos, y después conserva las configuraciones con mejor rendimiento tras muchas ejecuciones de entrenamiento breves.

Ventajas e inconvenientes 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 zonas del espacio de soluciones, lo que reduce la probabilidad de que se queden atascados en soluciones deficientes.
  • Robustez: En entornos inciertos y cambiantes, el componente aleatorio de los algoritmos evolutivos y la diversidad de sus soluciones ayudan al sistema a mantener un rendimiento constante.
  • Flexibilidad: Los algoritmos evolutivos pueden adaptarse para funcionar bien con muchos tipos de problemas, modificando la forma de representar las soluciones y de medir el éxito.

Aunque estos algoritmos ofrecen muchas ventajas, también es importante conocer sus limitaciones. Estos son algunos de sus inconvenientes más habituales:

  • Coste computacional: Evaluar repetidamente numerosas soluciones posibles puede requerir recursos informáticos potentes y costosos, por lo que estos algoritmos pueden ser lentos o caros en algunas aplicaciones.
  • Sensibilidad a los parámetros: El éxito de los algoritmos evolutivos suele depender en gran medida de la elección de los parámetros iniciales adecuados, como el tamaño de la población, la tasa de mutación y los métodos de selección. Una mala elección puede perjudicar el rendimiento.
  • Convergencia lenta: Pueden necesitar muchas iteraciones para mejorar las soluciones, sobre todo en problemas muy complejos, lo que puede alargar los tiempos de ejecución frente a 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 aprovechen sus defectos en lugar de resolver el problema previsto, lo que puede llevar a los desarrolladores a hacerse una idea equivocada del rendimiento real.

Conclusiones clave#

Los algoritmos evolutivos son una excelente opción para resolver problemas difíciles que pueden plantear obstáculos a otros métodos. La investigación ha demostrado que mejoran gradualmente mediante iteraciones y se adaptan a una gran variedad de tareas. A medida que la IA siga 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 distintas.

Únete a nuestra creciente comunidad y visita nuestro repositorio de GitHub para acceder a recursos de IA. Descubre distintas aplicaciones de la visión artificial en la agricultura y la IA en la logística en nuestras páginas de soluciones. Consulta nuestras opciones de licencia para poner en marcha tus proyectos de visión artificial.

Escrito por

Abirami Vina
Abirami Vina

Creador de contenido · Ultralytics

Abirami Vina comenzó su carrera como ingeniera de visión artificial y sentó unas bases sólidas en AI visual y aprendizaje automático. Es creadora de contenido para Ultralytics y fundadora y redactora jefe de Scribe of AI, donde elabora contenido técnico de alta calidad para empresas centradas en AI. Su pasión por hacer que la AI sea comprensible y atractiva impulsa su trabajo, que conecta la tecnología de vanguardia con su impacto en el mundo real.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa 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

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

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

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

Visión artificial en la agricultura

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

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático