Sumativa 1 — Algoritmos Genéticos — Arantxa Capote Sustacha

Page 1

ALGORITMOS GENÉTICOS

para la programación evolutiva

ARANTXA CAPOTE SUSTACHA

INDICE

Algoritmos genéticos como técnica de búsqueda y optimización

Aportes de los algoritmos genéticos a la inteligencia artificial

Origen del concepto de computación evolutiva

Modelos de computación bioinspirados

Referencias bibliográficas

ALGORITMOS GENÉTICOS COMO TÉCNICA DE BÚSQUEDA Y OPTIMIZACIÓN

Los AG fueron propuestos inicialmente por John Henry Holland en la década de 1960 como una forma de modelar la evolución natural y aplicarla a la resolución de problemas computacionales.

Se basan en la idea de que soluciones prometedoras para un problema dado pueden ser representadas como individuos en una población, y que el proceso de selección natural puede ser simulado para evolucionar y mejorar esas soluciones con el tiempo.

En esencia, un algoritmo genético opera sobre una población de soluciones candidatas, cada una codificada como un cromosoma.

03
JOHN HENRY HOLLAND

Estos cromosomas representan posibles soluciones al problema en cuestión y están sujetos a operadores genéticos como selección, cruce y mutación, que imitan procesos biológicos como la reproducción sexual y la mutación genética. A través de la aplicación iterativa de estos operadores en la población, el algoritmo evoluciona gradualmente hacia soluciones más óptimas.

En su aplicación como técnicas de búsqueda y optimización, dichos algoritmos se destacan por su capacidad para explorar eficientemente el espacio de búsqueda de soluciones en problemas complejos y de alta dimensionalidad.

04

Los algoritmos genéticos aprovechan la selección natural para guiar la evolución de soluciones prometedoras, en lugar de depender de una búsqueda exhaustiva o específicas del problema.

Comenzando con la inicialización de una población de soluciones candidatas, la cual puede ser aleatoria o basada en conocimiento previo del problema; en donde cada solución es evaluada mediante una función de aptitud, que cuantifica qué tan buena es en términos de la calidad de la solución al problema.

Posteriormente, se seleccionan las soluciones más aptas para reproducirse, utilizando métodos de selección que favorecen a las soluciones con mejor aptitud.

Realizada la selección, se aplican operadores genéticos como lo son el cruce y la mutación para generar la descendencia.

05

El cruce implica la combinación de características de soluciones seleccionadas, simulando el intercambio de información genética entre padres.

La mutación introduce cambios aleatorios en las soluciones para mantener la diversidad genética en la población y evitar la convergencia prematura hacia óptimos locales.

06
UNA MUTACIÓN MODIFICA AL AZAR PARTE DEL CROMOSOMA DE LOS INDIVIDUOS

Finalmente las nuevas soluciones, conocidas también como descendientes reemplazan a las menos aptas en la población, generándose así el proceso de reducción.

Todo el mecanismo explicado anteriormente se estará repitiendo durante un número determinado de generaciones o hasta que se cumpla algún criterio de convergencia. En donde, a medida que progresa el algoritmo, la población tenderá a converger hacia soluciones de mayor calidad, lo que permitirá encontrar soluciones óptimas o cercanas a óptimas en el espacio de búsqueda.

Al utilizar los algoritmos genéticos como técnicas de búsqueda y optimización se demuestra su capacidad para explorar eficientemente el espacio de búsqueda y adaptarse a diferentes tipos de problemas, convirtiéndolos en una herramienta valiosa para resolver desafíos del mundo real en diversas disciplinas.

07

APORTES DE LOS ALGORITMOS GENÉTICOS A LA INTELIGENCIA ARTIFICIAL

Los algoritmos genéticos han sido un pilar fundamental en el desarrollo de la inteligencia artificial, aportando una perspectiva única inspirada en la evolución natural para resolver problemas complejos y optimizar soluciones en una variedad de dominios.

