Anda di halaman 1dari 7

SISTEMA EXPERTO: GUA DE TURISMO

Rodrguez Rodrguez Evelin Leydy


Rodrguez Sandoval Lourdes
Estudiantes de Ing. Informtica
Universidad Nacional de Trujillo
mefck_91@hotmail.com
lourdes.rs94@gmail.com

RESUMEN
Se implementar un sistema experto en
programacin lgica utilizando el
programa Prolog con una conexin con
el entorno de desarrollo NetBeans cuyo
propsito ser solucionar el problema
de las personas que deseen hacer
turismo en el interior del pas pero no
tengan idea del lugar a elegir. Para ello
primero haremos una breve descripcin
de los sistemas expertos y de su
importancia y despus pasaremos a
desarrollar el problema, un sistema
experto ampliamente utilizado.

1. Introduccin
Son llamados as porque emulan el
razonamiento de un experto en un
dominio concreto, y en ocasiones son
usados por stos. Con los sistemas
expertos se busca una mejor calidad y
rapidez en las respuestas, dando as
lugar a una mejora de la productividad
del propio experto al usar este tipo de
sistemas informticos.



Docente Asesor:
Arturo Daz Pulido.


1.1 . Usos de un Sistema Experto

a) Los Sistemas Expertos pueden
obtener conclusiones y resolver
problemas de forma ms rpida
que los expertos humanos.

b) Los Sistemas Expertos razonan
pero en base a un conocimiento
adquirido y no tienen sitio para
la subjetividad.


c) Se ha comprobado que los
Sistemas Expertos tienen al
menos, la misma competencia
que un especialista humano.

d) Con la ayuda de un Sistema
Experto, personas con poca
experiencia pueden resolver
problemas que requieren un
"conocimiento formal
especializado".







1.2 . Arquitectura y
funcionamiento de un sistema
experto

Est basada en una entrada de datos
realizada por el usuario a fin de efectuar
la oportuna consulta. Las entradas no
solamente estn compuestas de estas
consultas.


1.2.1 Base de conocimientos (BC):
Contiene conocimiento
modelado extrado del
dialogo con el experto.
1.2.2 Base de hechos(Memoria de
trabajo):
Contiene los hechos sobre un
problema que se ha descubierto
durante el anlisis.
1.2.3 Motor de inferencia:
Modela el proceso de
razonamiento humano.
1.2.4 Mdulos de justificacin:
Explica el razonamiento utilizado
por el sistema para llegar a una
determinada conclusin.
1.2.5 Interfaz de usuario:
Es la interaccin entre el SE y el
usuario, y se realiza mediante el
lenguaje natural.
1.2.6 Mdulo de comunicaciones:
Es la interaccin con otros
sistemas o con el experto, para
poder recoger informacin o
consultar bases de datos.
1.2.7 Mdulo de adquisicin:
Permite al experto, la
construccin de la base de
conocimiento de una forma
sencilla.

1.3 . Ventajas y Desventajas de un
Sistema Experto

1.3.1 Ventajas:
Permanencia:
A diferencia de un experto
humano un SE no envejece, y por
tanto no sufre perdida de
facultades con el paso de
tiempo.
Duplicacin:
Una vez programado un SE lo
podemos duplicar 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.




1.3.2 Desventajas:

El conocimiento es difcil de extraer
de los expertos humanos.

Tienen una nocin muy limitada
acerca del contexto del problema.

Pueden existir decisiones que slo
son de competencia para un ser
humano y no una mquina.

No saben cmo subsanar sus
limitaciones, no son capaces de
trabajar en equipo o investigar algo
nuevo.

Son muy costosos de desarrollar y
mantener.

