Sie sind auf Seite 1von 54

UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE HUAMANGA

FACULTAD DE INGENIERÍA DE MINAS GEOLOGÍA Y CIVIL


ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

“SISTEMA EXPERTO DE TURISMO”


TRABAJO :INFORME FINAL DE SISTEMAS EXPERTOS

INTEGRANTES : TINEO MORALES, Danny Víctor


MEDRANO CARDENAS ,Michael

PROFESOR : Ing. FREDY BARRIENTOS

CURSO : SISTEMAS EXPERTOS

SIGLA : IS - 442

Ayacucho-2017
DEDICATORIA

A Dios, a nuestra familia quienes han sido la guía y el camino para poder llegar a este
punto de mi carrera, que con sus ejemplos, dedicación y palabras de aliento nunca bajaron
los brazos para que alcancemos nuestros objetivos trazados en nuestra carrera
universitaria.

ii
AGRADECIMIENTO

A la prestigiosa Universidad Nacional de San Cristóbal de Huamanga, A mis profesores


de la Escuela Profesional de Ingeniería de Sistemas, a quienes les debemos gran parte de
nuestros conocimientos, gracias por prepararnos para un futuro competitivo no solo como
los mejores profesionales sino también como mejores personas; y a nuestros amigos y
compañeros que nos acompañaron durante toda nuestra vida académica.

iii
CONTENIDO
DEDICATORIA … ......................................................................................................... ii
AGRADECIMIENTO … ............................................................................................... iii
RESUMEN … ................................................................................................................. v
INTRODUCCION .......................................................................................................... vi

SISTEMA EXPERTO DE TURISMO


1.1. PROBLEMA ...................................................................................................... 1
1.2. OBJETVOS DE LA INVESTIGACION ........................................................... 1
1.3. ESTADO DE ARTE ........................................................................................... 1
1.4. MARCO TEORICO ........................................................................................... 4
1.5. DESARROLLO ................................................................................................ 20
1.6. CONCLUSION Y RECOMENDACIONES .................................................... 47
REFERENCIA BIBLIOGRAFICA ................................................................................ 50
ANEXOS…… ................................................................................................................ 52

iv
RESUMEN

En la actualidad el turismo en el Peru esta teniendo mucha acogida por parte de la


población quienes en días festivos recurren a viajar a las ciudades que tienen mayor
atracción turistica para ello en base a sus ingresos realizan su planeación que consiste en
decidir a donde van a viajar.tambien se ha visto que actualmente en la población peruana
ha aumentado sus ingresos económicos y es justamente por ello que muchan ya están
decidiendo vaiajar por avión ya que los costos de viaje se han reducido dedibo a la
competencia y ofeta de pasajes que se presentan por temporadas.pero también muchos
siguen viajandi por tierra ya que los precios son mas accesibles.

Es por ello que este trabajo de investigación desarrollamos un sistema experto turístico
que ayude a las personas a definir sus gastos en su viaje incluyendo hotel, comida, pasaje
por avión ida y vuelta o por tierra para que de esta manera puedan planificar
adecuadamente sus gastos.

El objetivo de este trabajo de investigación es desarrollar un sistema experto de turismo


basado en reglas para planificar adecuadamente los gastos que se presentan en un viaje
turístico, para que de esta manera el turista pueda decidir adecuadamente a qué lugar
podría viajar.

En la presente investigación se utilizara prolog,netbeans 8.2,el servidor local Xampp.

Palabras claves: Sistema experto de turismo, ciudades,lugar turístico,precio


alojamiento,precio tierra,precio vuelo,turista.

v
INTRODUCCION

El Perú ha sido un destino turístico popular, pero no siempre ha tenido la reputación de


ser un lugar en el que se puede viajar de manera segura. Sin embargo, el Perú se ha
convertido en un lugar más seguro para visitar. Estos días, cada vez más viajeros
aventureros disfrutan de las diversas culturas, las civilizaciones antiguas y la selva
fascinante del Perú.

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

Se considera a alguien un experto en un problema cuando


este individuo tiene conocimiento especializado sobre dicho problema. En el área de los
(SE) a este tipo de conocimiento se le llama conocimiento sobre el dominio. La palabra
dominio se usa para enfatizar que el conocimiento pertenece a un problema específico.

vi
SISTEMA EXPERTO DE TURISMO

1.1 PROBLEMA
Nuestro enunciado de nuestro problema será un sistema experto de turismo basado
en reglas,se ah elegido este tema ya que hoy en dia vemos qjue el turismo esta aumentando
en el Péru y por ello se necesita brindar información al turista sobre el costo de viajar de
una ciudad a otra ciudad,el alojamiento,la comida,la ditancia mas corta y con toda esta
información el turista pueda tomar decisiones adecuadas en cuanto a los días que tiene
para viajar que pueden ser fines de semana,feriados largos,etc.

El problema actual que se tiene en el país es que no se cuenta con un sisteam


