Sistema Experto Turismo

ÍNDICE. I. INTRODUCCIÓN. ..............................................................................................

Views 111 Downloads 5 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ÍNDICE. I.

INTRODUCCIÓN. ................................................................................................................... 3 1.1.

ANTECEDENTES. ............................................................................................................ 3

1.2.

OBJETIVOS DEL PROYECTOS. ........................................................................................ 4

1.2.1.

OBJETIVOS GENERALES. ....................................................................................... 4

1.2.2.

OBJETIVOS ESPECÍFICOS. ...................................................................................... 5

1.3.

JUSTIFICACIÓN. ............................................................................................................. 5

1.3.1.

JUSTIFICACION TECNICA. ...................................................................................... 5

1.3.2.

JUSTIFICACION ECONOMICA. ............................................................................... 5

1.3.3.

JUSTIFICACION SOCIAL. ........................................................................................ 6

1.4.

ALCANCE. ...................................................................................................................... 6

1.5.

PROPUESTA. .................................................................................................................. 6

II.

DEFINICIÓN DEL PROBLEMA. ............................................................................................... 7 2.1.

ENUNCIADO DEL PROBLEMA. ...................................................................................... 7

2.2.

CUADRO PICTOGRÁFICO. ............................................................................................. 8

III.

MÉTODO A EMPLEAR. ...................................................................................................... 9

3.1.

CONCEPTOS Y DESCRIPCIÓN DEL MÉTODO. ................................................................ 9

3.2.

MAPA SEMÁNTICO. .................................................................................................... 11

IV.

DISEÑO DE LAS REGLAS. ................................................................................................. 12

4.1.

REDES DE INFERENCIA. ............................................................................................... 12

4.2.

REGLAS. ....................................................................................................................... 14

V.

SISTEMA. ............................................................................................................................. 18 5.1.

DESCRIPCIÓN DEL SISTEMA. ....................................................................................... 18

5.2.

REQUERIMIENTOS MÍNIMOS DE HARDWARE Y SOFTWARE. ................................... 18

5.3.

CÓDIGO FUENTE DEL ENTREGABLE. ........................................................................... 19

5.4.

INSTANCIAS DE PRUEBA. ............................................................................................ 28

VI.

CONCLUSIONES. .............................................................................................................. 31

VII.

RECOMENDACIONES. ..................................................................................................... 32

VIII.

REFERENCIAS BIBLIOGRÁFICAS. ..................................................................................... 33

IX.

ANEXOS. .......................................................................................................................... 34

9.1.

JARDÍN BOTÁNICO. ..................................................................................................... 34

9.2.

SAN CRISTÓBAL........................................................................................................... 35

9.3.

ZOO CRIADERO UNAS. ................................................................................................ 35

9.4.

SERPENTARIO.............................................................................................................. 36

9.5.

JACINTILLO. ................................................................................................................. 36

9.6.

CUEVA DE LAS LECHUZAS. .......................................................................................... 37

9.7.

SANTA CARMEN. ......................................................................................................... 38

9.8.

ALCANTARILLA. ........................................................................................................... 39

9.9.

CUEVA DE LAS PAVAS. ................................................................................................ 39

9.10.

AGUAS SALADAS. .................................................................................................... 40

9.11.

VELO DE LAS NINFAS. ............................................................................................. 41

9.12.

GLORIAPATA. .......................................................................................................... 42

9.13.

SOL NACIENTE. ........................................................................................................ 43

9.14.

VIVERO DE ORQUÍDEAS. ......................................................................................... 43

9.15.

EL COLONO. ............................................................................................................. 44

9.16.

PLAZA DE ARMAS. .................................................................................................. 45

I.

INTRODUCCIÓN.

Actualmente se le da mucha importancia al ocio en nuestras vidas, y un campo muy importante dentro del terreno del ocio es el tema de los viajes. Muchas veces tenemos ganas de viajar, conocer nuevos sitios, nuevas culturas, o simplemente pegarnos unos “chapuzones” en la playa o ir de juerga con los amigos para evadirnos de la “rutinaria ciudad”.

Después de conseguir poner de acuerdo a las personas adecuadas para realizar un viaje en una fecha determinada, surgen los problemas para decidir cuál es la ciudad adecuada para ese viaje. Y es aquí cuando entra en juego nuestro programa: El sistema experto en turismo.

Se trata de un programa fácil de interactuar con él, implementado en el lenguaje de programación “Prolog”, el cual, a partir de nuestras preferencias y restricciones económicas nos recomienda todas las opciones turísticas que se amoldan a esas características, así como el precio del viaje y lo que hay que visitar en cada ciudad.

1.1. ANTECEDENTES. En la ciudad de Tingo María existe un solo proyecto de Sistemas Expertos aplicados al Turismo, que se desarrollo como proyecto final del curso de Inteligencia Artificial y Sistemas Expertos. Sin embargo podemos mencionar diversos trabajos de Sistemas Expertos en Turismo de otros países como base de referencia.