1.4. Lenguaje de Programacin
Utilizado: Prolog
1.4.1. Introduccin a Prolog:
Es un lenguaje de programacin ideado
a principios de los aos 70 en la
Universidad de Aix-Marseille I (Marsella,
Francia) por los estudiantes modlicos
Alain Colmerauer y Philippe Roussel.
Naci de un proyecto que no tena como
objetivo la traduccin de un lenguaje de
programacin, sino la clasificacin
algortmica de lenguajes naturales.
Prolog es un lenguaje de programacin
creado para representar y utilizar el
conocimiento que se tiene sobre un
determinado dominio. Ms
exactamente, el dominio es un conjunto
de objetos y el conocimiento se
representa por un conjunto de
relaciones que describen las
propiedades de los objetos y sus
interrelaciones. Un conjunto de reglas
que describa estas propiedades y estas
relaciones es un programa PROLOG.
Una definicin ms accesible para el
usuario comn sera:
Prolog es un lenguaje de
programacin que es usado para
resolver problemas que
envuelven objetos y las
relaciones entre ellos.
Su definicin basada en la lgica formal,
permite ejecutar estatutos que no son
otra cosa que oraciones de un lenguaje
lgico elemental particular de clusulas.
Prolog por su naturaleza muestra una
habilidad para describir gramticas, en
particular gramticas libres de contexto.
Prolog se enmarca en el paradigma de
los lenguajes lgicos y declarativos, lo
que lo diferencia enormemente de otros
lenguajes ms populares tales como
Fortran, Pascal, C o Java.
1.4.2. Caractersticas:
Basado en Lgica y
programacin declarativa.
Produce estilo de programacin
orientado a metas.
No se especifica cmo debe
hacerse, sino qu debe lograrse
El programador se concentra
ms en el conocimiento que en
los algoritmos:
Qu es conocido? (hechos
relaciones )
Qu preguntar?(cmo
resolverlo)
1.4.3. Derivado:

Micro-PROLOG es el nombre de
una variante o dialecto del
lenguaje PROLOG, inicialmente
creada para microordenadores
de 8 bits, popularizada a
principios de la dcada de 1980.
Fue usado en la enseanza
pblica, normalmente como
introduccin a la programacin
lgica y a la Inteligencia Artificial.

2. Gua de Turismo:
2.1 Planteamiento del Problema:
Sistema de recomendacin de una
ciudad del Per, aconsejando qu sitios
visitar segn sus preferencias, sus
posibilidades, su experiencia (por
ejemplo, si conoce la ciudad o no), etc.
Este enunciado quedaba bastante
abierto a diferentes maneras de
implementar el programa, por lo que
pensamos en alguna solucin que
resultara til para todas aquellas
personas que disponen de das libres
para poder viajar por el Per.
De este modo, decidimos que nuestro
programa recomendara un viaje
(partiendo de Trujillo) a cualquier
ciudad del Per (de entre 23 posibles),
calculando los costos del trayecto, la
estada y teniendo siempre en cuenta
las preferencias de los viajeros.
Todos estos viajes son factibles tanto en
tiempo como en dinero para un fin de
semana (los datos introducidos son
reales), por lo que es una buena
referencia para al menos orientarse.
3. Resolucin del Problema:
Para llegar a la solucin final,
pasamos por diferentes fases, las
cuales detallamos a
continuacin:

3.1. Bsqueda de la Informacin:
Debido a que nuestra intencin era
elaborar un programa lo ms realista
posible, buscamos informacin real en
Internet de los precios de algunas
agencias de transporte a cada una de las
ciudades que se van a implementar.
Adems, averiguamos en la pgina web
de Y tu qu planes? para informarnos
acerca de los precios de las estadas en
las distintas ciudades.

3.2. Eleccin de las caractersticas y
descripcin de las ciudades

Esta fase era crtica para el
funcionamiento de nuestro programa.
Tuvimos que escoger las caractersticas
adecuadas para cada ciudad, y para ello
nos basamos en la informacin que
buscamos en internet sobre los mejores
lugares para visitar en cada ciudad.

3.3. Creacin de reglas e instrucciones

Durante esta fase nos dedicamos a
declarar los predicados y las reglas
derivadas.
Implementamos distintas funciones
para la resolucin del programa
completo. Esta fase se explica ms en
profundidad en el siguiente apartado.


3.4. Implementacin de la Solucin:
Implementamos distintas funciones
para la resolucin del programa
completo.
En primer lugar, realizamos la base de
conocimientos, en la que incluimos la
informacin de las diferentes ciudades y
sus atributos.

Tambin incluimos las distintas
caractersticas de las ciudades, para
poder escoger de acuerdo a las
preferencias de cada viajante.

Por lo que, dependiendo de las
preferencias que escoja el viajero, el
programa seleccionar todas las
ciudades que encajen con esas
caractersticas:
opcion_elegida(playa,_,Ciu
dad):-playa(Ciudad).
opcion_elegida(cultura,_,C
iudad):-cultura(Ciudad).
opcion_elegida(parque,_,Ci
udad):-parque(Ciudad).
opcion_elegida(montaa,_,C
iudad):-montaa(Ciudad).
opcion_elegida(norte,_,Ciu
dad):-norte(Ciudad).
opcion_elegida(sur,_,Ciuda
d):-sur(Ciudad).
opcion_elegida(fiestas,Mes
,Ciudad):-
fiestas(Ciudad,Mes).

