Cómo averiguar qué castillo conectar con qué otro, para que los caminos sean los menos largos

La respuesta de Zhenrui Liao es la mejor que yo sepa.

Solo como una adición: puede resolver un problema similar utilizando el algoritmo de Floyd – Warshall o Dijkstra para obtener el camino más corto. Imagina que tienes suficientes recursos para hacer todas las conexiones posibles entre los castillos. Luego, puedes usar Floyd-Warshall para encontrar los caminos más cortos para los 28 pares posibles. Si por alguna razón no usaste una de las rutas al final del proceso, puedes deshacerte de esas rutas y terminarás con todas las rutas que necesitas para obtener todas las rutas más cortas (puedes hacer la misma repetición usando Dijkstra es varias veces para cada borde, pero creo que es un poco más costoso para gráficos no dispersos).

La solución de Zhenrui Liao le dará el árbol de expansión mínimo (gráfico sin ciclos), también conocido como “cómo construir el camino menos costoso pero eficiente”. Mi solución le dará el gráfico que contiene todos los caminos más cortos, también conocido como “cómo desperdiciar toneladas de pavimento innecesario a corto plazo, pero asegurando el tiempo de viaje más corto para todos a largo plazo”.

Esto suena como tarea, así que supongo que la solución de Zhenrui es la mejor, pero ten en cuenta que a veces te preguntan otro tipo de soluciones.

Esto es equivalente a preguntar, ¿cuál es el árbol de expansión mínima en los ocho vértices, donde cada borde se pondera por la distancia. Hay una variedad de algoritmos disponibles, el más famoso es el algoritmo de Prim y el algoritmo de Kruskal.

Este es un problema fantástico para resolver con una computadora analógica.

Tomar 2 hojas de plexiglás. Pegue pequeñas barras de metal en las coordenadas de los castillos, entre las dos hojas. Obtenga un recipiente con agua jabonosa, sumerja el artilugio de plexiglás para formar una película de jabón.

La película de jabón formará la ruta más corta.