Partiamo dal presupposto che i pesi dei vertici possono essere interi positivi arbitrari o, più precisamente, possono essere numeri interi positivi al massimo 2 n . Quindi l'attività corrente non può essere eseguita nemmeno in un limite di tempo leggermente più debole O ( n 2 ), a meno che la chiusura transitiva di un grafico diretto arbitrario non possa essere calcolata nel tempo O ( n 2 ), dove n indica il numero di vertici. (Si noti che un algoritmo di tempo O ( n 2 ) per la chiusura transitiva sarà una svolta.) Questa è la contrapposizione della seguente rivendicazione:
Rivendica . Se l'attività corrente può essere eseguita nel tempo O ( n 2 ), la chiusura transitiva di un grafico diretto arbitrario dato come sua matrice di adiacenza può essere calcolata nel tempo O ( n 2 ) (ipotizzando un modello computazionale ragionevole).
Prova . Come preelaborazione, calcoliamo la decomposizione componente fortemente connessa del dato grafico G dato nel tempo O ( n 2 ) per ottenere un DAG G ′. Si noti che, se siamo in grado di calcolare la chiusura transitiva di G ', siamo in grado di ricostruire la chiusura transitiva di G .
Ora assegna il peso 2 i a ciascun vertice i del DAG G ′ e usa l'algoritmo per il problema attuale. Quindi la rappresentazione binaria della somma assegnata a ciascun vertice i descrive esattamente l'insieme degli antenati di i , in altre parole, abbiamo calcolato la chiusura transitiva di G ′. QED .
Vale anche il contrario del reclamo: se è possibile calcolare la chiusura transitiva di un determinato DAG, è facile calcolare le somme richieste con un lavoro aggiuntivo nel tempo O ( n 2 ). Pertanto, in teoria è possibile eseguire l'attività corrente nel tempo O ( n. 2.376 ) utilizzando l'algoritmo per la chiusura transitiva basato sull'algoritmo di moltiplicazione della matrice Coppersmith-Winograd .
Modifica : la revisione 2 e precedenti non hanno espresso esplicitamente il presupposto sull'intervallo dei pesi dei vertici. Per Vognsen ha sottolineato in un commento che questa ipotesi implicita potrebbe non essere ragionevole (grazie!), E sono d'accordo. Anche se non sono necessari pesi arbitrari nelle applicazioni, suppongo che questa risposta possa escludere alcuni approcci dal seguente ragionamento: “Se questo approccio funzionasse, darebbe un algoritmo per i pesi arbitrari, che è escluso a meno che il transitivo la chiusura può essere calcolata nel tempo O ( n 2 ). "
Modifica : la revisione 4 e precedenti indicavano erroneamente la direzione dei bordi.