Isomorphie von Graphen
Die Isomorphie von Graphen (oder Graphenisomorphie) ist in der Graphentheorie die Eigenschaft zweier Graphen, strukturell gleich zu sein.
Bei der Untersuchung graphentheoretischer Probleme kommt es meist nur auf die Struktur der Graphen, nicht aber auf die Bezeichnung ihrer Knoten an. In den allermeisten Fällen sind die untersuchten Grapheneigenschaften dann invariant bzgl. Isomorphie (gr. ἴσος ísos „gleich“ und μορφή morphé „Form“, „Gestalt“), die im Folgenden genauer definiert wird.
Definitionen
Seien und Graphen desselben Typs. Eine bijektive Abbildung heißt Isomorphismus zwischen und , falls gilt:
- ist Kante von genau dann, wenn Kante von ist in ungerichteten Graphen ohne Mehrfachkanten.
- ist Kante von genau dann, wenn Kante von ist in gerichteten Graphen ohne Mehrfachkanten.
- in ungerichteten Graphen mit Mehrfachkanten, d. h., je zwei Ecken sind mit ebenso vielen Kanten verbunden wie ihre Bildecken.
- in gerichteten Graphen mit Mehrfachkanten.
- ist Kante von genau dann, wenn Kante von ist in Hypergraphen.
Zwei Graphen heißen zueinander isomorph, falls es einen Isomorphismus zwischen ihnen gibt. Die Abbildung heißt Automorphismus von bzw. , falls zusätzlich gilt.
Prüfung auf Isomorphie und Graphen-Isomorphismus-Problem
Zu der Prüfung der Isomorphie zweier gegebener Graphen ist kein effizienter (polynomialzeitlicher) Algorithmus bekannt. Mehr noch, die Komplexität des bestmöglichen Algorithmus ist bis heute noch nicht bestimmt. Insbesondere ist die Isomorphie von Graphen eines der wenigen bekannten Probleme in NP, für die weder bekannt ist, ob sie in P enthalten, noch ob sie NP-vollständig sind. Die Frage, ob das Graphen-Isomorphismus-Problem in P ist (oder ob es NP-vollständig ist) ist eines der großen offenen Probleme der Informatik. Es ist das letzte der 12 Probleme in dem Buch Computers and Intractability (1979) von Michael Garey und David S. Johnson, von denen nicht bekannt ist, in welche der Komplexitätsklassen NP-vollständig oder P sie gehören (oder nicht gehören). Deshalb wurde es auch schon als eigene Komplexitätsklasse GI definiert und es wurde untersucht, ob andere Probleme GI-schwer oder GI-vollständig sind, wobei die Definitionen in analoger Weise wie bei NP-schwer und NP-vollständig erfolgen.
László Babai gab im Dezember 2015 an, einen Algorithmus gefunden zu haben, der das Problem in der Zeit löst (mit der Anzahl der Knoten des Graphen).[1][2][3][4][5] Dieses Verhalten wird als quasipolynomial bezeichnet, da die Laufzeit schneller als polynomial wächst, aber einem polynomialen Verhalten schon nahe kommt. Die vorher beste Abschätzung stammte von Babai und Eugene Luks 1983,[6] die die Schranke angab.
Beispiel
Diese beiden Graphen sind isomorph, obwohl ihre Darstellungen sich erheblich unterscheiden.
|
Software
- nauty. Ein Programm zur Berechnung der Automorphismengruppen und der kanonischen Labelings von Graphen. Zwei Graphen sind genau dann isomorph, wenn ihre kanonischen Labelings übereinstimmen.
- NetworkX. Eine freie Python-Bibliothek[7]
Siehe auch
Einzelnachweise
- Babai: Graph Isomorphism in Quasipolynomial Time. Arxiv 2015. Auf seiner Homepage gab er im Januar 2017 an, dass ein von Harald Helfgott gefundener Fehler korrigiert werden konnte.
- Babai, Graph isomorphism in quasipolynomial time [extended abstract, STOC '16: Proceedings of the forty-eighth annual ACM symposium on Theory of Computing, Juni 2016, S. 684–697]
- Erica Klarreich, Graph isomorphism vanquished - again, Quanta Magazine, Januar 2017
- Harald Helfgott, Isomorphismes de graphes en temps quasi-polynomial (d'après Babai et Luks, Weisfeiler-Leman...), Seminaire Bourbaki, Nr. 1125, Januar 2017, Arxiv
- László Babai: Groups, Graphs, Algorithms: The Graph Isomorphism Problem. Proc. ICM 2018, Rio de Janeiro, Online
- Babai, Luks: Canonical labeling of graphs. Proceedings of the Fifteenth Annual ACM Symposium on Theory of Computing (STOC ’83), 1983, S. 171–183.
- Algorithms - Isomorphism. In: NetworkX 2.2 documentation. Abgerufen am 25. Oktober 2018 (englisch).