Je suis juste tombé sur cette vieille question tout en effectuant une recherche éclairée, et il se trouve que j'ai récemment obtenu des réponses dans cet article que je pourrais aussi bien partager. J'espère que la combinaison de la nécromancie des threads et de l'autopromotion est pardonnable.
Pouvons-nous produire un G qui aurait donné à ces chemins le plus court en temps polynomial? La version la plus faible: peut-on décider en temps polynomial si un tel G existe?
La réponse est oui aux deux. L'algorithme de Mohammad fonctionne certainement, mais il existe une méthode plus rapide et plus directe qui évite d'avoir à exécuter des oracles de séparation cubiques. Soit un graphe pondéré non orienté auxiliaire, où le poids de chaque bord est un entier indiquant combien des chemins pris en entrée contiennent ce bord. Maintenant, considérons l'instance de flux multiservices à capacité de bord sur (interprétant les poids de bord comme des capacités) dans laquelle l'objectif est de pousser simultanément 1 unité de flux entre chaque paire de nœuds. De toute évidence, cette instance de flux MC peut être satisfaite en poussant le flux de manière naturelle le long des chemins donnés en entrée. En fait, on peut prouver que notreH=(V,E,w′)e∈E(n2)H(n2)les chemins sont les chemins les plus courts uniques dans certains si et seulement si c'est le moyen unique de satisfaire l'instance de flux MC. Nous pouvons tester l'unicité en mettant en place un LP dont les contraintes sont les habituelles pour la faisabilité du flux MC plus une certaine fonction objective soigneusement choisie, et les poids de bord d'un satisfaisant peuvent être extraits du dual de ce LP.GG
La condition nécessaire évidente est la suivante: pour chaque paire de chemins, leur intersection est aussi un chemin. Cette condition est-elle suffisante?
Cette condition est parfois appelée "cohérence" (un ensemble de chemins est cohérent si l'intersection de deux est un sous-chemin de chacun). Il résulte de ce qui précède que la cohérence n'est pas suffisante. L'un des deux contre-exemples liés le plus petit est le système à code couleur suivant de quatre chemins sur six nœuds:
En d'autres termes, il n'y a aucun moyen d'attribuer des poids aux 8 bords illustrés ici afin que ces quatre chemins soient simultanément le chemin le plus court unique entre leurs extrémités. Cependant, n'importe quelle paire d'entre eux se croisent sur un seul nœud, ils sont donc cohérents (même si nous les remplissons avec quelques chemins supplémentaires de la bonne manière pour au total). Il existe une infinité de contre-exemples comme celui-ci; voir l'article pour une caractérisation.(n2)
Trois autres commentaires rapides sur tout cela:
- Les déclarations analogues que vous pourriez espérer pour tous sont très bien dans le cadre de graphiques dirigés plutôt que non orientés,
- Il y a une belle interprétation topologique de cette théorie qui mène à quelques idées et intuitions supplémentaires sur la façon dont les chemins les plus courts uniques peuvent être structurés, et
- Pour certaines raisons techniques, la théorie simplifie commodément le réglage des DAG plutôt que les graphiques dirigés (ou cycliques).