experto completo que brinde información de el costo de viaje a todas las ciudades y los
costos de alojamiento,comida ,estadia,etc.Y ese problema se pretende solucionar con este
sistema

1.2 OBJETVOS DE LA INVESTIGACION


OBJETIVO GENERAL
Desarrollar un sistema experto turístico ,mediante prolog basado en reglas, , base de datos
relacional y lenguaje de programación orientado a objetos con la finalidad ayudar a los
turistas en la toma de decisones en cuanto a destino turístico para que puedan viajar y
puedan planificar un adecuado presupuesto económico.

OBJETIVOS ESPECIFICOS
a) Desarrollar adcuadas reglas para el correcto funcionamiento del sisteam experto.
b). Brindar información sobre los costos de las ciudades en cuanto a
alojamiento,comida y estadia.
c). Brindar una ad

1.3 ESTADO DE ARTE


En este artículo se describe el desarrollo de un Sistema experto, el cual apoya la labor del
sicólogo mediante la aplicación del Test DAT-5 con un Sistema Experto, dicho test es
utilizado como instrumento de investigación básica y aplicada. El proyecto fue

1
desarrollado con sistemas informáticos que valúan el proceso de aprendizaje, de
memorización, de razonamiento, de comunicación y de acción en consecuencia de un
experto humano en cualquier rama de la ciencia. Este sistema se diseñó en base a un test
no verbal, que consiste en presentar láminas ordenadas por grado de dificultad, en los
cuales se presentan imágenes con piezas faltantes donde tendrá que completar con la
respuesta correcta. Los resultados obtenidos serán el percentil o capacidad y rango
intelectual estos serán guardados en una base de datos para futuros usos. 2. Introducción:
El progreso del bienestar social, requiere de un trabajo arduo de identificación de
aptitudes a fin de poder tener profesionales que puedan desempeñarse de la mejor manera
en la sociedad y de forma saludable. En este sentido, es el reconocimiento de las
capacidades intelectuales una labor muy importante, con el ámbito educativo y laboral.
Con el fin de contribuir a este objetivo, se ha propuesto la creación de un Sistema Experto,
que permita medir la capacidad intelectual de las personas en forma simultánea, logrando
así poder reunir y evaluar a un gran número de personas en menos tiempo.

Desarrollo de la Solución: Para el desarrollo de Sistemas Expertos se pueden clasificar


en tres tipos: Basado en reglas, basado en casos o CBR, Redes bayesianas; en este
Proyecto se plantea el uso un Sistema Experto Basado en Reglas. El desarrollo se realiza
con Prolog, que tiene una sintaxis y semántica simple. Prolog cuenta con un sistema de
representación del conocimiento en forma de cláusulas (hechos y reglas), también
llamado reglas de producción, posee un motor de inferencia basado en la unificación y
búsqueda en profundidad y la marcha atrás. Figura 6. Estructura General de PROLOG
Fuente: tesis Sistema Experto para la evaluación de aptitudes DAT-5. El sistema experto
DAT 5 que se presenta en este trabajo es un sistema informático que simula el proceso de
evaluación del aprendizaje, de la memorización, del razonamiento, de la comunicación y
en consecuencia apoya a un experto humano a evaluar a varios aspirantes a trabajar en
una empresa o a ingresar a una institución de posgrado en cualquier rama de la ciencia.

2
Para la elaboración del Sistema Experto DAT-5 se siguieron los siguientes pasos: •
Inserción de hechos iníciales en la Base de Hechos. • Obtención de nuevos hechos a partir
de la evaluación de reglas.
• Exploración de las reglas de la Base de Conocimientos y adicción de nuevos hechos a
• la Base de Hechos.
• Deducción y obtención del conocimiento. Del cual se obtuvieron resultados como se
puede ver en la Figura: Figura 7.Interfaz de tesis Sistema Experto para la evaluación de
aptitudes DAT-5. Fuente: tesis Sistema Experto para la evaluación de aptitudes DAT-5.

Conclusiones: Los sistemas expertos mejoran la confiabilidad de los procesos


administrativos y disminuyen costos en la gestión del talento humano. El sistema se
comparó con el resultado que se obtiene aplicando el test de forma tradicional y los
resultados fueron favorables.

3
1.4. MARCO TEORICO

Historia de los SE
Sus inicios datan a mediados de los años sesenta. Durante esta década los investigadores
Alan Newell y Herbert Simon desarrollaron un programa llamado GPS (General Problem
Solver; solucionador general de problemas). Podía trabajar con criptoaritmética, con las
torres de Hanoi y con otros problemas similares. Lo que no podía hacer el GPS era
resolver problemas del mundo real, tales como un diagnóstico médico.
Algunos investigadores decidieron entonces cambiar por completo el enfoque del
problema restringiendo su ambición a un dominio específico e intentando simular el
razonamiento de un experto humano. En vez de dedicarse a computarizar la inteligencia
general, se centraron en dominios de conocimiento muy concretos. De esta manera
nacieron los SE.

