Вы находитесь на странице: 1из 48

RESUMEN

Este informe explica la implementacion de un Sistema Experto, que consiste en


diagnosticar las fallas de la Computadora y su posible solucion; como se sabe un fallo en el
Sistema es altamente perjudicial, ya que se puede perder los datos o incluso se puede llegar
a danar el equipo, si estos fallos no son detectados a tiempo.
El diagnostico es fundamental para la reposicin del equipo, por lo que llamar a un tecnico
especializado es fundamental para solucionar los problemas ocasionales; dicho especialista
al ser solicitado requiere un tiempo determiando, el cual puede demorar mucho o ser muy
tedioso.
Por lo presentado anteriormente, es que se desarrollar un sistema experto el cual ser
capaz de resolver los inconvenientes habituales y la naturaleza de las fallas que se pueden
dar en los componentes de una Pc, dando recomendaciones y posibles soluciones
1. INTRODUCCION
Desde la aparicin de las computadoras hasta nuestros das, la gente ha invertido
grandes esfuerzos por tratar de dar una cierta capacidad de decisin a las mquinas,
incluso un cierto grado de inteligencia.
Un Sistema Experto en s no tiene verdadera Inteligencia Artificial; ms bien, es
un sistema basado en el conocimiento que, mediante el buen diseo de su base de
informacin y un adecuado motor de inferencias para manipular dichos datos
proporciona una manera de determinar resoluciones finales dados ciertos criterios.
Los Sistemas Expertos son una herramienta poderosa en el apoyo o gua de los
usuarios en los procesos que tienen una secuencia, pasos definida, pero que puede
ser configurable. Ademas su utilidad ya est comprobada, y sin embargo, muchas
personas desconocen y otras ms no las aceptan todava. Se desea presentar los
aspectos generales de un Sistema Experto (en adelante SE), sus orgenes,
componentes, construccin y utilizacin primordialmente, con el fin de crear
conciencia en las empresas de que los SE representan una oportunidad innegable de
modernizacin y mejoramiento de sus procesos.
La utilizacion de software y materiales virtuales computacionales como un
recurso para apoyar los procesos de ensenanza y aprendizaje de las diversas areas
del conocimineto, se ha convertido en una necesidad y constituye una respuesta
ante la problemtica que giran en torno de la comprension cognositiva de conceptos
y nociones en un tema determinado.
En este documento se aborda el tema de DESARROLLO DE UN SISTEMA
EXPERTO PARA EL DIAGNSTICO DE FALLAS EN COMPUTADORAS, Y
SUS POSIBLES SOLUCIONES , apoyandonos en herrramientas como intenet y el
uso de prolog construiremos una base de conocimientos que contiene reglas y
hechos claves para desarrollar el Proyecto.
2. SISTEMA EXPERTO
2.1. HISTORIA
Sus inicios datan a mediados de los aos sesenta. Durante esta dcada en el
ano 1955 los investigadores Alan Newell y Herbert Simon desarrollaron la
Teoria de la Logica. . Este permiti desarrollar un programa que exploraba
la solucin a un problema utilizando ramas y nudos, seleccionando
nicamente las ramas que ms parecan acercarse a la solucin correcta del
problema.
En 1956, se celebra una conferencia en Vermont (USA) de gran
trascendencia en el desarrollo de la I.A. Aca John McCarthy propone por
primera vez el uso del trmino "Inteligencia Artificial" para denominar el
estudio del tema.
En 1957, aparece la primera versin de "The General Problem Solver"
(GPS, Solucionador general de problemas); que poda trabajar con
criptoaritmtica, con las torres de Hanoi y con otros problemas similares. Lo
que no poda hacer el GPS era resolver problemas del mundo real, tales
como un diagnstico mdico. El GPS utilizaba la teora de la
retroalimentacin de Wiener.
En 1958 McCarthy anuncia su nuevo desarrollo el lenguaje LISP (LISt
Procesing), el lenguaje de eleccin para todos aquellos desarrolladores
inmersos en el estudio de la Inteligencia Artificial.
En 1963, el Instituto Tecnolgico de Massachussets (MIT) recibe una
subvencin de 2,2 millones de dlares del gobierno de los Estados Unidos
en concepto de investigacin en el campo de la IA. De esa forma, se
comprueba la importancia que el Gobierno concede a la investigacin dentro
de ese campo.
Algunos investigadores decidieron entonces cambiar por completo el
enfoque del problema restringiendo su ambicin a un dominio especfico e
intentando simular el razonamiento de un experto humano. En vez de
dedicarse a computarizar la inteligencia general, se centraron en dominios de
conocimiento muy concretos. De esta manera nacieron los SE.
A partir de 1965, un equipo dirigido por Edward Feigenbaum, comenz a
desarrollar SE utilizando bases de conocimiento definidas minuciosamente.
Dos aos ms tarde se construye DENDRAL, el cual es considerado como el
primer SE. La ficcin de dicho SE era identificar estructuras qumicas
moleculares a partir de su anlisis espectrogrfico.
En la dcada de los setenta se desarroll MYCIN para consulta y diagnstico
de infecciones de la sangre. Este sistema introdujo nuevas caractersticas:
utilizacin de conocimiento impreciso para razonar y posibilidad de explicar
el proceso de razonamiento. Lo ms importante es que funcionaba de
manera correcta, dando conclusiones anlogas a las que un ser humano dara
tras largos aos de experiencia. En MYCIN aparecen claramente
diferenciados motor de inferencia y base de conocimientos. Al separar esas
dos partes, se puede considerar el motor de inferencias aisladamente. Esto da
como resultado un sistema vaco o shell (concha). As surgi EMYCIN
(MYCIN Esencial) con el que se construy SACON, utilizado para
estructuras de ingeniera, PUFF para estudiar la funcin pulmonar y
GUIDON para elegir tratamientos teraputicos.
En esa poca se desarrollaron tambin: HERSAY, que intentaba identificar
la palabra hablada, y PROSPECTOR, utilizado para hallar yacimientos de
minerales. De este ltimo deriv el shell KAS (Knowledge Adquisition
System).
En la dcada de los ochenta se ponen de moda los SE, numerosas empresas
de alta tecnologa investigan en este rea de la inteligencia artificial,
desarrollando SE para su comercializacin. Se llega a la conclusin de que
el xito de un SE depende casi exclusivamente de la calidad de su base de
conocimiento. El inconveniente es que codificar la pericia de un experto
humano puede resultar difcil, largo y laborioso.
Un ejemplo de SE moderno es CASHVALUE, que evala proyectos de
inversin y VATIA, que asesora acerca del impuesto sobre el valor aadido
o IVA.
2.2. DEFINICION
Un Sistema Experto (SE), puede definirse como un programa de computadora
basado en conocimientos y raciocinio que lleva a cabo tareas que
generalmente slo realiza un experto humano; es decir, es un programa que
imita el comportamiento humano en el sentido de que utiliza la informacin
que le es proporcionada para poder dar una opinin sobre un tema en especial.
Una de las caractersticas principales de los sistemas expertos es que estn
basados en reglas, es decir, contienen unos conocimientos predefinidos que se
utilizan para tomar todas las decisiones.
Los sistemas expertos forman parte de un firme y verdadero avance en la
inteligencia artificial simblica. Es el ejemplo ms exitoso de un Sistema
Basado en Conocimiento. Para una persona sera una experiencia casi
"traumtica" el realizar una bsqueda de reglas posibles al completado de un
problema y concordar estas con las posibles consecuencias, mientras que se
sigue en un papel los trazos de un rbol de bsqueda. Los sistemas expertos
realizan amablemente esta tarea; mientras que la persona responde a las
preguntas formuladas por el sistema experto, esta busca recorriendo las ramas
ms interesantes del rbol, hasta dar con la respuesta afn al problema, o en su
falta, la ms parecida a esta. Los sistemas expertos tienen la ventaja frente a
otros tipos de programas de Inteligencia Artificial, de proporcionar gran
flexibilidad a la hora de incorporar nuevos conocimientos. Para ello solo
tenemos que introducir la nueva regla que deseemos hacer constar y ya est,
sin necesidad de cambiar el funcionamiento propio del programa. Los
sistemas expertos son "auto explicativos", al contrario que en los programas
convencionales, en los que el conocimiento como tal est encriptado junto al
propio programa en forma de lenguaje de ordenador. Los expertos de I.A.
dicen que los sistemas expertos tienen un conocimiento declarativo, mientras
que los dems programas tienen un conocimiento procedural.
Los sistemas basados en el conocimiento desarrollados hasta hace poco
constituyen la primera generacin cuya caracterstica comn reside en la
superficialidad del conocimiento que se incluye en el mismo. Los ingenieros
de conocimiento (desarrolladores de los sistemas basados en el conocimiento)
se limitan a incorporar en los sistemas la experiencia y criterios de los
especialistas sin buscar las razones ltimas en las que se basan. Actualmente
existen sistemas ms avanzados, sistemas de Segunda Generacin, en la que el
conocimiento se estructura en dos niveles. El primer nivel, de control (se suele
aludir a l como meta conocimiento y las reglas que lo constituyen reciben el
nombre de meta reglas), sirve para determinar la forma de utilizar el segundo
nivel que es el que contiene el conocimiento de los expertos.
2.3. USOS DE UN SISTEMA EXPERTO
Un sistema experto es muy eficaz cuando tiene que analizar una gran cantidad
de informacin, interpretndola y proporcionando una recomendacin a partir
de la misma. Un ejemplo es el anlisis financiero, donde se estudian las
oportunidades de inversin, dependiendo de los datos financieros de un cliente
y de sus propsitos.
Para detectar y reparar fallos en equipos electrnicos, se utilizan los sistemas
expertos de diagnstico y depuracin, que formulan listas de preguntas con las
que obtienen los datos necesarios para llegar a una conclusin. Entonces
recomiendan las acciones adecuadas para corregir los problemas descubiertos.
Este tipo de sistemas se utilizan tambin en medicina (ej. MYCIN y PUFF), y
para localizar problemas en sistemas informticos grandes y complejos.
Los sistemas expertos son buenos para predecir resultados futuros a partir del
conocimiento que tienen. Los sistemas meteorolgicos y de inversin en bolsa
son ejemplos de utilizacin en este sentido. El sistema PROSPECTOR es de
este tipo.
La planificacin es la secuencia de acciones necesaria para lograr una meta.
Conseguir una buena planificacin a largo plazo es muy difcil. Por ello, se
usan sistemas expertos para gestionar proyectos de desarrollo, planes de
produccin de fbricas, estrategia militar y configuracin de complejos
sistemas informticos, entre otros.
Cuando se necesita controlar un proceso tomando decisiones como respuesta a
su estado y no existe una solucin algortmica adecuada, es necesario usar un
sistema experto. Este campo comprende el supervisar fbricas automatizadas,
factoras qumicas o centrales nucleares. Estos sistemas son
extraordinariamente crticos porque normalmente tienen que trabajar a tiempo
real.
El diseo requiere una enorme cantidad de conocimientos debido a que hay
que tener en cuenta muchas especificaciones y restricciones. En este caso, el
sistema experto ayuda al diseador a completar el diseo de forma competente
y dentro de los lmites de costes y de tiempo. Se disean circuitos
electrnicos, circuitos integrados, tarjetas de circuito impreso, estructuras
arquitectnicas, coches, piezas mecnicas, etc.
Por ltimo, un sistema experto puede evaluar el nivel de conocimientos y
comprensin de un estudiante, y ajustar el proceso de aprendizaje de acuerdo
con sus necesidades.
En la tabla 2 se muestran los modelos funcionales de los sistemas expertos,
junto al tipo de problema que intentan resolver y algunos de los usos
concretos a que se destinan.
2.4. ARQUITECTURA Y FUNCIONAMIENTO DE UN SE
2.4.1. Base de conocimientos
Es la parte del sistema experto que contiene el conocimiento sobre el
dominio. Hay que obtener el conocimiento del experto y codificarlo en la
base de conocimientos. Una forma clsica de representar el
conocimiento en un sistema experto son lar reglas. Una regla es una
estructura condicional que relaciona lgicamente la informacin
contenida en la parte del antecedente con otra informacin contenida en
la parte del consecuente.
2.4.2. Base de datos
Contiene los hechos sobre un problema que se han descubierto durante
una consulta. Durante una consulta con el sistema experto, el usuario
introduce la informacin del problema actual en la base de hechos. El
sistema empareja esta informacin con el conocimiento disponible en la
base de conocimientos para deducir nuevos hechos.
2.4.3. Motor de inferencias
El sistema experto modela el proceso de razonamiento humano con un
mdulo conocido como el motor de inferencia. Dicho motor de
inferencia trabaja con la informacin contenida en la base de
conocimientos y la base de hechos para deducir nuevos hechos.
Contrasta los hechos particulares de la base de hechos con el
conocimiento contenido en la base de conocimientos para obtener
conclusiones acerca del problema.
2.4.4. Interfaz con el usuario
La interaccin entre un sistema experto y un usuario se realiza en
lenguaje natural. Tambin es altamente interactiva y sigue el patrn de la
conversacin entre seres humanos. Para conducir este proceso de manera
aceptable para el usuario es especialmente importante el diseo del
interfaz de usuario. Un requerimiento bsico del interfaz es la habilidad
de hacer preguntas. Para obtener informacin fiable del usuario hay que
poner especial cuidado en el diseo de las cuestiones. Esto puede
requerir disear el interfaz usando mens o grficos.
2.4.5. Modulo de explicacion
Una caracterstica de los sistemas expertos es su habilidad para explicar
su razonamiento. Usando el mdulo del subsistema de explicacin, un
sistema experto puede proporcionar una explicacin al usuario de por
qu est haciendo una pregunta y cmo ha llegado a una conclusin.
Este mdulo proporciona beneficios tanto al diseador del sistema como
al usuario. El diseador puede usarlo para detectar errores y el usuario se
beneficia de la transparencia del sistema.
2.4.6. Modulo de adquisicion
Es la herramienta que permite al ingeniero de conocimiento y/o al
experto centrarse en la estructura, implementacin y actualizacin del
conocimiento, sin tener que dedicar excesivo tiempo a la programacin.
Ha de cumplir los siguientes requisitos:
1. El conocimiento (reglas, hechos, relaciones, etc.,) debe poder
introducirse de la forma ms sencilla posible.
2. Posibilidad de una representacin clara de todas las infracciones
contenidas en la base de conocimiento.
3. Comprobacin automtica de la sintaxis del cdigo en el que este
representado el conocimiento.
4. Posibilidad de acceso permanente al lenguaje de programacin
2.5. VENTAJAS E INCONVENIENTES DE UN SE
2.5.1. Ventajas
Permanencia: A diferencia de un experto humano un SE (sistema experto)
no envejece, y por tanto no sufre prdida de facultades con el paso del
tiempo.
Replicacin: Una vez programado un SE lo podemos replicar infinidad de
veces.
Rapidez: Un SE puede obtener informacin de una base de datos y realizar
clculos numricos mucho ms rpido que cualquier ser humano.
Bajo costo: A pesar de que el costo inicial pueda ser elevado, gracias a la
capacidad de duplicacin el coste finalmente es bajo.
Entornos peligrosos: Un SE puede trabajar en entornos peligrosos o
dainos para el ser humano.
Fiabilidad: Los SE no se ven afectados por condiciones externas, un
humano s (cansancio, presin, etc.).
Consolidar varios conocimientos.
Apoyo Acadmico.
2.5.2. Inconvenientes
Sentido comn: Para un Sistema Experto no hay nada obvio. Por ejemplo,
un sistema experto sobre medicina podra admitir que un hombre lleva 40
meses embarazado, a no ser que se especifique que esto no es posible ya
que un hombre no puede gestar hijos.
Lenguaje natural: Con un experto humano podemos mantener una
conversacin informal mientras que con un SE no podemos.
Capacidad de aprendizaje: Cualquier persona aprende con relativa facilidad
de sus errores y de errores ajenos, que un SE haga esto es muy complicado.
Perspectiva global: Un experto humano es capaz de distinguir cuales son
las cuestiones relevantes de un problema y separarlas de cuestiones
secundarias.
Capacidad sensorial: Un SE carece de sentidos.
Flexibilidad: Un humano es sumamente flexible a la hora de aceptar datos
para la resolucin de un problema.
Conocimiento no estructurado: Un SE no es capaz de manejar
conocimiento poco estructurado.
3. LENGUAJE DE PROGRAMACION
3.1. NETBEANS
3.1.1. Introduccion a Netbeans
NetBeans es un entorno de desarrollo integrado libre, hecho
principalmente para el lenguaje de programacin Java. Existe adems un
nmero importante de mdulos para extenderlo. NetBeans IDE2 es un
producto libre y gratuito sin restricciones de uso.
La plataforma NetBeans permite que las aplicaciones sean desarrolladas
a partir de un conjunto de componentes de software llamados mdulos.
Un mdulo es un archivo Java que contiene clases de java escritas para
interactuar con las APIs de NetBeans y un archivo especial (manifest
file) que lo identifica como mdulo. Las aplicaciones construidas a partir
de mdulos pueden ser extendidas agregndole nuevos mdulos. Debido
a que los mdulos pueden ser desarrollados independientemente, las
aplicaciones basadas en la plataforma NetBeans pueden ser extendidas
fcilmente por otros desarrolladores de software.
El NetBeans IDE es un IDE de cdigo abierto escrito completamente en
Java usando la plataforma NetBeans. El NetBeans IDE soporta el
desarrollo de todos los tipos de aplicacin Java (J2SE, web, EJB y
aplicaciones mviles). Entre sus caractersticas se encuentra un sistema
de proyectos basado en Ant, control de versiones y refactoring.
3.1.2. Caracteristicas
Suele dar soporte a casi todas las novedades en el lenguaje Java.
Cualquier preview del lenguaje es rpidamente soportada por
Netbeans.
Asistentes para la creacin y configuracin de distintos proyectos,
incluida la eleccin de algunos frameworks.
Buen editor de cdigo, multilenguaje, con el habitual coloreado y
sugerencias de cdigo, acceso a clases pinchando en el cdigo,
control de versiones, localizacin de ubicacin de la clase actual,
comprobaciones sintcticas y semnticas, plantillas de cdigo, coding
tips, herramientas de refactorizacin, etctera. Tambin hay
tecnologas donde podemos usar el pulsar y arrastrar para incluir
componentes en nuestro cdigo.
Simplifica la gestin de grandes proyectos con el uso de diferentes
vistas, asistentes de ayuda, y estructurando la visualizacin de
manera ordenada, lo que ayuda en el trabajo diario. Una vez que nos
metemos en una clase java, por poner un ejemplo, se nos mostrarn
distintas ventanas con el cdigo, su localizacin en el proyecto, una
lista de los mtodos y propiedades (ordenadas alfabticamente),
tambin hay una vista que nos presenta las jerarquas que tiene
nuestra clase y otras muchas opciones. Por supuesto personalizable
segn el gusto de cada usuario.
Herramientas para depurado de errores: el debugger que incluye el
IDE es bastante til para encontrar dnde fallan las cosas. Podemos
definir puntos de ruptura en la lnea de cdigo que nos interese,
monitorizar en tiempo real los valores de propiedades y variables, se
nos permite ir paso a paso, ejecutar un mtodo de un tirn, o entrar
dentro, en fin, las opciones tpicas, pero que tan tiles son en el
trabajo diario. Incluso podemos usar el debugger en caliente,
conectndonos a l cundo ya tenemos un proceso ejecutndose.
Optimizacin de cdigo: por su parte el Profiler nos ayuda a
optimizar nuestras aplicaciones e intentar hacer que se ejecuten ms
rpido y con el mnimo uso de memoria. Podemos igualmente
configurarlo a nuestro gusto, aunque por defecto, nos ofrece opciones
bastante tiles. Lo importante es que podemos ver el comportamiento
de nuestra aplicacin y obtener indicadores e informacin de cmo y
cuantos recursos consume, cuantos objetos se crean, tambin
podemos obtener capturas del estado del sistema en diferentes
momentos (Snapshots) y compararlos entre s.
Acceso a base de datos: desde el propio Netbeans podemos
conectarnos a distintos sistemas gestores de bases de datos, como
pueden ser Oracle, MySql y dems, y ver las tablas, realizar consultas
y modificaciones, y todo ello integrado en el propio IDE.
Se integra con diversos servidores de aplicaciones, de tal manera
que podemos gestionarlos desde el propio IDE: inicio, parada,
arranque en modo debug, despliegues. Entre otros podemos usar
Apache Tomcat, GlassFish, JBoss, WebLogic, Sailfin, Sun Java
System Application Server,etc.
Es fcilmente extensible a travs de plugins.
3.2. SWI-PROLOG
3.2.1. Introduccion a Swi- Prolog
SWI-Prolog es una implementacin en cdigo abierto (en ingls, open
source) del lenguaje de programacin Prolog. Su autor principal es Jan
Wielemaker. En desarrollo ininterrumpido desde 1987, SWI-Prolog
posee un rico conjunto de caractersticas, bibliotecas (incluyendo su
propia biblioteca para GUI, XPCE), herramientas (incluyendo un IDE) y
una documentacin extensiva. SWI-Prolog funciona en las plataformas
Unix, Windows y Macintosh.
El nombre SWI deriva de Sociaal-Wetenschappelijke Informatica
("Informtica de Ciencias Sociales"), el antiguo nombre de un grupo de
investigacin en la Universidad de msterdam en el que Wielemaker
est integrado. El nombre de ese grupo se cambi posteriormente a HCS
(Human-Computer Studies).
3.2.2. Caracteristicas
Compilacin rpida:
Por ejemplo, carga 140.000 lneas de cdigo extendidas en ms de
500 archivos de origen en 2.3 segundos en un sistema AMD de
ms de 5400.
Robusto y sin prdidas de memoria. Est en uso por varios
servidores que ejecutan 24x7 (incluyendo este servicio web).
Pequeo:
El entorno de desarrollo completo, incluyendo grficos,
bibliotecas y muchos paquetes de interfaz, requiere
aproximadamente 40 MB de espacio en el disco duro. El ncleo
no grfico es de aproximadamente 650 KB, la biblioteca grfica
aade aproximadamente 1.2 MB a la imagen.
Escala bien para las aplicaciones de gran tamao:
Sin lmite en el tamao del programa, la longitud del tomo, los
valores de aridad del trmino o los valores de nmero entero. Sin
degradacin del rendimiento de los predicados con muchos hechos
(ndice)
La indexacin justo a tiempo de cdigo esttico y dinmico sobre
cualquier argumento simplifica enormemente el manejo de
relaciones con varios modos con muchas clusulas.
Nmero entero sin lmites y nmero racional aritmtico basado en
la biblioteca de GMP.
Conjunto comprensivo de predicados integrados, que cubre la
parte 1 de la norma ISO, las partes estndar de Edinburgh Prolog
de facto y partes importantes de Quintus y SICStus Prolog.
Compatibilidad total con Ciao, YAP y GNU Prolog
Interfaz flexible y rpida para el lenguaje C/C++. La interfaz
permite llamadas bidireccionales, manipulacin de ambas maneras
sin determinismo e integracin del ncleo de SWI-Prolog en los
proyectos C/C++.
Beneficios:
Mdulos (compatible con Quintus y SICStus), recoleccin de
basura (transparente para el cdigo del lenguaje C/C++,
incluyendo la recoleccin de basura de tomo), optimizacin de
ltima llamada, expansin dinmica de las pilas del tiempo de
ejecucin, manejo de las excepciones ISO (incluyendo la interfaz
del lenguaje C/C++ para capturar y producir excepciones).
Depurador a nivel de fuente en todas las plataformas, que admite
grficos a travs de XPCE
Profilador de ejecucin (estadsticas de tiempo y llamada)
Referenciador cruzado. gxref/0 proporciona un frontend grfico
para el referenciador cruzado de Prolog extensible (XREF).
Las fuentes son C99 plano, configuradas automticamente
utilizando GNU autoconf (configurar, hacer, hacer instalar).
Conjunto de caracteres UNICODE manejado internamente. Ideal
para las aplicaciones internacionales y web
Estados almacenados independientes de la mquina (guardar en
una plataforma, ejecutar mediante la mquina virtual de otra
plataforma)
Compatibilidad con mltiples hilos de ejecucin: ejecuta mltiples
motores de Prolog programados en la misma base de datos
Variables atribuidas, co-enrutamiento (freeze/2, when/ 2, dif/2),
variables globales, condiciones cclicas
Manejo controlado por la bandera de la comprobacin de
ocurrencias (encendido/apagado/error)
Programacin lgica de restriccin, que proporciona bibliotecas
para CHR (reglas de manejo de restricciones), clp(FD), clp(R,Q) y
varias otras bibliotecas
Incluye bibliotecas de interfaz para Java (JPL), ODBC, sockets
TCP/IP, SSL, manejo de formas CGI, etc. Comprueba los
paquetes.
Biblioteca de servidor web de mltiples hilos de ejecucin con
bibliotecas integrales para generar HTML, autorizacin de HTTP,
administracin de sesiones, intercambio de JSON (usado por
muchos widgets AJAX), etc.
Bibliotecas rpidas y flexibles para analizar SGML/XML
(HTML), RDF, almacenar y consultar el modelo triple de RDF.
Un editor grfico para RDF/RDFS y modelos OWL llamados
Triple20 son distribuidos por separado.
Compatibilidad con la programacin literaria a travs de PlDoc.
Proporciona una vista integrada del manual y la documentacin de
la aplicacin y produce documentacin LaTeX para tu aplicacin.
Admite prueba de unidad a travs de PlUnit.
4. DIAGNSTICO DE FALLAS EN COMPUTADORAS, Y SUS
POSIBLES SOLUCIONES
4.1. Planteamiento y Diseno
El proceso ms difcil para lograr con xito la reparacin de una
computadora radica en el diagnstico. Lo ms comn es que la reparacin de
una falla de hardware demore poco tiempo, comparado con la deteccin
previa de la falla puede llevar horas o incluso das, dado que es la parte ms
compleja del proceso.
La certeza para detectar un desperfecto depender de su complejidad,
aunque con los conocimientos suficientes, aplicando lgica y criterio, algo
de experiencia y, porque no, una pisca de suerte, la falla en cuestin puede
ser detectada en el menor tiempo posible.
Las fallas ms simples de detectar generalmente son las que estn ligadas a
componentes especficos, como por ejemplo, la placa de audio, la unidad de
CD-ROM, el monitor o mouse. En estos casos, los sntomas se manifiestan
de forma ms directa, al menos en la mayora de casos.
Los problemas ms difciles de encontrar estn relacionados con la
inestabilidad y en el caso de que una computadora no encienda. Esto ocurre
porque aqu entran en juego componentes que cumplen el rol ms
importante en una PC: la placa base o madre, el microprocesador, la
memoria y la placa de video; los tres primeros son intangibles(principales)
desde el punto de vista del usuario, cosa que dificulta la deteccin del
problema con exactitud.
Cuando falla uno o ms de los componentes principales los sntomas pueden
ser totalmente aleatorios, manifestarse en forma de cuelgues o
congelamientos, o en el peor de los casos que el equipo no inicie.
En el arranque de una computadora, aunque no lo parezca, estn
involucradas decenas de componentes y procesos, y si tan solo uno de ellos
falla, es muy probable que lo nico que veamos sea una pantalla negra.
Es por ello, que queremos desarrollar una Sistema Experto orientado al
Diagnostico y posibles soluciones de problemas que se pueden dar en una
Pc. Para realizar este diseno hemos partido de los conceptos basicos de cada
una de las partes que componen una Pc; en donde el usuario seleccionara los
errores que se estan aconteciendo en su equipo y el programa tendra que dar
respuesta, de acuerdo; a la rama del nodo en donde se encuentre. Una vez
recorrido todo el arbol se llegara a una de las hojas del arbol que contendra
la respuesta final.
4.2. Representacion del Conocimiento
4.2.1. Representacin en Lgica Proposicional:
a. Deteccin de problemas en la Memoria RAM:
Regla 1:
Si se escucha un pitido largo y la pantalla no enciende entonces
existen problemas en la memoria RAM.
( )
p: Se escucha un pitido largo.
q: La pantalla no enciende.
s: Existen problemas en la memoria RAM.
Regla 2:
Si la pantalla no enciende y se escucha 3 pitidos cortos entonces
existen problemas en la memoria RAM.
( )
q: La pantalla no enciende.
r: Se escucha 3 pitidos cortos.
s: Existen problemas en la memoria RAM.
Regla 3:
Si el sistema operativo lanza mensajes de error de falla de
proteccin general y se tiene continuos reinicios entonces existen
problemas en la Memoria RAM.
( )
v: El Sist. Operativo lanza mensajes de error de
falla de proteccin general.
t: Continuos reinicios.
s: Existen problemas en la memoria RAM.
Regla 4:
Si el sistema operativo se detiene de forma inesperada y lanza
mensajes de error de falla de proteccin general entonces existen
problemas en la memoria RAM.
( )
u: El sistema operativo se detiene de forma inesperada.
v:El Sist. Operativo lanza mensajes de error de falla de
proteccin general.
s: Existen problemas en la memoria RAM.
Grafo AND OR del Problemas detectado en Memoria RAM
b. Deteccin de problemas en el Disco Duro:
Regla 1:
Si el sistema operativo esta lento y ocurren reinicios de forma
aleatoria, entonces existen problemas en el disco duro.
( )
p: El sistema operativo esta lento.
q: Ocurren constantes reinicios.
s: Existen problemas en el disco duro.
Regla 2:
Si se muestran pantallazos de color azul indicando errores y si se
presentan errores al grabar archivos, entonces existen problemas en
el disco duro.
( )
r: Se muestran pantallazos de color azul indicando errores.
t: Se presentan errores al grabar archivos.
s: Existen problemas en el disco duro.
u
OR
p
q
r
t
v
AND
AND
AND
NO
T
AND
v
FALLAS EN LA MEMORIA RAM
Leyenda:
p: Se escucha un pitido largo.
q: La pantalla no enciende.
r: Se escucha 3 pitidos cortos.
s: Existen problemas en la
memoria RAM.
t: Continuos reinicios.
u: El sistema operativo se
detiene de forma inesperada.
v: El sistema operativo lanza
mensajes de error de falla de
proteccin general.
FALLAS EN EL DISCO DURO
OR
p
q
t
p
r
p
r
v
p
AND AND
AND
u
AND
Regla 3:
Si se escucha ruido metlico y se muestran pantallazos de color azul
indicando errores entonces existen problemas en el disco duro.
( )
u: Se escucha ruido metlico.
r: Se muestran pantallazos de color azul indicando errores.
s: Existen problemas en el disco duro.
Regla 4:
Si el Scandisk de Microsoft Windows se activa cada vez que
reinicias la computadora y el sistema operativo esta lento, entonces
existen problemas en el disco duro.
( )
v: El Scandisk, se activa cada vez que reinicias la
computadora.
p: El sistema operativo esta lento.
s: Existen problemas en el disco duro.
Grafo AND OR del Problemas detectado en el Disco Duro
Leyenda:
p: El sistema operativo esta
lento.
q: Ocurren constantes
reinicios.
r: Se muestran pantallazos
de color azul indicando
errores.
s: Existen problemas en el
disco duro.
t: Se presentan errores al
grabar archivos.
u: Se escucha ruido
metlico.
v: El Scandisk, se activa
cada vez que reinicias la
computadora.
c. Deteccin de problemas en la Placa Madre:
Regla 1:
Si se escucha pitidos cortos continuos y la pantalla no enciende
entonces existen problemas en la placa madre.
( )
p: Se escuchan pitidos cortos continuos.
q: La pantalla no enciende.
s: Existen problemas en la placa madre.
Regla 2:
La pantalla no enciende y no termina de arrancar el sistema
operativo entonces existen problemas en la placa madre.
( )
q: La pantalla no enciende.
r: Termina de arrancar el sistema operativo.
s: Existen problemas en la placa madre.
Regla 3:
Si el equipo enciende pero no termina de arrancar el sistema
operativo entonces existen problemas en la placa madre.
( )
t: El equipo enciende.
r: Termina de arrancar el sistema operativo.
s: Existen problemas en la placa madre.
Regla 4:
El equipo enciende y no hay imagen en el monitor entonces existen
problemas en la placa madre.
( )
t: El equipo enciende.
v: No hay imagen en el monitor.
s: Existen problemas en la placa madre.
Regla 5:
Arranca el sistema operativo y la pc se apaga sin previo aviso
entonces existen problemas en la placa madre.
( )
w: Arranca el sistema operativo
x: PC se apaga sin previo aviso.
s: Existen problemas en la placa madre.
Grafo AND OR del Problemas detectado en la Placa Madre
OR
AND
AND
AND
p
q
r
p
v
p
t
p
AND
u
p
FALLAS EN LA PLACA MADRE
AND
w
p
x
p
NO
T
NO
NO
NO
T
Leyenda:
p: Se escuchan pitidos
cortos continuos.
q: La pantalla no enciende.
r: termina de arrancar el
sistema operativo
s: Existen problemas en la
placa madre.
t: El equipo enciende.
u: No termina de arrancar
el sistema operativo.
v: No hay imagen en el
monitor.
w: Arranca el sistema
operativo
x: PC se apaga sin previo
aviso.
d. Deteccin de problemas en el Monitor:
Regla 1:
Si se escuchan 2 pitidos largos y 1 corto entonces existen problemas
en el monitor.