Uno de los mayores aportes de los algoritmos genéticos a la inteligencia artificial es su capacidad para abordar problemas de optimización en una amplia gama de contextos como fue narrado anteriormente, además, su capacidad para manejar múltiples objetivos y restricciones los hace especialmente adecuados para problemas del mundo real donde las soluciones deben equilibrar diferentes criterios y consideraciones.

08

Los algoritmos genéticos han inspirado la creación de variantes como lo son los algoritmos evolutivos y la programación genética, las cuales amplían su enfoque para abordar una variedad aún mayor de problemas.

Estas técnicas han demostrado ser efectivas en campos como la evolución de arquitecturas de redes neuronales, la optimización de procesos de aprendizaje automático y la generación automática de código informático.

Además de su capacidad para encontrar soluciones óptimas, los algoritmos genéticos también han demostrado ser herramientas poderosas para la generación de soluciones creativas, en donde, al combinar y mutar soluciones existentes se pueden descubrir soluciones innovadoras que pueden no ser evidentes para un enfoque humano.

Esto ha llevado a aplicaciones emocionantes en campos como el diseño de productos, la creatividad computacional y la generación automática de música y arte.

09

ORIGEN DEL CONCEPTO DE COMPUTACIÓN EVOLUTIVA

Este campo perteneciente al tema de la Inteligencia Artificial, se ha desarrollado a lo largo del tiempo, inspirado en la naturaleza y los procesos evolutivos que observamos en el mundo biológico.

Siendo una intersección entre la ciencia de la computación y la biología evolutiva, su origen se remonta a la búsqueda de métodos y técnicas que puedan simular procesos de evolución y selección natural para resolver problemas complejos en diversos ámbitos.

Sus raíces están en la observación y el estudio de la naturaleza, así como en el desarrollo de la inteligencia artificial y la optimización.

10

La idea fundamental detrás de la computación evolutiva es modelar los procesos evolutivos que ocurren en la naturaleza para resolver problemas en el ámbito de la computación; esto implica emular la selección natural, la reproducción, la mutación y otros mecanismos evolutivos para generar soluciones óptimas o cercanas a la óptima para una amplia gama de problemas complejos.

El origen de este concepto parte de los trabajos pioneros den la teoría de la evolución mediante selección natural propuesta en el siglo 19 por Charles Darwin, teoría la cual expresa que las especies especies evolucionan a lo largo del tiempo como resultado de la competencia por los recursos y la supervivencia de los más aptos.

11
CHARLES DARWIN

Esta idea proporcionó el fundamento para la computación evolutiva al sugerir que los procesos de evolución y adaptación pueden ser modelados y aplicados en contextos no biológicos.

Sin embargo, el desarrollo propiamente de la computación evolutiva como un campo de estudio distinto comenzó a principios de la década de 1960, con los trabajos pioneros de investigadores como Lawrence Fogel, Ingo Rechenberg, Hans-Paul Schwefel y John Henry Holland, siendo este último el investigador más conocido del tema por ser el padre de los algoritmos genéticos.

INGO
LAWRENCE FOGEL
12
RECHENBERG HANS-PAUL SCHWEFEL

MODELOS DE COMPUTACIÓN BIOINSPIRADOS

Las metodologías empleadas en la computación bioinspirada aprovechan la eficiencia y adaptabilidad de los procesos naturales para abordar problemas complejos de optimización, aprendizaje y procesamiento de información ya que estos emulan los principios y mecanismos observados en sistemas biológicos.

A continuación, se describen algunos modelos destacados de computación bioinspirada:

13

Los algoritmos evolutivos se basan en la selección natural y otros principios evolutivos para encontrar soluciones óptimas a problemas difíciles, en donde, una población de soluciones candidatas evoluciona mediante operaciones como selección, cruce y mutación, siguiendo una evaluación basada en una función de aptitud.

Siendo principalmente utilizados en problemas de optimización donde la solución no es evidente y se necesita explorar un espacio de soluciones amplio y complejo.

