Axiomes pour les chemins les plus courts


19

Supposons que nous ayons un graphique pondéré non orienté (avec des poids non négatifs). Supposons que tous les chemins les plus courts dans G soient uniques. Supposons que nous ayons ces chemins (séquences d'arêtes non pondérées), mais ne connaissons pas lui-même. Pouvons-nous produire un qui aurait donné ces chemins comme étant les plus courts en temps polynomial? La version la plus faible: peut-on décider en temps polynomial si un tel existe?G=(V,E,w)G(n2)GGG

La condition nécessaire évidente est la suivante: pour chaque paire de chemins, leur intersection est aussi un chemin. Cette condition est-elle suffisante?


1
Je dois être confus au sujet de l'entrée: si dans l'union des chemins les plus courts vous avez deux sommets sur un cycle, alors il y a deux chemins entre eux (qui sont nécessairement les plus courts), et l'un doit être plus court que l'autre par votre condition d'unicitéu,v
Suresh Venkat

4
@Suresh: Je ne sais pas à quoi tu veux en venir. Si le graphe G est le graphe complet, alors le chemin le plus court unique entre deux sommets est un seul bord, et l'union de tous ces chemins les plus courts est le graphe complet.
Tsuyoshi Ito

2
Je pense que la réponse est `` non '' pour reconstruire un graphique pondéré, car si un bord manque dans votre entrée, il pourrait en fait (a) manquer dans le graphique ou (b) être un bord avec un poids vraiment très élevé. Je pense que la version sans poids est plus intéressante. Aussi, pourquoi le graphique que nous voulons trouver est-il pondéré et les chemins qui nous sont donnés sont-ils non pondérés?
Artem Kaznatcheev

1
soit l'union des chemins les plus courts. y a-t-il une raison pour laquelle n'est pas un graphe qui produirait ces mêmes chemins les plus courts? ou, en d'autres termes, n'est-il pas vrai que si les chemins les plus courts donnés ne sont pas les chemins les plus courts dans , alors il n'y a pas de graphique pour lequel ils sont les chemins les plus courts? HHH
Sasho Nikolov

3
@SashoNikolov Quels poids devrions-nous attribuer aux bords?
ilyaraz

Réponses:


5

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)eE(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:

entrez la description de l'image ici

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:

  1. 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,
  2. 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
  3. Pour certaines raisons techniques, la théorie simplifie commodément le réglage des DAG plutôt que les graphiques dirigés (ou cycliques).

7

Vous pouvez écrire le problème en LP, n'est-ce pas? Pour deux sommets u, v et tout chemin P de u à v, le poids de P est supérieur ou égal au poids du chemin le plus court donné entre u et v. Ce sont toutes des inégalités linéaires, et même s'il existe exponentiellement nombreux, le problème de séparation est en P (c'est juste un problème de chemin le plus court toutes paires). Ainsi, vous pouvez utiliser l'algorithme Ellipsoid pour le résoudre.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.