Regla 2:
El monitor muestra una lnea horizontal al encender entonces existen
problemas en el monitor.

Regla 3:
El monitor enciende y muestra parpadeos entonces existen
problemas en el monitor.

Regla 4:
El monitor enciende y no muestra imagen en pantalla entonces
existen problemas en el monitor.

Grafo AND OR del Problemas detectado en el Monitor


OR
p q t
p
r
p
PROBLEMAS EN EL MONITOR
Leyenda:
p: Se escuchan 2 pitidos
largos y 1.
q: El monitor muestra una
lnea horizontal al
encender.
r: El monitor enciende y
muestra parpadeos.
s: Existen problemas en el
monitor.
t: El monitor enciende y
no muestra imagen en
pantalla.
e. Deteccin de problemas en el Procesador:
Regla 1:
La PC disminuye su rendimiento y presenta errores de lectura de disco
entonces existen problemas en el procesador.
( )
p: La PC disminuye su rendimiento.
v: La PC presenta errores de lectura de disco.
s: Existen problemas en el procesador.
Regla 2:
Si se presenta bloqueos en aplicaciones y se tiene continuos reinicios
entonces existen problemas en el procesador.
( )
q: Se presenta bloqueos en aplicaciones.
r: Se tiene continuos reinicios.
s: Existen problemas en el procesador.
Regla 3:
Si se tiene continuos reinicios y se muestran pantallazos de color azul
indicando errores entonces existen problemas en el procesador.
( )
r: Continuos reinicios.
t: Se muestran pantallazos de color azul indicando errores.
s: Existen problemas en el procesador.
Regla 4:
Si la temperatura del procesador es elevada entonces existen problemas en
el procesador.

