You are on page 1of 22

SISTEMA EXPERTO

TEST VOCACIONAL UNT




AUTORES
Gutirrez Valdivia, Carolina
Lastra Bazn, Maicol

DOCENTE
Ing. Daz Pulido, Arturo

MATERIA
Programacin Lgica

ESCUELA
Ingeniera Informtica

FACULTAD
Ciencias Fsicas y Matemticas

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



NDICE DE ILUSTRACIONES

ILUSTRACIN 1: RBOL DEL SISTEMA EXPERTO .................................................................................... 8
ILUSTRACIN 2: INICIO ................................................................................................................................... 17
ILUSTRACIN 3: PREGUNTA 01 ................................................................................................................... 18
ILUSTRACIN 4: PREGUNTA 02 ................................................................................................................... 18
ILUSTRACIN 5: PREGUNTA 03 ................................................................................................................... 19
ILUSTRACIN 6: PREGUNTA 04 ................................................................................................................... 19
ILUSTRACIN 7: PREGUNTA 05 ................................................................................................................... 20
ILUSTRACIN 8: PREGUNTA 06 ................................................................................................................... 20
ILUSTRACIN 9: FINAL .................................................................................................................................... 21















SISTEMA EXPERTO
TEST VOCACIONAL UNT

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).
%%%%%%%%%%

%%%%% REGLAS_DEL_PROGRAMA %%%%%
:-dynamic si/1,no/1.
preguntar(Problema):- new(Di,dialog('TEST VOCACIONAL')),
new(L2,label(texto,'Responde la siguiente pregunta')),
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),
carrera(Enfer),
send(@texto,selection('Segun las respuestas
obtenidas usted debe ser:')),
send(@resp1,selection(Enfer)),
new(@boton,button('Iniciar su
Evaluacion',message(@prolog,botones))),
send(Menu,display,@boton,point(40,50)),
send(Menu,display,@btncarrera,point(20,50)),
limpiar.
lim:- send(@resp1,selection('')).
%%%%%%%%%%






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.

You might also like