A continuacin, el programa calcular
el coste que le conlleva al viajero llegar
hasta esas ciudades:
transporte(Ciudad,bus,Cost
e):- en_bus(Ciudad,Coste).

Y se calcula el precio total del viaje en
cada ciudad seleccionada.

viaje(Ciudad,Transporte,Pr
ecio):-
transporte(Ciudad,Transpor
te,Coste_t),
finde_hotel(Ciudad,Coste_h
),
Precio is Coste_t+Coste_h.

Una vez que se ha calculado el precio del
viaje, se comprueba si est dentro de
nuestro presupuesto permitido, con la
siguiente funcin:

comprueba_precio(Ciudad,
Transporte,Presupuesto,P
recio):-
viaje(Ciudad,Transporte,
Precio), Z is
Presupuesto-Precio,Z>0.

Debido a la utilizacin del valor de
Presupuesto en el programa, es
necesario que el cliente introduzca un
Presupuesto para su viaje, aun cuando
no tenga lmite de presupuesto (en ese
caso, bastar con introducir una elevada
cantidad).
Finalmente, se imprimen por pantalla
los resultados (Ciudad(es), Precios y
Transporte(s)) y se muestra informacin
turstica de cada una de las ciudades.
La funcin descripcin contiene
informacin escrita de la ciudad en
concreto, mientras que la funcin
separa consiste en una lnea para
resaltar esta informacin.

La funcin principal del programa es la
siguiente:

tour(Ciudad,Mes,Presupuest
o,Transporte,Precio_total,
Preferencias):-
opcion_elegida(W,Mes,Ciuda
d),
comprueba_precio(Ciudad,Tr
ansporte,Presupuesto,Preci
o_total),
imprimir(Ciudad,Transporte
).

Esta funcin se encarga de recoger
todos los parmetros de entrada e ir
llamando a las funciones anteriormente
explicadas para devolver la solucin del
problema. En el ltimo parmetro se
pueden incluir una o ms opciones
acerca de lo que pretende el usuario
durante su viaje.
El programa consta adems de una
funcin ayuda en la que se explica la
funcionalidad del programa y se informa
al usuario cmo se deben introducir los
parmetros.

4. Pruebas: A continuacin,
realizaremos una serie de
pruebas, para mostrar los
resultados obtenidos.





4.1. Funcin Ayuda: Le brindar
instrucciones al usuario para que pueda
utilizar el sistema experto. (Ver imagen
1).
4.2. Funcin principal del programa:
En esta primera prueba, el programa no
nos devuelve ninguna ciudad acorde con
los requisitos especificados por el
usuario porque el presupuesto
introducido es insuficiente para
desplazarse a cualquier ciudad situada
al norte y con playa. Posteriormente,
vemos cmo aumentando el
presupuesto, obtenemos ms ciudades
y diferentes medios de transporte.
(Ver imagen 2).


5. Conclusiones:
Gracias al lenguaje de
programacin Prolog, hemos
conseguido resolver el problema
del desarrollo de un sistema
experto en turismo de una
manera relativamente sencilla.

Por medio de la declaracin de
una base de conocimientos y
unas sencillas reglas somos
capaces de, a partir de ciertas
premisas, llegar a la
recomendacin de la ciudad ms
adecuada para el viajero que
utiliza nuestro programa.

Durante la implementacin de
este programa hemos
profundizado ms en el
conocimiento del lenguaje
Prolog, aprendiendo un poco
ms su programacin,
aumentando nuestro inters en
una introduccin en el campo de
la inteligencia artificial, y la
creacin de sistemas expertos.

Por otro lado, consideramos que
aplicaciones de este tipo son
tiles para el ser humano, y
pensamos darle uso ms de una
vez para escoger una ciudad a la
cual viajar.


6. Referencias Bibliogrficas:
http://es.wikipedia.org/
wiki/Prolog

http://artemisa.unicauca
.edu.co/~lgarreta/elengu
ajes/classes/logical/apun
tes05lp-prolog.pdf

http://arantxa.ii.uam.es/
~dcamacho/logica/recur
sos/3848.0.prolog.pdf













Anexos:

Imagen 1:




















Imagen 2:

Anda mungkin juga menyukai