sistema experto para análisis de fallas, http://www.bdigital.unal.edu.co/45143/, http://authors.elsevier.com/a/1Qrif4p6Gt-Oa1

2,094 views

Published on

Todo el trabajo completo (http://www.bdigital.unal.edu.co/45143/) que incluye ademas del diseño, la comparación con otros dos sistemas expertos uno difuso y otro bayesiano se puede encontrar en el enlace del trabajo en esta dirección http://www.bdigital.unal.edu.co/45143/ tambien pueden bajar el articulo de http://authors.elsevier.com/a/1Qrif4p6Gt-Oa1

El aqui publicado corresponde al capitulo 2 solamente.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,094
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
75
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

sistema experto para análisis de fallas, http://www.bdigital.unal.edu.co/45143/, http://authors.elsevier.com/a/1Qrif4p6Gt-Oa1

  1. 1. Moreno C. J. Prototipo de Sistema Experto para análisis de fractura 1  Abstract— This document show a prototype of an expert system for fracture analysis using a expert system based on deterministic rules. Resumen— Este documento presenta un prototipo de sistema experto basado en reglas deterministas para el análisis de fracturas en elementos. El presente trabajo puede ser separado en las siguientes secciones: Parte uno (Marco teorico): -Introducción a los sistemas expertos basados en reglas deterministas. - Reseña de análisis de fracturas. - Obtención de las reglas del sistema experto propuesto. Parte dos: -Implementación del sistema propuesto en Prolog1. - Pequeña evaluación y discusión del sistema. Parte tres: -Selección del framework e implementación en un lenguaje de alto nivel. - Pantallas de presentación. Parte cuatro: Conclusiones y trabajos posteriores. Índice de Términos—fractura dúctil, fractura frágil, sistema experto, reglas deterministas, prolog, action Script. PARTE I I. INTRODUCCIÓN A SISTEMAS EXPERTOS DETERMINISTAS Un sistema experto es definido en [1] como “un sistema informático que simula a expertos humanos en un área de especialización dada”. En general para que se convierta en una herramienta que cumpla con su objetivo debe al menos cumplir lo siguiente: 1. Debe explicar su decisión o razonamiento de tal manera que el usuario entienda, que el sistema experto lo guía en la solución del problema paso a paso, tal como lo haría un experto que explica a un profano la manera de solucionar el problema. 2. En algunas ocasiones podría tener la capacidad de modificar el conocimiento ya que esto le brinda flexibilidad al sistema, es decir, la manera de solucionar un problema es de carácter dinámico, lo cual significa que el sistema debe permitir 1 Prolog es un lenguaje de programación lógico muy utilizado en investigación de inteligencia artificial y sistemas expertos. flexibilidad evolutiva de tal manera que puedan ser agregados más ítems al sistema para darle mayor conocimiento. La estructura básica de un sistema experto está compuesta por las siguientes partes: 1. Base de conocimiento: Contiene la información que fue extraída de un experto, sus procedimientos, análisis, etc. 2. Base de hechos: Al igual que la base de conocimiento, la base de hechos hace de sus veces como la memoria del sistema experto donde se almacenan casos o hechos previos de análisis anteriores que podrían ser utilizados para solucionar problemas futuros. 3. Motor de inferencia: Es el encargado de realizar el razonamiento tal como lo haría un experto, los motores de inferencias pueden ser algoritmos genéticos, razonamientos difusos, redes neuronales, reglas deterministas entre otros. 4. Interfaz de usuario: Hace sus veces de puente de comunicación entre el sistema experto y el usuario final, como un requerimiento adicional debe ser de fácil manejo. Para la construcción de un sistema experto [1] sugiere seguir las etapas mostradas en el diagrama de flujo de la figura 1. Figura 1. Etapas en la construcción de un sistema experto. Gran parte de la solución humana de problemas o cognición pueden expresarse por medio de reglas de producción de la forma SI…ENTONCES, estas reglas incluyen dentro de sus argumentos relaciones booleanas entre los mismos, como ejemplo se cita: SI hora==noche Y clima==frio ENTONCES vestimenta=Chaqueta En [1] se presenta detalladamente los diferentes tipos de reglas de inferencia para sistemas expertos basados en reglas Prototipo de Sistema Experto para análisis de fractura basado en reglas deterministas -Prototype of an expert system for fracture analysis based on deterministic rules Carlos Javier Moreno Gómez - cjmorenog@unal.edu.co Todo el trabajo completo se encuentra en http://www.bdigital.unal.edu.co/45143/
  2. 2. Moreno C. J. Prototipo de Sistema Experto para análisis de fractura 2 deterministas. El cual define reglas de inferencia modus ponens y reglas de inferencia modus tollens. En las reglas de inferencia modus ponens se examina la premisa de la regla, si resulta cierta entonces la conclusión pasa a formar parte del conocimiento. En la figura 2 se muestra un esquema de su funcionamiento. Figura 2. Esquema Modus Ponens En las reglas de inferencia modus tollens se examina la conclusión y si es falsa, se concluye que la premisa también lo es, en la figura 3 se muestra un esquema de cómo funciona. Figura 3. Esquema Modus Tollens Este trabajo propone una aproximación a un sistema Modus Ponens. II. RESEÑA SOBRE ANÁLISIS DE FRACTURAS En [2] se puede extraer un mapa generalizado para el tipo de fracturas en elementos mecánicos, el cual se presenta en la figura 4 Figura 4. Tipos de fractura en elementos mecánicos Así las fracturas pueden ser súbitas o progresivas, por fluencia lenta, por fatiga de bajo y alto ciclaje entre otros. Para el análisis de cada uno de estos tipos de fracturas existen diversos métodos, los cuales son mostrados en la figura 5 [2]. Figura 5. Métodos de inspección de fractura Este trabajo incluye los tres niveles de inspección. III. DETERMINACION DE REGLAS SISTEMA EXPERTO Las reglas del sistema experto fueron obtenidas a partir de un análisis de [2] y de procedimientos y conocimientos del Ing. Edgar Espejo, director del grupo de investigación AFIS (Análisis de fallas e integridad de superficies) a través de la materia análisis de fallas, materia impartida en la maestría en ing. Mecánica en la universidad Nacional e Colombia , las reglas se presentan como una forma de síntoma-característica relacionada con fractura-enfermedad, las cuales se presentan en el anexo número 1, en el cual figura cada tipo de fractura con sus características típicas asociadas. En la figura 6 se presentan las características de la fractura frágil súbita, en la figura 7 se muestran las características de la fractura dúctil súbita, en la figura 8 se muestran las características de la fractura por fatiga de alto ciclaje, en la figura 9 se muestran las características de la fractura por fatiga de bajo ciclaje, en la figura 10 se muestran las características de la fractura por fluencia lenta, en la figura 11 se muestran las características de la fractura por fragilizacion y en la figura 12 se muestran las características de la fractura de corrosión- esfuerzo. PARTE II IV. IMPLEMENTACIÓN SISTEMA EXPERTO EN PROLOG Para la implementación se utilizará Prolog, tomando como ejemplo un sistema síntoma-enfermedad, es decir las enfermedades son identificadas gracias a sus síntomas, para este prototipo se tomará un esquema patrón basado en el presentado en [3], por lo cual las características presentadas en el anexo uno harán sus veces como síntomas de cada uno de los posibles tipos de fractura que serian las enfermedades. Después de ser almacenada esta información síntoma- enfermedad, se harán algunas pruebas para algunos síntomas dados, en las cuales el sistema arrojara un porcentaje de pertenencia a alguna enfermedad. Existen muchas herramientas para la implementación de sistemas expertos sin embargo, prolog fue escogido por su relativa sencillez de programación.
  3. 3. Moreno C. J. Prototipo de Sistema Experto para análisis de fractura 3 Este prototipo como parte del proyecto de investigación de tesis de maestría “Diseño, implementación y evaluación de un sistema experto para análisis de falla en elementos de maquinas” hace una aproximación a un sistema síntoma- enfermedad-medicamento en donde el medicamento representaría lo que hace bien para evitar la enfermedad, siendo esto una recomendación del sistema hacia el usuario. El esquema a utilizar será como el siguiente para la enfermedad % enfermedad(x)= x es enfermedad Para el síntoma %sintoma(x,Y) = x es sintoma de Y, donde Y es enfermedad Para el medicamento %medicamento(x,Y) = x es medicamento de Y Para ingresar un elemento a analizar se utiliza %tiene_sintoma(x,y) = paciente x tiene síntoma de y En el anexo 2, se muestra el código del prototipo en prolog. V. EVALUACIÓN Y DISCUSIÓN DE RESULTADOS Se hizo una prueba piloto utilizando las siguientes entradas de prueba, suponiendo que son el resultado de un análisis visual de 4 muestras. %Muestra 1 tiene_sintoma(muestra1, zonaFracturaSubita). tiene_sintoma(muestra1, superficieGranular). tiene_sintoma(muestra1, marcasDePlaya). %Muestra 2 tiene_sintoma(muestra2,marcasDePlaya). tiene_sintoma(muestra2,estrias). tiene_sintoma(muestra2,marcasRatchet). tiene_sintoma(muestra2,superficieTersa). %Muestra 3 tiene_sintoma(muestra3,grietasMultiples). tiene_sintoma(muestra3,superficieGranular). tiene_sintoma(muestra3,oxido). tiene_sintoma(muestra3,deformacionPlastica). %Muestra 4 tiene_sintoma(muestra4, superficieFibrosa). tiene_sintoma(muestra4,microvacios). tiene_sintoma(muestra4,deformacionPlastica). tiene_sintoma(muestra4,elevadaRugosidad). tiene_sintoma(muestra4,superficieBarridaDireccionDesgarre). Para cada resultado el programa arroja un valor E: enfermedad y un valor C: porcentaje de pertenencia. Los resultados obtenidos para la muestra 1 fueron: 1 ?- tiene_enfermedad(muestra1,E,C). E = fracturaCorrosionEsfuerzo, C = 100 Resultados muestra 2: 2 ?- tiene_enfermedad(muestra2,E,C). E = fracturaFatigaAltoCiclaje, C = 80 . Resultados muestra 3: 3 ?- tiene_enfermedad(muestra3,E,C). E = fracturaProgresivaCreep, C = 80 Resultados muestra 4: 4 ?- tiene_enfermedad(muestra4,E,C). E = fracturaDuctilSubita, C = 100 PARTE III VI. SELECCIÓN DEL FRAMEWORK E IMPLEMENTACIÓN DEL PROTOTIPO Prolog es un sistema para desarrollo de sistemas expertos, pero carece de una interfaz en la que se pueda identificar cada uno de los síntomas de las muestras, es decir, a la plataforma se le ingresan los síntomas y el arroja la enfermedad, pero ¿Cómo saber si se presenta o no un síntoma?. Para esto se planteó el desarrollo de una herramienta paralela que funcionara de manera similar a prolog, con un sistema del tipo modus ponens. Para la selección de este framework se aplicaron criterios de diseño en ingeniería basados en [6] los cuales se resumen a continuación: 1. Facilidad de programación (20%): tiene que ver directamente con la experiencia que el autor tiene con la herramienta. 2. Entorno visual (20%): Tiene que ver con la aplicación final y de su apariencia. 3. Herramientas y librerías disponibles (20%): Tiene que ver con librerías de apoyo para desarrollar programas, lo cual quiere decir que entre más librerías tenga una herramienta, más facilidades existen para desarrollar un programa que cumpla un objetivo. 4. Conexión a internet (20%): Para este trabajo final de materia se involucro un ítem que tiene que ver con la publicación de la herramienta en la web (E.g. en la página web de AFIS) para que sea utilizada por otras instituciones o empresas del sector industrial. 5. Conexión a bases de datos (20%): Tiene que ver con la experiencia del autor con la conexión de la plataforma y una base de datos para desarrollos futuros en caso de haberlos.
  4. 4. Moreno C. J. Prototipo de Sistema Experto para análisis de fractura 4 De lo anterior resulta el cuadro 1, en el cual se observa el criterio para cada ítem según las diferentes alternativas. Factor a evaluar Matlab (0.0-100.0) Flash Builder (actionScript 3.0) (0.0-100.0) .NET y Acces (0.0- 100.0) Facilidad de programación (20%) 80.0 80.0 80.0 Entorno visual (20%) 60.0 100.0 60.0 Herramientas y librerías (20%) 100.0 40.0 40.0 Conexión a internet (20%) 40.0 100.0 70.0 Conexión a bases de datos (20%) 70.0 100.0 100.0 TOTAL 70 84 70 Cuadro 1. Cuadro para selección de framework Del cuadro 1 se observa que según los criterios señalados anteriormente, el framework a utilizar será Flash Builder 4.5 basado en lenguaje ActionScript 3.0. La estructura de archivos asociados al programa se presenta en la figura 13 y obedece a una arquitectura MVC (model-view-controller). Main.Mxml SendPasswordMe ssage.mxml Default Package RegisterSuccess. mxml Clases Controller.as Model.as Figura 13. Estructura de archivos del prototipo En el anexo 3 se muestra el programa para cada uno de los elementos que hacen parte de la estructura de archivos del prototipo. VII. PANTALLAS DEL SISTEMA Las pantallas del prototipo están diseñadas para verse en resolución de 1024 x 768 pixeles, en las figura 14 se muestra la pantalla de bienvenida para esta página el nombre de usuario es AFIS y la clave es AFIS. Figura 14. Pantalla de bienvenida en la figura 15 se muestra la pantalla de inscripción la cual a futuro podría hacer parte de la página de AFIS. Figura 15. Pantalla de inscripción En la figura 16 se muestra un ejemplo de pantalla cuando ya se está ejecutando un análisis. Pantalla 16. Pantalla de ejemplo de la aplicación En el anexo 3 se agrega el código fuente de la aplicación, siguiendo la estructura de datos de la figura 13.
  5. 5. Moreno C. J. Prototipo de Sistema Experto para análisis de fractura 5 VIII. CONCLUSIONES Se presento el diseño de un prototipo de sistema experto para análisis de fracturas, el cual fue implementado en prolog y action Script 3.0. Se hace necesario hacer una evaluación del sistema experto ya que las pruebas aquí presentadas solo hacen parte pruebas preliminares de tipo conceptual, hace falta realizar pruebas mas exhaustivas. La implementación del motor de inferencia en Action Script resulto ser más compleja de lo que se creía, ya que en algunas ocasiones en las que se ponía a prueba el sistema con casos conocidos, el mismo arrojaba como mensaje que no había congruencia en los datos ingresados, razón por la cual el diseño de sistemas expertos requiere de mejora continua y por llamarlo de alguna manera sincronización tal como se presento en la figura 1, razón por la cual el refinamiento del sistema continuará. Se hace necesario agregar las recomendaciones para corregir el problema, informándole al usuario acciones correctivas para la no reaparición de la fractura, ya que hasta este momento solo se agregó el cuadro que identifica el tipo de fractura. Como una mejora al sistema se investigó el uso de una herramienta de zoom que permitiera apreciar mejor los detalles de las fotografías, sin embargo, por cuestión de tiempo, hasta este momento se deja planteado para su posible implementación futura, en la grafica 17 se muestra el efecto lupa. En el anexo 4 se agrega el código fuente de esta herramienta. Figura 17. Efecto Lupa en ActionScript 3.0 Todas las fotografías utilizadas en el sistema fueron obtenidas a partir del poster de fractografia del grupo AFIS (Análisis de Falla, Integridad y Superficies). Prolog es un lenguaje de programación diseñado especialmente para el desarrollo de sistemas expertos razón por la cual el motor de inferencia no es necesario desarrollarlo ya que viene inmerso dentro de la plataforma. Un sistema experto que asista en la identificación de fracturas será una gran herramienta en la industria y en la académica Nacional, es este primer trabajo un vistazo al desarrollo de sistemas expertos para el análisis de fallas en elementos mecánicos. REFERENCIAS [1] Castillo Enrique, Gutiérrez José Manuel, Hadi Ali. Sistemas Expertos y modelos de redes probabilísticas. Universidad de Cantabria. 1997 [2] Espejo E., Martínez J. Tipos de fracturas de elementos mecánicos. Poster grupo AFIS (Análisis de falla e integridad de superficies) Universidad Nacional de Colombia. 2008 [3] Encalada E. Angel et alo. Informe trabajo de materia Inteligencia Artificial y aplicación de sistemas expertos, Universidad Nacional Mayor de San Marcos. 2010 [4] Marisa Navarro. Programación en Prolog 1 Apuntes: Curso de programación lógica, 2008-09 [5] Roberto Torres de Alba. Minimanualillo de SWI-Prolog. 22 de marzo de 2006 [6] Seyyed Khandani,Enginering design process. Industry Initiatives for Science and Math Education (IISME).2005.

×