Ich lese über Klassen von Graphen, für die Graph Isomorphism ( ) in . Ein solcher Fall sind die hier erläuterten Graphen der begrenzten Valenz (Maximum über Grad jedes Scheitelpunkts) . Aber ich fand es zu abstrakt. Ich wäre dankbar, wenn mir jemand Referenzen von Expository-Art vorschlagen könnte. Ich habe keinen ausgeprägten Hintergrund in der Gruppentheorie, daher bevorzuge ich Arbeiten, die die Gruppentheorie auf sanfte Weise anwenden (mein Hintergrund ist in CS).P
17
Antworten:
Der Algorithmus für den Isomorphismus von Graphen mit beschränktem Grad ist so eng mit der (Permutations-) Gruppentheorie verknüpft, dass ich bezweifle, dass es eine Einführung gibt, in der Gruppen "nur vorsichtig" verwendet werden. Vielleicht konsultieren Sie jedoch Paolo Codenottis Ph.D. These für einen vollständigeren Hintergrund. Er geht nicht genau auf den Isomorphismus von Graphen mit begrenztem Grad ein, sondern behandelt die dafür benötigten Werkzeuge (und der Rest der Arbeit befasst sich mit Hypergraphen mit begrenztem Rang und erweitert den bekanntesten Algorithmus für den allgemeinen Isomorphismus von Graphen auf den Hypergraphen mit begrenztem Rang). .
Sie können auch das Buch Gruppentheoretische Algorithmen und Graphisomorphie nützlich finden, da es den größten Teil des notwendigen Hintergrunds abdeckt (Kapitel 2, "Grundlegende Konzepte", umfasst 47 Seiten) und eine viel gemächlichere Darstellung darstellt als die meisten veröffentlichten Artikel das Thema.
quelle
Notation: Sei sein Graph, eine Kante . Der Artikulationssatz die Menge von Eckpunkten des Abstand von , und läßt die Höhe sein .e = ( v 1 , v 2 ) X V k k e h XX= ( V, E) e = ( v1, v2) X Vk k e h X
Gemäß der Definition von ist und . Die Teilmenge der Kanten von sei definiert als V = V 0 ∪ V 1 ... V H V ( h + 1 ) = ∅ E k X ( 0 ≤ k ≤ h )Vk V= V0∪ V1… Vh V( h + 1 )= ∅ Ek X( 0 ≤ k ≤ h )
Der Subgraph ist definiert alsXich
Beispiel:X2= { ( V0∪ V1∪ V2, E0∪ E1) }
X e B A u t e ( X k ) ⟨ B ⟩ = A u t e ( X k ) A u t e ( X 0 ) = ⟨ ( v 1 , v 2 ) ⟩ ( v 1 , v 2 ) v 1 , v 2 XA u te( X) ist die Automorphismusgruppe von Graph wobei festgelegt ist. Wenn ein Generatorsatz von , schreiben wir . Es ist beispielsweise klar, dass wobei eine Permutation von Vertices von .X e B A u te( Xk) ⟨ B ⟩ = A u te( Xk) Aute(X0)=⟨(v1,v2)⟩ (v1,v2) v1,v2 X
Das Konstruieren des Generatorsatzes der Automorphismusgruppe von ist ein GI (Graph Isomorphism) vollständiges Problem [1]. Wenn wir also den Generierungssatz der Automorphismusgruppe von (der die Valenz in der Polynomzeit begrenzt hat) berechnen können, können wir GI in der Polynomzeit lösen. Wir wollen also bestimmen .X A u t e ( X )X X Aute(X)
Technik:
Wir konstruieren . Für jedes wirX k A u t e ( X ( k ) )X0,X1.....Xh Xk Aute(X(k))
Man beachte, dass eine Permutation von zu einem Automorphismus von .A u t e ( X ( k + 1 ) )Aute(X(k)) Aute(X(k+1))
So können Generatoren von von Generatoren für .A u t e ( X k )Aute(X(k+1)) Aute(Xk)
Um einen Generator zu konstruieren, wird der Strukturtyp von manipuliert. Der Strukturtyp von kann in endliche Klassen unterteilt werden. Zum Beispiel gibt es im dreiwertigen Fall nur sechs Typen (nur fünf dieser Fälle können tatsächlich auftreten).E kEk Ek
Wir werden die Kanten in in Typen klassifizieren und sie in Familien gruppieren. Auf diese Weise können Sie eine Reihe eindeutiger Beschriftungen erstellen.Ek
Bei einer festen Wertigkeit ist die Anzahl der Labels gering. An dieser Stelle verwenden wir das Konzept der Setwise-Stabilisatoren, um Permutationen zu finden, die auf ein bestimmtes Etikett wirken. Dabei finden wir den Generator von . Dann verwenden wir den Generator von , um den Generator von , wie zuvor angegeben. Auf diese Weise erhalten wir .A u t e ( X ( k ) ) A u t e ( X ( k + 1 ) ) A u t e ( X )Aute(X(k)) Aute(X(k)) Aute(X(k+1)) Aute(X)
quelle