Was ist in Bezug auf die Laufzeit der bekannteste transitive Abschlussalgorithmus für gerichtete Graphen?bekanntester transitiver Abschlussalgorithmus für Graph
Ich benutze derzeit den Warshall-Algorithmus, aber seinen O (n^3). Obwohl meine Implementierung aufgrund der Graphendarstellung etwas besser ist (anstatt alle Kanten zu überprüfen, werden nur alle ausgehenden Kanten überprüft). Gibt es einen transitiven Schließalgorithmus, der besser ist? Gibt es speziell etwas für Multi-Thread-Architekturen mit gemeinsam genutztem Speicher?
Vielen Dank im Voraus.
Raghava.
Vielen Dank für die Antwort. Ich denke, die heuristische Beschleunigung wäre nur dann sinnvoll, wenn viele stark zusammenhängende Komponenten im Graphen vorhanden sind. Ich muss die Graphen beobachten, die von verschiedenen Datensätzen erzeugt werden, um zu sehen, ob dies der Fall ist. Aber wenn das nicht der Fall ist, dann ist Warshalls beste, nicht wahr? Ich dachte, es könnte noch mehr geben. – Raghava
Ich denke Ansatz im ersten Aufzählungspunkt der ersten Verbindung ist der Weg zu gehen. Es wird auch relativ einfach parallelisiert werden! –
@Tom: Ab sofort verwende ich bereits eine Multi-Thread-Graph-Bibliothek. Also verwende ich ihre Graphendarstellung, die keine Matrix ist. – Raghava