Dado un gráfico G=(V,E,w), definimos sol′= ( V, E,w′) con w′(e)=aw(e)+1 dónde a=|E|+ε para algunos ε≥0 como se propone en los comentarios de la pregunta.
Lemma
LetP un camino en G con costo Ces decir w(P)=C. Entonces,P ha costado aC+|P| en G′es decir w′(P)=aC+|P|.
El lema se sigue directamente de la definición de w′.
Llama al resultado de Dijkstra en G′ P, que es el camino más corto en G′. AsumirP no era un camino más corto con menos aristas (entre todos los caminos más cortos) en G. Esto puede suceder de dos maneras.
- P no es el camino más corto en G.
Entonces, hay un caminoP′ con w(P′)<w(P). Como|P|,|P′|≤|E|≤a, esto implica que también w′(P′)<w′(P)con el lema anterior. Esto contradice queP fue elegido como el camino más corto en G′.
- Pes una ruta más corta pero hay una ruta más corta con menos aristas.
Entonces, hay otro camino más cortoP′ - es decir w(P)=w(P′) -- con |P′|<|P|. Esto implica quew′(P′)<w′(P) por el lema anterior, que nuevamente contradice que P es un camino más corto en G′.
Como ambos casos han llevado a una contradicción, P es de hecho un camino más corto con menos aristas en G.
Eso cubre la mitad de la propuesta. Qué pasaa<|E|es decir a=|E|−ε con ε∈(0,|E|)?
- En realidad, también necesitamos eso a o todos los pesos en Gson enteros De otra manera,w(P′)<w(P) no causa los pesos en G′ ser al menos |E|aparte. Sin embargo, esto no es una restricción; siempre podemos escalarw con un factor constante para que todos los pesos sean enteros, suponiendo que comencemos con pesos racionales.