SISTEMA EXPERTO APLICADO AL TURISMO PARA CIUDAD DE TINGO MARIA. El sistema experto muestra la descripción de los lugares turísticos de la ciudad de Tingo María, el coste y la aptitud de las personas para tal lugar. Sin embargo este sistema no cuenta con una base de datos y ni una buena interacción con la inferencia proveniente de PROLOG, el cual lo hace insuficiente de razonamiento y dialecto natural. SISTEMA EXPERTO EN TURISMO. Gracias al lenguaje de programación en PROLOG, consiguieron resolver el problema del desarrollo de un sistema experto en turismo de una manera relativamente sencilla, en la cual utilizaron una base de hechos y reglas, que muestran la recomendación de la ciudad más adecuada para el viajero que utiliza el programa. DISEÑO E IMPLEMENTACION DE UN SISTEMA EXPERTO DE SOFTWARE PARA BRINDAR INFORMACION TURISTICA EN EL ESTADO DE GUANAJUATO. El logro de este sistema es que es único, ya que en el entorno nacional no tiene evidencia de un sistema similar, también brinda asesoría a turistas. Este proyecto tiene grandes expectativas puesto que en Guanajuato no cuentan con este tipo de sistemas.

1.2. OBJETIVOS DEL PROYECTOS. 1.2.1. OBJETIVOS GENERALES. Diseñar un sistema experto en el sector turismo para brindar información que pueda recomendar y sugerir el destino que puede ser visitado por el turista.

1.2.2. OBJETIVOS ESPECÍFICOS. 

Recopilar información necesaria mediante la interacción con expertos del sector seleccionado.



Crear un prototipo del conocimiento experto modelado en lenguaje Prolog.



Crear un menú principal fácil de usar para proporcionar el fácil acceso a la información entre el usuario y el sistema.

1.3. JUSTIFICACIÓN. 1.3.1. JUSTIFICACION TECNICA. El presente proyecto se justifica técnicamente por la utilización de sistemas expertos como una herramienta en el campo del turismo que mediante la sistematización de las características de sitios turísticos contribuirá a un diagnostico oportuno y confiable de los sitios turísticos que el turista desea conocer, permitiendo de esta manera un aporte al desarrollo tecnológico de nuestra localidad y nuestro país.

1.3.2. JUSTIFICACION ECONOMICA. El presente proyecto se justifica económicamente debido a que un sistema experto de turismo, ayudará a reducir el tiempo y costo en la identificación de lugares turísticos por parte de los turistas, el turista estará en la capacidad de poder explorar el sistema experto por si mismo generando de esta forma un ahorro en la contratación de guías turísticos particulares. Por otro lado mejorará el nivel de atención al turista en la ciudad de Tingo María, incrementando así la visita de turistas de está forma habrá un aumento en la economía de la ciudad.

1.3.3. JUSTIFICACION SOCIAL. El presente proyecto se justifica socialmente contribuyendo en colaborar con las agencias de turismo y con los expertos en guías de turismo a mejorar la atención a los turistas, así mismo atraer turistas logrando de esta forma alcanzar el desarrollo turístico que todos los habitantes de la cuidad desean.

1.4. ALCANCE. Los alcances de este proyecto identifican los objetivos específicos el cual debe lograrse. Los ámbitos son los siguientes: 

El conocimiento experto es el modelo para ayudar a cubrir los turistas en la elección del destino deseado basado en el presupuesto previsto con el que cuenta cada turista.



El segundo ámbito cubre todas las rutas disponibles mediante el cual el turista puede llegar a su lugar deseado.



La base de datos almacena toda la información de los lugares turísticos propuestas por los turistas.



Este sistema se limita a la industria del turismo en la ciudad de Tingo María y alrededores.

1.5. PROPUESTA. El proyecto consiste en un sistema experto para turismo el cual nos ayudará a planear mejor un viaje, es decir, que el usuario no llegue a su destino sin conocerlo, ya que el sistema podrá mostrar los lugares turísticos de la ciudad de tingo maría y el turista podrá hacer una búsqueda ingresando sus preferencias en paisajes turísticos, de esta forma con estas características el sistema experto hará un diagnóstico del lugar que cumpla con todas las condiciones ingresadas y lo mostrará al turista.

II.

DEFINICIÓN DEL PROBLEMA.

2.1. ENUNCIADO DEL PROBLEMA. Sistema de recomendación de lugares turísticos para la ciudad de Tingo María, sugiriendo los servicios (alojamiento, restaurant, etc.) con que cuenta el lugar turístico y también sus características, es decir si es balneario, cueva, jardín, parque, etc. Este sistema queda bastante abierto a diferentes modos de implementar el programa, por lo que pensamos en alguna solución que resultara útil para todas aquellas personas que disponen de fines de semanas libres para poder realizar un paseo a los lugares turísticos de la ciudad. De este modo, decidimos que nuestro programa recomendaría un paseo a cualquier lugar turístico, calculando la estancia, el coste de entrada y teniendo siempre en cuenta las preferencias de las visitantes. Todos estos paseos son factibles tanto en tiempo como en dinero para un fin de semana (los datos introducidos son reales), por lo que nos parece una buena referencia para orientarnos que lugares visitar.