u: La temperatura del procesador es elevada.


s: Existen problemas en el procesador.
Grafo AND OR del Problemas detectado en el Procesador
f. Deteccin de problemas en el Mouse:
Regla 1:
La PC no reconoce el mouse entonces existen problemas en el
mouse.

Regla 2:
Si el mouse enciende y el mouse no corre entonces existen problemas
en el mouse.
( )
Regla 3:
Si el mouse no corre y el mouse es reconocido entonces existen
problemas en el mouse.
( )
OR
p
q
u
p
t
FALLAS EN EL PROCESADOR
AND
D
r
R
AND
D
AND
D
v
Leyenda:
p: La PC disminuye su
rendimiento.
q: Presenta bloqueos en
aplicaciones.
r: Continuos reinicios.
s: Existen problemas en el
procesador.
t: Se muestran pantallazos de
color azul indicando errores.
u: La temperatura del
procesador es elevada.
v: La PC presenta errores de
lectura de disco.
Grafo AND OR del Problemas detectado en el Mouse
g. Deteccin de problemas en el Teclado:
Regla 1:
Si se escuchan 6 pitidos cortos entonces existen problemas en el
teclado.

Regla 2:
Los contactos del teclado estn doblados o partidos entonces existen
problemas en el teclado.

Regla 3:
Si al presionar la tecla no realiza ningn movimiento entonces
existen problemas en el teclado.

