Estudio de la red de metro y cercanías RENFE mediante el lenguaje PROLOG AUTORES: Alberto Martín Ascensión Fernando Sánchez Sánchez INTRODUCCIÓN - Criterios de elección de ruta: 1. Tiempo de viaje mínimo. 2. Menor número de transbordos. - En cada una de estas opciones se muestra información sobre cada una de las estaciones que componen la ruta: . Acceso para personas discapacitadas . Acceso a cercanías RENFE . Acceso a la red de metro. . Aparcamiento. DEFINICIÓN DEL MAPA - Se definen las estaciones mediante la claúsula estacion(nombre_estacion). - Se define la pertenencia a las líneas con la claúsula estacion_pertenece(nombre,linea). - Se define la conexión entre estaciones con la claúsula conexión(estacion1,estacion2,tiempo). - Se define la información de las estaciones con varias claúsulas: . tiene_acceso_minusvalidos(estacion). . tiene_renfe(estacion). . tiene_metro(estacion). . tiene_aparcamiento(estacion). TIEMPO DE VIAJE MÍNIMO Descripción: Esta opción calcula la ruta óptima de menor tiempo de viaje entre una estación origen y una estación destino teniendo en cuenta el tiempo máximo que queremos que dure el viaje. Consta de varias reglas, que se apoyan unas en otras, dando como resultado una lista donde se encuentra la ruta óptima y el tiempo empleado en realizarla. Además se ofrece información sobre las estaciones así como el número de transbordos y dónde hay que realizarlos. MENOR NÚMERO DE TRANSBORDOS Descripción: Esta opción calcula todas las rutas posibles dando información sobre el número de transbordos que hay que realizar en cada ruta, para así, elegir la que tiene un número menor de transbordos. Utiliza las mismas reglas que la opción anterior. EJEMPLO DE APLICACIÓN Para cargar el programa es necesario introducir la siguientes instrucciones: 1. [practica]. 2. iniciar. 3. Introducir metro. o renfe. para elegir la opción deseada. 4. Introducir 0. ó 1. para elegir la opcion deseada: - 0. Tiempo de viaje mínimo. - 1. Menor número de transbordos. EJEMPLO DE APLICACIÓN (2) 5. Introducir estación origen. 6. Introducir estación destino. 7. Introducir tiempo máximo de viaje. EJEMPLO DE APLICACIÓN (3) EJEMPLO DE TIEMPO DE VIAJE MÍNIMO EN LA RED DE METRO. ?- [practica]. % practica compiled 0.06 sec, 25,392 bytes Yes ?- iniciar. Practica de Inteligencia en Redes de Comunicaciones Guia del metro (y RENFE) de Madrid Opciones metro.Carga la red de metro para consultas renfe.Carga la red de cercanias de RENFE para consultas |: metro % mapa_metro compiled 0.05 sec, 71,640 bytes Reglas para las consultas en la red de metro Opciones 0.Ruta optima en cuanto a tiempo de trayecto (con informacion de distancia y e informacion sobre estaciones) 1.Rutas con numero de transbordos para elegir la de menor numero de estos |: 0. EJEMPLO DE APLICACIÓN(4) • • • • • • • • • Introduzca estacion origen |: san_nicasio. estacion destino |: campamento. tiempo maximo de viaje |: 30. La ruta optima es: [campamento, casa-de-campo, ciudad-jardin, cuatro-vientos, joaquin-vilumbrales, puerta_del_sur, san_nicasio] El tiempo optimo es: 23 El numero de estaciones es: 7 EJEMPLO DE APLICACIÓN (5) • • • • • • • • • • • • La estacion casa-de-campo tiene acceso para minusvalidos La estacion ciudad-jardin tiene acceso para minusvalidos La estacion cuatro-vientos tiene acceso para minusvalidos La estacion cuatro-vientos tiene aparcamiento La estacion cuatro-vientos tiene conexion con la red de cercanias de RENFE La estacion joaquin-vilumbrales tiene acceso para minusvalidos La estacion puerta_del_sur tiene acceso para minusvalidos La estacion san_nicasio tiene acceso para minusvalidos Hay que realizar transbordo en casa-de-campo Hay que realizar transbordo en puerta_del_sur Hay que realizar 2 transbordos Yes EJEMPLO DE APLICACIÓN(6) • • • • • • • • • • • • • • • • • • • Introduzca estacion origen |: leganes. estacion destino |: vallecas. tiempo maximo de viaje |: 35. Una ruta es: [vallecas, el_pozo, entrevias, atocha, villaverde_bajo, villaverde_alto, zarzaquemada, leganes] La estacion vallecas tiene aparcamiento La estacion vallecas tiene conexion con la red de metro La estacion el_pozo tiene aparcamiento La estacion atocha tiene aparcamiento La estacion atocha tiene conexion con la red de metro La estacion villaverde_bajo tiene aparcamiento La estacion zarzaquemada tiene aparcamiento La estacion leganes tiene aparcamiento La estacion leganes tiene conexion con la red de metro Hay que realizar transbordo en atocha Hay que realizar transbordo en villaverde_alto Hay que realizar 2 transbordos EJEMPLO DE APLICACIÓN(7) • • • • • • • • • • • • • • • • Una ruta es: [vallecas, el_pozo, entrevias, atocha, mendez_alvaro, doce_de_octubre, orcasitas, puente_alcocer, villaverde_alto, zarzaquemada, leganes] La estacion vallecas tiene aparcamiento La estacion vallecas tiene conexion con la red de metro La estacion el_pozo tiene aparcamiento La estacion atocha tiene aparcamiento La estacion atocha tiene conexion con la red de metro La estacion mendez_alvaro tiene aparcamiento La estacion mendez_alvaro tiene conexion con la red de metro La estacion orcasitas tiene aparcamiento La estacion puente_alcocer tiene aparcamiento La estacion zarzaquemada tiene aparcamiento La estacion leganes tiene aparcamiento La estacion leganes tiene conexion con la red de metro Hay que realizar transbordo en atocha Hay que realizar 1 transbordos Yes