Vous pouvez modifier n'importe quel graphe pour que Dijkstra trouve la solution avec le nombre minimal d'arêtes ainsi:
Multipliez chaque poids de bord par un nombre , puis ajoutez au poids pour pénaliser chaque bord supplémentaire dans la solution, c'est-à-dire
Cela ne fonctionne pas pour toutes les valeurs de ; doit être au moins pour que cela fonctionne. Si n'est pas ce nombre minimum, il se peut qu'il ne choisisse pas le chemin le plus court. Comment trouver cette valeur minimale ?
Ps. Cela a été fait à titre récréatif, j'ai fini mes devoirs il y a longtemps.