UNIVERSIDAD AUTONOMA METROPOLITANA
SISTEMA EXPERTO PARA
EL
DIAGNOSTICO
Y CORRECCION
DE FALLAS
EN UNA IMPRESORA STAR N X - 1 0 0 1 .
INFORME
QUE
PARA O B T E N E R LA
LICENCIATURA
EN
COMPUTACIóN
presenta
AIDA
ORDONEZ
MONDRAGON
Asesorada
p o r
el
Doctor
JOHN GODDARD CLOSE
PREFACIO
iBIENVENIDA,PERSONA QUE
HOY
HOJEAS ESTE YNFORME!¿Que puedes esperar de
el?
Dar6 una descripci6n rapida de lo que es el contenido y posteriormente vendra un lndice.
El informe consta de ocho secciones:
La primera es una introducci6n a
los
sistemas expertos y est8 escrita en forma de dialogoentre una persona que curiosea sobre sistemas expertos y su servidora, que trabajd con ellos al
hacer su proyecto.Este dialogo se divide en dos partes:la primera trata de explicar
lo
que son losistemas expertos y la segunda cdmo funcionan. AI hacer el dialogo pretendí hacer menos
cansada la introducci6n;sin embargo queda a juicio del lector si logre mi prop6sito.No pretende
esta introducci6n sustituir la lectura de un libro sobre sistemas expertos (ni siquiera sustituir a un libro elemental sobre el tema),únicamente pretende transmitir de una manera amena lo que
experimente al trabajar con ellos y contiene lo esencial para entender el sistema que se
desarrolló como proyecto.Quiz8.s el formato pregunta-respuesta pueda parecer poco serio
y
ademas el lector deba llevar a cabo un trabajo
mas
activo en su cerebro armando elrompecabezas de los temas que se esbozan en el didlogo,aún as! espero que sea de su agrado y
en pequefia medida pueda estimular el inter& en investigar mas sobre esta rama de la
computaci6n.
La segunda seccibn habla del proyecto: c6mo se trabaj6,que tema se eligi6,que
herramienta se us6 y por qu&.Trae,as[ mismo, los alcances del proyecto y el desglose, punto por
punto,del desarrollo del sistema experto (elecci6n y familiarizaci6n del conocimiento,
estructuracidn del conocimiento e implantacibn del sistema).Se encuentra tambien en esta parte
c6mo modificar el programa : se explica detalladamente que archivos modificar ,c6mo y dbnde
agregar nuevos atributos y reglas de inferencia y se da toda la informaci6n para que alguien que
no conozca el sistema pueda modificarlo.
La tercera secci6n es una gula completa en orden alfabetico de los procedimientos
y
atributos que conforman el sistema desarrollado.
La cuarta secci6n es una gula del usuario y esta dividida en dos partes:
En la primera parte se explica c6mo usar la interfase estandar de CxPERT,es decir, la interfase que esta herramienta le pone a todos sus sistemas.Recomiendo esta seccidn para aprender a usar los sistemas desarrollados en CxPERT.
manual3.Está ahí explicado el uso del hipertexto que aparece en el sistema. La segunda parte explica c6mo usar especificamente el sistema experto llamado
La quinta sección es una descripci6n rhpida de CxPERT y esta dividida en dos partes:
La primera parte contiene una pequetia revisi6n de
lo
que ofrece CxPERT y que senecesita para instalarlo.Trae cómo codificar los atributos y marcos,el uso de procedimientos, la
sintaxis de las reglas de inferencia,cdmo enviar informaci6n al usuario (uso de hipertexto y de
hiperventanas) y procedimientos que ofrece CxPERT.Trae notas de problemas que tuve y
recomendaciones para evitarlos.
cómo ligar funciones a las teclas La segunda parte contiene la explicaci6n detallada de c6mo jalar graficos en CxPERT, y cómo modificar la interfa;e ofrecida por CxPERT.
La sexta sección son las conclusiones del proyecto relativas a
los
sistemas expertos y a la herramienta empleada,además de unas observaciones finales.La séptima sección es la bibliografía
La octava sección es el código del sistema :Contiene al inicio un índice de
los
archivos.Lo anterior es un resumen de
lo
que se puede hallar en este informe.Sin más que decir,me despido y doy un aliento : ¡¡¡ADELANTE!!!
Por último,quiero dar las gracias y un amplio reconocimiento a mi asesor Doctor John
Goddard Close en la valiosa guía y sugerencias recibidas durante la realización del proyecto. Deseo también agradecer a la Maestra en Ciencias Mariko Nakano Miyatake por el apoyo otorgado en la impresión de este documento.
Aída Ord6iiez Mondrag6n.
Septiembre de 1995
INDICE
1 ¿QUE SON LOS SISTEMAS EXPERTOS?
1.1 Un inexperto curioso vence su temor y pregunta
...
1, l .
1
Introducción 5l . 1.2 ¿De que trata esta primera parte de la charla? 5
l. 1.3 Charla sobre sistemas expertos con un inexperto curioso(1) 6
l. 1.4 Conclusión de esta primera parte de la charla 16
1.2 La vuelta del inexperto curio s o . . .
¿Y
cómo funciona un sistema experto?1.2.1 Introducción 17
1.2.2 Charla sobre sistemas expertos con un inexperto curioso(l1) 17
1.2.3 Conclusión 24
2 DESARROLLO DEL PROYECTO
2.1 Introducción general
2.
l. 1 Desarrollo de un sistema experto para el diagnósticoy
posible solución de2.1.2 Forma de trabajar el desarrollo del proyecto 25
fallas en un equipo electrónico 25
2.2 Sistema experto para el diagndstico y posible solución de las fallas en una
impresora Star NX-1001
2.2.1 Introducción 26
2.2.2 Alcances 27
2.3 Desarrollo detallado del proyecto
2.3.1 Eleccidn de la fuente del conocimiento 27
2.3.2 Familiarización con el conocimiento 27
2.3.3 Estructuración del conocimiento 28
2.4.1 Introducción
32
2.4 Implantación del sistema
¿Por que eligl CxPERT?
¿Cuantos archivos tiene el sistema? Descripción del sistema
2.4.2 Manejo de las regiones que causan problemas 33
2.4.3 Agregando m& regiones que causan problemas 34
2.4.4 Descripción de la implantación en CxPERT de la región uno:
"La impresora no imprime o para súbitamente de imprimir"
Forma de modificar el procedimiento 35
2.4.5 Descripción de la implantación en CxPERT de la región dos:
"La impresión no es lo que espero"
Forma de modificar el procedimiento 36
"El papel no se alimenta como debe ser"
Forma de modificar el procedimiento 37
2.4.6 Descripción de la implantación en CxPERT de la región tres:
3 GUlA COMPLETA DE PROCEDIMIENTOS Y ATRIBUTOS DE MANUAL3
3.1 Procedimientos 39
3.2
Atributos 504 GUíA DEL USUARIO
5
4.1 lntroduccibn 54
4.2 iC6mo usar un sistema experto desarrollado en CxPERT? 4.2.1 Introduccibn 54
4.2.2 Cambiar la hiperventana principal 54
4.2.3 Cambiar el modo de la hiperventana principal 55
4.2.4 Modo enrollado 55
4.2.5 Incrementar el enrollado 55
4.2.6 Modo tamaño (Z) 55
4.2.7 Modo mover (M) 55
4.2.8 Traer una hiperventana a la superficie 56 4.2.9 Cambiar el incremento de movimiento 56
4.2.10 Poner la hiperventana en cierta localidad de la pantalla 56
4.2.1 1 Modo apuntar (Point) 56
4.2.12 Cambiar los colores de una hiperventana 56
4.2.13 Limpiar una hiperventana 57
4.2.14 Cerrar una hiperventana 57
4.2.15 Guardar las entradas y salidas del sistema 57
4.2.16 Salir del sistema 57 4.2.17 Pedir explicacibn 57
4.2.18 Pedir ayuda 57
4.2.19 Pedir razonamiento 57
4.2.20 iOprimi6 varias veces ESC y se quedb sin ventanas? 57
4.3.1 Forma de entrar 58 4.3.2 Aparicibn de hipertexto 59 4.3.3 Dibujos del sistema 59
4.3 iCbmo usar el sistema experto denominado MANUAL3?
DESCRlPCldN DE CxPERT
5.1 Descripcibn rdpida de CxPERT 60
5.2 Descripcibn breve del lenguaje de representacidn de conocimientos de CxPERT 5.2.1 Atributos 61
5.2.2 Marcos 64
5.2.3 Reglas de inferencia 65
5.2.4 Mandando informacibn al usuario 66 5.2.5 Uso de hipertexto 67
5.2.6 Algunas funciones especiales CxPERT 68 5.2.7 Procedimientos 69
5.3.1 Jalando grdficos en CxPERT usando Turbo C 70
5.3.2 Ligando funciones a las teclas con CxPERT 71 5.3.3 Modificando la interfase CxPERT 73
5.4 Instalacidn de CxPERT 74
5.5
iCdmo construir una aplicacibn CxPERT? 755.3 Explorando CxPERT
6 CONCLUSIONES 77
7 BIBLIOGRAF~A 79
8 LISTADO COMPLETO DE LOS ARCHIVOS DE MANUAL3 8.1 indice de archivos 80
1
¿Qué
son
los sistemas
expertos?
1.l.Un inexperto curioso vence su temor y pregunta
...
l . 1.1 Introducción.
Imaginemos la escena:una persona oy6 hablar de sistemas expertos y se impresiond
creyendo que ....'I¡ Ajaja
....
con que ese conjunto de fierros llamado computadora puede tenerpericia en algo .... !,iBah! ... no lo creo ...; sin embargo,es real que las cosas han llegado muy lejos ...
¿SerA,acaso,que pueden pensar? ... ¡Que impresionante! ...i Que emoci6n ...
!..."
y con toda latimidez del mundo decide penetrar al mundo de
los
sistemas expertos como tú,en estosmomentos,amigo lector .
1.1.2 ¿De qué trata esta primera parte de la charla7
A continuaci6n vendran una serie de preguntas sobre sistemas expertos.las respuestas de ninguna forma pretenden ser exhaustivas,únicamente tienen el prop6sito de introducir,de una
forma muy elemental, al lector interesado en el tema y en el desarrollo del proyecto,en esta area
de la computación y de ser posible,despertar su curiosidad.TratarC,en esta primera parte,las
siguientes cuestiones:LQ& son y d6nde se ubican
los
sistemas expertos?,¿C6mo es suarquitectura?,¿QuC tipo de conocimiento pueden representar y c6mo lo hacen?,finalmente ¿quien
adquiere el conocimiento a ser representado y cdmo?.En la siguiente secci6n,se ahondara lo
relativo a la maquina de inferencia,aqui solo se mencionan las formas de inferencia que usa el sistema experto.
1.1.3 Charla sobre sistemas expertos con un inexperto curioso(l).
]Buenos días!
Buenos dias y bienvenido al mundo de los sistemas expertos..
Ansioso estoy de disparar mis preguntas ...¿ Comienzo
...
?Adelante,mi amigo,adelante ...
¿A qué Brea de la computación pertenecen los sistemas expertos?
Los sistemas expertos forman parte de la inteligencia artificial y,de hecho,representan el primer
Bxito comercial en ese campo.
He escuchado acerca de la inteligencia artificial y en realidad me suena muy "chic" el
término ...p ero
¿Que
es la inteligencia artificia1:un conjunto de alambres y energía 9uepiensa?
En realidad no se ha llegado tan lejos ,dado que ni siquiera se sabe que es la inteligencia. Digamos que la inteligencia artificial pretende llegar a que las computadoras lleguen a realizar tareas que una persona realiza mejor en este momento.
Ha movido mi curiosidad ,aunque quisiera ver que a una computadora se le pudiera
transmitir la inspiración
...
en fin, ¿que Breas estudia o que campos tiene la inteligenciaartificial?
Son muchos,tenemos asi:
La rob6tica.-Estudia a las maquinas capaces de realizar tareas mecdnicas,manuales y
Los sistemas expertos.-En un principio se intentaba simular los procesos intelectuales de
repetitivas que ahora hace el ser humano.
un experto humano.Actualmente el enfoque es menos ambicioso:se trata ahora de representar el
conocimiento y razonar con 61.
máquinas.PiBnsese en lo complejo de este prob1ema:reconocimiento del IBxico y de la sintaxis de
un lenguaje,reconocimiento de la voz,traduccibn.
La visión por ordenador.-Trata de identificar,localizar y percibir objetos.se une este campo
con el de la robbtica,ya que un robot debe "ver" para efectuar manipulaciones en ciertos procesos.
El aprendizaje automAtico.-Estudia el que un programa "aprenda" por si mismo.
El tratamiento inteligente de la informaci6n.-Procesar "inteligentemente" la informacibn almacenada en grandes bases de datos que de otra forma serla imposible,por el tiempo de búsqueda.
reglas.PiBnsese,por ejemplo,en las damas o en el ajedrez.
El lenguaje natural.-Usar el lenguaje que nos es propio para comunicarse con las
Los juegos.-Estudia aquellos problemas cuya soluci6n depende de que se cumplan ciertas
Hay mas temas estudiados por la inteligencia artificial,Bstos son sblo algunos.
Enfocandonos a nuestro tema
...¿
Cuando surgen los sistemas expertos yque
se deseaba o se esperaba de elIOS7Hacia
los
años 70's surge la idea de codificar el conocimiento de un experto humano en unprograma e incorporar mecanismos que permitieran razonar con este conocimiento para resolver
problemas en su campo de dominio,en otras palabras,simular el proceso mediante el cual un
experto da una respuesta a un problema.
Un experto ...¿y que es un experto7
Hay muchas definiciones,algunas humorísticas:"Alguien que cada vez sabe m8s de menos". Aqui nos quedaremos con que se trata de una persona competente en un Brea del conocimiento
y que tiene caracteristicas que la hacen distinta de otras gentes: resuelven problemas en su
campo rApida,eficaz y organizadamente,aplican estrategias y tdcticas en la búsqueda de
soluciones de una forma heurística (con inventiva),su preparaci6n y formaci6n lleva varios años
lo
que hace muy difícil reemplazarlos si se mueren o jubilan.
¡Que fabuloso! Nuestro Einstein en casa
...
Si ... la idea era muy atrevida y ambiciosa ...p ero la realidad tenía otros planes:Al tratar de
programar ,aún juegos sencillos,se observ6 que cualquiera,no s6lo un experto,utiliza gran
cantidad de conocimientos al dar una respuesta ...p ¡&sese en la intuicibn o sicología que todos
usamos al jugar damas o algún otro juego de mesa sencillo ...
jOh
...
! Es terrible...L
En qué quedó todo7Realmente no es tan terrible y tampoco qued6 ... en el sentido,de que
los
sistemas expertossiguen siendo hoy un Brea de investigaci6n todavía no bien delimitada ...
lo
que sí pas6 fue uncambio de enfoque:en lugar de simular al experto mejor tratar de representar
lo
mejor posible suconocimiento y en lugar de tener un sistema experto tener un sistema basado en conocimientos ...
¡Vaya
...
! el título del nuevo enfoque espanta:"Sistema basado en conocimientos"...
Sí ... algo pomposo aunque quiera significar algo menos espectacular,bsto es,el cambio de
enfoque lev6 a la conciencia de que el problema a ser atacado no tenia porque ser apantallador
para ser útil y comercializable.Bajo este enfoque,bien se podría tratar de representar el
conocimiento contenido en un manual o automatizar una operaci6n costosa y repetitiva que
requeria cierto conocimiento experto (por ejemplo,el manejo de excepciones en la ndmina de una
A todo ésto ya me perdí. ..entonces cuando yo digo o veo
..."
un sistema experto para . . . . I ' d Qué trata de englobar el titu/o?,en Otri3.s pa1abras:dQué es hoyun
sistemaexperto?
Es
un programa o un conjunto
d e
programas donde hay conocimiento especializado
representado
y
mecanismos de razonamiento incorporados para razonar con
ese
conocimiento
,además
d e
que se
espera que explique
y
justifique el c6mo leg6 a determinada respuesta en u n
problema
d esu competencia.
Pero mecanismos de razonamiento y conocimiento tienen todos los programas
...
Sí
...p
ero la idea
del
sistema experto es
que
estén divorciados
¿Divorciados?
...
suena chistoso...
Separados
...sean independientes.En
un programa tradicional todo se mezcla,en un sistema
experto no.Por todo,entiéndase las estructuras
d econtrol,los datos,las entradas
y
salidas,
éstohace que
un
programa tradicional sea dificil de modificar,ya que el programa
en si
es un todo
que
refleja el razonamiento
d e
quien
lohizo.En un sistema experto,el mecanismo
de razonamiento es
u n punto
y
aparte,por llamarlo
d e
alguna forma,que usa el conocimiento nutrido al sistema para
obtener respuestas
...nosotros nos preocupamos de poner el conocimiento en el sistema
y
elsistema es
quien
se
preocupa
d e
razonar con
él.¿ El mecanismo de razonamiento en
un
sistema experto es un equivalente a las estructuras de control en un programa tradicional?Sí
...en
el sentido
d e
que es quien se encarga de seleccionar el conocimiento adecuado dentro
del sistema de una forma dindmica para llegar a la respuesta,es quien hace funcionar al sistema
experto,quien
lo"mueve",le da
vida
...Quien lo mueve
...
dah!...
como si fuera una máquina.Así
es
y
en la "jerga"
d e
lossistemas expertos así
se
le conoce
iAhl ...¿ Como máquina de razonamiento?
...
suena bien...
Mds
bien,como mdquina de inferencia
del
sistema experto.
Y
la máquina de inferencia es la que juega conel
conocimiento...
Si
loquiere ver así,sl
...p
ero no juega
sino
que sigue formas de inferencia bien definidas
¿Y quién programa a la mdquina de inferencia?
...
Si yo no la programo...
No ...y a dijimos que nosotros nos encargamos de alimentar conocimiento al sistema y el
sistema de digerirlo ... el proceso de "digesti6n" depende de la herramienta de software elegida,
es decir,la forma de inferencia nos es dada con el software que compremos.
¡Genial! Entonces yo no me preocupo para nada de ese aspecto al trabajar con un sistema experto
...
Si por "preocuparse de ese aspecto" se entiende programar la mdquina de inferencia ... en
efecto,nos despreocupamos.
¿Es gub acaso me debo preocupar de otro aspecto respecto a la mhquina de inferencia
de/ sistema experto?
...
iiiClaro!!! ... Usted sabe que su sistema va a razonar con el conocimiento introducido pero no
c6mo va a razonar ...¿ Qu6 le dice que la manera de pensar del sistema usara el conocimiento *
como es debido? ...
Suena a magia
...
ahora resulta que el sistema "piema"...
La forma de inferir conocimiento de su sistema es su "manera de pensar'' ...
¡Interesante! LCudntas formas de inferencia hay?
Bdsicamente son dos:dirigida por datos (data-driven) o encadenamiento hacia adelante y
dirigida por metas (goal-driven) o encadenamiento hacia atrkAlgunos sistemas usan
encadenamiento mixto, o sea.emplean las dos formas de inferencia mencionadas antes.
La intranquilidad hace presa de mí. ..¿encadenamiento de conocimiento,supongo?
...
Así es.
¿ Y así como así la máquina de inferencia encadena el conocimiento ,relaciona ideas?
No llega
a
tanto de relacionar ideas,aunque pueda llegar a dar esa apariencia ...y tampoco aslcomo así encadena el conocimiento
...
en realidad,va explorando lo que haya en 61...
va explorandolas reglas de inferencia introducidas ...
¿Reglas de inferencia
...
?...¿y &o que es3Una forma de representar conocimiento dentro del sistema experto.
¿ Y hay otras formas de representar conocimiento?
Tantas como tipos de conocimiento ...
¿Tipos de conocimiento
...
? Debe ser complicado porque ¿Qué es el conocimiento...?, ¿qué es conocer. ..?,¿Cómo dividirlo en tipos...
? Todo ser humano est4 limitado en ver la realidad a los limites de /as circunstancias quelo
rodean...
Bueno ... sí ...p odríamos verlo filos6ficamente;sin embargo,aún usted me conceder& que hay
cierto tipo de conocimiento que sí podemos representar
...
sino
fuera así jc6mo es que usted yyo estamos conversando ... ?
¿Qué tiene que ver todo ést0 con los sistemas expertos?
Sin querer toco un Area muy interesante dentro de los sistemas expertos:la representacibn del
conocimiento ...
¡Ah
...
sil ...y me decia que hay muchos tipos de conocimiento esperando a ser representados...
Hay muchos tipos de conocimiento
...
aquí veremos tres:el declarativo,el procedimental y elincierto. ..
¿A qué tipo de conocimiento pertenecerían las reglas de inferencia?
Inferir significa sacar
conclusiones,consecuencias
a partir de ciertos hechos,así que podemoscatalogar a las reglas de inferencia como conocimiento procedimental
...
¿ Por qué?
Porque tratan de representar procesos de razonamiento o formas de relacionar el
conocimiento. S e les puede ver desde ambos puntos de vista.
Y en un sistema experto tenemos reglas de inferencia
...
No entiendo cómo una regla de inferencia pueda relacionar conocimiento
...
Veamos cómo razonamos ... cuando saco conclusiones acerca de algo,uso o,m& bien,me
baso en ciertas observaciones o en ciertos hechos que conozco,por ejemplo,si yo S& que "los
conejos comen zanahorias" y que "Bugs Bunny es conejo" entonces yo deduzco que "Bugs
Bunny come zanahorias" ... dentro de la base de reglas del sistema experto debe haber una regla
que represente este conocimiento y debe tener, mas o menos, la siguiente forma:
SI Nombre-animal es conejo
Y
SIlos
conejos comen zanahoriasENTONCES Nombre-animal come zanahorias ...
¿"Nombre-animal" en lugar de Bugs Bunny?
...
Bueno ... utilizando un termino mas general ... tener un sistema experto que razone lo que debe
comer Bugs Bunny convendre usted en que no es redituable ...ij ah! ...
¿ Y cómo represento el hecho de que "los conejos comen zanahorias" o el hecho de que "Bugs Bunny es conejo" o el hecho m& general de que: "Nombre-animal es conejo"?
...
Si se da cuenta,todo este tiempo hemos usado el temino "hecho" para mencionar a cierto tipo
de conocimiento que vendría siendo mas elemental que el de las reglas de inferencia.Este
conocimiento este hecho de oraciones,como las anterioreqes decir,que declaran algo ...
¡¡Vaya!!! Aqui hace su aparición el conocimiento de tipo declarativo
...
¡Así es ... !
¡Que emoción
...
!..¿y cómo represento a los hechos dentro del sistema experfo?...
Hay varias formas.Podemos representarlos como triplas (Objeto-Atributo-Valor),como duplas
(Atributo-Valor),redes semAnticas,lbgica de predicados,marcos ...
iBah!
...
esos términos me dicen poco...¿
Qué esun
atributo? ,Intuitivamente, una característica que distingue un objeto de otro,aunque formalmente es una
función que asocia un valor a una entidad.
Me quedo con la intuitiva y m& explícita definición
...
No me complique la vida...
los atributos de Bugs Bunny serían su nombre,su alimentacit5n y qué tipo de animal es...¿
correcto?...
¿Cómo quedaria representado ese conocimiento dentro del sistema en forma de triplas ?
Tendríamos algo asi :
(animal nombre Bugs Bunny), (animal alimentación zanahorias),
( animal tipo conejo),
cada parentesis es un hecho dentro del sistema experto y en cada respectivo hecho tenemos el
objeto del hecho (animal,en
los
tres hechos),el atributo del objeto del hecho (nombre oalimentación o tipo,segun el hecho donde estemos ubicados) y el valor del atributo del objeto del
hecho(Bugs Bunny o zanahorias o conejo,segun el hecho donde estemos ubicados).
Repite mucho animal
...¿
Hay forma de agrupar todos los atributos en una sóla entidadu
objeto que se llame animal?
...
digamos,un equivalente a un registro en una base de datos...
Sí ...y en el sistema experto se llama marc0.A los atributos dentro del marco se les llama
ranuras.Así,el marco animal tendrla las ranuras nombre,alimentación y tipo.
¿Cómo quedarian los anteriores hechos si se usaran duplas
Atributo-valor para
representarlos?Quedarían asl:
(nombre Bugs Bunny), (alimentación zanahorias), (tipo conejo).
¿ Y las redes semánticas y la lógica de predicados?
...
En cuanto a otros tipos de representación del conocimiento,lamento no extenderme ... ya
vimos que son muchos,sólo diré que las redes semanticas basan su concepción en la relación de
conocimientos que realiza la memoria humana y la 16gica de predicados se basa en la 16gica
cl8sica.Hay mas formas de representar el conocimiento,pero las anteriores son las mas extendidas.
/Que crueldad
...
!...Me quedé picado...
relación de conocimientos que realiza la mente...
/Vaya que tienen heuristical...
En realidad qué bueno que este picado ... es uno de los propbsitos de la charla.
Me imagino que el conjunto de hechos tiene un nombre
...
Así es ... se llama base de hechos del sistema experto.
Tanto la base de hechos como la base de reglas constituyen el conocimiento del sistema experto
...
Así es ... son su base de conocimiento.
~ A s i s e llama
...
?¿Base de conocimiento?Si ... cuando el conocimiento declarativo esta representado en forma de atributos,la base de
reglas junto con la base de hechos constituyen la base de conocimiento del sistema experto. Cuando hay otros esquemas de representaci6n,la concepci6n varía.
No ha hablado del conocimiento incierto
...
Es
aquel en donde no tenemos la suficiente informaci6n para negar o afirmar un hecho.Asi,por ejemplo,en diciembre de 1994,el volcan Popocatepetl cwnenz6 a lanzar cenizas y fumarolas,
estos hechos inclinaban la balanza hacia la creencia de que el volcan haria erupci6n,sin que por ello se afirmara,con toda seguridad,que la habría (como final,y afortunadamente, no ocurri6).
íAh
...
vaya! Es conocimiento que tiene asociado una probabilidad de ocurrencia...
No una probabilidad ... sino,mds bien,una incertidumbre
...
¿Una incertidumbre
...
?...vamos porpartes :incertidumbre es duda...
Si ... sabemos que hay ciertas evidencias que aumentan nuestra creencia en algo y ciertas
evidencias que la disminuyen ...
íVamos
...
!,pero las creencias entran dentro de un plano subjetivo...
un conocimiento subjetiv0,propio de la persona...
Así es ...
Ahora me dirá que ya han hallado alguna forma de cuantificar conocimiento de ese estilo..
.
Sí y se ha cuantificado mediante un número llamado factor de certeza
...
Si el factor de certeza no representa una probabilidad,entonces ¿que representa?
...
Representa la combinaci6n del grado de credibilidad y no credibilidad,con las evidencias de
que disponemos,a favor de cierta hip6tesis.Por ejemplo:el volchn expulsa cenizas y fumarolas
(evidencia),que tanto creemos que esta evidencia nos dice de una pr6xima erupcidn ...( Si hay
fumarolas y cenizas,indica que el volcim esta despertando pero,por otro lado,bso no excluye que
sea algo momentdneo
y
el volcan se vuelva a dormir).¿Dónde se colocan los factores de certeza?
Pero si son varias reglas,debe ser muy complejo manejar este tipo de conocimiento
...
e incluso si pensamos en tener varias condiciones en cada regla...
LCdmo
estiin seguros de no armar todo un "masacote" con el conocimiento...
7
En realidad,el uso de factores de certeza complica mucho las cosas y hay toda una teoría
atrds de ellos ...
¿Otra área de investigación,supongo?
...
Si
...
4
Y quién da los factores de certeza al conocimiento...
7
El experto ... conocimiento incierto o no ,lo da el experto.
L
Y si el experto se equivoca...
?...se me ocurre porque se trata de cuantificar una experiencia subjetiva...
Bueno ... eso entraria ya en otro terreno ... aqui estariamos hablando de un fallo en la base de
conocimientos del sistema experto y tendria mhs bien que ver con la validaci6n en los sistemas y
no sólo expertos.
Mencion6 que el conocimiento lo da el experto
...
entonces prdcticamente es el experto el que programa al sistema experto ...p ues &te da las reglas de inferenciaJos atributos,los factores de certeza...
todo...
No es así ... aunque sí ... se puede dejar que el experto codifique directamente su conocimiento.
Pero si el experto no codifica el conocimiento,entonces la persona que lo haga debe saber mucho del tema sobre el cuál versard el sistema experto
...
Está usted entrando en un tema particularmente relevante en los sistemas expertos ...
¿Quién lo programa
...
7No
piense en terminos tradicionales ... recuerde que en el sistema experto conocimiento yc6mo se razona con
r$l...
Están divorciados
...
si. ..recuerdo que lo mencionó hace mucho rato ...Lqut5
me quiere decir o hacer entender,pues?...
¿Ah,no?
...
En mi mente de programador aficionado es la única que se me ocurre..¿Cudl seria,entonces,la pregunta relevante?...
La pregunta relevante,o m& bien,las preguntas relevantes serían:"(,quien adquiere el
conocimiento?" y "¿cómo se adquiere el conocimiento?'' ...
;Touché!
...
Creo que nunca se me hubiera ocurrido preguntaréso
...
Dado que usted estd tan emocionadalsirvase responderlas...
empecemos con la primera,es decir,&quién adquiere el conocimiento del experto?
...
Lo hace alguien llamado ingeniero de conocimiento,cuyo trabajo es andlogo al del analista de
sistemas ...
iOh,vamos! ...p ero para esta persona ,ingeniera de conocimiento,debe ser un problema adquirir el conocimiento de un experto ...¿ Qué tal si se trata de diseñar un sistema experto para el diagnóstico de enfermedades del pulmón?
...
En efecto,es complejo y puede llevarle bastante tiempo.
Es decir.
..
¿debe volverse un experto en el tema?...
En absoluto ... su propósito es saber lo suficiente como para modelar el conocimiento y ponerlo
en forma tal que de ahí resulte un programa computaciona1,el sistema basado en conocimientos.
¿Modelar el conocimiento significa ponerlo en forma de hechos y de reglas?
...
Sí.así es.
Vamos con la segunda pregunta ...¿ cómo adquiere el conocimiento el ingeniero?
...
Tenemos algunas técnicas ya forma1izadas:la entrevista con el experto (aquí se hace uso de la sicologia que lleva un mayor tiempo de desarrollo),la codificacion directa del conocimiento por parte del experto (ya mencionada arriba),se han desarrollado algoritmos generales que operan
sobre una coleccidn de ejemplos del dominio y producen reglas que explican los ejemplos (por
ejemplo,tenemos las mallas de repertorios,el cdlculo de entropias y el algoritmo ID3),est&n
tambien las redes neuronales ...
iGuau
...
!...iQué de términos y nombres,cuando menos...
especiales!...
Suenan tan,digamos,abstractos...
chlculo de entropias...
Sí ... así es.Creame que me encantaría extenderme en el tema,pero va mas alld de los
propósitos de esta breve y muy general charla.
15
Estoy satisfecho en realidad
...
aunque necesito pensar. ..sin mds por el momentoA
usted y regrese cuando quiera ......g racias
...
Hasta pronto
...
Hasta luego.1.1.4 Conclusión de esta primera parte de la charla:
Nuestro inexperto curioso se va ... lleva ideas y pensamientos nuevos ... al Ilegar,bl pensaba que
las msquinas "razonaban" y que un sistema experto simulaba a un experto ... ahora sabe que las
cosas no han llegado tan lejos ... sabe que el temino correcto es sistema basado en conocimiento,
que en su arquitectura se tienen el conocimiento (base de conocimientos) y la forma de razonar
(maquina de inferencia) con 4,separados ... sabe tambien que el conocimiento se representa de
diversas formas:atributos,marcos,reglas de inferencia ... incluso,intuitivamente,siente que hay
jerarquía de conocimientos
...
el nivel mas bajo correspondería a los atributos de un objeto y elmds alto correspondería ...¿ a quien?
...
En la siguiente seccidn,nuestro inexperto curioso llega con nuevas preguntas ... sobre todo
desea poder representarse en su mente c6mo funciona un sistema experto
...¿
Te interesa a tí?iAdelante,pues! ...y si no te interesa ... adelante de todas formas ...
16
1.2.La vuelta del inexperto curioso
...
L
Y
cómo funcionaun
sistema experto?1.2.7 Introducción.
Imaginemonos la escena nuevamente: nuestro inexperto curioso,ya mas tranquilo de lo que
pueda hallar,es decir,con expectativas
m&
cercanas a lo que se refieren hoylos
sistemasexpertos,desea imaginarse c6mo funcionan,penetrar en las entraflas del sistema ...
En esta segunda parte de la charla se tratara de representar de una forma algo rústica como
funciona el sistema experto y aquí sí se explicara en que consisten las dos formas de inferencia
(hacia adelante y hacia atrgs) que en la sección anterior s610 fueron mencionadas.
1.2.2 Charla sobre sistemas expertos con un inexperto curioso(//).
Mi muy querido amigo
...¿
Que letrae
de nuevo por aquí?Deseo saber cómo funciona un sistema experto
...
iC6mo funciona ... ?
Si. ..cómo explora /as reglas de inferencia,cómo le pregunta al usuario la información necesaria para dar
una
respuesta,cómo sabe si ya preguntó algo...
Adelante ... estoy a su disposición para responder
. ."
¿Comienzo
...
7
Cuando quiera ...
Vamos a suponer que ya he nutrido la base de conocimiento de mi sistema basado en conocimiento
...
Disculpe la interrupcibn ... vamos a convenir en seguir llamando al sistema basado en
conocimiento sistema experto
...
me da gusto que capte el cambio de enfoque,pero,si somossinceros,el termino actual es algo ostentoso y menos difundido que el anterior
...
Bueno
.,.
convenido...
decía yo que he puesto conocimiento...
Disculpe nuevamente la interrupcibn
...¿
le parece que vayamos desarrollando la charla con unejemplo en concreto,digamos,un minisistema experto que nos diga que debe comer nuestra
mascota ... ?
.
Me parece bien
...
aunque no sea redituable...
ijahjahjah ...i... ,Caray ...q utS simple soy a veces...
lDecía que ha nutrido a su sistema de conocimiento ... vamos a supo-ner que la herramienta
elegida representa al conocimiento por medio de atributos y reglas de inferencia ...
¿La herramienta elegida
...
?,¿Es que no todas pueden representar el conocimiento de las formas ya vistas...
7
No ... este es un punto a tomar en cuenta a la hora de elegir mi software para desarrollar el
sistema experto ...¿ Cual tiene la representacibn de conocimiento mas adecuada para lo que yo
deseo?.
.
.Continúe,por favor.
..
Digamos que usted puso los siguientes pares atributo-valor. en su sistema: (Tipo,VALORT),donde
VALORT=conejo,gato,le6n,chimpance.
(nombre-mascota,VALORN)
donde VALORN indica valores posibles para el atributo nombre,en este caso,todos..
L
Y
tienen ese formato?...
A veces ... el formato lo da la herramienta,por ejemplo, otra forma de definir los atributos
pudiera ser la siguiente: Nombre Tipo
Tipo Frase (o cadena)
Exp Explicación relacionada con el atributo
Valor conejo,gato,ledn,chimpanc6
Pregunta ¿Que mascota posees?
¿Pregunta
...
?SI ... un mensaje al usuario al preguntar la información.
¿
Y
cudndo aparece ese mensaje?Cuando el sistema necesita la información para llegar a la respuesta.
Pero ...¿y éso
...
?Tranquilo,mi amigo,tranquilo ... en un momento lo vera ... continuando, pongamos que puso en
su sistema las siguientes reglas de inferencia:
Si tipo es chimpance entonces
Si tipo es conejo entonces
Si tipo es ledn entonces
nombre-mascota come pl8tanos.
nombre-mascota come zanahorias.
nombre-mascota come carne.
L
Y
cómo coloco tanto las reglas de inferencia como los atributosen
el sistema?Pues colocandolos ... no entiendo la pregunta.
Sí. ..la duda me viene a que dentro de la base de conpcimientos tanto la base de reglas como la base de hechos (los atributos) estdn separadas ...¿ o no?
...
¡Ah
...
vaya! ... Bueno..nuevamente,la interfase para ir introduciendo tanto atributos como reglasla da la herramienta elegida y no tiene necesariamente que ser una separacidn flsica estricta,por
ejemplo,hay una herramienta de software llamada EXSYS y con ella se ve realmente hermosa la
separación y es estricta:en la mitad de la pantalla aparece el espacio para la regla y en la otra
mitad aparece el espacio de los atributos;en otra herramienta llamada CxPERTJos atributos se
definen fuera de los procedimientos que se usan para relacionar el conocimiento,incluso,usted
puede poner todos los atributos que usara el sistema en un archivo y los procedimientos que
contienen las reglas en otro archivo ... Repito:la forma en que introduce atributos y reglas y el
cómo quedan distribuidos depende de la herramienta de software elegida ...
¿Entonces
los
atributos pueden estar desperdigados dentro de todo el sistema?Si
...
si la herramienta de software así lo permite,pero su conjunto,no importa donde anden suselementos,formarh la base de hechos,algo así como si una persona viaja a otro pais:no por ello
pierde su nacionalidad ...
¡Mire
...
! y yo todo el tiempo creyendo en una separación física estricta...
No
necesariamente.Continúe ...q ue enormemente me interesa
...
Bueno ... vamos a suponer que la mdquina de inferencia infiere su conocimiento mediante el
encadenamiento hacia adelante ...
¡Alto ahí. ..!En la charla pasada mencionó el nombre pero no describió en qu8 consistía
...
¿No
lo hice ... ?Bueno ... lo describir6 ahora: El encadenamiento hacia adelante o dirigido pordatos va de las condiciones a las conclusiones ... esquematicamente seria asi ...
Base de reglas: Base de hechos
R l : Si A=a entonces B=b A=a,C=c
R2: Si C=c y B=b entonces D=d
Estrategia de resolución de conflictos: Se dispara la regla
mas
recientemente satisfecha.iUn momentito!
...L
Estrategia de resolución de cortflictos7...
Son estrategias a usar para descartar distintas reglas aplicables con los mismos hechos,por
Si a mi base de reglas anterior le agrego una tercera regla: ejemplo:
R3: Si A=a entonces E=e
y elijo
como
estrategia de resoluci6n de corliiictos el asignarle prioridad a mis reglas y digo quemi
R3 tiene mayor prioridad que mi R1 ,el sistema obtendra como conclusidn, al explorar lasreglas,la siguiente:E=e ... Ahora responda usted :si mi estrategia de resolucidn fuera disparar la
regla
m&
recientemente satisfecha y teniendo las mismas tres reglas ¿Cud1 hubiera sido laconclusión de mi sistema? ...
Pues B=b
...
supongo.Supone casi bien,en realidad, con esas tres reglas Ilegaria el sistema a que D=d,pero usarla,
en efecto,la
R1
para llegar a esa conclusión y descartaria a la R3.Entonces si elijo una estrategia de resolucidn inadecuada,el sistema experto puede llegar a una respuesta equivocada
...
Quizas no equivocada pero si irrelevante para
el
problema...
inadecuada...
íQue complejo es todo &to!
...
Siga con el ejemplo del encadenamiento hacia adelante,por favor...
Dejemos nuestra base de reglas con las reglas R1 y R2,el sistema procedería así:
Reglas disparadas Base de hechos
Inicialmente A=a,C=c
Ciclo 1 R1 A=a,C=c, B=b
Ciclo 2 R2 A=a,C=c,B=b,D=d
No entiendo algo...¿€/ sistema no debería detenerse a la primera regla disparada y llegar simplemente a la conclusión de que B=b?
No ...p orque con B=b puede disparar otra regla encadenando hacia adelante ... lo que usted
propone pasaría si agregamos una
RO:
RO: Si A=a entonces X=x
y conservamos la misma estrategia de resoluci6n,el sistema experto llegarla a la conclusi6n de
que X=x y no a que D=d
iAh,caray.
..
!...entonces el orden de las reglas t a m b i h importa...
iiClaro!! ... es un punto muy importante respecto a las reglas:hay que cuidar su orden y no solo
su orden,sino evitar su redundancia,así podríamos,por ejemplo,reunir RO y R1 en una sola regla:
Rl-b: Si A=a entonces B=b y
X=x
¡Que de cosas
...
IAhorasí.
..regresemos al minisistema sobre 9ud debe comer nuestra mascota...
Si no le importa,prefiero antes describir la otra forma de inferencia conocida como
encadenamiento hacia atras que tampoco describí anteriormente,supongo
...
Supone bien ...¿
Que
es el encadenamiento hacia at&...
?El encadenamiento hacia atras o goal-driven o dirigido por metas,va de las conclusiones a las
condiciones ...
Eso si estd raro
...
de atrds para adelante ...j como cangrejo...
l...ijahjhJah...I...iAh...pero que simple soy a veces...
caray1...
Sí ... bueno ... continuando ... en esta forma de inferencia se plantea una meta,se exploran las
reglas relacionadas con la meta y se verifican las condiciones de cada una a ver si hay alguna
cuyas condiciones sean satisfechas por los hechos que haya en la base de hechos ...
Yo
creo que un ejemplo resultaria mds claro...
Si ... a
eso
iba ... Vamos a suponer que tenemos las siguientes reglas:R1: A Si B y C (equivale a: Si B y C entonces A,lo puse asl por mayor claridad)
R2: B Si E
R 3 : C S i F o G
y los siguientes hechos :
E,F
Queremos que el sistema nos demuestre A.
Inicialmente Reglas disparadas Base de hechos Meta buscada E,F A
Ciclo 1 R1 B,C
Ciclo 2 R2 E,C
Ciclo 3 R3
E S
El sistema respondería CIERTO porque con esas reglas se requieren como datos E,F que ya
estan en nuestra base de hechos.
¿
Y
la estrategia de resolucidn de conflicto...
?Aquí no se requiere ... ni las conclusiones,ni las condiciones se repiten ...p ero si
lo
hace m&feliz,p6ngale la que guste ...ij ah,,jah,,jah!
...
@ah1
...
Ahora la simple es usted. ..¿la estrategia de resolución de conflicto la pone el sistema o el programador?...
La estrategia de resolucidn de conflicto entrarla dentro del c6mo va a pensar nuestro sistema. Va asociada al motor o mequina de inferencia que tenga el sistema experto,por tanto,lo pone el sistema.En realidad,algunas veces la herramienta de software elegida nos pregunta que
estrategia de resoluci6n deseamos usar y nos da a seleccionar entre las que tenga programadas.
Nuevamente,es el software elegido quien nos limita.
Vaya
...
bueno...
regresando a nuestro tema original...¿
En
qué ibamos?...
Pues no recuerdo y le aseguro que el lector tampoco ... incluso tendremos suerte si el amable
Retomemos
...
era el minisistema 9uenos
iba a decir que debia comer nuestra mascota...
¡Ah ...
si!
...
retomemos.Habiamos introducido las siguientes reglas de inferencia ylos
siguientesatributos a nuestro sistema:
Nombre Tipo R1: Si tipo es chimpance entonces
Tipo Cadena nombre-mascota come plittanos.
Valor conejo,gato,le6n,chimpance nombre-mascota come zanahorias. Pregunta ¿Que mascota posees?
Base de hechos: Base de reglas:
EXP Escribir animal R2: Si tipo es conejo entonces
Nombre nombre-mascota Tipo Cadena
Valor todos
Pregunta ¿Cui11 es el nombre de tu mascota?
EXP Poner el nombre de la mascota
Vamos a suponer que su mitquina de inferencia usa el encadenamiemto hacia adelante
(estrategia de resoluci6n:se detiene con la primera regla disparada) y no hemos introducido nada
mits que lo arriba escrito.
Comienza a funcionar nuestro sistema,el motor de inferencia entra en acci6n:
l.-Explora la primera regla ( R l ) ... esta regla usa el atributo tipo ...
2.-Busca el atributo tipo ... el motor de inferencia desea saber si puede "disparar" (usar) la R1.
3.-Se da cuenta que tipo existe dentro de la base de hechos pero ...j zas! ... no ha sido ligado a
4.-Toma la pregunta asociada al atributo tipo y le pregunta al usuario:
ningún valor.
¿Que mascota posees?
La forma en que aparece la pregunta en pantalla depende de la herramienta de software elegida.
5.-Espera que el usuario responda.
G.-Dependiendo de la interface dada por la herramienta elegida,el sistema puede poner una
lista de posibles valores o dejar que el usuario ponga lo que quiera y si pone un valor ilegal ...
regañarlo("Pusiste un valor ilegal") ... estas formas y otras dependen de la interface del sistema.
7.-EI usuario responde:
8.-Se ha ligado el atributo tipo ... tenemos un nuevo hecho y de ahi hasta el final de la consulta
9.-EI
motor de inferencia ve que no puede disparar la R l ... la descarta y se sigue con R2.lO.-iSi la puede usar ... !...La dispara,pero ve que el atributo nombre-mascota no ha sido
conejo
nuestro sistema experto sabe que tipo=conejo ...
ligado ... sigue los pasos anteriores (3 al 7) pregunta al usuario:
¿CuSl es el nombre de tu mascota?
El usuario responde:
1 1 .-El motor se detiene y dice (en pantalla ... nuevamente,la forma en que aparece la solucibn
Bugs Bunny
depende de la interface proporcionada por el sistema) :
Interesante ...¿
Y
si el motor de inferencia hubiera utilizado el encadenamiento hacia atrás?....
La meta hubiera sido saber si Bugs Bunny come zanahorias.El motor de inferencia preguntaría
primero el nombre de la mascota y se ubicarla en la R2 ...p reguntaria entonces el valor para el
atributo tipo ... si el usuario responde conejo,encontraria la regla aplicable y la
dispararia,deteniedose y enviando CIERTO al usuario (aunque,claro,la forma en que el sistema le
diga al usuario que su meta ha sido confirmada depende de la herramienta elegida) ...
Bueno
...
funciona,en efect0,separadamente todo...
Si ...y es bonito tratar de imaginarselo ...
¡Muchas gracias
...
!...Ya puedo dormir en paz...
aunque a estas alturas quiz& no sea el Único en querer dormir...
Gracias por la critica.. .y puede usted regresar cuando quiera.. .yo tambien estoy extenuada.
..
Hasta luego
...
Hasta luego.1.2.3 Conclusión.
En la conversacidn anterior espero haber transmitido lo que yo misma experimente al
entrar al mundo de los sistemas expertos y
al
manejar algunas de las herramientas para sudesarrollo.Trat6 de hacer hincapie en la separacidn entre maquina de inferencia y base de
conocimiento,separacibn que hace caracteristico a un sistema experto.Lo dicho hasta aqul ayudara a entender el desarrollo del proyecto,en realidad,es mas que suficiente.No quiero que
quede la idea de que
eso
es todo.En los sistemas expertos se ha avanzado y mucho m& ...2
DESARROLLO DEL
PROYECTO
2.1 INTRODUCCION GENERAL
2.1 .I Desarrollo de un sistema experto para el diagnóstico y posible solución de fallas en un equipo electrónico.
Un equipo electrónico puede presentar fallas cuyo origen puede ser diflcil de precisar.Se hace
necesario detectar el origen de la falla y su posible soluci6n repidamente para evitar retrasos en
investigaciones, proyectos o cualesquiera trabajos que usen el equipo; sin embargo, debido al
desconocimiento del manejo y funcionamiento del equipo,la deteccibn del origen de la falla y su
posible solución puede resultar lenta y laboriosa (de hecho,la falla misma muchas ve-
ces puede estar provocada por un manejo inadecuado del equipo).Si se cuenta con un medio (persona o programa) que conozca lo suficientemente bien el equipo es muy probable que la falla pueda ser detectada r3pidamente;sin embargo,muchas veces a las personas les resulta
tedioso,difícil o simplemente poco importante estudiar el manual de uso del equipo.Es aqul donde
se propondrla tomar un manual con el fin de construir un sistema experto que podría diagnosticar
y corregir fallas para el equipo escogido.
Los sistemas expertos constituyen un tema que no se estudia todavia en la licenciatura. As1
que para desarrollar el proyecto fue necesario aprender sobre la tecnología de Cstos (el fruto de este aprendizaje fue la charla anterior) y adernas manejar un paquete escogido entre varios cuando ya se supo m& del tipo de conocimiento que se deseaba representar.
2.1.2 FORMA DE TRABAJAR EL DESARROLLO DEL PROYECTO.
En cuanto a la forma de trabajar el proyecto se hizo,a grandes rasgos,lo siguiente: En el primer trimestre:
Familiarizarse con los sistemas expertos : Lei notas proporcionadas por mi asesor y un
libro muy elemental (la bibliografía de ambos viene al final).
Familiarizarse con algunas herramientas de software para el desarrollo de los sistemas
expertos: Observe la interfase que proporcionaban y vi la muestra de su uso proporcionada por el
proveedor (LEVELS,EXSYS,CxPERT).
Familiarizarse con el equipo electronico escogido: Leer su manual y usar el equipo. Fue en este punto donde hicimos un minisistema experto para una parte del uso del equipo electrdnico escogido (una impresora Star NX-lOOl).En particular,el minisistema proporcionaba
informacidn sobre los dip switch en la impresora y en lo personal considero que esta practica me
resultó bastante provechosa,tanto para adentrarme a algo real como para evaluar las
herramientas de software (usamos EXSYS y CxPERT) sobre una mejor base que la pura
presentacion proporcionada por el proveedor (que puede resultar engat'iosa). En el segundo trimestre:
Se hizo propiamente el sistema experto cuyo desarrollo sera detallado a
continuación.Aqui ya se habían tomado las decisiones acerca de que equipo y que herramienta
usar.
Los recursos necesarios para el desarrollo del proyecto fueron:
Tiempo de maquina,soMare para sistemas expertos,compra de libros,acceso al
usuario del equipo (que fui yo,en este caso) y acceso al manual del equipo.
2.2 Sistema experto para el diagnóstico y posible
solución
de las fallas en una impresora Star NX-1001.
2.2.1 INTRODUCCI~N.
El desarrollo de esta aplicación ilustra la filosofla de que un sistema experto no tiene que ser
espectacular para ser uti1,es decir,en determinado momento el termino "sistema experto" podría
llevarnos a desdeñar el meter el conocimiento de un "vulgar" manual y,por si fuera poco,de una
"simple" impresora de matriz (que ni siquiera es laser) perosi pensamos un poco,respondAmonos la siguiente pregunta:¿Cuhntas personas se toman,realmente,el trabajo de hacer una lectura
cuidadosa del manual del equipo que usan? Lo que ocurre,por lo general,es que la persona lee
las partes que necesita( si es que acaso no es de esas valientes que le entran al uso de algo al
tanteo) y espera que funcione correctamente y no cause problemas ...p ero ...¿
Y
si los causa ... ?...¡Ay de ella! ... Probablemente se desesperara y deseara que alguien rapidamente le solucione el
problema y al preguntar,con toda la histeria encima, a otros usuarios ..."i Oye
...
!...Me pas6esto ...¿ Que hago ... ?...Tengo que entregar mi trabajo en 15 minutos ...", muy probablemente
hallara puros "No
se"
o puros "Hazle as1 ..."(y al "hacerle asl" descompone mas la impresión osólo pierde tiempo y esfuerzo)
...
meter,pues,el conocimiento de un manual de una impresora muyusada puede resultar muy útil.
Los problemas simples y comunes que se pueden presentar al imprimir con una impresora
Star NX-1001 y las soluciones que cualquier usuario puede efectuar constituyen la base de
2.2.2 ALCANCES:
Este sistema no pretende resolver o dar soluci6n a problemas muy complejos de
Est4 destinado a usuarios de un nivel medio,incluso a principiantes.
Puede ayudar a conocer la impresora. hardware o de software.
Podre no ser espectacular pero ilustra la utilidad de un sistema experto en cuanto a al uso de una parte de un manual para hallar la soluci6n a problemas en una impresora.
2.3 DESARROLLO DETALLADO DEL PROYECTO.
2.3.1 Elección de la fuente del conocimiento.
Elegimos el manual de una impresora (una STAR NX-1001) y del manual elegimos la
secci6n relativa a problemas y mantenimiento (que todo manual debe contener).
2.3.2 Familiarización con el conocimiento.
Una vez leída la parte del manual que me interesaba y habiendo consultado con diversos
usuarios de impresoras sobre cuales problemas hablan tenido y como los habían solucionado, se
me ocurri6 hacer una lista de regiones de la impresora que provocan problemas y otra lista de problemas con la impresora.Por regiones entiendase partes tanto del hardware como del software,por ejemplo,considero regidn que causa problemas el envio de cddigos de control por parte del software o los errores de usuario (no encender algo,colocar mal el papel,...).
A continuacidn pongo la lista de regiones que,considere,causan problemas:
4 .-La cinta de impresión.
2.-La cabeza de impresion. 3.-La alimentación de papel. 4.-La alimentacidn de voltaje. 5.-Los dip switch.
6.-Cables mal conectados o inadecuados.
7.-Comandos DOS mal empleados.
8.-EI envio de cddigos de control.
9.-La impresora en
si.
1 O.-La instalación de software.
1 1 .-Errores de usuario.
12.-Transmision de datos de la computadora a la impresora.
Regiones que causan problemas en la alimentacidn de papel. 13.-Posicidn de la palanca liberadora.
14.-Guia de papel.
15._Dip switch (cuando el alimentador automatico de hojas este activado). 16.-Papel desalineado en las ruedas dentadas.
17.-Las cubiertas de las ruedas dentadas. 18.-Papel colocado lejos de la impresora.
En la alimentación de hojas continuas:
A continuación pongo la lista de problemas con la impresora:
1 .-La impresora no imprime o para subitamente de imprimir.
2.-La impresidn es tenue o irregular.
3.-Se pierde una linea de puntos consistentemente. 4.-Se dejan líneas en blanco adicionales.
5.-Todo el texto se imprime en una línea.
6.-EI largo de la hoja de impresidn no coincide con el esperzdo
7.-EI tipo de letras impresas es inesperado.
8.-Algunos caracteres enviados son inesperados. S . l o d o lo impreso es inesperado.
2.3.3 Estructuración del conocimiento.
El
principal problema al que me enfrente a la hora de relacionar el conocimiento fue elhecho de que una regidn podía causar varios problemas y el hecho de que un problema podia
ser originado por varias causas,por ejemplo:
Región que causa prob1emas:Cinta de impresi6n.
Problemas que causa :Si esta muy usada:
La impresora no imprime. La impresidn es tenue. La impresi6n es irregular. Se atora la cinta.
Problema
Causas
:
: La impresora no imprime. La cinta esta muy usada.El b o t h O N LINE esta apagado.
No se suministra voltaje a la impresora.
Nota: Cada rengldn de "Causas" es una regidn que causa problemas. ...
iC6mo relacionar ambos hechos?
Hice una tabla dividiendo
los
problemas en cuatro regiones y agrupando en cada regidnDividi la lista de problemas en las siguientes cuatro partes:
los
problemas relacionados:Problemas realcionados con que:
La impresora no imprime o para subitamente de imprimir. La impresora no imprime lo que debe.
El papel no se alimenta como debe ser. Uso inadecuado de comandos DOS.
A cada problema lo relacione con un número de causa (o regidn que causa problemas)