Universidad de Castilla-La Mancha
 
Escuela Superior de Ingeniería Informática

 

  cambiar a curso:   2021-22   2023-24



Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2022-23

UN SISTEMA DE APOYO A LA TOMA DE DECISIONES BASADO EN LÓGICA DIFUSA PARA ACTIVIDADES DE MULTIAVENTURA


Tecnologías Específicas

Ingeniería del Software
 


Descripcion y Objetivos

FASILL es un entono de programación lógica difusa desarrollado en la UCLM por el grupo DEC-TAU durante la última década. El sistema dispone de versiones instalables y on-line para ejecutar, depurar, optimizar y calibrar código difuso. Esta última capacidad permite ajustar con precisión y de forma automática ciertos parámetros -normalmente pesos y conectivas difusas- de las reglas de los programas FASILL en base a una serie de casos de prueba (es decir, ejemplos que relacionan posibles entradas con sus correspondientes salidas esperadas) proporcionados a priori por los usuarios para que el comportamiento de los programas calibrados se ajuste a sus preferencias. La técnica es tan general y potente que admite múltiples aplicaciones particulares en diferentes dominios de aplicación, como es el caso de la difuminación de datos nítidos mediante la asignación de conjuntos difusos a diferentes propiedades de los mismos.

En este TFG se pretende desarrollar una herramienta para analizar encuestas de opinión recopiladas entre expertos como instructores en actividades de multiaventura (barranquismo, rafting, etc) sobre cuestiones relativas al riesgo de la práctica de dichas actividades (con variables de entrada del tipo edad, condiciones meteorológicas, etc). En una primera fase de actuación, se pretende invocar al calibrador de FASILL para difuminar estos datos mediante la construcción automática de conjuntos difusos que modelen propiedades tales como: edad ideal para practicar espeleología, temperatura muy adversa para practicar paintball, etc. A partir de ahí, se iniciará una segunda fase mediante el anidamiento de varios procesos de inferencia difusa donde finalmente la variable de salida será el nivel de recomendación asignado a cada actividad concreta: muy recomendable practicar piraguas, poco aconsejable realizar escalada, etc.

Bajo la supervisión de los tutores del DSI (calibrador de FASILL) y Matemáticas (motor de inferencias difusas), la herramienta final se presentará con una interfaz gráfica lo más transparente posible al acoplamiento de las diversas componentes del sistema.

 

 


Metodología y Competencias

Metodología:

Se aconseja tener conocimientos de lógica difusa y programación en Python y Prolog. El proyecto se iniciará con una revisión de la bibliografía más relevante sobre el tema. Se continuará con el aprendizaje y entrenamiento del calibrador del sistema FASILL. Se finalizará con la fase de implementación de los FIS en Python, invocando apropiadamente a FASILL. Más concretamente, la metodología y plan de trabajo que se empleará en este TFG se basará en las siguientes fases de actuación:


Fase de análisis. Cada tarea comienza por un estudio de los requisitos que impone su desarrollo, en base al conocimiento previo y la recopilación de nuevas informaciones, incluidas las encuestas de opinión a expertos.           
Fase de modelado y desarrollo. Se investiga en los modelos que configuran el soporte de cada una de las herramientas de partida, se ponen a punto cada uno de los desarrollos parciales de cada actividad y se revisa la definición inicial respecto a los resultados obtenidos.
• Fase de implementación. Para acercarse al resultado final, se incorporan los resultados obtenidos en tareas relacionadas y a continuación se procede a la implementación de prototipos que finalmente se acoplarán a través de una interfaz gráfica. Esta fase se completa con el ensayo de diferentes casos de prueba que permitan evaluar empíricamente las prestaciones de la aplicación resultante.

 

Competencias:


Se trabajarán, con distinta profundidad, las siguientes competencias de la intensificación de Ingeniería del Software:

 [IS1] Capacidad para desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la Ingeniería del Software.