Regla 4:
El teclado no es reconocido por la PC entonces existen problemas en
el teclado.

OR
p t
p
r
AN
DD
q
PROBLEMAS EN EL MOUSE
AN
DD
Leyenda:
p: La PC no reconoce el
mouse.
q: El mouse enciende.
r: El mouse no corre.
s: Existen problemas en el
mouse.
t: El mouse es reconocido.
Grafo AND OR del Problemas detectado en el Teclado
h. Deteccin de problemas en la Tarjeta de Sonido:
Regla 1:
Si el sonido tiene interferencia entonces existen problemas en la
Tarjeta de Sonido.

Regla 2:
Si el volumen del sonido es bajo entonces existen problemas en la
Tarjeta de Sonido.

Regla 3:
Si no hay sonido entonces existen problemas en el teclado.

Regla 4:
Si por un canal de salida de sonido se escucha mucho ruido entonces
existen problemas en el teclado.

Leyenda:
p: Se escuchan 6 pitidos
cortos.
q: Los contactos del teclado
estn doblados o partidos.
r: Al presionar la tecla no
realiza ningn movimiento.
s: Existen problemas en el
teclado.
t: El teclado no es
reconocido por la PC.
OR
p q t
p
r
p
PROBLEMAS EN EL TECLADO
Grafo AND OR del Problemas detectado en la Tarjeta de Sonido
i. Deteccin de problemas en la Tarjeta de Video:
Regla 1:
Si las imgenes del monitor no tienen todos los colores y no se visualiza
imagen al iniciar el sistema entonces existen problemas en la Tarjeta de
Video.
( )
p: Las imgenes del monitor tienen todos los colores.
q: Se visualiza imagen al iniciar el sistema.
s: Existen problemas en el Tarjeta de Video.
Regla 2:
Si muestra el mensaje Attach Video Signal entonces existen problemas
en la Tarjeta de Video.

