Nous supposons que les poids de sommet peuvent être des entiers positifs arbitraires ou, plus précisément, ils peuvent être des entiers positifs au plus 2 n . Ensuite, la tâche en cours ne peut pas être exécutée même dans un intervalle de temps légèrement plus faible, O ( n 2 ), à moins que la fermeture transitive d'un graphe dirigé arbitraire ne puisse être calculée en temps O ( n 2 ), où n indique le nombre de sommets. (Notez qu'un algorithme de temps O ( n 2 ) pour la fermeture transitive sera une percée.) Ceci est la contrapositive de la revendication suivante:
Revendication . Si la tâche en cours peut être exécutée dans le temps O ( n 2 ), la fermeture transitive d'un graphe dirigé arbitraire donné sous forme de matrice d'adjacence peut être calculée en O ( n 2 ) temps (en supposant un modèle de calcul raisonnable).
Preuve . En prétraitement, nous calculons la décomposition en composantes fortement connectées du graphe orienté donné G en temps O ( n 2 ) pour obtenir un DAG G '. Notez que si l' on peut calculer la fermeture transitive de G ', nous pouvons reconstruire la fermeture transitive de G .
Attribuez maintenant le poids 2 i à chaque sommet i du DAG G 'et utilisez l'algorithme pour le problème actuel. Ensuite, la représentation binaire de la somme affectée à chaque sommet i décrit exactement l'ensemble des ancêtres de i ; en d'autres termes, nous avons calculé la fermeture transitive de G '. QED .
L'inverse de la revendication est également vrai: si vous pouvez calculer la fermeture transitive d'un DAG donné, il est facile de calculer les sommes requises par le travail supplémentaire dans le temps O ( n 2 ). Par conséquent, en théorie, vous pouvez réaliser la tâche en cours dans le temps O ( n 2.376 ) en utilisant l'algorithme de fermeture transitive basé sur l' algorithme de multiplication matricielle Coppersmith-Winograd .
Edit : La révision 2 et les versions antérieures n'énonçaient pas explicitement l'hypothèse concernant la plage de poids des sommets. Per Vognsen a souligné dans un commentaire que cette hypothèse implicite pourrait ne pas être raisonnable (merci!), Et je suis d'accord. Même si des poids arbitraires ne sont pas nécessaires dans les applications, je suppose que cette réponse pourrait exclure certaines approches du raisonnement suivant: la fermeture peut être calculée en temps O ( n 2 ). ”
Edit : La révision 4 et antérieure indiquait de manière incorrecte la direction des bords.