Você está na página 1de 24

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE CIENCIAS FSICAS Y MATEMTICAS


ESCUELA DE INGENIERIA INFORMTICA
DOCENTE:
Ing. Daz Pulido Jos Arturo
INTEGRANTES:
Abanto Vera Angelica Mara
Crz Prez Miguel ngel

Trujillo Per
2014
P g i n a 1 | 23



INDICE DE CONTENIDO
RESUMEN ................................................................................................................................... 3
PALABRAS CLAVES ................................................................................................................. 3
1. INTRODUCCION ................................................................................................................ 3
1.1. Usos de un Sistema Experto .................................................................................... 4
1.2. Arquitectura y Funcionamiento de un Sistema Experto ....................................... 5
Imagen 1: Arquitectura de un Sistema Experto. .................................................................... 5
1.2.1. Base de Conocimientos ..................................................................................... 6
1.2.2. Base de Datos ..................................................................................................... 7
1.2.3. Motor de Inferencias .......................................................................................... 8
1.2.4. Interfaz con el Usuario ....................................................................................... 9
1.2.5. Mdulo de Explicacin ..................................................................................... 10
1.2.6. Mdulo de Adquisicin ..................................................................................... 10
1.3. Ventajas e Inconvenientes de un Sistema Experto ............................................ 11
1.3.1. Ventajas ............................................................................................................. 11
1.3.2. Inconvenientes .................................................................................................. 11
1.4. Lenguaje de Programacin Usado ........................................................................ 12
1.4.1. Introduccin a Prolog ....................................................................................... 12
1.4.2. Caractersticas de Prolog ................................................................................ 12
2. NOMBRE DE SISTEMA EXPERTO .............................................................................. 13
2.1. Planteamiento y diseo ........................................................................................... 13
2.2. Implementacin ......................................................................................................... 15
2.2.1. Base de Conocimiento ..................................................................................... 15
2.2.2. Motor de Inferencia .......................................................................................... 19
3. EJECUCIN ...................................................................................................................... 21
P g i n a 2 | 23

4. REFERENCIAS BIBLIOGRFICAS .............................................................................. 23



INDICE DE ILUSTRACIONES
Ilustracin 1: Arquitectura de un Sistema Experto. ............................................................... 5
Ilustracin 2: Base de Conocimiento. ...................................................................................... 6
Ilustracin 3: Base de Datos. .................................................................................................... 7
Ilustracin 4: Comparacin entre Base de conocimiento y Base de Datos ...................... 8
Ilustracin 5: Inicio .................................................................................................................... 21
Ilustracin 6: Pregunta 1 ......................................................................................................... 21
Ilustracin 7: Pregunta 2 ......................................................................................................... 22
Ilustracin 8: Pregunta 3 ......................................................................................................... 22
Ilustracin 9: Diagnstico ........................................................................................................ 22














P g i n a 3 | 23



RESUMEN
En el presente informe mostraremos el desarrollo de un Sistema Experto para el
Mantenimiento y Reparacin de Computadoras en Prolog basado en el anlisis de algunos
sntomas que muestra un computador defectuoso para su pronta reparacin con el
propsito de brindar al usuario una manera ms precisa y rpida lo que estara mal en su
computador y ya luego de saber el diagnostico tambin nos mostrara la posible solucin a
su problema. Para ello utilizaremos una base de conocimiento donde guardaremos datos
de problemas comunes que sufren las computadoras y sus posibles soluciones hallados
en internet, tambin hablaremos de manera breve acerca de los que es un Sistema
Experto y sus caractersticas principales.
PALABRAS CLAVES
Prolog, Sistema Experto, Base del conocimiento, Base de Datos, Motor de Inferencia,
Interfaz, Modulo de Explicacin, Modulo de Adquisicin.
1. INTRODUCCION
Los sistemas expertos son programas que reproducen el proceso intelectual de un experto
humano en un campo particular, pudiendo mejorar su productividad, ahorrar tiempo y
dinero, conservar sus valiosos conocimientos y difundirlos ms fcilmente.Un experto es
alguien que posee unos determinados conocimientos y experiencia en un campo de la
actividad humana y es capaz de aplicarlos con rapidez y eficiencia en la resolucin de
tareas diferentes aunque no le hayan sido encomendadas con anterioridad, pero que caen
dentro de su dominio.
As, un sistema experto es un cuerpo de programas de ordenador que intenta imitar e
incluso superar en algunas situaciones a un experto humano en un mbito concreto de su
actividad. No pretende, en absoluto, reproducir el pensamiento humano, sino simplemente
P g i n a 4 | 23

