Al fin pude leer el archivito de marras, me ha tocado instalar el Presentation de OpenOffice.
He visto confirmadas ahi muchas cosas que me habia encontrado en las hojas y hojas que llevo llenas haciendo pruebas. Teorias, problemas en potencia, posibles soluciones (no confirmadas hasta ahora), etc. Por ejemplo, lo que pone en la pagina 13 es exactamente lo mismo que habia pensado yo. No lo he leido del todo porque hay palabras que no recuerdo que significa, pero no pasa nada porque tengo el diccionario Ingles-Español aqui al lado.
Ayer a ultima hora estuve mirandome
http://es.wikipedia.org/wiki/Algoritmo_de_Dijkstra por enesima vez. y aunque una vez mas no entendi la explicacion (cuando uno es un negado para las mates, eres un negado y punto, es lo que hay

) se me ocurrio una cosa mirando la ejecucion del ejemplo, basandome en lo que veia.
http://tinypic.com/r/5wfpf4/7En negro, el numero del nodo. En rojo el "peso" del nodo. Se empieza por Destino (nodo 2) y se hace un recorrido en profundidad, evitando los nodos repetidos, hasta llegar a Origen (nodo 4). El peso de cada nodo esta repartido en plan padre-hijo.
Al empezar la busqueda (nodo 4) solo necesitamos mirar cual de los posibles nodos vecinos tiene el menor peso. A menor peso, mas cerca esta Destino (nodo 2). En caso de varios nodos con el mismo peso minimo, cogemos uno cualquiera de los dos. Esto hace que la busqueda del camino sea mas eficiente, creo.
Hay una cosa que me llama la atencion, los nodos sin descendencia (3 y 1) no afectan a la busqueda del camino pese a ser redundantes. Posiblemente esto sea despreciable a nivel de recursos y velocidad en mapas de nodos pequeños, pero en otros con muchos mas nodos quiza habria que añadir una poda antes de la busqueda, liberando asi recursos.
No se si esto en concreto se trata en el archivo que me pasaron, pero me parecio una buena idea. Y ahora, a leer con mas calma el archivo porque me parecio muy interesante xD