A partir de 1965, un equipo dirigido por Edward Feigenbaum, comenzó a desarrollar SE


utilizando bases de conocimiento definidas minuciosamente. Dos años más tarde se
construye DENDRAL, el cual es considerado como el primer SE. La ficción de dicho SE
era identificar estructuras químicas moleculares a partir de su análisis espectrográfico.
En la década de los setenta se desarrolló MYCIN para consulta y diagnóstico de
infecciones de la sangre. Este sistema introdujo nuevas características: utilización de
conocimiento impreciso para razonar y posibilidad de explicar el proceso de
razonamiento. Lo más importante es que funcionaba de manera correcta, dando
conclusiones análogas a las que un ser humano daría tras largos años de experiencia. En
MYCIN aparecen claramente diferenciados motor de inferencia y base de conocimientos.
Al separar esas dos partes, se puede considerar el motor de inferencias aisladamente. Esto
da como resultado un sistema vacío o shell (concha). Así surgió EMYCIN (MYCIN
Esencial) con el que se construyó SACON, utilizado para estructuras de ingeniería, PUFF
para estudiar la función pulmonar y GUIDON para elegir tratamientos terapéuticos.
En esa época se desarrollaron también: HERSAY, que intentaba identificar la palabra
hablada, y PROSPECTOR, utilizado para hallar yacimientos de minerales. De este último
derivó el shell KAS (Knowledge Adquisition System).
4
En la década de los ochenta se ponen de moda los SE, numerosas empresas de
alta tecnología investigan en este área de la inteligencia artificial, desarrollando SE para
su comercialización. Se llega a la conclusión de que el éxito de un SE depende casi
exclusivamente de la calidad de su base de conocimiento. El inconveniente es que
codificar la pericia de un experto humano puede resultar difícil, largo y laborioso.

Un ejemplo de SE moderno es CASHVALUE, que evalúa proyectos de inversión y


VATIA, que asesora acerca del impuesto sobre el valor añadido o IVA.

¿Qué es un sistema experto?

Los Sistemas Expertos, rama de la Inteligencia Artificial, son sistemas informáticos que
simulan el proceso de aprendizaje, de memorización, de razonamiento, de comunicación
y de acción en consecuencia de un experto humano en cualquier rama de la ciencia.

5
Estas características le permiten almacenar datos y conocimiento, sacar conclusiones
lógicas, tomar decisiones, aprender de la experiencia y los datos existentes, comunicarse
con expertos humanos, explicar el porqué de las decisiones tomadas y realizar acciones
como consecuencia de todo lo anterior.

Técnicamente un sistema experto, contiene una base de conocimientos que incluye la


experiencia acumulada de expertos humanos y un conjunto de reglas para aplicar ésta
base de conocimientos en una situación particular que se le indica al programa. Cada vez
el sistema se mejora con adiciones a la base de conocimientos o al conjunto de reglas.

¿Por qué utilizar un Sistema Experto?

1. Con la ayuda de un Sistema Experto, personas con poca experiencia pueden


resolver problemas que requieren un "conocimiento formal especializado".
2. Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de
forma más rápida que los expertos humanos.
3. Los Sistemas Expertos razonan pero en base a un conocimiento adquirido y no
tienen sitio para la subjetividad.
4. Se ha comprobado que los Sistemas Expertos tienen al menos, la misma
competencia que un especialista humano.
5. El uso de Sistemas Expertos es especialmente recomendado en las siguientes
situaciones:
o Cuando los expertos humanos en una determinada materia son escasos.
o En situaciones complejas, donde la subjetividad humana puede llevar a
conclusiones erróneas.
o Cuando es muy elevado el volumen de datos que ha de considerarse para
obtener una conclusión.

Aplicaciones

Medicina, Economía, Psicología, Finanzas, Derecho y prácticamente todas las ramas del
conocimiento.

6
Si desea mayor información sobre el diseño y la aplicación en su empresa o negocio de
los Sistemas Expertos, por favor comuníquese con nosotros y con gusto lo atenderemos.

Próximamente tendremos en esta sección, nuevos documentos educativos y tutoriales


sobre el tema de los sistemas expertos. Si tiene interés en que le informemos cuando estén
disponibles por favor escríbanos.

Componentes de un Sistemas Expertos

Podemos decir que un sistema experto consiste en una base de conocimientos, una base
de hechos y un motor (o máquina) de inferencias. Por otra parte estos sistemas no se
miden por la cantidad de instrucciones o programas sino por la cantidad de reglas que hay
contenida en su base de conocimientos.

La Base de Conocimientos (BC)