la pericia de un profesional competente (tngase en cuenta que para construir un SBC se
suele contar con grandes expertos en la materia que incorporan su conocimiento al
sistema). Esta pretensin es ms sencilla ya que en algunos campos reducidos los
expertos trabajan siguiendo reglas, aunque, generalmente, no sean conscientes de ello.
En aquellos campos en los que no sea necesario aplicar la intuicin ni el sentido comn,
los sistemas basados en el conocimiento han conseguido notables xitos, consiguiendo en
ocasiones ser ms regulares y rpidos que los propios expertos.
1.1. Usos de un Sistema Experto
Los sistemas expertos se desenvuelven en distintas reas del conocimiento
algunas de las ms utilizadas son la medicina, ingeniera, administracin,
contabilidad, bolsa de valores. Un sistema experto puede resolver problemas y
responder preguntas de manera mucho ms rpida que un experto humano; por
ello podramos decir que son muy valiosos en casos en los que el tiempo es
escaso.
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.
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.
La planificacin es la secuencia de acciones necesarias 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
fbrica, estrategia militar y configuracin de complejos sistemas informticos, entre
otros.
P g i n a 5 | 23

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. Muchas veces se puede observar en campos que comprende el
supervisar fbricas automatizadas, factoras qumicas o centrales nucleares.
Esto demuestra los distintos usos y el gran avance que tiene los sistemas expertos
en el mbito laboral y lo primordial que ayuda la toma de decisiones de muchos
casos.
1.2. Arquitectura y Funcionamiento de un Sistema Experto
Los componentes bsicos del sistema experto los podemos apreciar en la siguiente
imagen y sern explicadas a continuacin.


Ilustracin 1: Arquitectura de un Sistema Experto.
P g i n a 6 | 23


1.2.1. Base de Conocimientos
Es un tipo especial de base de datos para la gestin del conocimiento. Provee
los medios para la recoleccin, organizacin y recuperacin computarizada de
conocimiento.
Una base de conocimiento es un depsito de informacin creado gracias a una
extensa investigacin organizada en un rbol de conocimiento completo.
Datos son hechos en bruto
Informacin son datos con el contexto y perspectiva.
Conocimiento es informacin con una gua para la accin basad en
conocimiento y experiencia.
La base de conocimiento cambia todo el tiempo debido a que el nuevo
conocimiento la cambia.


Ilustracin 2: Base de Conocimiento.
P g i n a 7 | 23

1.2.2. Base de Datos
Es un conjunto de datos pertenecientes a un mismo contexto y
almacenamiento sistemticamente para su posterior uso.
Una base de datos es una coleccin de informacin organizada de forma que
un programa de ordenador pueda seleccionar rpidamente los fragmentos de
datos que necesite. Una base de datos es un sistema de archivos electrnico.
El conocimiento se puede utilizar para cambiar el estado del agente
inteligente debido al proceso de aprendizaje involucrado, pero los datos no
pueden.
Los sistemas basados en datos nicamente procesan datos y no muestran
informacin.



Ilustracin 3: Base de Datos.

P g i n a 8 | 23


Ilustracin 4: Comparacin entre Base de conocimiento y Base de Datos

