En una publicación anterior , presenté mis planes para crear un mapa de viaje por carretera a través de las principales autopistas de EE. UU. Discutí cómo configuré la red y el algoritmo que usé para encontrar la ruta. En esta publicación, te mostraré los caminos resultantes que encontré y cómo me acerqué a mi último viaje por carretera.
Antes de realizar mi primera ejecución del algoritmo de búsqueda, hice un resumen rápido de mi red para ver si había restricciones adicionales que pudiera agregar para ayudar a encontrar una ruta. Resulta que hubo algunos:
- La autopista 3 solo se cruza con otras dos autopistas: la autopista 2 y la autopista 4. Esto significaba que la secuencia 2-3-4 o 4-3-2 sería una parte fija del camino.
- La autopista 48 también solo se cruza con otras dos autopistas: la autopista 33 y la autopista 11. Esto significaba que la secuencia 33-48-11 o la 11-48-33 serían una parte fija del camino.
- Técnicamente, la autopista 57 solo se conecta con otra autopista: la autopista 83. Sus terminales están en la frontera con México y la I-35 hacia San Antonio. Sin embargo, estaba bastante cerca de la autopista 90, por lo que fue muy tentador dejar que se conectara a esa. Pero, las reglas son las reglas, ¿verdad? … Dime, ¿no es eso? Juan Sall ¡¿Por ahí?! ¡Sí, por ahí!... ¿No es?... ¿Estás seguro?... Hombre, podría haber jurado que era él. De todos modos, como decía, la autopista 57 se conecta solo con las autopistas 83 y 90, lo que significa que la secuencia 83-57-90 o 90-57-83 sería una parte fija del camino.
- Finalmente, la autopista 46 solo se conecta con otras dos autopistas: la autopista 1 y la autopista 9. Sin embargo, este es un caso interesante ya que estas "dos" intersecciones son en realidad solo una intersección. Verá, donde se lleva a cabo esta intersección (en Palisades Park, NJ), la autopista 1 y la autopista 9 corren al mismo tiempo. Entonces, esto significaba que cualquiera de 1-46, 9-46, 46-9 o 46-1 sería un punto fijo en el camino. Además, esto también significaba que el camino comenzaría o terminaría en la autopista 46.
Ronda 1: ¡Busca!
Después de poner cuidadosamente estas restricciones en mi algoritmo, decidí comenzar la ruta con Hwy 46 y ejecutar el algoritmo. Quedaron algunas carreteras fuera, así que utilicé el Método 1 de los métodos de Llenar la brecha para volver a encajarlas (el enfoque de "injertar y volver a intentar"). Después de tres reintentos... ¡¡éxito!! La figura 1 muestra el resultado sin procesar de este primer intento.
Figure 1: Raw output of first attemptFigure 1: Raw output of first attemptFigure 1: Raw output of first attemptFigure 1: Raw output of first attemptFigura 1: Salida sin procesar del primer intento Esto era demasiado torpe para mi gusto, así que entré y, con la ayuda amistosa de Google Maps, llené algunas de las líneas con puntos adicionales para agregar un poco más de curvatura y seguir la ruta real más de cerca. También agregué una columna de tipo de marcador a mis datos, que podría usar para identificar las principales ciudades y puntos de referencia a lo largo de mi ruta. Para evitar saturar el gráfico con demasiados marcadores, copié la columna Latitud, eliminé los valores de esa columna que no estaban asociados con una ciudad importante o un punto de referencia, y luego hice que los puntos usaran esa columna como su "eje Y" ( puede hacerlo seleccionando la flecha Variables debajo del grupo apropiado en JMP Constructor de gráficos). Por cierto, los mapas de fondo que estoy usando aquí son una vista de mapa de calles con los estados de EE. UU. impuestos (las líneas de borde están configuradas en un gris ligeramente más oscuro que el predeterminado).
Después de arreglar un poco, obtengo el camino que se muestra en la Figura 2.
Figure 2: Cleaned version of first attemptFigure 2: Cleaned version of first attemptFigure 2: Cleaned version of first attemptFigure 2: Cleaned version of first attemptFigura 2: versión limpia del primer intento
Puedo imaginar algunas de sus respuestas a este mapa entre las siguientes:
- Gaaaaahhhh!! ¡¿Qué es eso?! ¡¡Es horrible!! Parece que alguien le dio a un niño de 2 años un marcador de punta fina y un mapa de los EE. UU. para dibujar.
- Así que puedo distinguir dónde comienzas y dónde terminas, pero ¿cómo diablos llegas allí? Pensé que la intersección de espaguetis en Atlanta, GA, era mala...
- ¡Oye, te perdiste por completo mi estado! (de residentes de California, Arizona, Rhode Island y Maine).
- ¿Qué onda con el viaje por Canadá? (Este es fácil. Dato curioso: ¡La Hwy 2 está dividida en una parte este y oeste por diseño! Para atravesarlo todo, se requiere un desvío hacia Canadá. ¡No hay quejas aquí!).
Está bien, está bien, así que admito que hay bastantes problemas con ese primer intento. Lo más notable para mí fue el hecho de que se perdió por completo varios estados, lo que ciertamente no funcionaría para un viaje por carretera a través del país (lo siento, Alaska y Hawái; espero que lo entiendas). Entonces, ¿por qué estos estados quedaron fuera? Bueno, para responder a esa pregunta, hice lo que debería haber hecho en primer lugar: ¡trazar la red!
La Figura 3 muestra la red de carreteras que compilé como se describe en la publicación anterior.
Figure 3: The highway intersection network visualizedFigure 3: The highway intersection network visualizedFigure 3: The highway intersection network visualizedFigure 3: The highway intersection network visualizedFigura 3: La red de intersección de carreteras visualizada
A partir de esta figura, podemos ver claramente por qué se pasaron por alto esos estados.
- No hay intersecciones en California, solo fines o comienzos (hay una declaración profunda allí en alguna parte).
- Solo hay una intersección en Maine, que se encuentra entre las autopistas 1 y 2 en Houlton. Esta intersección podría haberse pasado por alto fácilmente en la búsqueda de ruta.
- Solo hay dos intersecciones en Arizona; Hwys 60 y 95 (izquierda) y Hwys 60 y 70 (derecha). Mismo razonamiento que el punto anterior.
- Solo hay una intersección en Rhode Island: Hwys 6 y 44.
Ronda 2: ¡La secuela más esperada!
Con la información obtenida de la Figura 3 en la mano, era hora de agregar algunas restricciones más para garantizar que se visitara cada estado y lo suficiente.
- Para asegurarme de que se visite California, decidí que el camino comenzara con la autopista 101, que se extiende a lo largo de casi toda la costa del estado comenzando en Los Ángeles. El camino aún tendría que terminar con la autopista 46.
- Hay cuatro opciones de conexión para la siguiente autopista después de la autopista 101. Inicialmente, elegí comenzar con Hwy 26 ya que esta opción lo lleva a través de Portland y Mt. Hood.
- Extendí el punto fijo 4-3-2 para incluir ahora la autopista 1. Esto obliga a Maine a ser parte del camino, aunque ya no permite viajes prolongados en la autopista 2 (lo siento, Canadá).
- Agregué un punto fijo de 60-70 y 93-95 a la ruta, lo que finalmente daría como resultado que la cadena 93-95-60-70 o viceversa sea parte de la ruta debido a la naturaleza del algoritmo. Esto obliga a Arizona a ser parte del camino y tiene la ventaja adicional de hacer que Las Vegas también sea parte. De nada.
- También decidí agregar Hwy 52 a la cadena 83-57-90 ya que Hwys 52 y 83 se cruzan en Minot, ND. Esto permitió una mayor cobertura de Dakota del Norte. Todos los estados deben compartir el amor.
Con estas nuevas restricciones añadidas, volví a ejecutar el algoritmo y solo me quedó una carretera fuera. Así que utilicé el Método 2 de los métodos de Llenar el espacio para volver a agregarlo (el método "probar todas las opciones"). Después de un poco de limpieza, esto resultó en el mapa que se muestra en la Figura 4.
Figure 4: The second attempt at a road tripFigure 4: The second attempt at a road tripFigure 4: The second attempt at a road tripFigure 4: The second attempt at a road tripFigura 4: El segundo intento de viaje por carretera Bueno, al menos todos los estados tienen algo de cobertura ahora, aunque todavía es un poco complicado. Una cosa que todavía no me entusiasmaba demasiado con este viaje es el bucle allí en Wyoming. Resulta que las autopistas 87 y 85 corren prácticamente al mismo tiempo que la I-25 desde Denver hacia abajo, razón por la cual aparecen como lo hacen aquí. Además, parece que el estado de Washington apenas tiene cobertura, al igual que Vermont. Así que agregué algunas restricciones más (incluido el cambio a un inicio de Hwy 101 – Hwy 12) y obtuve la ruta que se muestra en la Figura 5.
Figure 5: Yet another attempt at a road tripFigure 5: Yet another attempt at a road tripFigure 5: Yet another attempt at a road tripFigure 5: Yet another attempt at a road tripFigura 5: Otro intento más de un viaje por carretera Luciendo un poco mejor ahora. Todavía hay mucha superposición con algunas partes del camino, pero no tan mala como la versión de la ronda 2, en mi opinión.
Entonces parece que pude abordar el problema de los "estados perdidos" con estos dos últimos caminos. Sin embargo, todavía hay un poco de locura en el diseño. Parece que esta publicación ha seguido su curso, por lo que en la siguiente, discutiré algunos ajustes que hice para tratar de limpiar aún más la ruta y mostrar mi ruta final.
Tengo la forma en que lo hice... aunque puedo garantizar que no fue muy fácil. Esencialmente, mientras completaba parte del camino, calculé tanto el tiempo de manejo como la distancia usando Google Maps. Tenía otras dos columnas que luego mantendrían un registro del tiempo y la distancia acumulados. Fue bastante laborioso ya que tenía que asegurarme de que la ruta siguiera la autopista, lo que se hizo más difícil cuando siguió junto a una interestatal, ya que Google seguía insistiendo en tomar esa interestatal. Al final, calculé la distancia total para el mapa de la ronda 2 y me acerqué al mapa de la ronda 3 y ambos eran del orden de 36,000 millas (aproximadamente 650 horas de tiempo de manejo).
Me imagino que podría aproximar la distancia total tomando la distancia euclidiana (en línea recta) entre paradas. Obviamente te perderías algunos de los detalles de ciertas carreteras, pero estoy seguro de que estaría lo suficientemente cerca para un uso práctico. Hay formas de hacerlo usando SAS, pero todavía no estoy seguro de cómo hacerlo en JMP.
¡Buen trabajo! Tengo curiosidad por saber cuál es el kilometraje total de las distintas rutas. ¿Tienes una manera fácil de calcular eso?