UNIVERSIDAD AO Universidad Nacional de Trujillo 2014 NDICE GENERAL
RESUMEN ................................................................................................................................................................ 3 PALABRAS CLAVE ................................................................................................................................................ 3 1. INTRODUCCIN.......................................................................................................................................... 3 1.1. USOS DE UN SISTEMA EXPERTO ................................................................................................. 3 1.2. ARQUITECTURA Y FUNCIONAMIENTO DE UN S.E. .............................................................. 4 1.2.1. BASE DE CONOCIMIENTOS .................................................................................................. 4 1.2.2. BASE DE DATOS ........................................................................................................................ 5 1.2.3. MOTOR DE INFERENCIAS ..................................................................................................... 5 1.2.4. INTERFAZ CON EL USUARIO ................................................................................................ 5 1.2.5. MDULO DE EXPLICACIN ................................................................................................. 5 1.2.6. MDULO DE ADQUISICIN ................................................................................................ 6 1.3. VENTAJAS E INCONVENIENTES DE UN S.E. ............................................................................ 6 1.3.1. VENTAJAS ........................................................................................................................................ 6 1.3.2. INCONVENIENTES ........................................................................................................................ 6 1.4. PROLOG ................................................................................................................................................ 7 1.4.1. INTRODUCCIN A PROLOG ..................................................................................................... 7 1.4.2. CARACTERSTICAS DE PROLOG .............................................................................................. 7 2. S.E. DE TEST VOCACIONAL PARA LA UNT ........................................................................................ 8 2.1. PLANTEAMIENTO Y DISEO ......................................................................................................... 8 2.2. IMPLEMENTACIN ........................................................................................................................... 9 2.2.1. BASE DE CONOCIMIENTO .................................................................................................... 9 2.2.2. MOTOR DE INFERENCIAS ................................................................................................... 15 3. EJECUCIN .................................................................................................................................................. 17 4. REFERENCIAS BIBLIOGRFICAS .......................................................................................................... 21
RESUMEN Implementaremos un Sistema Experto con Prolog cuyo propsito ser brindar al alumno una mayor facilidad para poder elegir una posible carrera profesional al cual est orientado. Para ello primero haremos una breve descripcin de los Sistemas Expertos y de su importancia, luego pasaremos a desarrollar el problema con Prolog, un Sistema Experto ampliamente utilizado. PALABRAS CLAVE Prolog, Sistema Experto, Test Vocacional. 1. INTRODUCCIN Los Sistemas Expertos se pueden considerar como el primer producto verdaderamente operacional de la inteligencia artificial. Son programas de ordenador diseados para actuar como un especialista humano en un dominio particular o rea de conocimiento. En este sentido, pueden considerarse como intermediarios entre el experto humano, que transmite su conocimiento al sistema, y el usuario que lo utiliza para resolver un problema con la eficacia del especialista. El sistema experto utilizar para ello el conocimiento que tenga almacenado y algunos mtodos de inferencia. 1.1. USOS DE UN SISTEMA EXPERTO Existe infinidad de usos de un Sistema Experto, aqu expondremos algunos. Con la ayuda de un Sistema Experto, personas con poca experiencia pueden resolver problemas que requieren un "conocimiento formal especializado". Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de forma ms rpida que los expertos humanos. Los Sistemas Expertos razonan pero en base a un conocimiento adquirido y no tienen sitio para la subjetividad. Se ha comprobado que los Sistemas Expertos tienen al menos, la misma competencia que un especialista humano. El uso de Sistemas Expertos es especialmente recomendado en las siguientes situaciones: Cuando los expertos humanos en una determinada materia son escasos. En situaciones complejas, donde la subjetividad humana puede llevar a conclusiones errneas. Cuando es muy elevado el volumen de datos que ha de considerarse para obtener una conclusin. 1.2. ARQUITECTURA Y FUNCIONAMIENTO DE UN S.E. La mayora de los Sistemas Expertos tienen unos componentes bsicos, se explicar a cada uno de ellos. 1.2.1. BASE DE CONOCIMIENTOS Las bases de conocimiento son la evolucin lgica de los sistemas de bases de datos tradicionales, en un intento de plasmar no ya cantidades ingentes de datos, sino elementos de conocimiento (normalmente en forma de hechos y reglas) as como la manera en que estos elementos han de ser utilizados. Tambin se les trata de dotar de conocimiento sobre s mismas, es decir, una KB ha de "saber lo que sabe". Por ejemplo, ante una consulta determinada, una base de datos acceder a los datos almacenados en ella y dar una respuesta afirmativa o negativa, independientemente de que tenga o no la informacin relevante; en cambio, una KB respondera "s", "no" o "no lo s", en el caso de carecer de todos los datos pertinentes a la consulta. Una base de conocimiento, por otra parte, puede almacenar, adems de hechos, un conjunto de reglas que se sirven de esos hechos para obtener informacin que no se encuentra almacenada de forma explcita. El tipo de base de conocimiento al que se dota de una considerable capacidad de deduccin a partir de la informacin que contiene se denomina sistema experto. 1.2.2. BASE DE DATOS El objetivo primero de una base de datos es, como su nombre indica, almacenar grandes cantidades de datos organizados siguiendo un determinado esquema o modelo de datos que facilite su almacenamiento, recuperacin y modificacin. Las funciones que el gestor de base de datos se limita a facilitar son, fundamentalmente, las de edicin y consulta de los datos. 1.2.3. MOTOR DE INFERENCIAS El motor de inferencia, que es la parte del sistema experto que combina los hechos y las preguntas particulares, utilizando la base de conocimiento, seleccionando los datos y pasos apropiados para presentar los resultados. Se encarga de obtener conclusiones comenzando desde el conocimiento abstracto hasta el conocimiento concreto. Si el conocimiento inicial es muy poco, y el sistema no puede obtener ninguna conclusin, se utiliza un subsistema de demanda de informacin como apoyo. 1.2.4. INTERFAZ CON EL USUARIO La interfaz de usuario es el medio con que el usuario puede comunicarse con una mquina, un equipo o una computadora, y comprende todos los puntos de contacto entre el usuario y el equipo. Normalmente suelen ser fciles de entender y fciles de accionar. 1.2.5. MDULO DE EXPLICACIN Una caracterstica de los sistemas expertos es su habilidad para explicar su razonamiento. Usando el mdulo 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. 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. 1.3. VENTAJAS E INCONVENIENTES DE UN S.E. 1.3.1. VENTAJAS Los conocimientos de un sistema experto pueden ser copiados y almacenados fcilmente, siendo muy difcil la prdida de stos. Otra ventaja de los sistemas expertos sobre los humanos es que el experto computarizado siempre est a pleno rendimiento. Cuando un humano se cansa, la exactitud de sus consejos puede decaer. Sin embargo, el experto computarizado siempre proporcionar las mejores opiniones posibles dentro de las limitaciones de sus conocimientos. Una ltima ventaja de un sistema experto est en que despus de que un experto computarizado exista, usted puede crear un nuevo experto simplemente copiando el programa de una mquina a otra. Un humano necesita mucho tiempo para convertirse en un especialista en ciertos campos, lo que hace difcil que puedan aparecer nuevos especialistas humanos. 1.3.2. INCONVENIENTES Creatividad: los humanos pueden responder creativamente a situaciones inusuales, los sistemas expertos no pueden. Experiencia Sensorial: los humanos tienen un amplio rango de disponibilidad de experiencia sensorial. Y los sistemas expertos actualmente dependen de una entrada simblica. Degradacin: los sistemas expertos no son bueno para reconocer cuando no existen respuestas o cuando los problemas estn fuera de su rea. 1.4. PROLOG 1.4.1. INTRODUCCIN A PROLOG Prolog es un lenguaje de programacin seminterpretado. Su funcionamiento es muy similar a Java. El cdigo fuente se compila a un cdigo de byte el cul se interpreta en una mquina virtual denominada Warren Abstract Machine (comnmente denominada WAM). Por eso, un entorno de desarrollo Prolog se compone de: Un compilador. Transforma el cdigo fuente en cdigo de byte. A diferencia de Java, no existe un estndar al respecto. Por eso, el cdigo de byte generado por un entorno de desarrollo no tiene por qu funcionar en el intrprete de otro entorno. Un intrprete. Ejecuta el cdigo de byte. Un shell o top-level. Se trata de una utilidad que permite probar los programas, depurarlos, etc. Su funcionamiento es similar a los interfaces de lnea de comando de los sistemas operativos. Una biblioteca de utilidades. Estas bibliotecas son, en general, muy amplias. Muchos entornos incluyen (afortunadamente) unas bibliotecas standard-ISO que permiten funcionalidades bsicas como manipular cadenas, entrada/salida, etc. 1.4.2. CARACTERSTICAS DE PROLOG Las principales caractersticas del lenguaje de programacin PROLOG son: Basado en lgica y programacin declarativa. 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. S.E. DE TEST VOCACIONAL PARA LA UNT 2.1. PLANTEAMIENTO Y DISEO Queremos realizar un Test Vocacional para aquellos alumnos que desean estudiar en la Universidad Nacional de Trujillo UNT. Para realizar este diseo hemos partido del diagrama de un rbol, en el que cada nodo tiene una pregunta asociada, luego, dependiendo de las respuestas, se obtendr el resultado, es decir la carrera a la cual se orienta el usuario. Hemos tomado un caso de nuestro Sistema Experto en el cual despus de haber contestado una serie de preguntas, el resultado ser Ingeniera Informtica.
Ilustracin 1: rbol del Sistema Experto
2.2. IMPLEMENTACIN Para implementar nuestro S.E. en Prolog dividimos el cdigo en _ grandes bloques. 2.2.1. BASE DE CONOCIMIENTO Lo separamos por predicados carrera (<nombre_carrera>) y luego hacemos preguntas dependiendo de los requisitos que estn escritos en la Gua del Postulante de la UNT para cada una de ellas. %%%%% BASE_DE_CONOCIMIENTO %%%%% %CIENCIAS_AGROPECUARIAS carrera('Ingeniero Agricola'):-agricola,!. carrera('Ingeniero Zooctenista'):-zooctenista,!. carrera('Ingeniero Agronomo'):-agronomo,!. %CIENCIAS_FISICAS_Y_MATEMATICAS carrera('Ingeniero Informatico'):-informatico,!. carrera('Ingeniero Estadistico'):-estadistico,!. carrera('Licenciado en Fisica'):-fisico,!. carrera('Licenciado en Matematicas'):-matematico,!. %CIENCIAS_BIOLOGICAS carrera('Biologo'):-biologo,!. carrera('Biologo Microbiologo'):-microbiologo,!. carrera('Biologo Pesquero'):-pesquero,!. %CIENCIAS_ECONOMICAS carrera('Licenciado en Administracion'):-administracion,!. carrera('Contador Publico'):-contador,!. carrera('Economista'):-economista,!.
%EDUCACION_Y_CIENCIAS_DE_LA_COMUNICACION carrera('Licenciado en Educacion Inicial'):-inicial,!. carrera('Licenciado en Educacion Primaria'):-primaria,!. carrera('Licenciado en Educacion Secundaria'):-secundaria,!. carrera('Licenciado en Ciencia de la Comunicacion'):- ccomunicacion,!. %MEDICINA carrera('Medico Cirujano'):-medico,!. carrera('Cirujano Dentista'):-dentista,!. %CIENCIAS_SOCIALES carrera('Antropologo Social'):-antropologo,!. carrera('Arqueologo'):-arqueologo,!. carrera('Trabajador Social'):-tsocial,!. carrera('Licenciado en Turismo'):-turismo,!. carrera('Licenciado en Historia'):-historia,!. %DERECHO_Y_CIENCIAS_POLITICAS carrera('Abogado'):-abogado,!. %ENFERMERIA carrera('Enfermero'):-enfermero,!. %FARMACIA_Y_BIOQUIMICA carrera('Quimico Farmaceutico'):-farmaceutico,!. %INGENIERIA carrera('Ingeniero Industrial'):-industrial,!. carrera('Ingeniero Mecanico'):-mecanico,!. carrera('Ingeniero Metalurgico'):-metalurgico,!. carrera('Ingeniero de Sistemas'):-sistemas,!. carrera('Ingeniero de Materiales'):-materiales,!. carrera('Ingeniero de Minas'):-minas,!. carrera('Ingeniero Mecatronico'):-mecatronico,!. %INGENIERIA_QUIMICA carrera('Ingeniero Quimico'):-quimico,!. carrera('Ingeniero Ambiental'):-ambiental,!. %SIN_RESULTADO carrera('sin resultado'). %%%%%%%%%% agricola:- pregunta('Tienes facilidad para entender matematica practica?'), pregunta('Tienes iniciativa para resolver problemas?'), pregunta('Tienes capacidad para ser servicial en el campo?'). zooctenista:- pregunta('Tienes el deseo de trabajar en cualquier region del pais?'), pregunta('Tienes vocacion para la crianza de animales de granja?'), pregunta('Tienes capacidad de analisis, prevencion y de solucion de problemas en el campo zootecnico?'). agronomo:- pregunta('Tienes capacidad de integracion y conciliacion agrosocial?'), pregunta('Tienes manejo sustentable y produccion vegetal?'), pregunta('Tienes predisposicion para realizar un buen manejo y conservacion de los suelos agricolas?'). informatico:- pregunta('Tienes habilidad para el manejo de lenguaje simbolico logico?'), pregunta('Tienes poder de abstraccion e imaginacion?'), pregunta('Tienes predisposicion para trabajar en equipo?'). estadistico:- pregunta('Tienes inclinacion por la matematica a la solucion de problemas industriales?'), pregunta('Tienes vocacion por el manejo de gran cantidad de informacion y procesarla con el apoyo de computadoras?'), pregunta('Tienes capacidad de liderazgo para interactuar en equipos de trabajo multidisciplinario?'). fisico:- pregunta('Tienes predisposicion para el trabajo cientifico?'), pregunta('Tienes curiosidad e interes por los fenomenos naturales?'), pregunta('Tienes ingenio y creatividad para desarrollar modelos concretos basados en aplicacion de las leyes fisicas?'). matematico:- pregunta('Tienes capacidad para la abstraccion y el pensamiento logico?'), pregunta('Tienes habilidad para el manejo de las matematicas?'), pregunta('Tienes alto grado de responsabilidad y disciplina para el trabajo?'). biologo:- pregunta('Tienes vocacion para las ciencias biologicas y afines?'), pregunta('Tienes identificacion con la naturaleza?'), pregunta('Tienes inquietud por investigar la dinamica de los seres vivos?'). microbiologo:- pregunta('Tienes aptitud para trabajar en laboratorios manipulando instrumentos?'), pregunta('Tienes vocacion para trabajar en laboratorios manipulando sustancias?'), pregunta('Tienes aptitud para trabajar en laboratorios manipulando microorganismos?'). pesquero:- pregunta('Tienes vocacion de servicio para investigar organismos y ambientes acuaticos?'), pregunta('Tienes capacidad creativa, juicio critico y etica para solucionar problemas en el sector pesquero?'), pregunta('Tienes salud fisica y mental para trabajar en ambientes acuaticos con destreza en la natacion?'). administracion:- pregunta('Tienes aptitudes para ejercer el liderazgo organizacional?'), pregunta('Tienes vocacion para promover el trabajo en equipo?'), pregunta('Tienes aptitudes para asumir responsabilidades en la toma de decisiones?'). contador:- pregunta('Tienes aptitudes para ejercer el liderazgo personal y en grupos de trabajo?'), pregunta('Tienes vocacion para asumir responsabilidades en la adopcion de decisiones?'), pregunta('Tienes habilidad matematica general, mercantil y financiera?'). economista:- pregunta('Tienes sentido realista y practico?'), pregunta('Tienes aptitudes y actitudes para asumir posiciones de liderazgo?'), pregunta('Tienes vision futurista para proyectar politicas de largo alcance?'). inicial:- pregunta('Tienes equilibrio emocional estable?'), pregunta('Tienes expresion adecuada a la edad de los nios, mediante el lenguaje hablado y gestos?'), pregunta('Tienes creatividad y dinamicidad?'). primaria:- pregunta('Tienes expresion adecuada a la edad de los nios, mediante el lenguaje hablado, escrito y gestos?'), pregunta('Tienes sensibilidad social y artistica?'), pregunta('Tienes amabilidad y empatia?'). secundaria:- pregunta('Tienes preocupacion por la formacion integral de la juventud?'), pregunta('Tienes facilidad de expresion oral y corporal?'), pregunta('No tienes deficiencia de audicion u otros defectos fisicos que afecten el ejercicio profesional?'). ccomunicacion:- pregunta('Tienes empatia comunicacional?'), pregunta('Tienes sensibilidad y responsabilidad social?'), pregunta('Tienes habilidad para la comunicacion oral, escrita y audiovisual?'). medico:- pregunta('Tienes vocacion de servicio y sensibilidad social?'), pregunta('Tienes buena salud fisica y mental?'), pregunta('Tienes capacidad de liderazgo y etica moral?'). dentista:- pregunta('Tienes capacidad de analisis, sintesis y evaluacion?'), pregunta('Tienes destreza manual y agudeza visual?'), pregunta('Tienes comportamiento guiado por valores morales?'). antropologo:- pregunta('Tienes capacidad de analisis, observacion y descripcion del medio natural y cultural?'), pregunta('Tienes serenidad de juicio a las distintas realidades?'), pregunta('Tienes vista normal, habilidades manuales y de dibujo?'). arqueologo:- pregunta('Tienes capacidad de analisis, observacion e identificacion de problemas y soluciones?'), pregunta('Tienes don de investigacion aplicando cientificamente los metodos y tecnicas del trabajo de campo?'), pregunta('Tienes adaptabilidad para el trabajo de campo?'). tsocial:- pregunta('Tienes capacidad de observacion, comprension, analisis y sintesis a problemas sociales?'), pregunta('Tienes capacidad de liderazgo?'), pregunta('Tienes vocacion de servicio y sensibilidad social?'). turismo:- pregunta('Tienes comprension de la naturaleza y sus motivaciones?'), pregunta('Tienes critica frente a la realidad social vigente?'), pregunta('Tienes actitud favorable hacia el desarrollo sostenible?'). historia:- pregunta('Tienes dominio del frances o ingles como segunda lengua?'), pregunta('Tienes actitud para la investigacion?'), pregunta('Tienes predisposicion para el trabajo de archivo y biblioteca?'). abogado:- pregunta('Tienes habilidad para la comunicacion escrita y oral?'), pregunta('Tienes habilidad para resolver problemas?'), pregunta('Tienes control de emociones?'). enfermero:- pregunta('Tienes aptitud de servicio al ser humano, persona, familia y grupos comunitarios?'), pregunta('Tienes aptitud para comunicarse e interelacionarse?'), pregunta('Tienes dominio emocional asi como tener afinidad por las ciencias biologicas, psicologicas y sociales?'). farmaceutico:- pregunta('Tienes vocacion por el estudio de la biologia y la quimica?'), pregunta('Tienes interes por el servicio en el area de la salud con relacion al uso de medicamentos?'), pregunta('Tienes inclinaciones y destreza para manipular aparatos, equipos y sustancias en laboratorios?'). industrial:- pregunta('Tienes aptitudes para el desarrollo de capacidades de las areas fisicas y matematicas?'), pregunta('Tienes alto potencial creativo para el diseo e interpretacion de procesos?'), pregunta('Tienes habilidad de ser proactivo y dinamico?'). mecanico:- pregunta('Tienes elevada aptitud analitica?'), pregunta('Tienes habilidad para representar graficamente?'), pregunta('Tienes habilidad de crear y modificar cosas?'). metalurgico:- pregunta('Tienes habilidad y destreza para discriminacion visual y manipulacion de equipos e instrumentos?'), pregunta('Tienes habilidad en quimica fisica y matematica?'), pregunta('Tienes capacidad de liderazgo y sentido comun?'). sistemas:- pregunta('Tienes capacidades analiticas para la evaluacion de problemas que plantean la realidad profesional?'), pregunta('Tienes liderazgo para gerenciar los sistemas integrales de informacion computarizada?'), pregunta('Tienes capacidades organizativas para estructurar sistemas sociales y su interelacion comunicativa en tiempo real?'). materiales:- pregunta('Tienes capacidad de abstraccion sentido logico y habilidad para discriminar actividades abstractas?'), pregunta('Tienes amplia habilidad de fisica, quimica y matematicas?'), pregunta('Tienes aptitud vocacional, coeficiente intelectual mayor al promedio?'). minas:- pregunta('Tienes capacidad de liderazgo y vocacion por la carrera?'), pregunta('Tienes estado fisico bueno?'), pregunta('Tienes aptitud para elaborar en las alturas de las cordilleras?'). mecatronico:- pregunta('Tienes elevada aptitud analitica para investigar el mundo como es?'), pregunta('Tienes inventiva para crear el mundo que nunca has ido?'), pregunta('Tienes capacidad para desarrollar nuevas soluciones tecnologicas?'). quimico:- pregunta('Tienes buenas condiciones sensoriales y memoria?'), pregunta('Tienes capacidad deductiva?'), pregunta('Tienes capacidad para plantear soluciones de tipo practico?'). ambiental:- pregunta('Tienes capacidad para desarrollar soluciones tecnologicas limpias?'), pregunta('Tienes actitud analitica proactiva?'), pregunta('Tienes vocacion para investigar, planificar, disear y solucionar problemas sobre nuestro medio ambiente?'). %%%%%%%%%% 2.2.2. MOTOR DE INFERENCIAS Trata de emparejar la lista de nuestra de Base de Conocimiento con reglas pre determinadas y tambin aqu se encuentran reglas adicionales para el uso de la interfaz de usuario y as nuestro programa sea ms interactivo. %%%%% REGLAS_INTERFAZ %%%%% :-use_module(library(pce)). :-use_module(library(pce_style_item)). consulta:- new(Menu,dialog('SISTEMA EXPERTO DE TEST VOCACIONAL',size(500,500))), new(L,label(nombre,'BIENVENIDO A SU DIAGNOSTICO')), new(@texto,label(nombre,'Segun la respuesta dada tendra un resultado:')), new(@resp1,label(nombre,'')), new(Salir,button('SALIR',and(message(Menu,destroy),message(Men u,free)))), new(@boton,button('Realizar test',message(@prolog,botones))), send(Menu,append(L)),new(@btncarrera,button('Diagnostico ?')), send(Menu,display,L,point(50,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). %%%%%%%%%%
3. EJECUCIN Esta es una ejecucin de ejemplo en la que la respuesta llegar a ser Ingeniero Informtico. Seleccionamos nuestro archivo testVoc.pl, luego ingresamos a la Shell de Prolog y escribimos consulta.. Y luego aparecer nuestra interfaz y lo dems pasos sern los siguientes. Damos clic en el botn Realizar test.
Ilustracin 2: Inicio
El siguiente paso es contestar a las preguntas que nos hace el Sistema Experto.
Ilustracin 3: Pregunta 01
Ilustracin 4: Pregunta 02
Ilustracin 5: Pregunta 03
Ilustracin 6: Pregunta 04
Ilustracin 7: Pregunta 05
Ilustracin 8: Pregunta 06
Finalmente, la respuesta nos sale Ingeniero Informtico.
Ilustracin 9: Final 4. REFERENCIAS BIBLIOGRFICAS http://elies.rediris.es/elies18/522.html http://sistexpertosmalkav.blogspot.com/2012/04/33-motor-de-inferencia.html http://sistemasexpertosproactivas.blogspot.com/p/ventajas-y-desventajas-de- los-se.html http://informaticaintegral.net/sisexp.html http://www.nachocabanes.com/tutors/IntroProlog.html http://www2.uah.es/jcaceres/uploaded/teoria/LogicaComputacional/Tutorial_Bas ico_Prolog.pdf Gua del Postulante de la Universidad Nacional de Trujillo 2011.