1.2.3. Motor de Inferencias
Es un programa que controla el proceso de razonamiento que seguir el
sistema experto, se podra decir que es el corazn de todo sistema experto.
Utilizando los datos que se le suministran, recorre la base de conocimientos
para alcanzar una solucin. La estrategia de control puede ser de
encadenamiento progresivo o de encadenamiento regresivo. En el primer caso
se comienza con los hechos disponibles en la base de datos, y se buscan
reglas que satisfagan esos datos, es decir, reglas que verifiquen la parte SI.
Normalmente, el sistema sigue los siguientes pasos:
A. Evaluar las condiciones de todas las reglas respecto a la base de datos,
identificando el conjunto de reglas que se pueden aplicar (aquellas que
satisfacen su parte condicin)
B. Si no se puede aplicar ninguna regla, se termina sin xito; en caso contrario
se elige cualquiera de las reglas aplicables y se ejecuta su parte accin
(esto ltimo genera nuevos hechos que se aaden a la base de datos).
C. Si se llega al objetivo, se ha resuelto el problema; en caso contrario, se
vuelve al paso A.
P g i n a 9 | 23

A este enfoque se le llama tambin guiado por datos, porque es el estado de la
base de datos el que identifica las reglas que se pueden aplicar. Cuando se
utiliza este mtodo, el usuario comenzar introduciendo datos del problema en
la base de datos del sistema.
Las conclusiones del motor de inferencia pueden estar basadas en
conocimiento determinista o conocimiento probabilstico. El motor de inferencia
es tambin responsable de la propagacin de este conocimiento incierto. Es
probablemente es componente ms dbil de casi todos los sistemas expertos.
1.2.4. Interfaz con el Usuario
El interfaz de usuario permite que el usuario pueda describir el problema al
sistema experto. Interpreta sus preguntas, los comandos y la informacin
ofrecida ya que viene a ser el enlace entre el sistema experto y el usuario, por
ello debe incorporar mecanismos eficientes para mostrar y obtener informacin
de forma fcil y agradable. A la inversa, formula la informacin generada por el
sistema incluyendo respuestas a las preguntas, explicaciones y justificaciones.
Es decir, posibilita que la respuesta proporcionada por el sistema sea inteligible
para el interesado. Tambin puede solicitar ms informacin si le es necesaria
al sistema experto. En algunos sistemas se utilizan tcnicas de tratamiento del
lenguaje natural para mejorar la comunicacin entre el usuario y el sistema
experto.
La mayora de los sistemas expertos contienen un mdulo de explicacin,
diseado para aclarar al usuario la lnea de razonamiento seguida en el
proceso de inferencia. Si el usuario pregunta al sistema cmo ha alcanzado
una conclusin, ste le presentar la secuencia completa de reglas usada. Esta
posibilidad de explicacin es especialmente valiosa cuando se tiene la
P g i n a 10 | 23

necesidad de tomar decisiones importantes amparndose en el consejo del
sistema experto. Adems, de esta forma, y con el tiempo suficiente, los
usuarios pueden convertirse en especialistas en la materia, al asimilar el
proceso de razonamiento seguido por el sistema. El subsistema de explicacin
tambin puede usarse para depurar el sistema experto durante su desarrollo.
1.2.5. Mdulo de Explicacin
Explica el proceso seguido por el motor de inferencia o por el subsistema de
ejecucin (explicacin de las conclusiones sacadas o de las acciones iniciadas
por el sistema experto).
Por ejemplo, si un cajero automtico decide rechazar la palabra clave (una
accin), la maquina puede mostrar un mensaje (una explicacin) como la
siguiente Lo siento!, su palabra clave es todava incorrecta tras tres intentos.
Retenemos su tarjeta de crdito, para garantizar su seguridad. Por favor,
pngase en contacto con su banco en horas de la oficina.
En muchos dominios de aplicaciones es necesario la explicacin de las
conclusiones debido a los riesgos asociados con las acciones a ejecutar.
1.2.6. Mdulo de Adquisicin
El mdulo de adquisicin del conocimiento permite que se puedan aadir,
eliminar o modificar elementos de conocimiento (en la mayora de los casos
reglas) en el sistema experto. Si el entorno es dinmico es muy necesario,
puesto que, el sistema funcionar correctamente slo si se mantiene
actualizado su conocimiento. El mdulo de adquisicin permite efectuar ese
mantenimiento, anotando en la base de conocimientos los cambios que se
producen.
P g i n a 11 | 23

