Introducción
La inteligencia computacional es un área perteneciente de la informática y ligada a los
procesos de inteligencia artificial que se enfoca en el desarrollo de sistemas capaces de
resolver problemas complejos mediante técnicas inspiradas en la naturaleza, biología y
comportamiento humano. Se basa en reglas y lógica formal, utiliza enfoques adaptativos,
flexibles y autoorganizados.
Mejora de manera continua a partir de experiencia y datos, además de generalizar
patrones y tomar decisiones en entornos inciertos o cambiantes, lo que lo hace una
alternativa para aquellos comportamientos no lineales o volátiles, con el fin de optimizar
algún proceso.
Se compone principalmente de Redes Neuronales Artificiales (RNA), Sistemas Disfusos o
Lógica Disfusa, Algoritmos Evolutivos.
Algoritmo Genético
El Algoritmo Genético (AG) es un método de aprendizaje utilizado en el campo de la
inteligencia computacional. Está inspirado en los procesos de reproducción y selección
natural de los seres vivos, imitando la evolución biológica con el objetivo de resolver
problemas de optimización. Fue desarrollado como un método de búsqueda global, ya
que explora todo el espacio de soluciones del problema, permitiendo escapar de óptimos
locales y acercarse a soluciones globales.
El funcionamiento del AG se basa en la evolución de una población de individuos, que
representan posibles soluciones al problema. Estos individuos son sometidos a
operaciones aleatorias similares a los procesos biológicos, como la reproducción,
mutación, selección bajo criterios específicos y recombinación genética. A lo largo de las
generaciones, el algoritmo mejora su rendimiento descartando a los individuos menos
aptos y manteniendo una población de los más aptos.
El proceso del AG es el siguiente: Dado un problema a resolver, se genera una población
inicial de individuos de manera aleatoria o preestablecida. Cada individuo posee un
conjunto de datos llamados genomas, que definen su identidad y características.
Además, se requiere una función de aptitud (fitness), que evalúa la calidad de cada
individuo en función de su capacidad para resolver el problema. Según el valor de esta
función, los individuos son seleccionados para reproducirse o descartarse.
Los individuos más aptos se conservan y se seleccionan para generar descendencia. Esto
se realiza mediante una selección pseudoaleatoria, donde se eligen parejas de padres
para crear nuevos individuos. La generación de hijos implica una recombinación de los
genomas de los padres a partir de un punto pivote, seguida de una mutación aleatoria en
alguno de los genes. La mutación introduce diversidad en la población, evitando que el
algoritmo se estanque en óptimos locales. Cada genoma tiene un valor de fitness, que se
calcula mediante la función de aptitud y refleja su capacidad para resolver el problema.
El proceso se repite hasta que la nueva generación alcanza el tamaño de la población
original. En este punto, se considera completada una generación. Luego, se evalúa cada
individuo con la función de aptitud, se seleccionan los mejores, se realiza la
recombinación y mutación, y se genera una nueva generación. Este ciclo continúa hasta
cumplir un criterio de terminación.
En este caso, se generarán individuos aleatorios con un tamaño definido por el usuario.
Cada individuo tendrá genomas que representan los parámetros q0, q1 y q2. La función
de aptitud (función objetivo) puede ser, por ejemplo, el ITAE, el Overshoot o el Settling
Time, dependiendo de la selección del usuario. La función de costo no disminuirá, sino
que aumentará para indicar un mejor desempeño, y su valor estará en el rango de 0 a 1.
La población inicial se genera de manera aleatoria, y se verifica el valor de fitness de cada
individuo. Aquellos individuos con un fitness significativamente mayor que el resto se
consideran élite y pasan directamente a la siguiente generación sin ser modificados. La
cantidad de individuos élite es configurable por el usuario.
La selección pseudoaleatoria para la recombinación de genomas se realiza mediante una
permutación del tamaño de la población. Se eligen parejas de padres para generar
descendencia, y la recombinación se basa en combinar segmentos de los genomas de
ambos padres a partir de un punto pivote. Posteriormente, se aplica una mutación con un
porcentaje configurable, que altera aleatoriamente algún gen de los padres
seleccionados. Esto ayuda a mantener la diversidad genética y evitar el estancamiento en
óptimos locales.
Los nuevos individuos se incorporan a la nueva generación junto con los individuos élite, y
el ciclo continúa. En cada generación, el porcentaje de mutación y reproducción puede
ajustarse dinámicamente. Si la función de costo no mejora después de varias
generaciones, el porcentaje de mutación aumenta y el de reproducción disminuye. Por el
contrario, si la función de costo muestra mejoras, la tasa de reproducción aumenta y la de
mutación disminuye.
Implementación y simulaciones
Análisis de resultados
Conclusiones
La aplicación de métodos de inteligencia computacional, basados en comportamientos
naturales, resulta óptima y satisfactoria para resolver problemáticas complejas,
especialmente en situaciones donde el problema presenta un comportamiento no lineal y
altamente variable. Estos métodos son particularmente útiles cuando los enfoques
tradicionales no son eficaces o no pueden aplicarse.
La estructura del aprendizaje en estos métodos es relativamente sencilla, pero su éxito
depende en gran medida de la rigurosidad en la implementación de la solución, el
procedimiento seguido y la experiencia del programador. Además, el desarrollo y las
expectativas de los resultados están fuertemente influenciados por la claridad con la que
se definen los criterios de la función de costo y cómo se espera que esta se comporte.
Fuente
https://conogasi.org/articulos/algoritmos-geneticos/
https://www.youtube.com/watch?v=RBrXGyo0kIw
https://www.cs.us.es/~fsancho/Blog/posts/Algoritmos_Geneticos.md