Es el conjunto de reglas que permiten representar los conocimientos del dominio de
experto, donde cada regla aisladamente tiene significado propio. Normalmente los
conocimientos son de tipo declarativo por lo cual la BC casi siempre es una descripción
de los conocimientos del experto y requiere de algún mecanismo que obtenga las
inferencias adecuadas para resolver el problema, sea capaz de seleccionar las reglas y que
las vaya ejecutando: el motor de inferencias.

El Motor de Inferencias (MI)


7
Es un programa de control cuya función es seleccionar las reglas posibles a satisfacer el
problema, para ello se vale de ciertas estrategias de control sistemáticas o de estrategias
heurísticas. La estrategia de control sistemática es un programa de control hecho de forma
algorítmica que aplica una heurística de propósito general cuya función es una
exploración exhaustiva y metódica de la base de conocimientos.

La Base de Hechos (BH)


También conocida como memoria de trabajo o base de datos global, es la que contiene
los datos de partida y los criterios de parada, la misma se va actualizando durante la
ejecución del sistema.

Además de los componentes anteriores los sistemas expertos necesitan interactuar con el
usuario y con el experto.

Interface con el usuario


Es la que facilita el diálogo con el usuario, permite hacerle preguntas al sistema e incluso
obtener conocimientos análogos a los del experto. Las explicaciones pueden ser obtenidas
de la base de hechos donde se almacenan los pasos para llegar a la solución.

Interface con el experto


Permite al experto consultar los conocimientos almacenados en la base de conocimientos
y da la posibilidad de incluirle nuevos conocimientos. Su objetivo es que el experto pueda
introducir directamente sus conocimientos en la máquina sin necesidad de ver al ingeniero
que desarrolló el sistema.

Algunas de las aplicaciones más importantes se remontan al sistema Mycin, el cual dio
lugar a la mayoría de las aplicaciones en medicina y fue pionero en el tratamiento de la
incertidumbre, que sirvió de patrón a los motores de inferencia de propósitos general
(Shell). Otro de los destacados fue Dendral cuya aplicación fue usada en la química, la
prospección geológica entre otras muchas aplicaciones.

8
Los sistemas expertos que posteriormente fueron bautizados como sistemas basados en
conocimientos y actualmente, bajo la influencia de IBM, se les llama sistemas cognitivos,
siendo Watson su mayor representante, están teniendo un nuevo renacimiento y todo
indica una nueva era para inteligencia artificial en general y en particular para los sistemas
expertos.

9
MATERIALES O HERRAMIENTAS UTILIZADOS PARA EL PROYECTOS DE
SE
Los distintos proyectos de sistemas expertos se realizan con muchas y distintas
herramientas como por ejemplo el swi-prolog que se usa para o como gestor de las bases
de conocimientos, como el java netbeans que se usa para las interfaces que visualizas los
usuarios finales. A continuación se menciona y detalla todas herramientas que se
utilizaron en este proyecto.

SWI PROLOG

SWI PROLOG, es una herramienta que implementa lenguajes de programación


ampliamente utilizados en Inteligencia Artificial. PROLOG fue desarrollado
en Francia en 1973 por Alain Colmenauer y su equipo de investigación en la Universidad
de Marseilles. Inicialmente fue utilizado para el procesamiento de lenguaje natural, pero
posteriormente se popularizó entre los desarrolladores de aplicaciones de IA por su
capacidad de manipulación simbólica. Utilizando los resultados del grupo francés, Robert
Kowalski de la Universidad de Edimburgo, en Escocia, desarrolló la teoría de la
programación lógica. La sintaxis propuesta por Edimburgo, se considera el estándar de
facto del PROLOG.

10
A partir de 1981 tuvo una importante difusión en todo el mundo, especialmente porque
los japoneses decidieron utilizar PROLOG para el desarrollo de sus sistemas de
computación de quinta generación. Actualmente existen varios dialectos del PROLOG
para diferentes plataformas.

Características principales.

• Una de las principales características de los PROLOG, como consecuencia de su


respectiva estructura, es que pueden ser utilizados para escribir programas capaces de
examinar a otros programas, incluyendo a ellos mismos. Esta capacidad se requiere,
por ejemplo, para hacer que el programa explique sus conclusiones. Esto sólo puede
hacerse si el programa tiene la capacidad de examinar su propio modo de operación.

• Basado en lógica y programación declarativa.


• No se especifica cómo debe hacerse, sino qué debe lograrse.
• Una característica importante en ProLog y que lo diferencia de otros lenguajes de
programación, es que una variable sólo puede tener un valor mientras se cumple el
objetivo.
• El programador se concentra más en el conocimiento que en los algoritmos.
• En ProLog, se llega a una solución infiriéndola desde algo ya conocido.

Los predicados.

Los predicados son los elementos ejecutables en ProLog. En muchos sentidos se asemejan
a los procedimientos o funciones típicos de los lenguajes imperativos. Una llamada
concreta a un predicado, con unos argumentos concretos, se denomina objetivo. Todos
los objetivos tienen un resultado de éxito o fallo tras su ejecución, indicando si el
predicado es cierto para los argumentos dados, o por el contrario, es falso. Cuando un
objetivo tiene éxito, las variables libres que aparecen en los argumentos pueden quedar