1.3. Ventajas e Inconvenientes de un Sistema Experto
1.3.1. Ventajas
Permanencia: A diferencia de un experto humano un Sistema Experto
(sistema experto) no envejece, y por tanto no sufre prdida de facultades
con el paso del tiempo.
Replicacin: Una vez programado un Sistema Experto lo podemos replicar
infinidad de veces.
Rapidez: Un Sistema Experto 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 Sistema Experto puede trabajar en entornos
peligrosos o dainos para el ser humano.
Fiabilidad: Los Sistema Experto no se ven afectados por condiciones
externas, un humano s (cansancio, presin, etc.).
Consolidar varios conocimientos.
Apoyo Acadmico.
Fcil acceso y disponibilidad de conocimiento experto.
Respuestas no subjetivas.
Permanencia del Sistema Experto.
1.3.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
P g i n a 12 | 23

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.

1.4. Lenguaje de Programacin Usado
1.4.1. Introduccin a Prolog
Prolog, del francs: Programation en Logique. Es el lenguaje declarativo, quien
a partir de los datos introducidos deduce nuevos hechos y resuelve el problema
automticamente.
PROLOG tiene incluido, por tanto, un motor de inferencia que se encarga de
realizar bsquedas en su base de hechos.
1.4.2. Caractersticas de Prolog
Prolog tiene las siguientes caractersticas:
Basado en lgica y programacin declarativa.
P g i n a 13 | 23

No se especifica cmo debe hacerse, sino qu debe lograrse.
Una caracterstica importante en Prolog y que lo diferencia de otros
lenguajes de programacin, es que una variable slo puede tener un valor
mientras se cumple el objetivo.
El programador se concentra ms en el conocimiento que en los algoritmos.
- Qu es conocido? (hechos, reglas)
- Qu preguntar? (Cmo resolverlo)
En Prolog, se llega a una solucin infirindola desde algo ya conocido.

2. NOMBRE DE SISTEMA EXPERTO
2.1. Planteamiento y diseo
Mediante el siguiente informe mostraremos el desarrollo de nuestro Sistema
Experto basado en el diagnstico de algunos problemas que suelen presentar las
computadoras frecuentemente, con la finalidad de ayudar a las personas a resolver
sus problemas de su computador de manera ms rpida y eficiente.
Para realizar este diseo hemos partido del diagrama de un rbol, en el que cada
nodo tiene una pregunta asociada que se imprimir por pantalla y que el cliente
tendr que responder, segn la respuesta que responda el programa se
encaminar a la rama del nodo correspondiente a la respuesta elegida por el
cliente. Una vez recorrido todo el rbol se llegar a una de las hojas del rbol que
contendr la respuesta final.
A continuacin mostraremos el rbol de nuestro sistema Experto





P g i n a 14 | 23









































SI
SI
Continuo reinicio
automtico del
ordenador?
Al encender el equipo no
carga absolutamente
nada?
El equipo se bloquea
con cualquier
aplicacin?
Error serio al escribir
en la unidad <x>?
Error de datos al
leer la unidad <x>?
?
RAM daada
?
?
SI
SI
NO
NO
P g i n a 15 | 23


