BASES DE DATOS DE PATRONES PARA EL TRAZADO DE CARRETERAS Lorenzo Mandow y José Luis Pérez de la Cruz * Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga Apartado 4114 - 29080 Málaga (España) e-mail: [email protected] En este trabajo se describe la aplicación de bases de datos de patrones como heurístico para el problema del trazado de carreteras. Se análiza la ganancia en eciencia, tanto en tiempo como en memoria. Resumen 1. Introducción La herramienta SINDI (Sistema Inteligente de ayuda al Diseño) permite recoger y valorar información necesaria para el Estudio Informativo de una carretera. Incluye un editor que permite la generación automática de trazados de modo que se cumpla la normativa vigente en España [1]. En este trabajo se considera la generación de trazados de longitud mínima empleada en SINDI, combinando el conocido algoritmo de búsqueda heurística A* con las bases de datos de patrones ideadas por Culberson y Shaeer [3]. Básicamente, se trata de enumerar por fuerza bruta un conjunto de subobjetivos, o soluciones parciales posibles, que satisfagan ciertas restricciones. Cada subobjetivo se denomina patrón, ya que puede corresponderse con un estado de la búsqueda. El conjunto de subobjetivos se guarda en una base de datos de patrones, junto a la estimación de lo que costará satisfacerlos. 2. Espacio de estados La generación de un trazado preliminar geométricamente correcto entre dos puntos del espacio tridimensional puede reducise a un problema de conguración de componentes. Estos componentes son rectas y arcos de círculo, caracterizados por su longitud, y su arco y su radio, respectivamente. La elección de un determinado componente impone restricciones sobre los componentes que pueden aparecer a continuación, y que vienen determinados por la normativa de trazados para cada tipo de carretera. Consideraremos aquí únicamente tramos curvos, y que las rectas pueden aproximarse por curvas de radio sucientemente elevado. El espacio de estados propuesto [2] representa en cada estado información detallada sobre la planta y alzado de la carretera. * Trabajo parcialmente subvencionado por el Plan Nacional de I+D y los fondos FEDER, proyecto 1FD-1997-1922 El uso de una malla de cotas o modelo digital del terreno para conocer la supercie sobre la que se asentará el trazado introduce ya un elemento de discretización en el problema. Un trazado será un camino sobre la malla empleando 8 vecinos. En la generación de sucesores es necesario controlar minuciosamente que los caminos resultantes sean aproximaciones eles de trazados reales que cumplan la normativa de carreteras. La gura 1 muestra, a modo de ejemplo, un camino de 8 vecinos válido que aproxima una sucesión de curvas. Camino generado (arriba), y trazado aproximado por el camino en planta (centro) y alzado (abajo). Figura 1. El alzado debe adaptarse lo mejor posible al terreno, evitando separarse del mismo en exceso. Además, la secuencia de rasantes y cambios de rasante debe ajustarse a las restricciones impuestas por la normativa de carreteras. Sobre el espacio considerado, una instancia del problema de trazado vendrá denida por un estado inicial, y un punto de destino (γ ). Este último vendrá caracterizado por sus coordenadas xγ , yγ , zγ , así como por el ángulo de llegada del trazado (αγ ). Como medida de coste entre dos estados se emplea la distancia entre sus coordenadas en el plano. 3. Funciones heurísticas Las funciones heurísticas consideradas estiman, de forma optimista, la longitud mínima que debe recorrer un trazado para llegar a su destino. Sin pérdida de generalidad, los ejemplos y grácos mostrados se reeren a carreteras con velocidad de proyecto de 80 km/h y a resoluciones de malla de 100 metros. Dado el espacio de estados, la distancia 8-vecinos entre cualquier punto de la malla y el destino es trivialmente una estimación optimista de la distancia que queda por recorrer. Denominaremos a este heurístico h1 (e). Consideremos ahora la creación de una estimación mejor (h2 (e)). Es posible calcular, para un punto origen y orientación dado, la longitud de trazado mínima hasta los puntos cercanos sin limitar la orientación de llegada. Basta emplear A* junto con h1 (e). La gura 2 muestra las longitudes míminas calculadas desde un punto con orientación α = 0o hasta dos puntos diferentes. Dadas las restricciones sobre curvatura impuestas por la normativa, que un punto esté más próximo que otro al origen no signica necesariamente que el trazado hasta el será más corto. Figura 2. Longitudes mínimas de trazado a puntos cercanos. Los datos calculados para una orientación de partida de 0o , sirven como estimaciones heurísticas optimistas de la distancia a recorrer por una carretera que, partiendo de cada punto de la malla (ignorando su orientación), desee alcanzar el centro de la misma con orientación α = 180o . Una tabla con estos datos constituye una base de datos de patrones, estando cada patrón formado por las distancias en horizontal y vertical entre las coordenadas de un estado y el destino, y la orientación de llegada. Para tener un heurístico completo hay que calcular dicha tabla para todas las orientaciones de llegada posibles. Con la orientación en radianes y una precisión de 2 decimales se necesitan 628 orientaciones. Aprovechando simetrías basta con calcular 79 tablas (orientaciones de 0 a π/4 radianes), es decir, 9559 datos si la malla es de 11 × 11. La tabla tridimensional resultante constituye una base de datos de patrones para cada tipo de carretera y resolución de malla. 4. Resultados experimentales El cuadro 1 muestra la evolución del valor medio de h1 y h2 para mallas cuadradas de tamaño creciente y resolución de 100 metros. Esto da una idea de la reducción de la profundidad de la búsqueda que supone cada heurístico. Es fácil ver que h2 es muy ecaz en las proximidades del punto de destino. Para la prueba de los heurísticos se han generado 30 trazados aleatorios de longitud 10, 30 de longitud 15 y 30 de longitud 20 sobre una hoja del Mapa Topográco Nacional. Después se ha aplicado una versión de A* que busca todos los caminos solución óptimos empleando h1 (e), y h3 (e) = max{h1 (e), h2 (e)} con tabla h1 (e) h2 (e) 1×1 0 0 3 × 3 107.30 1266.29 5 × 5 193.14 1334.61 7 × 7 275.91 1288.61 9 × 9 357.66 1199.95 11 × 11 438.95 1132.09 Cuadro 1. Valores medios de los heurísticos para tablas centradas en el destino una tabla 11 × 11. Los resultados (cuadro 2) muestran que con h3 el número de iteraciones se reduce en promedio al 55.7 %, el número de nodos en el árbol de búsqueda al 53.1 %, y el tiempo de cómputo al 44 %. El coste de los caminos generados varía entre 948 y 2462 metros, con una media de 1656 metros. Número de iteraciones Núm. nodos generados Tiempo (seg.) h1 Suma total 453392.00 Media 5094.29 Desv. típica 10786.25 Mínimo 11.00 Máximo 58462.00 Cuadro 2. 5. h3 h1 252557.00 685190.00 2837.62 7698.76 6483.86 16638.28 11.00 23.00 56370.00 105930.00 h3 h1 h3 363967.00 4743.27 2093.89 4089.52 53.30 23.53 8189.37 147.89 68.80 23.00 0.05 0.05 56934.00 1072.94 597.15 Resultados globales de los experimentos Conclusiones Hasta el momento las bases de datos de patrones se han empleado con éxito en la resolución óptima de puzzles complejos como el cubo de Rubik. Este trabajo muestra su potencial como heurístico aplicado a problemas reales de ingeniería. En general, la distancia sobre el plano al objetivo no es un buen heurístico para el problema del trazado de carreteras. Los experimentos muestran que el tiempo de cómputo y el número de nodos generados por A* se reducen notablemente incluso con una base de datos de patrones de tamaño relativamente pequeño. Referencias 1. Instrucción de Carreteras. Norma 3.1-IC. BOE de 2 de febrero de 2000. 2. Mandow L. (2002): Especicaciones para la generación automática de trazados en SINDI. Informe LCC 2/02. Dpto. Lenguajes y C. Computación. Univ. Málaga. 3. Culberson J.C., Schaeer J. (1996): Searching with pattern databases. Advances in Articial Intelligence, Gordon McCalla (Ed.) Springer.