











Unidad Curricular Algoritmos Genéticos

Los Algoritmos Genéticos (AG) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda ´ y optimización. Están basados en el proceso genético de los organismos vivos de ir evolucionando al ser más fuerte.
Por imitación de este proceso, los AG son capaces de ir creando soluciones para problemas del mundo real. La evolución de dichas soluciones hacia valores óptimos del problema depende en buena medida de una adecuada codificación de las mismas.
Según Conogasi(2018) los pasos para el proceso que utiliza un AG son los siguientes:
• Se genera aleatoriamente una población inicial constituida por posibles soluciones del problema, también llamados individuos.
Evaluación
Evolución
Aplicación de la función de evaluación a cada uno de los individuos.
• Aplicación de operadores genéticos (como son selección, reproducción y mutación).
• El AG deberá detenerse cuando se alcance la solución óptima, pero ésta generalmente se desconoce, por lo que se utilizan varios criterios de detención.
El AG es una búsqueda meta-heurística al igual que una técnica de optimización basada en principios presentes en la evolución natural. Pertenece a una clase más larga de algoritmos evolutivas.
procesos evolutivos: selección, cromosómico y mutación. población de cromosomas, que no es más que un set de soluciones posibles para el problema. La idea es que la “evolución” encuentre una solución óptima para el problema después de un número de generaciones sucesivas que es similar a una selección natural. Tal como la selección natural, el concepto central de la selección AG es la adaptación. Los cromosomas que se adaptan mejor tienen una mayor oportunidad de sobrevivir. La adaptación es una función que mide la calidad de la solución representada por el cromosoma. En esencia, cada cromosoma dentro de la población representa los parámetros de entrada, como el volumen y precio de cambio, cada cromosoma, lógicamente, consistirá de dos elementos. Como los elementos están codificados dentro del cromosoma es otro tema.
Los Algoritmos Genéticos han hecho importantes aportes a la Inteligencia Artificial, ya que se utilizan como herramientas de optimización y búsqueda en muchos campos. Aquí te menciono algunos de sus aportes:.
1.Optimización de parámetros: los Algoritmos Genéticos se utilizan para encontrar los valores óptimos de los parámetros de modelos matemáticos o de
algoritmos de aprendizaje automático. Son usados para mejorar el rendimiento y precisión de los modelos.
2.Selección de características: los Algoritmos Genéticos se utilizan para identificar el subconjunto de características más relevantes y útiles en un conjunto de datos, lo que puede mejorar la eficiencia y precisión del análisis.
3.Diseño automatizado: los Algoritmos Genéticos también se utilizan para la creación de diseños óptimos de sistemas complejos como redes de transporte, construcciones, y sistemas eléctricos entre otros.
4.Robótica: los Algoritmos Genéticos se aplican en el diseño y optimización de la locomoción de robots, estructuras y sistemas de control.
Como se pudo observar los Algoritmos Genéticos han sido muy importantes para la Inteligencia Artificial en la búsqueda de soluciones óptimas y eficientes en problemas de optimización y aprendizaje automático.
El origen del concepto de Computación Evolutiva se remonta a los años 60 y 70, cuando los biólogos evolutivos comenzaron a buscar formas de simular la evolución en computadoras para ayudar a comprender mejor los procesos evolutivos naturales. Uno de los métodos utilizados fue el algoritmo genético, que se basa en los conceptos de selección
natural y supervivencia del más apto.
El AG fue creado por John Holland en la década de 1960 y se inspiró en los principios de la selección natural y la genética. Holland propuso que la evolución podría simularse en una computadora mediante la creación de una población de soluciones candidatas, cada una con un conjunto de características o rasgos.
A través de la selección, el cruce y la mutación aleatoria, las soluciones candidatas con los mejores rasgos se seleccionarían para formar la población de la siguiente generación. De esta manera, el proceso evolutivo se simula artificialmente hasta que se encuentra una solución óptima.
Desde entonces, los algoritmos genéticos se han utilizado para una amplia variedad de problemas de optimización en diversos campos, tales como la inteligencia artificial, la ingeniería, la economía y otros.
Hay una gran cantidad de problemas que pueden ser resueltos mediante los algoritmos genéticos. Algunos de estos problemas son:
Caso 1: Optimización de rutas. Aplicado en la optimización de rutas, permite encontrar la ruta más corta o más rápida entre ciudades o zonas en muy poco tiempo. También resulta muy útil en Smart Cities, para tratar de reducir las emisiones de CO2.
Caso 2: Optimización de tareas. Cuando se trata de realizar tareas en el tiempo más breve posible, optimizarlas es fundamental. Con los algoritmos genéticos, además el cálculo se hace rápido y eficaz.
Caso 3: Gestión automatizada de equipamiento industrial. Es posible hacer un cálculo en tiempo real para optimizar un proceso automatizado de equipamiento industrial.
Caso 4: Aprendizaje de comportamiento de robots. El aprendizaje de robots es posible respecto a una función de coste. Con estos algoritmos el aprendizaje se realiza de un modo más rápido y eficaz.
Caso 5: Sistemas del sector financiero. Una aplicación interesante en finanzas es que estos algoritmos permiten descubrir reglas de inversión que indican cuándo entrar y salir de un mercado para obtener los máximos beneficios. Por otro lado, en métodos de Splitwise, se puede optimizar el método de compartir gastos entre distintos usuarios.
Caso 6: Encontrar errores en programas. Permite detectar errores en los programas de los desarrolladores, lo que ayuda a ahorrar tiempo y dinero en su implementación.
Algoritmos genéticos como técnica de búsqueda y optimización:
• Los algoritmos genéticos (AGs) son una herramienta poderosa para la búsqueda y optimización de soluciones en una amplia gama de problemas.
• Se inspiran en los procesos evolutivos de la naturaleza, utilizando mecanismos como la selección natural, la reproducción y la mutación para encontrar soluciones óptimas o casi óptimas.
• Los AGs han demostrado ser efectivos en la resolución de problemas complejos en áreas como la ingeniería, las finanzas, la logística y la ciencia de datos.
Aportes de los algoritmos genéticos a la Inteligencia Artificial:
• Los AGs han contribuido significativamente al desarrollo de la Inteligencia Artificial (IA) al proporcionar nuevas técnicas para el aprendizaje automático, la robótica y la optimización de sistemas inteligentes.
• La capacidad de los AGs para aprender y adaptarse a partir de datos y entornos cambiantes los convierte en herramientas valiosas para el desarrollo de sistemas de IA más robustos y autónomos.
• Los AGs también se utilizan para evolucionar algoritmos de IA más eficientes y efectivos, lo que lleva a avances en áreas como el reconocimiento de patrones, el procesamiento del lenguaje natural y la visión artificial.
Origen del concepto de computación evolutiva:
• El concepto de computación evolutiva (CE) surge de la combinación de ideas de la biología evolutiva, la informática y la teoría de la optimización.
• La CE engloba técnicas como los AGs, la programación evolutiva, la programación por enjambre y la búsqueda basada en la física, que se inspiran en procesos naturales para resolver problemas complejos.
• La CE ha ganado popularidad en las últimas décadas debido a su capacidad para abordar problemas que son difíciles o imposibles de resolver con métodos tradicionales.
Modelos de computación bioinspirados:
• Los modelos de computación bioinspirados se basan en la estructura, función o comportamiento de los sistemas biológicos para resolver problemas informáticos.
• Los AGs son un ejemplo de modelo bioinspirado, ya que se basan en los principios de la evolución biológica.
• Otros ejemplos de modelos bioinspirados incluyen:
• Redes neuronales artificiales, que se basan en la estructura del cerebro humano para procesar información y aprender.
• Sistemas inmunes artificiales, que se basan en el sistema inmunológico humano para detectar y eliminar anomalías.
• Algoritmos de enjambre, que se basan en el comportamiento de colonias de animales como hormigas y abejas para optimizar la búsqueda de soluciones.