2.2. Implementacin
Para implementar nuestro Sistema Experto en Prolog dividimos el cdigo en dos
grandes bloques.
2.2.1. Base de Conocimiento
%BASE DE CONOCIMIENTOS
ram:-ram_daniada,
pregunta('Continuo reinicio automatico del ordenador?'),
pregunta('Al encender el equipo no carga absolutamente nada(pantalla
negra?'),
pregunta('El equipo se bloquea con cualquier aplicacion?').

discoduro:-discoduro_daniado,
pregunta('Error serio de disco al escribir en la unidad <x>?'),
pregunta('Error de datos al leer la unidad <x>?'),
pregunta('Continuos ruidos al interior del CPU?').

motherboard:-motherboard_daniada,
pregunta('Se apaga solo el computador y vuelve a prender?'),
pregunta('Hay buses desconectados?'),
pregunta('Hay chips explotados?').

procesador:-procesador_daniado,
pregunta('El ventilador del procesador no funciona?'),
pregunta('El disipador de calor esta sucio?'),
pregunta('Encendido lento?').

tarjetavideo:-tarjetavideo_daniada,
P g i n a 16 | 23

pregunta('Cuando arranca el equipo escucha 3 pitillos?'),
pregunta('Parpadea el monitor?').

fuente:-fuente_daniada,
pregunta('El ventilador de la fuente no funciona?'),
pregunta('Se escuchan ruidos electricos?'),
pregunta('El computador no prende?').

unidadesopt:-unidadesopt_daniadas,
pregunta('La unidad no lee ningn disco?'),
pregunta('Al leer el disco se bloquea la PC?'),
pregunta('Cuando gira el disco emite un zumbido fuerte?').

tarjetasonido:-tarjetasonido_daniada,
pregunta('No reconoce dispositivos de sonido?'),
pregunta('El sonido tiene interferencias?'),
pregunta('El volumen de sonido es bajo?').

mouse:- mouse_daniado,
pregunta('El cursor en la pantalla brinca?'),
pregunta('El cursor no da movimientos?').

pantalla:-pantalla_daniada,
pregunta('Los colores estan distorsionados?'),
pregunta('La pantalla se pone negra y vuelve a su estado normal
constantemente?').

impresora:-impresora_daniada,
P g i n a 17 | 23

pregunta('Imprime caracteres no correspondientes a la impresin?'),
pregunta('La impresin sale desalineada?').

teclado:-teclado_daniado,
pregunta('Al encender el equipo las luces indicadoras del teclado tienen una
intensidad baja?'),

pregunta('Algunas veces tiene problemas al presionar algunas letras?').
desconocido:- se_desconoce_danio.
ram_daniada:- pregunta('Continuo reinicio automatico del ordenador?'),!.
discoduro_daniado:- pregunta('Error serio de disco al escribir en la unidad
<x>?'),!.

motherboard_daniada:- pregunta('Se apaga solo el computador y vuelve a
prender?'),!.
procesador_daniado:- pregunta('El ventilador del procesador no funciona?'),!.
tarjetavi deo_daniada:- pregunta('Cuando arranca el equipo escucha 3
pitillos?'),!.

fuente_daniada:- pregunta('El ventilador de la fuente no funciona?'),!.
unidadesopt_daniadas:- pregunta('La unidad no lee ningn disco?'),!.
tarjetasonido_daniada:- pregunta('No reconoce dispositivos de sonido?'),!.
mouse_daniado:- pregunta('El cursor en la pantalla brinca?'),!.
pantalla_daniada:- pregunta('Los colores estan distorsionados?'),!.
impresora_daniada:- pregunta('Imprime caracteres no correspondientes a la
impresin?'),!.
teclado_daniado:- pregunta('Al encender el equipo las luces indicadoras del
teclado tienen una intensidad baja?'),!.

P g i n a 18 | 23

:-dynamic si/1, no/1.
preguntar(Problema):- new(Di,dialog('REPARACION Y MANTENIMIENTO')),
new(L2,label(texto,'Responde las siguientes preguntas')),
new(La,label(prob,Problema)),
new(B1,button(si,and(message(Di,return,si)))),
new(B2,button(no,and(message(Di,return,no)))),
send(Di,append(L2)),
send(Di,append(La)),
send(Di,append(B1)),
send(Di,append(B2)),
send(Di,default_button,si),
send(Di,open_centered),get(Di,confirm,Answer),
write(Answer),send(Di,destroy),
((Answer==si)->assert(si(Problema));
assert(no(Problema)),fail).
pregunta(S):- (si(S)->true;
(no(S)->fail;
preguntar(S))).
limpiar:-retract(si(_)),fail.
limpiar:-retract(no(_)),fail.
limpiar.
botones:-lim,

send(@boton,free),
send(@btncarrera,free),
danio(Danio),
send(@texto,selection('De acuerdo con los datos obtenidos su PC tiene: ')),
P g i n a 19 | 23

send(@resp1,selection(Danio)),

new(@boton,button('Iniciar',message(@prolog,botones))),
send(Menu,display,@boton,point(40,50)),
send(Menu,display,@btncarrera,point(20,50)),
limpiar.
lim:- send(@resp1,selection('')).

2.2.2. Motor de Inferencia
% INTERFAZ DEL PROGRAMA
interfaz:-
new(Menu,dialog('SISTEMA EXPERTO', size(500,500))),
new(L, label(nombre,'MANTENIMIENTO Y REPARACION DE PCs')),
new(@texto,label(nombre,'Segun lo que responda se le dar un resultado:')),
new(@resp1,label(nombre,'')),
new(Salir,button('SALIR',and(message(Menu,destroy),message(Menu,free)))),
new(@boton,button('Consultar',message(@prolog,botones))),
send(Menu,append(L)),new(@btncarrera,button('Diagnotisco?')),
send(Menu,display,L,point(125,20)),
send(Menu,display,@boton,point(100,150)),
send(Menu,display,@texto,point(20,100)),
send(Menu,display,Salir,point(20,400)),
send(Menu,display,@resp1,point(20,130)),
send(Menu,open_centered).

danio('Defectos de RAM'):-ram,!.
danio('Defectos de Disco Duro'):-discoduro,!.
P g i n a 20 | 23

danio('Defectos en la Tarjeta Madre'):-motherboard,!.
danio('Defectos de Procesador'):-procesador,!.
danio('Defectos de Tarjeta de Video'):-tarjetavideo,!.
danio('Defectos de la Fuente de Alimentacion'):-fuente,!.
danio('Defectos en las Unidades Opticas'):-unidadesopt,!.
danio('Defectos en la Tarjeta de Sonido'):-tarjetasonido,!.
danio('Defectos en el Mouse'):-mouse,!.
danio('Defectos en la Pantalla'):-pantalla,!.
danio('Defectos en la Impresora'):-impresora,!.
danio('Defectos en el teclado'):-teclado,!.
danio('sin dao').
















P g i n a 21 | 23

Ilustracin 6: Pregunta 1

3. EJECUCIN
Mostraremos ahora un ejemplo de la ejecucin de nuestro Sistema Experto en el cual
diagnosticaremos defectos en la RAM.
Empezamos dndole click en Consultar

Ilustracin 5: Inicio
En este paso debemos contestar a las preguntas que nos haga el Sistema Experto
referente a los posibles problemas que tenga nuestro computador.










P g i n a 22 | 23






















Ilustracin 7: Pregunta 2
Ilustracin 8: Pregunta 3
Ilustracin 9: Diagnstico
P g i n a 23 | 23

4. REFERENCIAS BIBLIOGRFICAS
http://es.slideshare.net/ingenioalex/sistemas-expertos
http://www.ecured.cu/index.php/Sistemas_expertos
http://www.informaticaintegral.net/sisexp.html
http://www.redcientifica.com/doc/doc199908210001.html
http://es.slideshare.net/uni_fcys_sistemas/bases-de-conocimiento-vs-bases-de-
datos
https://docs.google.com/document/d/1cx7xs4Gnq_3fES-
AzkG7ejmOIgEVarVe_4SQl9gL39A/edit?hl=en_US&pli=1
http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/moreno_a_jl/capitulo3.pdf
http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r101181.PDF
http://www.ecured.cu/index.php/ProLog#Caracter.C3.ADsticas_del_lenguaje_ProLo
g
http://artemisa.unicauca.edu.co/~lgarreta/elenguajes/classes/logical/apuntes05lp-
prolog.pdf
http://es.wikipedia.org/wiki/Prolog

Você também pode gostar