r: Muestra el mensaje Attach Video Signal.


s: Existen problemas en el Tarjeta de Video.
Regla 3:
Si las imgenes del monitor no tienen todos los colores y no se distinguen
claramente los caracteres del monitor entonces existen problemas en la
Tarjeta de Video.
( )
OR
p
q t
p
r
p
PROBLEMAS EN LA TARJETA DE SONIDO
Leyenda:
p: El sonido tiene
interferencia.
q: Volumen del sonido es
bajo.
r: No hay sonido.
s: Existen problemas en el
Tarjeta de sonido.
t: El canal de salida de
sonido se escucha mucho
ruido.
q: se visualiza imagen al iniciar el sistema.
t: se distinguen claramente los caracteres del monitor.
s: Existen problemas en el Tarjeta de Video.
Regla 4:
Si la PC se reinicia sola y se observan rayas horizontales en la pantalla
entonces existen problemas en la Tarjeta de Video.
( )
u: La PC se reinicia sola.
v: Se observan rayas horizontales en la pantalla
s: Existen problemas en el Tarjeta de Video.
Grafo AND OR del Problemas detectado en la Tarjeta de Video
OR
PROBLEMAS EN LA TARJETA DE VIDEO
AND
AND
p
q
r
p
t
p
AND
u
p
v
NO NO NO
Leyenda:
p: Las imgenes del monitor
no tienen todos los colores.
q: No se visualiza ninguna
imagen al iniciar el sistema.
r: Muestra el mensaje Attach
Video Signol.
s: Existen problemas en el
Tarjeta de Video.
t: No se distinguen claramente
los caracteres del monitor.
u:Se observan rayas
horizontales en la pantalla.
j. Deteccin de problemas en la Lectora de CD:
Regla 1:
Si existe funcionamiento errtico de la bandeja de la lectora de CD y la
lectora de CD ignora las rdenes entonces existen problemas en la
Lectora de CD.
( )
p: Funcionamiento errtico de la bandeja de la lectora de CD.
q: Si la lectora de CD ignora las rdenes.
s: Existen problemas en la lectora de CDs.
Regla 2:
Si existe ruido repetido en el giro del disco (CD) y la lectora de CD o
CD-ROM daa a los CDs entonces existen problemas en la Lectora de
CD.
( )
r: Ruido repetido en el giro del disco (CD).
t: La lectora de CD o CD-ROM daa a los CDs.
s: Existen problemas en la lectora de CDs.
Regla 3:
Si existe ruido repetido en el giro del disco (CD) y la reproduccin de CD
se detiene entonces existen problemas en la Lectora de CD.
( )
r:Ruido repetido en el giro del disco (CD).
u: La reproduccin de CD se detiene.
s: Existen problemas en la lectora de CDs.
Regla 4:
Si el CD no es reconocido y muestra mensajes de error entonces existen
problemas en la Lectora de CD.
( )
v: El CD es reconocido
w: muestra mensajes de error.
s: Existen problemas en la lectora de CDs.
Grafo AND OR del Problemas detectado en la Lectora de CD
OR
p
r u
p
t
p
PROBLEMAS EN LA LECTORA DE CD
v
q
AND
AND AND AND
w
NO
T
Leyenda:
p: La lectora de CD ignora las
rdenes.
q: Funcionamiento errtico de
la bandeja de la lectora de CD.
r: La lectora de CD o CD-
ROM daa a los CDs.
s: Existen problemas en la
lectora de CDs.
t:Ruido repetido en el giro del
disco (CD).
u: La reproduccin de CD se
detiene.
v: El CD no es reconocido y
muestra mensajes de error.
4.2.2. Representacion en Logica de Predicados
Para la aplicacin de nuestro Sistema Experto, definimos como
predicado a las caractersticas o atributos que presenta el objeto. En el
presente, el objeto viene a ser representado por las fallas
computacionales.
a. Deteccin de problemas en la Memoria RAM:
Regla 1:
Si se escucha un pitido largo y la pantalla no enciende entonces existen
problemas en la memoria RAM.
( ) ( , _ ) ( , )
( , )
Regla 2:
Si la pantalla no enciende y se escucha 3 pitidos cortos entonces existen
problemas en la memoria RAM.
( ) ( , _ _ ) ( , )
( , )
Regla 3:
Si el sistema operativo lanza mensajes de error de falla de proteccin
general y se tiene continuos reinicios entonces existen problemas en la
Memoria RAM.
( ) ( , _ )
( , _ _ ) ( , )
Regla 4:
Si el sistema operativo se detiene de forma inesperada y lanza mensajes
de error de falla de proteccin general entonces existen problemas en la
memoria RAM.
( ) ( , _ _ )
( , _ ) ( , )
b. Deteccin de problemas en el Disco Duro:
Regla 1:
Si el sistema operativo esta lento y ocurren reinicios de forma aleatoria,
entonces existen problemas en el disco duro.
( ) ( , _ _ )
( , ) ( , )
Regla 2:
Si se muestran pantallazos de color azul indicando errores y si se
presentan errores al grabar archivos, entonces existen problemas en el
disco duro.
( ) ( , _ _ )
( , _ _ ) ( , )
Regla 3:
Si se escucha ruido metlico y se muestran pantallazos de color azul
indicando errores entonces existen problemas en el disco duro.
( ) ( , _ )
( , _ _ )
( , )
Regla 4:
Si el Scandisk de Microsoft Windows se activa cada vez que reinicias
la computadora y el sistema operativo esta lento, entonces existen
problemas en el disco duro.
( ) ( , _ ) ( , . . )
( , )
c. Deteccin de problemas en la Placa Madre:
Regla 1:
Si se escucha pitidos cortos continuos y la pantalla no enciende entonces
existen problemas en la placa madre.
( ) ( , _ _ )
( , _ )
( , )
Regla 2:
La pantalla no enciende y no termina de arrancar el sistema operativo
entonces existen problemas en la placa madre.
( ) ( , _ )
( , _ )
( , )
Regla 3:
Si el equipo enciende pero no termina de arrancar el sistema operativo
entonces existen problemas en la placa madre.
( ) ( , ) ( , . .)
( , )
Regla 4:
El equipo enciende y no hay imagen en el monitor entonces existen
problemas en la placa madre.
( ) ( , ) ( , _ )
( , )
Regla 5:
Arranca el sistema operativo y la pc se apaga sin previo aviso.
( ) ( , . . )
( , _ _ _ )
( , )
d. Deteccin de problemas en el Monitor:
Regla 1:
La PC disminuye su rendimiento y presenta errores de lectura de disco entonces
existen problemas en el procesador.
( ) ( , _ )
( , _ _ _ _ )
( , )
Regla 2:
Si se presenta bloqueos en aplicaciones y se tiene continuos reinicios
entonces existen problemas en el procesador.
( ) ( , _ )
( , _ )
( , )
Regla 3:
Si se tiene continuos reinicios y se muestran pantallazos de color azul
indicando errores entonces existen problemas en el procesador.
( ) ( , )
( _ ) ( , )
Regla 4:
Si la temperatura del procesador es elevada entonces existen problemas en
el procesador.
( ) ( , _ )
( , )
e. Deteccin de problemas en el Procesador:
Regla 1:
La PC no enciende entonces existen problemas en el procesador.
~ ( ) ( )
Regla 2:
Presenta bloqueos en aplicaciones entonces existen problemas en el
procesador.
( ) ( )
Regla 3:
Si se tiene continuos reinicios y se muestran pantallazos de color azul
indicando errores entonces existen problemas en el procesador.
( ) ( )
( )
Regla 4:
Si la temperatura del procesador es elevada entonces existen problemas en
el procesador.
( )
( )
f. Deteccin de problemas en el Mouse:
Regla 1:
La PC no reconoce el mouse entonces existen problemas en el
mouse.
~ ( ) ( )
Regla 2:
Si el mouse enciende y el mouse no corre entonces existen problemas
en el mouse.
( ) ~ ( )
( )
Regla 3:
Si el mouse no corre y el mouse es reconocido entonces existen
problemas en el mouse.
~ ( ) ( )
( )
g. Deteccin de problemas en la Tarjeta de Video:
Regla 1:
Si las imgenes del monitor no tienen todos los colores y no se visualiza
imagen al iniciar el sistema entonces existen problemas en la Tarjeta de
Video.
( ) ( , _ _ )
( , _ )
( , _ )
Regla 2:
Si muestra el mensaje Attach Video Signal entonces existen problemas
en la Tarjeta de Video.
( ) ( , _ _ _ )
( , _ )
Regla 3:
Si las imgenes del monitor no tienen todos los colores y no se distinguen
claramente los caracteres del monitor entonces existen problemas en la
Tarjeta de Video.
( ) ( , _ _ )
( , _ )
( , _ )
Regla 4:
Si la PC se reinicia sola y se observan rayas horizontales en la pantalla
entonces existen problemas en la Tarjeta de Video.
( ) ( , ) ( , _ )
( , _ )
h. Deteccin de problemas en la Lectora de CD:
Regla 1:
Si existe funcionamiento errtico de la bandeja de la lectora de CD y la
lectora de CD ignora las rdenes entonces existen problemas en la
Lectora de CD.
( ) ( , _ _ )
( , _ )
( , _ )
Regla 2:
Si existe ruido repetido en el giro del disco (CD) y la lectora de CD o
CD-ROM daa a los CDs entonces existen problemas en la Lectora de
CD.
( ) ( , _ _ )
( , _ _ )
( , )
Regla 3:
Si existe ruido repetido en el giro del disco (CD) y la reproduccin de CD
se detiene entonces existen problemas en la Lectora de CD.
( ) ( , _ _ )
( , _ _ )
( , )
Regla 4:
Si el CD no es reconocido y muestra mensajes de error entonces existen
problemas en la Lectora de CD.
( )
( , _ )
( , _ _ )
( , )
4.3. Implementacion
Para implementar nuestro Sistema experto, hemos divido en :
a. Base de Datos:
b. Interfaz de Usuario:
Las Interfaces del Sistema Experto se han implemtado en el lenguaje de
java, haciendo uso del IDE Netbeans version 8.0
Menu Principal: Cuenta con la inicializacion de la cunta de usuario y
con un manual de ayuda.
Registro de Nuevo usuario: Seanel caso que el usuario sea nuevo, se
debe registrar sus datos personales, asi como su cuenta personal;
siendo almacenada en la base de datos del sistema.
Test Diagnostico:En esta interfaz el usuario debera escoger los
sintomas o caracteristicas que esta presentando el equipo.
c. Motor de Infernecias:
El motor de inferencias es aquel que combinara los hechos y las
preguntas particulares, utilizando la base de conocimientos, seleccionando
los datos y pasos mas apropiados para presentar los resultados.
En este bloque definimos las reglas encargadas de obtener el valor de
las respuestas, decidir cual es el siguinete nodo que debe recorrer de acuerdo
a las respuesta dada por el usuario.
En el siguiente ejemplo mostraremos, como es que se ha declarado
las reglas,el proceso de consulta , las reglas de inferencia y finalmente las
funciones generales que es en donde se encuentra todo el proceso de trabajo.
%AVERIA DEL RAM %AVERIA DISCO DURO
sintoma(is1, h1).
sintoma(is1, h2).
sintoma(is2, h2).
sintoma(is2, h3).
sintoma(is3, h4).
sintoma(is3, h5).
sintoma(is4, h4).
sintoma(is4, h6).
sintoma(is5, h5).
sintoma(is5, h7).
sintoma(is6, h8).
sintoma(is6, h9).
sintoma(is7, h8).
sintoma(is7, h10).
sintoma(is8, h11).
sintoma(is8, h17).
%CONSULTA
%------------------------------------------
evaluarHecho(is1, Hecho, Respuesta):-
s1(Hecho,Respuesta), !.
evaluarHecho(is2, Hecho, Respuesta):-
s2(Hecho,Respuesta), !.
%FUNCIONES GENERALES
%-------------------------------------------
detValor(si, 1).
detValor(no, 0).
getListaHechos(Sintoma,L):-
findall(Hechos,sintoma(Sintoma,Hechos),L).
detNroPreguntas(_,[],0).
detNroPreguntas(Sintoma ,[Hecho|L],N):-
evaluarHecho(Sintoma,Hecho,Respuesta),
detValor(Respuesta,Valor),
detNroPreguntas(Sintoma,L,Nnuevo),
N is Valor+Nnuevo.
detNroPreguntasSint(Sintoma ,N):-
getListaHechos(Sintoma,L),
detNroPreguntas(Sintoma,L,N).
%REGLAS DE INFERENCIA
%-------------------------------------------
diagnosticar(aaveria_ram):-
detNroPreguntasSint(is1,N),N=2,!.
%-->
diagnosticar(aaveria_procesador):-
detNroPreguntasSint(is14,N),N=2,!.
diagnosticar(aaveria_procesador):-
detNroPreguntasSint(is15,N),N=2,!.
diagnosticar(aaveria_procesador):-
detNroPreguntasSint(is16,N),N=2,!.
diagnosticar(aaveria_procesador):-
detNroPreguntasSint(is17,N),N=1,!.
%-->
diagnosticar(aaveria_tarjeta_video):-
detNroPreguntasSint(is18,N),N=2,!.
diagnosticar(aaveria_tarjeta_video):-
detNroPreguntasSint(is19,N),N=1,!.
diagnosticar(aaveria_tarjeta_video):-
detNroPreguntasSint(is20,N),N=2,!.
diagnosticar(aaveria_tarjeta_video):-
detNroPreguntasSint(is21,N),N=2,!.
4.4. Ejecucion
Al ejecutar el Sistema Experto lo primero que haremos es
ejecutar en el Menu Inicio.
Iniciamos sesion con una cuenta
Sea el caso de no tener una cuanta de usuario se procedera a
adquirirla, seleccionando el boton NUEVO USUARIO.
Posteriormente se procedera a llenar los datos y finalmente se
registraran satisfactoriamnete
Se tienen casos de los cuales le saldran los siguientes avisos:
1. Cuando el usuario no esta registrado
2. Cuando la contrasena no es correcta
3. Cuando la contrasena y el usuraio es correcto,
cargara y simplemnte pasara a la ventana de
diagnostico
Se Inicia la ventana de diagnostico.
Ahora seleccionamos los sintomas del fallo de su PC.
Posteriormente daremos clic en Diagnosticar, para hallar la
respuesta a nuestra sintoma.
Por ultimo, si deseamos tener mas detalles del diagnostico.
Presionamos el boton detalle en la ventana de resultado; el
cual nos dara las posibles causas y unas posibles soluciones.
5. REFERENCIAS BIBLIOGRAFICAS
[1].J.P. Ignizio. "Introduction to expert systems". McGraw-Hill, 1991
[2].J. Giarratano, G. Riley. "Expert Systems. Principles and programming". PWS
Publishing Co, 1994
[3].Alty. J. L. Sistemas Expertos, conceptos y ejemplos Ed. Diaz Santos. Madrid
Barcelona 1984
[4].NillssonNils Principios de Inteligencia Artificial Ed. Diaz Santos Espaa 1987
[5].Patrick H. Winston Inteligencia Artificial Ed. Addison Wesley Iberoamericana
Espaa 1992
[6].Grupo Marcombo S.A. Inteligencia Artificial: Concepto, tcnicas y aplicaciones
1987
[7].Sistemas Expertos y Modelos de Redes Probabilsticas, Enrique Castillo, Jose
Manuel Gutirrez, y Ali S.
[8].Javier Medina. Solucin a Problemas de Hardware, Diagnostico y respuesta a las
fallas ms frecuentes de su PC Ed. Dr Max Express. Madrid Barcelona 2005
[9].Sistemas Expertos, David King
[10]. www.dei.va.educpy\tar17\sexpreti\historia.htm
[11]. www.sarder.upeu.edu.pe\~miguel+\temas\expertos.htm
[12]. www.fotunecity.com\skycod.per\ronrow\207\se\portada.htm
[13]. www.monografias.com
[14]. http://es.wikipedia.org/wiki/NetBeans
[15]. http://es.wikipedia.org/wiki/Sistema_experto.htm

Вам также может понравиться