Sistema Experto de Asistencia Técnica de Automóviles
Por: Alonso de la Barra
Ricardo Haddad
Carlos Herrera
Universidad de Santiago de Chile
Facultad de Ciencias
Departamento de Matemática y Computación
Licenciatura en Ciencias de la Computación.
Curso: Inteligencia Artificial.
Segundo semestre de 1998.
Contenidos:
Introducción
Elección del dominio de aplicación.
Descripción del proceso de detección de fallas
Elección de la herramienta apropiada.
La transferencia de experiencia.
Caracterización.
Modelamiento de Conocimiento
Conclusiones
Código Fuente de Sistema Experto
Introducción
Volver a Contenidos
Esta página pretende describir el estudio que se realizó para la creación del Sistema Experto de Asistencia Técnica de Automóviles.
Este sistema se implementó por medio del lenguaje de programación lógica Turbo Prolog 2.0.Este tipo de sistema experto pertenece a la categoría de "Sistemas Expertos de Diagnostico". Los primeros sistemas expertos de diagnóstico trataron el dominio médico: Mycin es el ejemplo perfecto.
Los conocimientos que un sistema experto de diagnóstico trata de modelar, a un alto nivel conceptual, son las deducciones que un experto utiliza en su proceso de diagnóstico.
Estos conocimientos, que son esencialmente empíricos, se denominan "conocimientos superficiales" por oposición a los "conocimientos profundos" que se apoyan en un conocimiento del sistema estudiado (causalidad, principios de base del dominio, modelos estructurales y funcional...).
Los sistemas que utilizan conocimientos superficiales no pueden justificar su razonamiento más que explicando las deducciones realizadas para llegar al diagnóstico, pero si saber explicar realmente las causas de la decisión, por el hecho de faltarle comprensión del funcionamiento del sistema estudiado.
Elección del dominio de aplicación.
Volver a Contenidos
Comenzaremos esta discusión analizando el ámbito de un sistema experto. Si un problema está bien resuelto por métodos clásicos (programación lineal u otra), es inútil intentar una metodología de Sistema Experto. Por el contrario, si un problema no está bien resuelto, o entran en juego numerosos parámetros de naturaleza simbólica que son difíciles de tener en cuenta en un modelo numérico, entonces se puede vislumbrar una metodología de Sistema experto.Para la realización de este sistema debíamos contar con la existencia de, al menos, un experto humano, el cual es una persona cercana a uno de los integrantes del grupo; este se especializa en reparación y asistencia técnica de automóviles. Con esto se explica el hecho de que el Sistema Experto depende del experto humano para crear el contenido de su base de conocimiento y que si ninguna persona sabe resolver el problema el Sistema Experto no puede realizarlo.
Una de las principales características que nos llevó a realizar un sistema experto referente a Reparación de Automóviles, es que la capacidades del experto deben basarse en su conocimiento, sus juicios, su experiencia pero sobre todo en su buen sentido, que no es formalizable.
Otra de las características que nos llevo a realizar el sistema sobre este dominio, es que el problema de Reparación y Detención de fallas en automóviles requiere muchas horas de trabajo humano. Si no el Sistema Experto no sería rentable.
Dentro de las características que nos indujeron, es la referente a la rotación de personal antiguo (cambio frecuente de técnicos) que es, también, un signo de interés hacia los Sistemas Expertos, pues permiten la memorización del saber hacer acumulado por las personas que trabajan en el problema.
Cuando un técnico en reparación de automóviles se enfrenta a la detección de un problema, este no sabe cuál se va a resolver exactamente, dentro de todas las posibilidades de estos. Esto nos lleva a preferir la utilización de un Sistema Experto a la programación de cada posibilidad.
Descripción del proceso de detección de fallas.
Volver a Contenidos
Cuando un vehículo es abordado por el técnico, este debe separar y desmantelar la partes y piezas de dicho auto. Una vez terminado se realiza un análisis para detectar la posibles fallas o defectos.Estos defectos se agrupan en conjuntos a los cuales se les denomina Problemas. Una vez detectado el problema se puede buscar una posible solución.
Es importante notar que pueden existir defectos que pertenezcan a distintos problemas; es decir, que a diferentes problemas se le asignan uno o mas defectos iguales.
Es así que un grupo de defectos también puede desembocar en mas de un problema; es por esto que es sistema experto da consejos de cómo solucionar los posibles problemas, no la solución óptima.
Una vez tenidos los problemas presentados por el o los conjuntos de defectos, se procede a desplegar o informar sobre las soluciones aconsejables.
Podemos notar que un problema nos puede deducir una o más soluciones posibles, y que esta solución o conjunto de soluciones puede pertenecer a otro problema.
Elección de la herramienta apropiada.
Volver a Contenidos
Para la elección de una herramienta en la cual se pudiera implementar nuestro Sistema Experto nos basamos en las siguientes premisas:
- La herramienta debía poseer solamente el grado de generalidad necesario para resolver el problema dado. Es decir, como lo expone el dicho popular : "Quien mucha abarca, poco aprieta".
- El lenguaje de representación del conocimiento deberá ser lo más simple y universal posible.
- Un medio de acceso a los mecanismos de control si la generalidad es más importante que la eficacia, o la inversa, un sistema de control muy limitado si se busca un aprendizaje, una automatización o explicaciones elaboradas.
- Capacidades de diálogo elaboradas (leguaje cuasi natural, diccionario...) si el tiempo de desarrollo es un factor crítico.
Estas características las vislumbramos en el Lenguaje de programación Lógica Turbo Prolog 2.0; es decir, que el sistema ha sido implementado bajo este compilador.
La transferencia de experiencia.
Volver a Contenidos
Una vez decidida la naturaleza del motor de inferencia, lo principal que queda por hacer es : desarrollar la base de conocimiento y, después, efectuar la transferencia de experiencia entre el hombre y la máquina.La transferencia de la experiencia es un proceso incremental, es decir este Sistema experto podrá incrementar su conocimiento (aprender) por medio de el ingreso de más información por parte del Experto humano, en este caso el técnico automotriz.
Caracterización.
Volver a Contenidos
Esta fase permite la caracterización de los aspectos importantes del problema de asistencia técnica de automóviles.
- Participantes en el sistema.
Los participantes de mayor relevancia en el desarrollo del sistema son: el experto humano, es decir, el técnico en reparación de automóviles; este se encargará de aportar los conocimientos para la realización de este sistema, el programador del sistema, el cual estará encargado de recopilar el conocimiento y formalizarlo, para luego realizar su ingreso a un medio informático y la creación del motor de inferencia.
- Características del problema.
El problema consiste en la detección de fallas en automóviles, para realizar dicho procedimiento, el sistema se basa en un conjunto de conocimiento sobre defectos que conllevan a problemas , y estos a u vez a posibles soluciones.
Modelamiento de Conocimiento
Volver a Contenidos
Para este problema tenemos definido el siguiente conocimiento:
Defectos.
D1: Desgaste de Engranaje de Cambios
D2: Oxidación del Sistema de Cambios.
D3: Temperatura general del vehículo elevada.
D4: Suspención dura.
D5: Fuga de aceite en amortiguador.
D6: Abolladura.
D7: Fisura.
D8: Rayón.
D9: Exceso de partículas nocivas en gases.
D10: Quema Excesiva de bencina.
D11: Exceso de hollín en tubo de escape.
D12: Octanaje no óptimo de la bencina.
D13: Circulación del aire dentro del auto deficiente.
D14: Fisura en el radiador.
D15: Dirección se siente dura.
D16: Deficiencia del nivel de líquido de la dirección.
D17: Cristalización de pastillas de freno.
D18: Exceso de líquido de Freno.
D19: Aceite no óptimo para tipo de motor.
Problemas (los cuales se componen de uno o más defectos):
Problema 1: D1, D2, D3.
Problema 2: D4, D5
Problema 3: D6, D7, D8
Problema 4: D9, D10, D11, D12, D3, D19
Problema 5: D3, D13, D14
Problema 6: D15, D3, D16
Problema 7: D3, D12, D19
Problema 8: D17, D18
Problema 9: D17, D18
Soluciones:
S1: Engrasar el sistema de cambios
S2: Reemplazo del sistema de cambios
S3: Reemplazo de la Amortiguación
S4: Reparación de la Amortiguación
S5: Reemplazo de parte de la carrocería
S6: Desabolladura
S7: Pintado
S8: Reemplazo del convertidor catalítico
S9: Reemplazo del Filtro del convertidor catalítico
S10: Ajuste del paso de Bencina
S11: Reemplazo de radiador
S12: Reemplazo del liquido del radiador
S13: Reemplazo del eje mayor de la dirección
S14: Reemplazo de neumáticos
S15: Redibujado de neumáticos
S16: Ajuste del sistema mecánico del motor
S17: Reemplazo de bobina principal del motor
S18: Reemplazo de pastillas
S19: Reparación de pastillas
Asignación de las soluciones a los problemas:
Problema 1: S1, S2
Problema 2: S3, S4
Problema 3: S5, S6, S7
Problema 4: S8, S9, S10
Problema 5: S11, S12
Problema 6: S12, S13, S14, S15
Problema 7: S8, S9, S16, S17
Problema 8: S14, S15
Problema 9: S18, S19
Es importante notar que el sistema interactua con el usuario por medio de un test, el cual le dice al sistema experto cuales son los defectos detectados por el técnico, estos permiten la detección del problema y su posible solución.Una vez detectado un defecto o un grupo de defectos que permitan al sistema poder deducir un problema estos quedan en la memoria, ya que puede darse el caso de que otro problema también contenga este defecto; es decir, para que el sistema deduzca otro problema que tenga defectos similares no es necesario que este realice nuevamente las preguntas referentes a los defectos en común.
En resumen podemos quedarnos con el siguiente diagrama:
D1, D2, D3 --> P1
D4, D5 --> P2
D6, D7, D8 --> P3
D9, D10, D11, D12 --> P4
D3, D13, D14 --> P5
D15, D3, D16 --> P6
D3, D12 -->P7
D17, D18 --> P8, P9
D12, D3, D19 --> P4, P7
Este primer bloque quiere decir, por ejemplo, que el problema 1 (P1) será deducido si se cumplen simultáneamente los defectos 1, 2 y 3; el problema 2 (P2) será deducido si se cumplen simultáneamente los defectos 4 y 5. Es importante notar que existen defectos que permiten deducir distintos problemas; mejor dicho, para deducir el problema 1 (P1), por ejemplo, se necesita que se cumpla el defecto 3 (D3), entre otros, y para deducir el defecto 7 (D7), también es necesario que se cumpla el defecto 3.
Una vez que se cumple un defecto, el sistema lo recuerda; es decir, no es necesario que el sistema vuelva a preguntar si se cumple para deducir otro problema.
P1 -->S1, S2
P2 --> S3, S4
P3 --> S5, S6, S7
P4 --> S8, S9, S10
P5 --> S11, S12
P6 --> S12, S13, S14, S15
P7 --> S8, S9, S16, S17
P8 --> S14, S15
P9 --> S18, S19
En este segundo bloque, se vislumbra la determinación o conclusión de posibles soluciones a los problemas detectados por el bloque anterior; esto quiere decir, que dado el cumplimiento de determinados problemas se obtienen soluciones que tengan relación con dicho problema. También es trascendente notar que existen soluciones que pueden servir para mas de algún problema.
Conclusiones
Volver a Contenidos
Podemos decir que un Sistema Experto utiliza reglas que traducen la experiencia humana, que evitan investigaciones ciegas, que ofrecen prestaciones, que razonan por manipulación de símbolos, que comprenden los principios fundamentales del dominio y que su estructura de control permite tratar la incertidumbre y lo desconocido construyendo verdaderos razonamientos.Estos resuelven tareas expertas en un dominio complejo, aceptan la descripción del problema en un lenguaje natural para traducirlo en una representación interna apropiada al tratamiento y pueden razonar sobre su propio conocimiento, especialmente para construir el camino de inferencia con vistas a una explicación y una justificación de su razonamiento.
Santiago 6 de Enero de 1999.