14

La programación genética es una técnica en la que se evolucionan programas de computadora para realizar tareas específicas, manipulando estructuras de programas los cuales suelen estar generalmente representadas como árboles sintácticos, a diferencia de los algoritmos genéticos que trabajan con cadenas de números.

Estos árboles representan expresiones matemáticas o bloques de código que se evalúan para resolver un problema

La programación genética utiliza operaciones de cruce y mutación adaptadas a las estructuras de programa, permitiendo la generación de nuevas y potencialmente más eficientes soluciones algorítmicas. Siendo principalmente utilizados en la automatización del diseño de algoritmos y en la generación de soluciones creativas.

15

El algoritmo de colonia de hormigas es un proceso iterativo que imita el comportamiento biológico de una colonia de hormigas, es decir, al simular este comportamiento, las hormigas virtuales exploran diferentes soluciones a un problema determinado.

Cada hormiga virtual construye una solución paso a paso, tomando decisiones basadas en la cantidad de “feromonas” presentes y otros factores, como la distancia y la visibilidad (de manera heurística).

A medida que las hormigas completan sus recorridos, depositan feromonas en las rutas que han tomado, con una cantidad proporcional a la calidad de la solución encontrada.

Este algoritmo permite explorar múltiples soluciones adaptándose dinámicamente, aumentando la probabilidad de converger hacia la solución óptima.

16

Las redes neuronales artificiales están compuestas por nodos (neuronas) y conexiones (sinapsis) las cuales asemejan al cerebro humano, aprendiendo patrones complejos a partir de datos mediante un proceso de ajuste de pesos sinápticos

Dichas redes son la base de muchos avances en aprendizaje automático y se utilizan en aplicaciones que van desde el reconocimiento de voz y la visión por computadora hasta la predicción y la toma de decisiones.

17

Los sistemas inmunitarios artificiales emulan mecanismos inmunitarios como la detección de antígenos, la generación de anticuerpos y la memoria inmunológica para resolver problemas como la detección de anomalías, la clasificación y la optimización.

Estos sistemas son especialmente útiles en la ciberseguridad y el monitoreo de redes, donde se requiere detectar y responder a amenazas novedosas.

Tiene capacidad para recordar amenazas previas, similar a la memoria inmunológica del cuerpo humano.

Permitiendo que el sistema responda de manera más rápida y eficiente a problemas similares en el futuro, mejorando la detección y respuesta a anomalías y ataques.

18

REFERENCIAS BIBLIOGRÁFICAS

Algoritmo genético — Wikipedia

Algoritmo genético — Universidad de Sevilla

Algoritmo genético — Universitat Politècnica de València UPV

Algoritmo genético — Instituto de Física

Interdisciplinar y Sistemas Complejos

John Henry Holland — Wikipedia

Algoritmos Evolutivos Wikipedia

Algoritmos Evolutivos — Universidad Nacional de la Plata

Algoritmos Evolutivos — Centro Inteligencia

Artificial Ourense

Evolución Computacional — LinkedIn

Inteligencia Artificial Bioinspirada con

Algoritmos Genéticos — Universidad Católica

Andrés Bello

Algoritmos Genéticos en Inteligencia Artificial —

Medium

Computación Evolutiva — Wikipedia

19

Origenes de la Computación Evolutiva —

Universidade da Coruña

Algoritmos bioinspirados — Instituto de Ingeniería del Conocimiento

Algoritmos bioinspirados — Universidad de Granada

Sistemas bioinspirados — Wikipedia

Programación genética — Wikipedia

Programación genética — Universidad

Tecnológica Nacional

Red neuronal — MathWorks

Redes neuronales — Universidad Tecnológica

Nacional

Sistema inmunitario artificial — Wikipedia

Optimización por enjambre de partículas

Wikipedia

Algoritmo de la colonia de hormigas —

Wikipedia

20

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.