[IS2] Capacidad para valorar las necesidades del cliente y especificar los requisitos software para satisfacer estas necesidades, reconciliando objetivos en conflicto mediante la búsqueda de compromisos aceptables dentro de las limitaciones derivadas del coste, del tiempo, de la existencia de sistemas ya desarrollados y de las propias organizaciones.


[IS3] Capacidad de dar solución a problemas de integración en función de las estrategias, estándares y tecnologías disponibles.


[IS4] Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.

 


Medios a utilizar

Todo el material y medios necesarios para ejecutar el TFG se encuentra disponible en la ESII.

Hardware: PC.

Software: Compiladores y entornos de programación de Python  (SciPy - skfuzzy) y  Prolog.

Se recomienda la utilización de overleaf como editor de texto.

 


Bibliografía

Artículos especializados en el tema abordado, todos disponible en la ESII-AB y/o en internet. Libros y manuales de lógica difusa, inferencia difusa,  lenguajes de programación y librerías específicas. Proyectos fin de carrera y trabajos fin de grado relacionados con éste. Otros documentos:

  • Pascual Julián Iranzo, Ginés Moreno, José Antonio Riaza (2020). The Fuzzy Logic Programming language FASILL: Design and implementation, International Journal of Approximate Reasoning, Volume 125, pp. 139-168. Available: https://doi.org/10.1016/j.ijar.2020.06.002
  • Ginés Moreno, José A. Riaza (2021).  A Safe and Effective Tuning Technique for Similarity-Based Fuzzy Logic Programs. Advances in Computational Intelligence - 16th International Work-Conference on Artificial Neural Networks, IWANN 2021, Proceedings (Part I), Lecture Notes in Computer Science (Springer), volume 12861, pp. 190-201. Available: https://doi.org/10.1007/978-3-030-85030-2\_16
  • Ginés Moreno, Carlos Vázquez (2014). Fuzzy Logic Programming in Action with FLOPER. Journal of Software Engineering and Applications, April 2014, Volume 7 (N. 4), Pages 273-298. Scientific Research. ISSN print 1945-3116, ISSN Online: 1945-3124. Available doi 10.4236/jsea.2014.74028 2014.
  • Enrique Brazález, Hermenegilda Macià, Gregorio Díaz, María_Teresa Baeza_Romero, Edelmira Valero, Valentín Valero (2022). FUME: An air quality decision support system for cities based on CEP technology and fuzzy logic. Applied Soft Computing, Vol. 129.   Available:                                                    https://doi.org/10.1016/j.asoc.2022.109536.
  • Ribeiro, Vanessa C. M.; Araujo, Ernesto (2021). Fuzzy sports motivational system for measuring psychological and training issues in running recreational practice and adherence. 2021 International Conference on Decision Aid Sciences and Application, DASA 2021, pp. 522 – 527 DOI:10.1109/DASA53625.2021.9682386
  • Mamdani E., Assilian S.  An experiment in linguistic synthesis with a fuzzy logic controller. Int. J. Man-Mach. Stud., 7 (1) (1975), pp. 1-13, DOI:10.1016/S0020-7373(75)80002-2
  • Oliphant T.P., Jones P.    SciPy - skfuzzy  (2022).    URL:https://pythonhosted.org/scikit-fuzzy/
  • Zadeh L. Fuzzy sets.   Inf. Control, 8 (3) (1965), pp. 338-353, 
            DOI: 10.1016/S0019-9958(65)90241-X
 


Tutores


MACIA SOLER, HERMENEGILDA
MORENO VALVERDE, GINES DAMIAN
 

Alumno


CASCALES MARTÍNEZ, NICOLÁS

 

 

Sindicación  Sindicación  Sindicación  Sindicación

Curso: 2022-23
© Escuela Superior de Ingeniería Informática
Edificio Infante Don Juan Manuel
Avda. de España s/n
02071 Albacete
Tfno: 967 59 92 00 - Fax: 967 59 92 24

informatica.ab@uclm.es
aviso legal
generar código QR de la página