2.2. CUADRO PICTOGRÁFICO.

III. MÉTODO A EMPLEAR. 3.1. CONCEPTOS Y DESCRIPCIÓN DEL MÉTODO. El método emplear es encadenamiento hacia adelante: La llamada "técnica de encadenamiento hacia adelante" consiste en aplicar al conocimiento-base (organizado en forma de reglas de producción), junto con otro conocimiento disponible, el esquema inferencial

modus

ponens.

Esta

estrategia

se

denomina

"encadenamiento hacia adelante" o "razonamiento de datos dirigidos", porque comienza con los datos conocidos y aplica el modus ponens sucesivamente hasta obtener los resultados que se siguen. Las reglas se aplican "en paralelo", o sea, en cualquier iteración una regla toma los datos cuales eran al principio del ciclo, por lo tanto el conocimientobase y el sistema no dependen del orden en el que las reglas son establecidas, almacenadas o procesadas. Esta técnica suele utilizarse cuando la cantidad de datos es potencialmente muy grande, y resulta de interés algún conocimiento específico tomado en consideración 3.1.1. 

Ventajas y desventajas del método Los Sistemas Expertos que se codifican y tratan el conocimiento de un experto, alcanzan el nivel de prestaciones de un experto humano.



La separación entre base de conocimiento y motor de inferencia proporciona una gran flexibilidad al Sistema.



Los Sistemas Expertos permiten llegar a una reflexión sobre el conocimiento y los procedimientos, para toma de decisiones realizados por los expertos.



Posibilidad de trazar el razonamiento seguido por el Sistema Experto.



Algunos Sistemas Expertos utilizan coeficientes de verosimilitud para ponderar sus deducciones.



En manipulación de símbolos, los Sistemas Expertos abren el campo a nuevas aplicaciones, no automatizadas hasta la fecha.

3.2. MAPA SEMÁNTICO.

IV. DISEÑO DE LAS REGLAS. 4.1. REDES DE INFERENCIA. Diseño no Estructurado

Diseño Estructurado.

4.2. REGLAS. conexion:odbc_connect('turismo',_, [ user(manuel), password('manuel'), alias(turismo_db), open(once) ]).

get_lugares:-conexion,

