En informática e investigación de operaciones , los sistemas difusos genéticos son sistemas difusos construidos mediante el uso de algoritmos genéticos o programación genética, que imitan el proceso de evolución natural, para identificar su estructura y parámetros.
A la hora de identificar y construir automáticamente un sistema difuso, dado el alto grado de no linealidad de la salida, las herramientas de optimización lineal tradicionales presentan varias limitaciones. Por ello, en el marco de la computación blanda , se han utilizado con éxito algoritmos genéticos (AG) y métodos de programación genética (GP) para identificar la estructura y los parámetros de los sistemas difusos.
Los sistemas difusos son metodologías fundamentales para representar y procesar información lingüística , con mecanismos para lidiar con la incertidumbre y la imprecisión. Por ejemplo, la tarea de modelar a un conductor que estaciona un automóvil implica una mayor dificultad para escribir un modelo matemático conciso a medida que la descripción se vuelve más detallada. Sin embargo, el nivel de dificultad no radica tanto en utilizar reglas lingüísticas simples, que son en sí mismas difusas. Con atributos tan notables, los sistemas difusos se han aplicado ampliamente y con éxito a problemas de control, clasificación y modelado ( Mamdani , 1974) (Klir y Yuan, 1995) (Pedrycz y Gomide, 1998).
Aunque simplista en su diseño, la identificación de un sistema difuso es una tarea bastante compleja que comprende la identificación de (a) las variables de entrada y salida, (b) la base de reglas (base de conocimiento), (c) las funciones de pertenencia y (d) los parámetros de mapeo.
Por lo general, la base de reglas consta de varias reglas IF-THEN que vinculan entradas y salidas. Una regla simple de un controlador difuso podría ser:
SI (TEMPERATURA = CALIENTE) ENTONCES (ENFRIAMIENTO = ALTO)
El impacto/significado numérico de esta regla depende de cómo se configuran y definen las funciones de pertenencia de HOT y HIGH.
La construcción e identificación de un sistema difuso se puede dividir en (a) la estructura y (b) la identificación de parámetros de un sistema difuso.
La estructura de un sistema difuso se expresa por las variables de entrada y salida y la base de reglas, mientras que los parámetros de un sistema difuso son los parámetros de las reglas (que definen las funciones de pertenencia, el operador de agregación y la función de implicación) y los parámetros de mapeo relacionados con el mapeo de un conjunto nítido a un conjunto difuso , y viceversa. (Bastian, 2000).
Se ha trabajado mucho en el desarrollo o adaptación de metodologías capaces de identificar automáticamente un sistema difuso a partir de datos numéricos. En particular, en el marco de la computación blanda, se han propuesto metodologías significativas con el objetivo de construir sistemas difusos mediante algoritmos genéticos (AG) o programación genética (PG).
Dado el alto grado de no linealidad de la salida de un sistema difuso, las herramientas tradicionales de optimización lineal tienen sus limitaciones. Los algoritmos genéticos han demostrado ser una herramienta robusta y muy potente para realizar tareas como la generación de bases de reglas difusas, la optimización de bases de reglas difusas, la generación de funciones de pertenencia y el ajuste de funciones de pertenencia (Cordón et al., 2001a). Todas estas tareas pueden considerarse como procesos de optimización o búsqueda dentro de grandes espacios de soluciones (Bastian y Hayashi, 1995) (Yuan y Zhuang, 1996) (Cordón et al., 2001b).
Si bien los algoritmos genéticos son herramientas muy poderosas para identificar las funciones de pertenencia difusa de una base de reglas predefinida, tienen sus limitaciones, especialmente cuando se trata también de identificar las variables de entrada y salida de un sistema difuso a partir de un conjunto de datos determinado. La programación genética se ha utilizado para identificar las variables de entrada, la base de reglas, así como las funciones de pertenencia involucradas de un modelo difuso (Bastian, 2000).
En la última década, la optimización multiobjetivo de sistemas basados en reglas difusas ha atraído un amplio interés en la comunidad de investigación y los profesionales. Se basa en el uso de algoritmos estocásticos para la optimización multiobjetivo con el fin de buscar la eficiencia de Pareto en un escenario de múltiples objetivos. Por ejemplo, los objetivos a optimizar simultáneamente pueden ser precisión y complejidad, o precisión e interpretabilidad. Una revisión reciente del campo se proporciona en el trabajo de Fazzolari et al. (2013). Además, [1] proporciona una lista actualizada y en continuo crecimiento de referencias sobre el tema.