11
ligadas. Estos son los valores que hacen cierto el predicado. Si el predicado falla, no
ocurren ligaduras en las variables libres.

Se utilizan para expresar propiedades de los objetos, y relaciones entre ellos. En ProLog
se conocen como hechos. Se debe tener en cuenta que:
• Los nombres de todos los objetos y relaciones deben comenzar con una letra
minúscula.
• Primero se escribe la relación o propiedad (predicado).
• Los objetos se escriben separándolos mediante comas y encerrados entre paréntesis
(argumentos).
• Al final del hecho debe ir un punto (".").

Variables.
Las variables se utilizan para representar objetos cualesquiera del Universo u objetos
desconocidos en ese momento, es decir, son las incógnitas del problema. Se diferencian
de los átomos en que empiezan siempre con una letra mayúscula o con el signo de
subrayado (_). Así, se debe ir con cuidado, ya que cualquier identificador que empiece
por mayúscula, será tomado por ProLog como una variable. En una consulta simple, las
variables nos pueden servir para que ProLog encuentre un dato. Por ejemplo: 'tiene'
(persona, libro) devuelve en la variable 'persona' el nombre de la que tiene un libro (o de
las personas que lo tienen, si hay más de una).

Estructura para programas.

12
Programar en ProLog consiste en dar al ordenador un Universo finito en forma de hechos
y reglas, proporcionando los medios para realizar inferencias de un hecho a otro. La
programación en ProLog consiste en:

• Declarar algunos HECHOS sobre los objetos y sus relaciones.


• Definir algunas REGLAS sobre los objetos y sus relaciones.
• Hacer PREGUNTAS sobre los objetos y sus relaciones.

Un programa ProLog es un conjunto de afirmaciones (hechos y reglas) con los que


se representan los conocimientos que poseemos en un determinado dominio o campo de
nuestra competencia. La estrategia de resolución particular que utiliza ProLog es una
forma de resolución de entrada lineal (árbol de búsqueda estándar). Para la búsqueda de
cláusulas alternativas para satisfacer el mismo objetivo, ProLog adopta una estrategia de
primero hacia abajo (recorrido del árbol en profundidad). Por todo esto, el orden de las
cláusulas (hechos y reglas) de un determinado procedimiento es importante en ProLog,
ya que determina el orden en que las soluciones serán encontradas. Una cláusula de Horn
es una regla de inferencia lógica con una serie de premisas (cero, una o más), y un único
consecuente. Las cláusulas de Horn son las instrucciones básicas del lenguaje de
programación ProLog. La sintaxis de una cláusula de Horn en ProLog tiene el siguiente
aspecto: dividir (X, Y):-par(X), suma (X,Y).

Requisitos del sistema.

• SWI-Prolog ofrece un entorno de Software Libre de Prolog, bajo Licencia Pública


GNU.
• versiones disponibles:
• Fuentes versión estable y ejecutables para MS-Windows, Linux y MacOS X
versión 5.10.x
• Las fuentes de desarrollo y liberación de los ejecutables de MS-Windows y
MacOS X versión 5.11.x

13
• Algunas versiones viejas populares
• GIT acceder, navegar repositorio GIT
• Creador: OpenSource
• Expert System Builder.

JAVA

Origen de Java
Sun Microsystems, líder en servidores para Internet, uno de cuyos lemas desde hace
mucho tiempo es "the network is the computer" (lo que quiere dar a entender que el
verdadero ordenador es la red en su conjunto y no cada máquina individual), es quien ha
desarrollado el lenguaje Java, en un intento de resolver simultáneamente todos los
problemas que se le plantean a los desarrolladores de software por la proliferación de
arquitecturas incompatibles, tanto entre las diferentes máquinas como entre los diversos
sistemas operativos y sistemas de ventanas que funcionaban sobre una misma máquina,
añadiendo la dificultad de crear aplicaciones distribuidas en una red como Internet.

Hace algunos años, Sun Microsystems decidió intentar introducirse en el mercado de la


electrónica de consumo y desarrollar programas para pequeños dispositivos electrónicos.
Tras unos comienzos dudosos, Sun decidió crear una filial, denominada FirstPerson Inc.,
para dar margen de maniobra al equipo responsable del proyecto.

14
El primer proyecto en que se aplicó este lenguaje recibió el nombre de proyecto Green y
consistía en un sistema de control completo de los aparatos electrónicos y el entorno de
un hogar. Para ello se construyó un ordenador experimental denominado (Star Seven).
El sistema presentaba una interfaz basada en la representación de la casa de forma
animada y el control se llevaba a cabo mediante una pantalla sensible al tacto. En el
sistema aparecía Duke, la actual mascota de Java.