odbc_query(turismo_db,'SELECT

id_lugar,

nombre_lugar FROM lugares_turisticos', Lug, [types([integer, default])]), print_resultado(Lug),fail;true.

get_categorias:-conexion, odbc_query(turismo_db,'SELECT id_categoria, nombre_categoria FROM categorias', Cat, [types([integer, default])]), print_resultado(Cat),fail;true.

get_servicios:-conexion, odbc_query(turismo_db,'SELECT id_servicio, nombre_servicio FROM servicios', Ser, [types([integer, default])]), print_resultado(Ser),fail;true.

get_transportes:-conexion, id_transporte,

odbc_query(turismo_db,'SELECT

nombre_transporte

FROM

transportes',

Tra,

lt.nombre_lugar

from

[types([integer, default])]), print_resultado(Tra),fail;true.

preparar_lugar_por_categoria:-conexion, odbc_prepare(turismo_db,'select

lt.id_lugar,

lugares_turisticos lt inner join categorias_lugares cl on cl.id_lugar = lt.id_lugar inner join categorias c on c.id_categoria = cl.id_categoria where c.id_categoria=?',

[atom>varchar(11)], Handle, [types([default, default])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_lugar_por_categoria(Id_categoria):-preparar_lugar_por_categoria, odbc_handle(Handle), odbc_execute(Handle,

[Id_categoria],

Registro),print_resultado(Registro),fail;true.

preparar_ubicacion_lugar:-conexion, odbc_prepare(turismo_db,'SELECT

ubicacion_lugar

FROM

lugares_turisticos WHERE id_lugar=?', [atom>varchar(11)], Handle, [types([atom])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_ubicacion_lugar(Id_lugar):-preparar_ubicacion_lugar, odbc_handle(Handle), odbc_execute(Handle,

[Id_lugar],

Registro),print_resultado(Registro),fail;true.

preparar_descripcion_lugar:-conexion, odbc_prepare(turismo_db,'SELECT

descripcion_lugar

lugares_turisticos WHERE id_lugar=?', [atom>varchar(11)], Handle, [types([atom])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_descripcion_lugar(Id_lugar):-preparar_descripcion_lugar,

FROM

odbc_handle(Handle), odbc_execute(Handle,

[Id_lugar],

Registro),print_resultado(Registro),fail;true.

preparar_costo_ingreso_lugar:-conexion, odbc_prepare(turismo_db,'SELECT

costo_ingreso_lugar

FROM

lugares_turisticos WHERE id_lugar=?', [atom>varchar(11)], Handle, [types([default])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_costo_ingreso_lugar(Id_lugar):-preparar_costo_ingreso_lugar, odbc_handle(Handle), odbc_execute(Handle,

[Id_lugar],

Registro),print_resultado(Registro),fail;true.

preparar_transporte_lugar:-conexion, odbc_prepare(turismo_db,'SELECT

t.nombre_transporte,

tl.precio_transporte_lugar FROM lugares_turisticos lt INNER JOIN transportes_lugares tl ON tl.id_lugar = lt.id_lugar INNER JOIN transportes

t

ON

t.id_transporte

=

tl.id_transporte

WHERE

lt.id_lugar=?', [atom>varchar(11)], Handle, [types([default,default])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_transporte_lugar(Id_lugar):-preparar_transporte_lugar, odbc_handle(Handle), odbc_execute(Handle, Registro),print_resultado(Registro),fail;true.

[Id_lugar],

preparar_lugar_servicio:-conexion, odbc_prepare(turismo_db,'SELECT lt.id_lugar, lt.nombre_lugar FROM lugares_turisticos lt INNER JOIN servicios_lugares sl ON sl.id_lugar = lt.id_lugar INNER JOIN servicios s ON s.id_servicio = sl.id_servicio WHERE s.id_servicio=?', [atom>varchar(11)], Handle, [types([default, default])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_lugar_servicio(Id_lugar):-preparar_lugar_servicio, odbc_handle(Handle), odbc_execute(Handle, Registro),print_resultado(Registro),fail;true.

print_resultado(X):-write(X),nl.

[Id_lugar],

V.

SISTEMA. 5.1. DESCRIPCIÓN DEL SISTEMA. El sistema experto que se desarrollo tiene las siguientes características: Al iniciar nos da la bienvenida con un menú de opciones los cuales son: 1) Listar Lugares Turísticos. Esta opción muestra todos los lugares turísticos que se ingresaron en la base de conocimientos (Agua Salada, Cueva de las Pavas, Cuevas de las Lechuzas, etc.). 2) Listar Lugares Turísticos por Categoría. Esta opción muestra los lugares turísticos según las categorías existentes en la base de conocimientos (balneario, mirador, jardín, parque, etc.). 3) Listar Servicios. Esta opción muestra los servicios con que cuenta cada lugar turístico de la base de conocimiento (hospedaje, restaurant, venta de artesanías, etc.). 4) Acerca de. Esta opción muestra los integrantes del proyecto (Sistema Experto en Turismo).

5.2. REQUERIMIENTOS MÍNIMOS DE HARDWARE Y SOFTWARE. Hardware:     

Computadora con las siguientes características: Microprocesador: Pentium 4(mínimo recomendable) Ram: 512Mb (mínimo recomendable) Procesador: 2.9Ghz Disco Duro: 5 Gb de espacio para el sistema experto

Software:  

SWI-Prolog (Multi-threaded, 32 bits, Version 5.6.50) Wampserver 2.0i

5.3. CÓDIGO FUENTE DEL ENTREGABLE. conexion:odbc_connect('turismo',_, [ user(manuel), password('manuel'), alias(turismo_db), open(once) ]).

get_lugares:-conexion,

odbc_query(turismo_db,'SELECT

id_lugar,

nombre_lugar FROM lugares_turisticos', Lug, [types([integer, default])]), print_resultado(Lug),fail;true.

get_categorias:-conexion, odbc_query(turismo_db,'SELECT id_categoria, nombre_categoria FROM categorias', Cat, [types([integer, default])]), print_resultado(Cat),fail;true.

get_servicios:-conexion, odbc_query(turismo_db,'SELECT id_servicio, nombre_servicio FROM servicios', Ser, [types([integer, default])]), print_resultado(Ser),fail;true.

get_transportes:-conexion, id_transporte,

odbc_query(turismo_db,'SELECT

nombre_transporte

FROM

transportes',

Tra,

lt.nombre_lugar

from

[types([integer, default])]), print_resultado(Tra),fail;true.

preparar_lugar_por_categoria:-conexion, odbc_prepare(turismo_db,'select

lt.id_lugar,

lugares_turisticos lt inner join categorias_lugares cl on cl.id_lugar = lt.id_lugar inner join categorias c on c.id_categoria = cl.id_categoria where c.id_categoria=?', [atom>varchar(11)],

Handle, [types([default, default])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_lugar_por_categoria(Id_categoria):-preparar_lugar_por_categoria, odbc_handle(Handle), odbc_execute(Handle,

[Id_categoria],

Registro),print_resultado(Registro),fail;true.

preparar_ubicacion_lugar:-conexion, odbc_prepare(turismo_db,'SELECT

ubicacion_lugar

FROM

lugares_turisticos WHERE id_lugar=?', [atom>varchar(11)], Handle, [types([atom])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_ubicacion_lugar(Id_lugar):-preparar_ubicacion_lugar, odbc_handle(Handle), odbc_execute(Handle,

[Id_lugar],

Registro),print_resultado(Registro),fail;true.

preparar_descripcion_lugar:-conexion, odbc_prepare(turismo_db,'SELECT

descripcion_lugar

lugares_turisticos WHERE id_lugar=?', [atom>varchar(11)], Handle, [types([atom])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_descripcion_lugar(Id_lugar):-preparar_descripcion_lugar, odbc_handle(Handle),

FROM

odbc_execute(Handle,

[Id_lugar],

Registro),print_resultado(Registro),fail;true.

preparar_costo_ingreso_lugar:-conexion, odbc_prepare(turismo_db,'SELECT

costo_ingreso_lugar

FROM

lugares_turisticos WHERE id_lugar=?', [atom>varchar(11)], Handle, [types([default])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_costo_ingreso_lugar(Id_lugar):-preparar_costo_ingreso_lugar, odbc_handle(Handle), odbc_execute(Handle,

[Id_lugar],

Registro),print_resultado(Registro),fail;true.

preparar_transporte_lugar:-conexion, odbc_prepare(turismo_db,'SELECT

t.nombre_transporte,

tl.precio_transporte_lugar FROM lugares_turisticos lt INNER JOIN transportes_lugares tl ON tl.id_lugar = lt.id_lugar INNER JOIN transportes

t

ON

t.id_transporte

=

tl.id_transporte

WHERE

lt.id_lugar=?', [atom>varchar(11)], Handle, [types([default,default])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_transporte_lugar(Id_lugar):-preparar_transporte_lugar, odbc_handle(Handle), odbc_execute(Handle, Registro),print_resultado(Registro),fail;true.

[Id_lugar],

preparar_lugar_servicio:-conexion, odbc_prepare(turismo_db,'SELECT lt.id_lugar, lt.nombre_lugar FROM lugares_turisticos lt INNER JOIN servicios_lugares sl ON sl.id_lugar = lt.id_lugar INNER JOIN servicios s ON s.id_servicio = sl.id_servicio WHERE s.id_servicio=?', [atom>varchar(11)], Handle, [types([default, default])]), abolish(odbc_handle/1), assert(odbc_handle(Handle)). get_lugar_servicio(Id_lugar):-preparar_lugar_servicio, odbc_handle(Handle), odbc_execute(Handle,

[Id_lugar],

Registro),print_resultado(Registro),fail;true.

print_resultado(X):-write(X),nl.

/*Para usar el menu se guarda el archivo con extencion .pl, se hace doble clic en el y listo, este codigo fue provado con SWI-Prolog, al digitar una opcion DEBE de poner un punto despues y enter*/

/* pausa submenuCategorias; (X = 3) -> submenuServicios; (X = 4) -> acerca_de,nl, pausa; error).

%-------------------------Menu Principal--------------------------------menu:borraPantalla, escribe("-----------Menu principal--------------"),nl, escribe("Digite su opcion:"),nl, tab(10),escribe("1) Listar lugares turisticos"),nl, tab(10),escribe("2) Listar categorias"),nl, tab(10),escribe("3) Listar servicios"),nl, tab(10),escribe("4) Acerca De"),nl, escribe("Su opcion es: "), read(X), opciones(X), menu.

%------------------------SubMenu Listar lugares turisticos-------------------------submenuLugaresTuristicos:borraPantalla,get_lugares,nl, escribe("-----------Opciones--------------"),nl, escribe("Digite el id del lugar para ver sus detalles"),nl,

escribe("Digite 'a' para volver al menu pricipal"),nl, escribe("Su opcion es: "), read(Op), opcionesLisLugTur(Op),pausa, submenuLugaresTuristicos.

%-------------------------Manejo de opciones SubMenu Listar lugares turisticos--------------------------------opcionesLisLugTur(Op):( (Op = a) -> menu; borraPantalla, escribe("Descripcion:"),nl, get_descripcion_lugar(Op),nl, escribe("Ubicacion"),nl, get_ubicacion_lugar(Op),nl, escribe("Costo de ingreso"),nl, get_costo_ingreso_lugar(Op),nl, escribe("Transporte y precio del pasaje"),nl, get_transporte_lugar(Op)).

%------------------------SubMenu Listar categorias--------------------------submenuCategorias:borraPantalla,get_categorias,nl, escribe("-----------Opciones--------------"),nl, escribe("Digite el id de la categoria para ver los lugares turisticos en dicha categoria"),nl, escribe("Digite 'a' para volver al menu pricipal"),nl, escribe("Su opcion es: "), read(Op), opcionesLisCat(Op),pausa, submenuCategorias.

%-------------------------Manejo de opciones SubMenu Listar categorias-------------------------------opcionesLisCat(Op):( (Op = a) -> menu; borraPantalla, get_lugar_por_categoria(Op),submenuLugaresTuristicosCategoria).

%------------------------SubMenu Listar lugares turisticos dentro de categorias--------------------------submenuLugaresTuristicosCategoria:escribe("-----------Opciones--------------"),nl, escribe("Digite el id del lugar para ver sus detalles"),nl, escribe("Digite 'a' para volver al menu anterior"),nl, escribe("Su opcion es: "), read(Op), opcionesLisLugTurCat(Op),pausa, submenuCategorias.

%-------------------------Manejo de opciones SubMenu Listar lugares turisticos dentro de categorias--------------------------------opcionesLisLugTurCat(Op):( (Op = a) -> submenuCategorias; borraPantalla, escribe("Descripcion:"),nl, get_descripcion_lugar(Op),nl, escribe("Ubicacion"),nl, get_ubicacion_lugar(Op),nl, escribe("Costo de ingreso"),nl, get_costo_ingreso_lugar(Op),nl, escribe("Transporte y precio del pasaje"),nl, get_transporte_lugar(Op)).

%------------------------SubMenu Listar servicios---------------------------

submenuServicios:borraPantalla,get_servicios,nl, escribe("-----------Opciones--------------"),nl, escribe("Digite el id del servicio para ver los lugares que ofrecen dicho servicio"),nl, escribe("Digite 'a' para volver al menu pricipal"),nl, escribe("Su opcion es: "), read(Op), opcionesLisSer(Op),pausa, submenuServicios.

%-------------------------Manejo de opciones SubMenu Listar servicios-------------------------------opcionesLisSer(Op):( (Op = a) -> menu; borraPantalla, get_lugar_servicio(Op),submenuLugaresTuristicosServicio).

%------------------------SubMenu Listar lugares turisticos dentro de servicios--------------------------submenuLugaresTuristicosServicio:escribe("-----------Opciones--------------"),nl, escribe("Digite el id del lugar para ver sus detalles"),nl, escribe("Digite 'a' para volver al menu anterior"),nl, escribe("Su opcion es: "), read(Op), opcionesLisLugTurSer(Op),pausa, submenuServicios.

%-------------------------Manejo de opciones SubMenu Listar lugares turisticos dentro de categorias--------------------------------opcionesLisLugTurSer(Op):( (Op = a) -> submenuServicios; borraPantalla,

escribe("Descripcion:"),nl, get_descripcion_lugar(Op),nl, escribe("Ubicacion"),nl, get_ubicacion_lugar(Op),nl, escribe("Costo de ingreso"),nl, get_costo_ingreso_lugar(Op),nl, escribe("Transporte y precio del pasaje"),nl, get_transporte_lugar(Op)).

:-menu.

5.4. INSTANCIAS DE PRUEBA. Menú principal.

Entrando a la opción 1) listar lugares turísticos

Viendo la información de un lugar turístico con id = ‘8’

Una vez presionado la tecla enter volvemos al menú anterior Si digitamos la letra ‘a’ regresamos al menú principal Entrando a la opción 2) Listar por categorías.

Una vez dentro de la opción

Viendo los lugares turísticos de la categoría con id = ‘3’.

Se puede digitar el id de un lugar turístico para ver sus detalles Para regresar al menú anterior se digita ‘a’. Entrando a la opción 3) Listar por servicios.

Una vez dentro de la opción

Viendo los lugares turísticos que ofrecen el servicio con id = ‘2’.

Se puede digitar el id de un lugar turístico para ver sus detalles Para regresar al menú anterior se digita ‘a’.

VI. CONCLUSIONES. Gracias al lenguaje de programación Prolog, hemos conseguido resolver el problema del desarrollo de un sistema experto en turismo de una manera relativamente sencilla. Se creó una base de conocimiento con la ayuda de los expertos y los conceptos teóricos de los libros, e internet. Por medio de la declaración de una base de datos y unas reglas somos capaces de, a partir de ciertas premisas, llegar a la recomendación del lugar turístico más adecuado para el turista que utiliza nuestro programa. Durante la implementación de este programa hemos profundizado más en el conocimiento del lenguaje Prolog, disfrutando en su programación y aumentando nuestro interés en el campo de la inteligencia artificial, y la creación de sistemas expertos. Por otro lado, consideramos que aplicaciones de este tipo son útiles para el ser humano, y pensamos darle uso más de una vez para escoger un lugar turístico que visitar.

VII. RECOMENDACIONES. Se recomienda desarrollar el sistema e implantarlo en un ambiente real, además de tratar mas adelante con mayor información como intereses y preferencias del usuario es decir, el tipo de actividades que este usuario le gusta hacer cuando visita otras ciudades (modelo de usuario). Lugares de otro usuario similar a la del usuario actual, historial de modelos cuando visitó el mismo lugar turístico. Una selección de los lugares más interesantes para el usuario sobre la base de su modelo.

VIII. REFERENCIAS BIBLIOGRÁFICAS. SALAZAR R. Mariana. Sistemas experto bayesiano para el diagnostico de las leishmaniasis. Escuela Militar de Ingeniería. Ingeniería. 2004. LOPEZ T. Bruno. Fases de administración de proyectos de sistemas expertos. http://www.itnuevolaredo.edu.mx/takeyas/Apuntes/Inteligencia%20Artificial /Apuntes/Filminas_Sistemas_Expertos/SistemasExpertos8.PDF.

Online

25/07/11. WIELEMAKER. Jan. SWI-prolog OBDC interface. Universidad de Ansterdam. http://www.swi-prolog.org/pldoc/package/odbc.html. Online 25/07/11. Android Tecnologies Inc. Worknet 2.0 Data Files en mysql format. http://www.androidtech.com/html/wordnet-mysql-20.php.

2004.

Online

25/07/11. VELASQUEZ.

Damaso.

PROLOG

.NET.http://www.webprogramacion.com/90/csharp/prolog-paranet.aspx.Online 27/07/11.

para

IX. ANEXOS. 9.1. JARDÍN BOTÁNICO.

Único en su género en la Selva del Perú, con características de un bosque de selva baja en miniatura, tiene aproximadamente 12 has. Y en él se exhiben más de 2000 especies de la flora tropical, forestal, ornamental y plantas silvestres nativas. Ofrece: 

Extensión de aprox. 400 m2 con una gran variedad de plantas.



Vivero de especies tropicales, para su venta.

Requisitos, Costo y acceso: 

Cualquier persona puede acceder a él, solo hay que tener en cuenta lo horarios de atención de lunes a sábado de 8:00 a 5:00pm



El costo es de transporte urbano, en motocar o bajaj a un 1.50

9.2. SAN CRISTÓBAL.

Es un mirador en los alrededor de la ciudad de Tingo desde el se obtiene la vista panorámica de Tingo María y de la bella durmiente. Ofrece: 

Vista Panorámica Tingo María y Bella Durmiente



Vista a los alrededores de Tingo María.

Requisitos, Costo y acceso: 

Los bajaj del casco urbano nos llevaran hasta las faldas del Mirador San Cristóbal por un coste de 1.50.

9.3. ZOO CRIADERO UNAS.

Ubicado en el interior de la Universidad Nacional Agraria de la Selva, ofrece a sus visitantes animales exóticos de la zona, la reproducción en cautiverio y el auxilio de algunas especies raras son uno de los fines del zoo criadero.

Requisitos, Costo y acceso: 

Cualquier persona puede acceder a este lugar



El costo es de transporte urbano en bajaj o motocar por 1.5

9.4. SERPENTARIO.

Ubicado en el Centro poblado menor de castillo grande, ofrece a sus visitantes una gran diversidad de ofidios, desde no venenosos hasta altamente peligrosos, siendo su principal atención una anaconda de 6 metros. Requisitos, Costo y acceso: 

Cualquier persona puede acceder a este lugar, tener en cuenta las fuertes impresiones que uno puede llevarse.



El costo de transporte urbano, en bajaj o motocar 1.50.

9.5. JACINTILLO.

Ubicado aproximadamente a 3 kilómetros en la ruta Tingo María Monzón, ofrece a sus visitantes un excelente mirador hacia la ciudad de tingo maría, como al parque nacional del mismo nombre. Ofrece: 

Vista panorámica de la ciudad de Tingo María, parque Nacional Tingo María.

Requisitos, Costo y acceso: 

Cualquier persona puede acceder a este lugar.



El costo de transporte turístico, en Bajaj a 2.50 nuevos soles, y en station wagon por un coste 2.50 nuevos soles.

9.6. CUEVA DE LAS LECHUZAS.

Ubicado al noroeste a 6 km. de la ciudad por una carretera afirmada se llega a la famosa Cueva de las Lechuzas, gigantesca gruta que se abre en la espesura del cerro, alberga en su interior una importante colonia de aves guacharos, impropiamente llamadas lechuzas, loros, pericos, golondrinas y murciélagos; la caverna presenta formaciones de estalagmitas y estalactitas en la abertura principal, haciendo suponer la existencia de un vasto y complejo sistema subterráneo en los cerros que conforman la Bella Durmiente; 

Gruta Subterránea.



Venta de Artesanías



Puesto de guardabosques y guías.

Requisitos, Costo y acceso: 

Cualquier persona puede acceder a este lugar, la visita interior a la gruta requiere algunos requisitos, como linternas y botas de jebe.



Costo de transporte turístico en bajaj a 5 nuevos soles.



Costo de mantenimiento del lugar, 5 nuevos INRENA

9.7. SANTA CARMEN.

Ubicada a 7 km de las ciudad de Tingo María, su ingreso se encuentra en el caserío de Puente Pérez, por el cual se accesa vía una caminata de unos 15 min para luego un ascenso de una media aproximadamente. 

Catarata de Aguas cristalinas.



Gruta subterránea.



Puesto de asistencia por la Municipalidad Prov. de Mariano Dámaso Beraun.

Requisitos, Costo y acceso: 

Se requiere buena condición física para la caminata y ascenso.



Costo de Transporte turístico, 5 nuevos soles hasta el ingreso por puente Pérez.



Costo de ingreso, Municipalidad Provincial de Mariano Dámaso Beraun.

9.8. ALCANTARILLA.

Ubicada a 7 km de la ciudad de Tingo María, en la ruta Tingo María Huánuco, en la localidad de puente Pérez, en un balneario natural. Requisitos, Costo y acceso: 

Cualquier persona puede acceder a este lugar.



Costo de transporte turístico 5 nuevos soles en bajaj o motocar.

9.9. CUEVA DE LAS PAVAS.

Ubicada a 8km hacia el sur de la ciudad se encuentra el Ventanal Cueva de las Pavas, denominada así, por los árboles que crecen en las riberas de una quebrada, con frondosas copas, que le dan el aspecto de una cueva; el lugar es muy pintoresco, contando con 3 piscinas naturales de aguas cristalinas y frescas; Ofrece:



servicios de guías de turismo.



Balnearios formados por la quebrada que lo atraviesa.



Restaurante Típico.



Alojamiento en Tambos.



Venta de Artesanías.



venta de frutas de la zona.



Servicios higiénicos.

Requisitos, Costo y acceso: 

Cualquier persona puede acceder a este lugar.



El costo es de transporte turístico 5 nuevos soles. En bajaj o motocar.

9.10. AGUAS SALADAS.

Ubicada a 8km hacia el sur de la ciudad, se encuentra un famoso balneario de la zona, notorio por tener una salinidad en sus aguas, que de forma natural brotan de una hendidura en el cerro, se dice que el barro que se extrae de este lugar tiene propiedades que favorecen la piel. Ofrece: 

Balneario con aguas saladas.



Hospedaje.



Restaurante de comidas típicas.

Requisitos, Costo y acceso:



Cualquier persona puede acceder a este lugar.



El costo es de transporte turístico 6 nuevos soles. En bajaj o motocar.



El costo de ingreso es de 1 nuevo sol.

9.11. VELO DE LAS NINFAS.

Ubicado en el Centro Poblado de Tambillo Chico a 14km. de la carretera, recientemente explorado y conocido por la población; a este lugar se llega caminando hora y media aproximadamente, siendo el acceso difícil por carecer de una vía adecuada de subida, además por que se encuentra en la parte alta de los cerros de ese lugar; en el Velo de la Ninfa podemos apreciar un paisaje natural con abundante caída de agua en forma de velos blancos, en su recorrido se forman piscinas naturales, contando asimismo con la presencia de diversas variedades de aves, mariposas y animales silvestres. Ofrece: 

Ruta de Cataratas ideal para escalar.



Vista panorámica de Paisajes naturales.



Requisitos, Costo y acceso.



Buena Condición física, para la caminata y ascenso.



El costo es de 3 nuevos soles en combis de la línea Numero 10 que hacen ruta hacia huachipa, también se puede contratar el servicio de trimoviles como los bajaj pero con un costo de 3 nuevos soles

por persona. 9.12. GLORIAPATA.

Ubicado en el parque nacional Tingo María a 14km. de la carretera,, hay que cruzar un puente colgante en la localidad de Dos de Mayo y realizar una caminata y ascenso de media hora aproximadamente. Ofrece: 

Catarata y balneario.



Gran diversidad fe flora, por ser un parque nacional.



Requisitos, Costo y acceso



Se requiere de buena condición física para la caminata y acceso.



Costo de transporte Turístico, 3 en combi línea numero 10 ,7 nuevos soles en Bajaj, 1.50 sol a la entrada al puente en la localidad 2 de mayo para mantenimiento.

9.13. SOL NACIENTE.

Ubicado en el parque nacional Tingo María a 14km. de la carretera,, hay que cruzar un puente colgante en la localidad de Dos de Mayo y realizar una caminata y ascenso de unas 2 horas aproximadamente, se recomienda llevar algunos enseres para la larga caminata. Requisitos, Costo y acceso. 

Costo de transporte Turístico, 7 nuevos soles en Bajaj, 1 sol a la entrada al puente en la localidad 2 de mayo para mantenimiento.

9.14. VIVERO DE ORQUÍDEAS.

Ubicada a 7 km de la ciudad de Tingo María, en la ruta Tingo María Huánuco, en la localidad de puente Pérez, en único es su género con una gran diversidad de Orquídeas.

Ofrece: 

Venta de Orquídeas.

Requisitos, Costo y acceso: 

Cualquier persona puede acceder a este lugar.



Costo de transporte turístico 5 nuevos soles en bajaj o motocar.

9.15. EL COLONO.

Ubicado en el casco urbano de la localidad de Tingo María, ofrece un monumento con una bella fuentes de agua. Ofrece: 

Monumento con fuente de Agua.

Requisitos, Costo y acceso: 

Cualquier persona puede acceder a él.



El costo es de transporte urbano, en motocar o bajaj a 1.50.

9.16. PLAZA DE ARMAS.

Ubicado en el corazón de la localidad de Tingo María. Ofrece: 

Vista de la ciudad.

Requisitos, Costo y acceso: 

Cualquier persona puede acceder a él.



El costo es de transporte urbano, en motocar o bajaj a un 1.50.