Posteriormente se aplicó a otro proyecto denominado VOD (Video On Demand) en


el que se empleaba como interfaz para la televisión interactiva. Ninguno de estos
proyectos se convirtió nunca en un sistema comercial, pero fueron desarrollados
enteramente en un Java primitivo y fueron como su bautismo de fuego.

Características de Java

Las características principales que nos ofrece Java respecto a cualquier otro lenguaje de
programación, son:

Simple
Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las características
menos usadas y más confusas de éstos. C++ es un lenguaje que adolece de falta de
seguridad, pero C y C++ son lenguajes más difundidos, por ello Java se diseñó para ser
parecido a C++ y así facilitar un rápido y fácil aprendizaje.

Orientado a objetos
Java implementa la tecnología básica de C++ con algunas mejoras y elimina algunas
cosas para mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos
como objetos y con interfaces a esos objetos. Soporta las tres características propias del
paradigma de la orientación a objetos: encapsulación, herencia y polimorfismo. Las
plantillas de objetos son llamadas, como en C++, clases y sus copias, instancias. Estas
instancias, como en C++, necesitan ser construidas y destruidas en espacios de memoria.

15
Java incorpora funcionalidades inexistentes en C++ como por ejemplo, la resolución
dinámica de métodos. Esta característica deriva del lenguaje Objective C, propietario del
sistema operativo Next. En C++ se suele trabajar con librerías dinámicas (DLLs) que
obligan a recompilar la aplicación cuando se retocan las funciones que se encuentran en
su interior. Este inconveniente es resuelto por Java mediante una interfaz específica
llamada RTTI (RunTime Type Identification) que define la interacción entre objetos
excluyendo variables de instancias o implementación de métodos. Las clases en Java
tienen una representación en el runtime que permite a los programadores interrogar por
el tipo de clase y enlazar dinámicamente la clase con el resultado de la búsqueda.

Distribuido
Java se ha construido con extensas capacidades de interconexión TCP/IP. Existen
librerías de rutinas para acceder e interactuar con protocolos como http y ftp. Esto permite
a los programadores acceder a la información a través de la red con tanta facilidad como
a los ficheros locales.
La verdad es que Java en sí no es distribuido, sino que proporciona las librerías y
herramientas para que los programas puedan ser distribuidos, es decir, que se corran en
varias máquinas, interactuando.

Robusto
Java realiza verificaciones en busca de problemas tanto en tiempo de compilación como
en tiempo de ejecución. La comprobación de tipos en Java ayuda a detectar errores, lo
antes posible, en el ciclo de desarrollo. Java obliga a la declaración explícita de métodos,
reduciendo así las posibilidades de error. Maneja la memoria para eliminar las
preocupaciones por parte del programador de la liberación o corrupción de memoria.

También implementa los arrays auténticos, en vez de listas enlazadas de punteros, con
comprobación de límites, para evitar la posibilidad de sobreescribir o corromper memoria
resultado de punteros que señalan a zonas equivocadas. Estas características reducen
drásticamente el tiempo de desarrollo de aplicaciones en Java.

16
NETBEANS

NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para


el lenguaje de programación Java. Existe además un número importante de módulos para
extenderlo. NetBeans IDE2 es un producto libre y gratuito sin restricciones de uso.

NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios,
una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo.
Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y
continúa siendo el patrocinador principal de los proyectos (Actualmente Sun
Microsystems es administrado por Oracle Corporation).

La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un


conjunto de componentes de software llamados módulos. Un módulo es un archivo Java
que contiene clases de java escritas para interactuar con las APIs de NetBeans y un
archivo especial (manifest file) que lo identifica como módulo. Las aplicaciones
construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos.
Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones
basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros
desarrolladores de software.

Modularidad. Todas las funciones del IDE son provistas por módulos. Cada módulo
provee una función bien definida, tales como el soporte de Java, edición, o soporte para
el sistema de control de versiones. NetBeans contiene todos los módulos necesarios para
17
el desarrollo de aplicaciones Java en una sola descarga, permitiéndole al usuario
comenzar a trabajar inmediatamente.

Plataforma

Framework está simplificando el desarrollo de aplicaciones para escritorio Java Swing.


El paquete de NetBeans IDE para Java SE contiene lo que se necesita para empezar a
desarrollar plugins y aplicaciones basadas en la plataforma NetBeans; no se requiere un
SDK adicional.

Las aplicaciones pueden instalar módulos dinámicamente. Algunas aplicaciones pueden


incluir un modulo de actualización para permitir a los usuarios descargar Actualizaciones
de firma digital y nuevas características directamente dentro de la aplicación en ejecución.
Reinstalando una actualización o una nueva versión, no obligando a los usuarios a
descargar toda la aplicación de nuevo.

La plataforma ofrece servicios reusables comunes para las aplicaciones de escritorio,


permitiendo a los desarrolladores centrarse en la lógica de sus aplicaciones. Algunas de
las características de la aplicación son:

• Gestión de la interfaz de usuario ( menús y barras de herramientas )

• Gestión de configuración de usuario

• Gestión de almacenamiento (guardar o cargar algún tipo de dato)

• Gestión de ventana

• Marco Asistente (soporta diálogos para a paso)

• Librería visual de Netbeans

• Herramientas de desarrollo integrado

18
INTEGRACION JAVA Y PROLOG

El lenguaje de programación lógica Prolog esta siendo muy utilizado en las aplicaciones
de hoy en día, este lenguaje es usado para hacer Sistemas expertos, sistemas probabilistas,
reconocimiento de patrones y otros temas sobre Inteligencia Artificial, sin embargo para
realizar una aplicación es necesario usar otros lenguajes como por ejemplo Java, un
ejemplo claro seria que con Java podemos hacer interfaces gráficas mas sofisticadas que
con Prolog, en este tutorial te enseñare como hacer una conexión entre el JDK de Java y
el compilador de Prolog a través de una librería llamada JPL que viene incluida en
la instalación de Prolog.

Requerimientos

• Tener instalado JDK de Java

• Tener instalado Netbeans

• Tener instalado el compilador de Prolog

• Tener instalado el Editor de Prolog (Swi - Prolog).

Conexión

Como mencione anteriormente usaremos una librería incluida en la carpeta de instalación


de Prolog llamada JPL: Java Prolog Library y para esto es necesario agregar las rutas de
19
los recursos que usaremos a la variable de entorno PATH, para que pueda ser reconocida
por el sistema operativo.

1.5. DESARROLLO

DESARROLLO DEL PROYECTO

Red semántica a nivel general

Uno de los métodos de representación, basado en modelos de psicología cognitiva, son


las redes semánticas. Las redes semánticas son grafos orientados que proporcionan una
representación declarativa de objetos, propiedades y relaciones. Los nodos se utilizan
para representar objetos o propiedades.

Después de la teoría pasamos a desarrollar la red semántica del proyecto en desarrollar:

RED SEMANTICA DE LOS DEPARTAMENTOS Y SUS LUGARES TURISTICOS

CHACHAPOYAS

PERTENECE

LEYMEBAMBA

ES_PARTE_DE
PERTENECE
AMAZONAS
PERU
PERTENECE

CATARATA DE GOCTA
PERTENECE

PUEBLO DE LOS MUERTOS

Red semántica a nivel de los departamentos y los lugares turísticos.


20
En esta parte se detalla mediante una red semántica todos los departamentos que
pertenecen a Perú, y los lugares turísticos que tiene cada departamento.

Ancash

RED SEMANTICA DE LOS DEPARTAMENTOS Y SUS LUGARES TURISTICOS

MUSEO ANCASH

TIENE

LAGUNA 69
ES_PARTE_DE
TIENE
ANCASH
PERU

TIENE

CHAVIN DE HUANTAR

Apurímac

21
RED SEMANTICA DE AMAZONAS Y SUS LUGARES TURISTICOS

CHOQUEQUIRAO

TIENE

SANTUARIO NACIONAL DEL


ES_PARTE_DE AMPAY
TIENE
APURIMAC
PERU

TIENE

PIEDRA DE SAYWITE

Huancavelica

22
RED SEMANTICA DE LOS DEPARTAMENTOS Y SUS LUGARES TURISTICOS

RUINAS DE INCAHUASI
ES_PARTE_DE
TIENE
HUANCAVELICA
PERU

Huánuco

23
RED SEMANTICA DE DEPARTAMENTO Y SUS LUGARES TURISTICOS

KOTOSH

TIENE

COMPLEJOARQUEOLOGICO
ES_PARTE_DE DE HUANUCO

HUANUCO TIENE
PERU

TIENE

YAROWILCA

Ica

24
RED SEMANTICA DE DEPARTAMENTO Y SUS LUGARES TURISTICOS

LAGUNA DE HUACACHINA

TIENE

PUEBLO CACHICHE
ES_PARTE_DE

ICA TIENE
PERU

TIENE

LAS DUNAS DEL DESIERTO

Junín

25
RED SEMANTICA DE DEPARTAMENTO Y SUS LUGARES TURISTICOS

SANTUARIO DE CHAMARCA

TIENE

PERU LAGO JUNIN

JUNIN TIENE
ES_PARTE_DE

TIENE

CONCEPCION

26
La Libertad.
RED SEMANTICA DE DEPARTAMENTO Y SUS LUGARES TURISTICOS

HUACA DEL SOL Y LA LUNA

TIENE

PERU RUINAS DE CHANCHAN

LA LIBERTAD TIENE
ES_PARTE_DE

TIENE

CASA DE URQUIAGA

Lambayeque

27
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

TUMBAS REALES DE SIPAN

TIENE

PERU TUCUME

LAMBAYEQUE TIENE
ES_PARTE_DE

TIENE

MUSEO NACIONAL DE
SICAN

28
Lima
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

PALACIO DE LA EXPOSICION

TIENE

COMPLEJO
PERU ARQUEOLOGICO CARAL

LIMA TIENE
ES_PARTE_DE

TIENE

ESTADIO NACIONAL

Loreto

29
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

LAGO RIMACHI

TIENE

PERU RIO AMAZONAS

LORETO TIENE
ES_PARTE_DE

TIENE

RESERVA DE PACAYA
SAMIRA

Madre de Dios

30
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

PARQUE NACIONAL DEL


MANU

TIENE

PERU

MADRE DE DIOS

ES_PARTE_DE

TIENE
RESERVA ECOLOGICO
TIRACAYA

Moquegua

31
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

MUSEO CONTISUYO

TIENE

PERU

MOQUEGUA MALECON COSTERO


ES_PARTE_DE TIENE

TIENE

LA GLORIA DE ILO

Pasco

32
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

TUNQUI CUEVA

TIENE

PERU

PASCO BAÑOS TERMALES LA


CALERA
ES_PARTE_DE TIENE

TIENE

JARDIN BOTANICO
MISSOURI

Puno

33
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

MIRADOR KUNTURWASI

TIENE

PERU

PUNO CHULLPAS DE SILLUSTANI


ES_PARTE_DE TIENE

TIENE

LAGO TITICACA

San Martin

34
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

TARAPOTO

TIENE

PERU

SAN MARTIN MOYOBAMBA


ES_PARTE_DE TIENE

TIENE

PARQUE NACIONAL DEL


RIO ABISEO

Tacna

35
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

EL MONUMENTO DEL ALTO


DE LA ALIANZA

TIENE

PERU

TACNA PETROGLIFOS DE MICULLA


ES_PARTE_DE TIENE

TIENE

ARCO PARABOLICO

Tumbes

36
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

LOS MANGLARES DE
TUMBES

TIENE

PERU

TUMBES LA ISLA DEL AMOR


ES_PARTE_DE TIENE

TIENE

CALETA DE CRUZ PIZARRO

Ucayali

37
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

PROVINCIA DE CORONEL
PORTILLO

TIENE

PERU

UCAYALI PALACION MUNICIPAL


ES_PARTE_DE TIENE

TIENE

PLAZA DEL RELOJ PUBLICO

Ayacucho

38
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

QUINUA

TIENE

PERU

AYACUCHO VILCAS HUAMAN


ES_PARTE_DE TIENE

TIENE TIENE

LURICOCHA

PAMPAS GALERAS

Arequipa

39
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

CAÑON DE COTAHUASI

TIENE

PERU

AREQUIPA MIRADOR YANAHUARA


ES_PARTE_DE TIENE

TIENE

CAÑON DE COLCA

Cajamarca

40
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

CUARTO DE RESCATE DEL


INCA

TIENE

PERU

CAJAMARCA BAÑOS DEL INCA


ES_PARTE_DE TIENE

TIENE

VENTANILLA DE OTUZCO

Cusco

41
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

SACSAYHUAMAN

TIENE

PERU

CUSCO MACHUPICHU
ES_PARTE_DE TIENE

TIENE

OLLANTAYTAMBO

Piura

42
RED SEMANTICA DEL DEPARTAMENTO Y SUS LUGARES TURISTICOS

PAITA

TIENE SULLANA

TIENE
PERU

PIURA

ES_PARTE_DE TIENE
TALARA

TIENE
TIENE

SECHURA
MANCORA

BASE DE CONOCIMIENTO

En esta parte se detalla o se muestra todos los hechos y reglas que se crearon para este
proyecto.

43
44
45
1.6. CONCLUSIONES Y RECOMENDACIONES

6.1 CONCLUSIONES
• Con el sistema trabajo se ha demostrado que con prologs se puede realizar una
diversidad de trabajos con sistemas expertos y se pueden resolver problemas ya
que también nos permite hacerlo en una aplicación de escritorio o móvil.

• Según este sistema experto se ha demostrado que se pueden agilizar los tiempos
en cuanto a la toma de deciones que en este caso es en elegir un destino turístico
y esto agiliza a tomar decisiones.

• Un sistema experto nos puede ayudar a resolver problemas de todo tipo desde lo
mas simple hasta lo mas complejo.

46
6.2 RECOMENDACIONES
• Se recomienda investigar e implementarlo en un aplicativo movil y no en un
deskopt como viene esta hecho el sistema.
• Investigar e e implementar sistemas expertos también que ayuden en otros temas
de turismo como es la d eestablecer rutas adecuadas para caminar de un lugar a
otro de una forma segura.

47
REFERENCIA BIBLIOGRAFICA

1. FERNÁNDEZ (2006), sistemas transaccionales en las empresas de turismo.


(Tesis de Grado).Lima-Peru.

48

Das könnte Ihnen auch gefallen