RHEINISCHE FRIEDRICH-WILHELMS-UNIVERSITÄT BONN INSTITUT FÜR INFORMATIK Dr. F. E. Peters Seminar Ausgewählte Graphen-Probleme Sommersemester 2000 Isomorphietest „Linear zeitlich automorphism“ Algorithmen für Bäume, Intervallgraphen und planare Graphen” Bearbeitet von Jamshid Azizi Isomorphietest____________________________________________________ 2 Isomorphietest 1.Einleitung Ausgehend vom Algorithmus für Baumisomorphismen zeigen wir, wie effiziente Algorithmen erstellt werden können, die eine Anzahl von Fragen beantworten können, welche die Isomorphismen von gekennzeichneten Wäldern betreffen. Diese Algorithmen operieren in einer Zeit, die sich linear zur Größe ihrer Eingabe verhält. Sie (die Algorithmen) können auf andere Typen von Graphen angewendet werden, wann immer diese Gaphenkonventionell durch gekennzeichnete Bäume dargestellt werden können. Das ist der Fall bei Intervallgraphen und bei planaren Graphen, wie in den nächsten Abschnitten gezeigt wird. Durch die Anwendung von „linear pattern matching techniques“ und das Wissen über ihre additionale Struktur können wir sogar einen schnelleren Algorithmus für „outerplanar“Graphen, einen Spezialfall von „planar“ Graphen, erzeugen, welcher in der Literatur überprüft wurde. Wir setzen die üblichen Definitionen von Graphen voraus, die in der Graphentheorie verwendet werden. 1. G = (V,E) und G‘ = (V‘,E‘) sollen zwei Graphen sein. 2. Eine bijection : V- V‘ welche Paare von benachbarten Punkten auf Paare von benachbarten Punkten abbildet und Paare von nicht benachbarten Punkten auf Paaren von nicht benachbarten Punkten ist ein Isomorphismus von G mit G‘. 3. Ein Automorphismus von einem Graphen G ist ein Isomorphismus von G mit sich selber. 4. Die automorphe Gruppe von einem Graphen G ist die Gruppe, deren Elemente die Automorphismen von G sind. 5. Ein Satz von Erzeugern für die automorphe Gruppe von G ist jeder Satz von Automorphismen, dessen Abschluß und Umkehrung unter funktionaler Erzeugung die volle automorphe Gruppe darstellt. 6. Zwei Punkte x und y sind ähnlich, jedes Mal dann, wenn ein Automorphismus von G existert, der x auf y überträgt. 7. Ähnlichkeit ist eine Äquivalenzbeziehung von V, dessen Äquivalenzklassen, den automorphen Teil von G bilden. 8. Ein Code ist eine Funktion der Graphen, so dass die Werte, die G und G‘ zugeteilt werden identisch sind, wenn und nur wenn G und G‘ isomorph sind. In den folgenden Abschnitten werden wir als erstes den „Baum Isomorphismus Test“ überprüfen und ihn dann erweitern, um auf andere Fragen über Automorphismen von gekennzeichneten Bäumen Antworten zu können. Diese Ergebnisse als Grundlage nutzend, werden wir fortfahren, effiziente Automorphismus-Algorithmen für Intervallgraphen und Outerplanargraphen zu konstruieren. Abschließend werden wir skizzieren, wie Algorithmen für planare Graphen aufgebaut werden können, unter Verwendung der gleichen Ideen. Isomorphietest____________________________________________________ 3 Weinberg stellt vorhergehend Algorithmen dar, für die Berechnung von Teilen von trinconnected planaren Graphen von Bäumen. Dieser Algorithmus erfordert, O (n²) Schritte [36], [37]. Corneil und später James und Riha haben wesentlich einfachere Algorithmen für das „Baumproblem“ entwickelt. Ihre Algorithmen haben auch ein O (n²) als ZeitKomplexität [8], [21]. Am modernsten hat Fontet einen O(n) Algorithmus für beliebige planare Graphen entwickelt, welcher der hier entwickelten Methode sehr nahe kommt. Nach unserem Wissen gibt es in der Literatur keine lineare Zeitalgorithmen zum Auffinden eines Satzes von Erzeugern für die automorphen Gruppen von planaren Graphen oder für die Berechnung der Reihenfolge von diesen automorphen Gruppen. Alle Ergebnisse über Automorphismen von Intervallgraphen und outerplanaren Graphen sind neu. Ergänzende Hinweise zu vorhergehenden Arbeiten sind in den nachfolgenden Abschnitten enthalten. 2.Bäume Ein Baum ist ein verbundener Graph, welcher keine Kreise besitzt. Edmonds demonstrierteffiziente Methode zum Testen von Isomorphismen von Bäumen, welche auf der kanonischen Numerierung von Punkten basiert [6]. Diese Methode wurde vor einiger Zeit von einer Reihe von verschiedenen Forschern wiederentdeckt [22], [30], [34]. Eine Beschreibung dieses Algorithmusses und ein Test, das sie in linearer Zeit funktioniert, wurde von Aho, Hopcroft und Ullmann [1, § 3.2] gegeben. Ihre Version des Algorithmusses erlaubt den Bäumen gekennzeichnet zu sein,setzt aber voraus, das diese Bäume verwurzelt sind. Das ist kein wirklicher Nachteil, weil nicht verwurzelte Bäume durch eine einheitliche Methode verwurzelt werden können, in dem man das Zentrum oder das Bizentrum des Baumes findet, und es als eine Wurzel nutzt. Diese Technik kann auf Bäume angewendet werden, welche Kennzeichen haben, die aus Integren oder Streifen von Integren bestehen, in einer Reihenfolge welche O(n) ist, hierbei ist n die Zahl der Punkte im Wald. Alle unsere Algorithmen werden linear sein, in Bezug auf die Größe des Waldes plus die Summe der Länge ihrer Kennzeichnung. Der Wald Algorithmus wird dann der grundlegende Block für die Algorithmen in den späteren Abschnitten sein. bac bac u e ace ace cd b x cd ca q i v ca a g a c a a a o l j s w d ab ab ab f ab ab ab h p n m k Rank Label 1 2 3 4 5 6 7 A a ab ace bac ca cd ab ab r t y z Isomorphietest____________________________________________________ 4 Wir skizzieren kurz unsere Version von Edmons Vorgehensweise zum Testen von Isomorphismen von zwei gekennzeichneten Wäldern. Alle Kennzeichnen wurden zunächst nach Originalspeicherbereich sortiert und dann einer integren Reihenfolge innerhalb der sortierten Liste zugeordnet. Dann erhielt jede vertex im Wald eine integre i Nummer, entsprechend des nachfolgenden Schemas. Beginnend bei den Punkten der maximalen Tiefe im Wald wurde eine Arbeitskennzeichnung, welche aus der Reihenfolge der Originalkennzeichnung gefolgt von den i Numerierungen besteht, zugeteilt, in anwachsender Reihenfolge von allen Kindern. Die Arbeitskennzeichnungen von allen Punkten bei der aktuellen Tiefe wurden dann sortiert und die i Nummer von jeder Vertex wird der Rang von ihrer Arbeitskennzeichnungen innerhalb der sortierten Liste von Arbeitskennzeichnungen. Dieser Prozess wird nach obenhin fortgesetzt bis die Wurzeln aller Bäume eine i Nummer erhalten haben. Die nach dem Originalspeicherbereich erfolgte Sortierung nutzend, ist es möglich, all diese Operationen so darzustellen, das die gesamte Arbeit linear ist, in der Größe des Waldes plus die Summe der Länge der Originalkennzeichnungen [1]. 1 512 u 1 512 1 4111 e x 2 7223 3 6 q 1 4111 b 1 1 a 2 7223 i 1 1 c v o 2 211 1 1 3 6 g l j 1 3 n f 1 3 h 1 3 s w y 1 1 z 2 211 d 1 3 2 211 1 1 1 1 2 211 m 1 3 p r 1 3 1 3 t 1 3 k Ein vollständiger Isomorphismus Test besteht aus der Darstellung der i Nummerierung auf zwei gekennzeichneten parallelen Bäumen, im Prüfen auf jedem Niveau, dass der Satz von Arbeitskennzeichnungen bei beiden Bäumen der gleiche ist. Wenn eine Ungleichheit auf jedem Niveau auftritt, kann der Baum nicht isomorph sein und der Algorithmus wird mit der Erklärung des Nicht-Isomorphismus beendet. Andernfalls ist der Algorithmus erfolgreich beim Auffinden eines Isomorphismus, wenn der Satz von i Nummern, der den Wurzeln zugeteilt wurde, bei beiden Bäumen identisch ist. Wir können eine ähnliche Vorgehensweise benutzen, um andere Informationen, betreffend den Automorphismus von Wäldern, zu erhalten. Nur ein wenig mehr Arbeit ist notwendig, um den automorphen Teil herauszufinden. Vorausgesetzt der Wald ist i nummeriert. Die Punkte sind geteilt in equivalente Klassen, durch ihre i Nummern mit ihrer Tiefe. Das ist für gewöhlich nicht der automorphe Teil aber der automorphe Teil ist immer eine Raffinierung von diesem Teil und kann durch ein zweites Ablaufen des Waldes erklärt werden, diese Zeit vonoben nach unten. Lemma 2.1. G sei ein i nummerierter gekennzeichneter Wald. Zwei Punkte x und y sind ähnlich, wenn und nur wenn sie die gleiche Tiefe haben und wenn ihre i Nummern und ihre Eltern (wenn es sie gibt) ähnlich sind. Isomorphietest____________________________________________________ 5 Beweis: Nur wenn: x und y sollen zwei ähnliche Punkte in G sein.Wenn x = y ist, ist es einfach, die Bedingungen einzuhalten. * So ist x ≠ y angenommen. * Jeder Automorphismus muß die Tiefe und die Vorteileinnnerhalb des Waldes bewahren. Folglich liegen x und y bei der gleiche Tiefe und sie haben ähnliche Eltern oder gar keine Eltern. Nach der Richtigkeit des Isomorph Algorithmusses, welcher die i Nummern kreiert, folgt, dass zwei Punkte bei der gleichen Tiefe, die gleiche i Nummer nur haben, wenn die Unterbäume die in diesen Punkten wurzeln, isomorph sind. Wenn x ähnlich wie y ist, sind ihre Unterbäume isomorph und daher, sind ihre i Nummern wirklich identisch. Wenn: Nochmal nehmen wir an, dass x ≠ y ist, aber beide sind bei der gleichen Tiefe und haben ähnliche Eltern und die gleichen i Nummern.Wenn x und y bei der Tiefe 0 in den Wald wurzeln und bei Beobachtung gleich wiedergegeben werden, bevor ihre Bäume isomorph sind und deshalb müssen sie ähnliche Punkte haben. Andernfalls sind x und y bei einer positiven Tiefe und beide haben Eltern, welche ähnlich in ihren Wäldern sind. Wir zeigen, dass es einen Automorphismus gibt, welcher x auf y überträgt und somit ist der Beweis abgeschlossen. Jeder Automorphismus, welcher die Eltern von x auf die Eltern von y abbildet, muß x zu einigen Sibling von y abbilden. Wir nennen dieses sibling z. Logischerweise sind x und z ähnlich. Wir nutzen den „nur wenn“ Teil von diesem Lemma x, y und alle z haben die gleiche i -Nummer und deshalb wurzeln die Unterbäume bei y und z muß isomorph sein. Wir produzieren die geforderte Abbildung durch die Herstellung des Automorphismusses, welcher x auf z überträgt, mit dem Automorphismus welcher die beiden sibling y und z austauscht. Diese Darstellung ist ein Automorphismus von G welcher x auf y überträgt. Wir erklären nun, wie man den automorphen Teil eines gekennzeichneten Waldes errechnet. Nach derVerwurzelung teilen wir (wie vorher) jedem Baum an seinem Zentrum oder Bizentrum eine i Nummer zu. Ein zweiter Satz von integren j Nummern wird dann in einer Art und Weise von oben nach unten zugeteilt. Auf jedem Niveau, beginnend mit den Wurzeln, sind die Punkte gekennzeichnete Arbeitslabel, welche aus der i Nummer der Spitze, gefolgt von der j Nummer der Eltern besteht. Diese Arbeitskennzeichnungen werden dann auf jedem Niveau sortiert und die j Nummer für die Spitze ist der Rang für die Arbeitskennzeichnung innerhalb der sortierten Liste der Arbeitslabels. 1 1 1 1 u e 1 11 2 21 1 1 b x 2 21 i 3 32 q v 1 11 a 1 11 c 1 11 g 3 32 2 22 l j 2 22 o d f 1 12 1 12 h 1 12 m 1 12 1 12 k n Abbildung 2.3. Die Blocken von einer Automorphispartition für den Wald {a,c,d,w,y,z} {b,x} {e,u} {f,h,k,m,n,p,r,t} {g,l,o,s} {i,q} {j,v} die Abb. 2.3. ist der Wald aus der Abb. 2.1. 2 22 s 1 12 p r 1 12 1 11 1 11 2 22 w 1 12 t y 1 11 z Isomorphietest____________________________________________________ 6 Von dem Lemma ausgehend, folgt, daß die j Nummern plus den Tiefeinformationsteil die Punkte in ähnliche Klassen teilen. Dieser j Numerierungs -Algorithmus ist leicht zu implementieren um in in linearer Zeit zu funktionieren. Es ist eine unkomplizierte Eweiterung des Algorithmusses von Edmond. Wir haben nun gezeigt, dass die automorphe Teilung von gekennzeichneten Wäldern in einer linearen Zeit gefunden werden kann. In so fern wiederholt unsere Arbeit die Egebnisse von Fonet der ebenfalls verstanden hatte, das die Methode von Edmond genutzt werden kann, um automorphe Teilungen eines Baumes zu berechnen [9]. Wir gehen weiter, wie auch immer und erstellen einen Satz von Generatoren für die automorphen Gruppen und begründen die Ordnung der automorphen Gruppen. Lassen sie uns erst das Problem der Berechnung der automorphen Gruppen eines Waldes erörtern. Wir können nicht hoffen, einen Algorithmus zu erreichen, dessen Funktionszeit in der Größe eines Waldes linear ist. Allein die Größe des outputs verbietet das. Der Stern K1.n zum Beispiel hat n! Automorphismen. Schon die Berechnung eines Satzes von Generatoren für so eine Gruppe ist teuer. Weinberg hat gezeigt, wie man ein Set von Generatoren in O (n²) Zeit und Raum berechnet. Die Zeitgrenze kann nicht erweitert werden, weil alle Sets von Generatoren Ω (n) Automorphismen enthalten könnten, und jeder Generator Ω (n) Paare ordern kann. Solange also kein Weg da ist, dieses Problem umzuwandeln, können wir an dieser Stelle einer kompacten Repräsentation für die Automorphismen zustimmen. Wenn wir einen Automorphismus Φ nachweisen, durch seinen Satz von unfixierten Punkten, dann wird Φ die Menge {(x, Φ(x)) | x ≠ Φ(x)} und wir können ein O(n) Algorithmus erreichen, welcher einen Satz von Generatoren produziert, für die automorphen Gruppen von gekennzeichneten Wäldern. Lemma 2.2 Die kompakte Repräsentation eines Sets von Generatoren für einen gekennzeichneten Wald kann in einer linearen Zeit berechnet werden. Beweis: Zuerst berechnet man den automorphen Teil des Waldes. Von jeder ähnlichen Klasse von Wurzeln wählt man eine einzige repräsentative r aus. Für jede der anderen Wurzeln r‘ welche ähnlich zum r output ist, ist die kompakte Repräsentation der Automorphismen, welche die Bäume die in r wurzeln auf den Baum abbilden der in r‘wurzelt. Alle anderen Punkte innerhalb des Waldes verbleiben fixiert. Das kann erreicht werden, indem die beiden Bäume parallel abgegangen werden. Durch das Ablegen von allen Bäumen, welche in den verschieden r‘ wurzeln, verbleibt nur der Baum, der in r wurzelt. Nachdem alle ähnliche Klassen von wurzeln fortgesetzt wurden, löscht man die Wurzeln der verbleibenden Bäume und wiederholt dieses Vorgehen, Niveau für Niveau bis der Wald leer ist. Die Zeit und der Raum die verwendet wurden, ist O (n), weil jede vertex am häufigsten erscheint in der Reihenfolge des Automorphismus. Ein detailierter Beweis, dass diese Thesenabbildungen die aktuellen Automorphismen sind und dass sie die gesamte Gruppe generieren, wird in den ersten Thesen des Autors gegeben.[7]. Das letzte Automorphismus-Problem wird in ähnlicher Vorgehensweise behandelt.Vorausgesetzt, wir wollen die Ordnung der automorphen Gruppe begründen. Mathon [24] hat gezeigt, das normalerweise diese Problem polynom equivalent zu den zu testenden Graphen ist, aber seine Reduktion schließt einen Faktor von n² ein, der in der ablaufenden Zeit ansteigt. Wir werden zeigen, dass für Wälder (und ebenso für Bäume) die Ordnung der automorphen Gruppe in einer linearen Zeit berechnet werden kann.Voraussetzend einen j-numerierter Wald, wird die automorphe Gruppe durch eien dritten Gang durch den Wald gefunden, diesen Zeitboden hinauf wie in der originalen iNumerierung. Diese absolvieren generierte k-Nummern, welche die Ordnung der automorphen Gruppe indizieren, für den Unterbaum der in jeder vertex verwurzelt ist. Lemma 2.3. Laß G einen verwurzelten j-numerierten Wald sein, in welchem x0 ein vertex ist und x1 , x2 ... , xp sind seine Kinder. Wenn die p kinder in zwei Klassen geteilt sind, entsprechend ihrer j -Nummern und ct ist die größe der Klasse t, dann ist die Nummer der Automorphismen für den Unterbaum der in X0 wurzelt gegeben durch die Formel [ ] [Π ct!], K0= Π ks . wobei ks die Nummer der Automorphismen für den Unterbaum ist, der in xs wurzelt, für 0 ≤ s ≤ p. Beweis Jeder Automorphismus von Unterbäumen, welche in x0 wurzeln, muß jedes Kind von x0 auf ein ähnliches Kind von x0 übertragen. Für jede der q Klassen gibt es genau ct! Wege der Permutierung von ct Kindern in dieser Klasse. In der Ergänzung hat der Unterbaum, der bei jedem xs wurzelt ks Automorphismen. Jede der Möglichkeiten ist unabhängig, so dass die totale Nummer der Möglichkeiten das Produkt dieser Nummern ist. Isomorphietest____________________________________________________ 7 Ein Algorithmus zur Berechnung der Ordnung der automorphen Gruppe eines Waldes ist nun einfach. Vom Boden sich nach oben arbeitend, erhält jedes Vertex seine k-Nummer, durch das Zählen der Zahl der Kinder innerhalb jeder ähnlichen Klasse (die j-Nummern nutzend) und dann werden die passenden Faktoren und die k-Nummern der Kinder miteinander multipliziert. Wenn eine imaginäre Wurzel zusätzlich als Eltern fungiert für all die realen Wurzeln im Wald, dann ist die KNummer genau die Ordnung der automorphen Gruppe für den Wald. Die ganze Kalkulation ist linear mit Ausnahme der faktoralen Berechnung. Wenn factorial keine einfache Operation im Model der Berechnung ist, kann eine Tabelle von Factorials für die Integren von 0 bis n vorausberechnet werden und gespeichert werden in einer Tabelle der Größe O (n). Die Kosten des Aufbaus der Tabelle sind O(n) wenn eine gleiche Kostenmessung genutzt wird. Unter dem mehr realistischen Logarithmus Kosten-Kriterium, in welchem die Nummer der Bits welche in jede Operation involviert sind, gezählt wird, werden die Kosten (O (n² log n), wenn n! erfordert θ (n log n) bits [1]. Diese letzte Beobachtung beendet jede Hoffnung auf einen linearen Algorithmus, solange ein Baum, dessen Automorphismusgruppe irgendwie nahe n! Elemente hat einen output erfordern wird, dessen Representation zu groß ist, um ihn in linearer Zeit zu drucken. Unser Punkt hier ist, daß die Anzahl von Datenoperationen, welche gebraucht werden, nur linear in Bezug auf ihre Größe sind, die von ihren Bäumen betrachtet werden. Wir ignorieren den Fakt, daß die Punkte und Indices einen θ (logn) Bits erfordern für einen Graphen auf n Punkten und das arithmetische Operationen von großer Zahl mehr als eine Einheit erfordern werden. Sogar für Probleme von praktischer Größe n! ist eine große und mutliple Präsisionsarithmetik zu nutzen. Andererseits wenn nur eine Ordnung mit einem magnituden Ergebnis erforderlich ist, können wir eine fließende Punktkalkulation (oder ihr Äquivalent eine Festpunktapproximation auf den Logharithmus) verwenden. Asymptotisch kann dies eine unrealistische Annahme sein, aber wir irgnorieren diesen Punkt und bemerken die Fiktion, daß beliebige Integere können in einem einzelnen Registergehalten werden, adoptieren wir das uniforme Kostenkriterium, aber behalten wir in Erinnerung folgende Warnung von einem Sachkundigen. (diese Annahme wenn mißbraucht, führt zu einer Menge von unerwartenden Konsequenzen) 4608 48 48 e u 8 i b 1 1 a q 8 1 1 d c g 2 j 1 l 2 1 1 1 f h k m s w 2 1 1 n Abbildung 2.4. Die k-Nummer für den Wald (forest) in Abb. 2.1. 2 1 p r 1 1 t 1 1 v o 6 x y 1 z Isomorphietest____________________________________________________ 8 Indem wir in der Lage sind, die Ordnung von automorphen Gruppen zu berechnen, sindwir befähigt, ergänzende Fragen zu Isomorphismen zu beantworten. Im Besonderen die Zahl von Isomorphismen zwischen zwei Wäldern ist einfach zu berechnen. Mathonhat bemerkt, daß alle zwei Graphen entweder nonisomorph sind oder andererseits ihre Zahl von Isomorphismen zwischen ihnen selbst diegleiche ist, wie die Zahl der Automorphismen von einem der Graphe. [24] Unser Algorithmus ist für diesen Zweck leicht zu adaptieren. Nachfolgend erklären wir die Details. Wir rufen in Erinnerung, daß Edmond‘s Algorithmus schon bekannt ist dafür, eine effiziente Methode für kodierten Bäume zu sein. Die Modifizierung für Wälder ist einfach. Startend mit der sortieren Liste von i-zahlen für dieWuzeln,ersetzen wir rückwirkend die Arbeitskennzeichen in Parenthese, für jede Vertex izahl (auch substituierend die Originalkennzeichen für Reihenfolgen) bis wir einen einfachen Streifen haben, der aus den Originalkennzeichen besteht, welche passend parentisiert wurden, um die Struktur der Wälder zu bestimmen. Das ist eine kanonische Präsentation. Der Kode für jeden Baum in unserem Beispielwald ist der Streifen (bac(ace()()())(cd(a(ab)(ab))(a(ab)(ab))(ca))). und der Kode für die gesamten Wälder,ist der Baumkode, zweimal wiederholt. Theorem 2.4 es ist möglich, Isomorphismen zu testen, den automorphen Teil zu finden, oder ein Satz von Generatoren für die automorphe Gruppe, und die Zahl der Automorphismen oder Isomorphismen für gekennzeichnete Wälder in Zeit und Raum zu finden, welche liniar ist in der Größe der Wälder plus die Summe der Länge ihrer Kennzeichen. Wir werden diese Ergebnisse nutzen und in den folgenden Abschnitten mehr generelle Graphen mit gekennzeichneten Wäldern vorstellen. Die Kennzeichen werden immer integer sein oder Streifen von Integern werden ausgewählt von einer Reihe welche linear ist in ihrer Größe der originalen Graphen und der Ergebnisse dieser Darstellung. Wir werden so in der Lage sein einen linearen Automorphismusalgorithmus für eine Klasse von Grraphen zu finden, der größer ist als nur ein Wald. 3. Intervallgraphen Ein Intervallgraph ist ein Graph G = (V,E) in welchen eine 1 : 1 (one-to-one)Entsprechung besteht zwischen den Punkten V und einigen Familien von Intervallen auf der realen Linie. Die Entsprechung sollte die Proportion haben, daß zwei Punkte benachbart sind in D wenn, und nur wenn zwei entsprechende Intervalle eine nichtleere Intersektion besitzen. Wir werden kurz einige Fakten über Intervallgraphen hier darstellen. Ein weiterer Hintergrund und ergänzende Aussagen werden durch Booth und Lueker [5], [23] gegeben. Sie haben gezeigt, wie man das Problem eines Testes von Intervallgraphenisomorphismen verringern kann und das Problem des Testes von Isomorphismen zwischen speziell gekennzeichneten Bäumen. Hier erklären wir wie diese Methoden erweitert werden können, um lineare Algorithmen darzustellen für die Berechnung von automorphen Teilen. Ein Satz von Generatoren für die automorphen Gruppen und die Ordnung von automorphen Gruppen wird dargestellt. Die Basis für ihren isomorphen Algorithmus ist die Methode für die Repräsentation eines Intervallgraphen durch einen PQ-Baum. Die Blätter des PQ-Baumes werden dominiert (maximal) von Cliquen von Intervallgraphen. Interne Möglichkeiten sind entweder P-Prozeduren, welche wie Prozeduren bei normalen Bäumen einen ungeordneten Satz von Kindern produzieren, oder es sind Q-Prozeduren, welche drei oder mehr Kinder haben, die in einer links-recht Ordnung bis zu einer kompletten Umkehrung aufgestellt sind. Die Abb. 3.1. stellt ein Beispiel für einen Intervallgraphen und für einen PQ-Baum, welche ihn repräsentiert dar. Durch die Aufhebung dieses Abschnittes können wir voraussetzen, daß G ein Intervallgraph ist. Um eine weitere Confusion zu verhindern, werden wir einiges von unseren vorausgegangenen Notierungen Isomorphietest____________________________________________________ a e i g b f k h 9 n l c j m d {d,j,k,l} {a,b,c,d} {d,l,m,n} {b,c,d,e} {c,d,f,g} {c,d,g,h} {c,d,h,i} Abbildung 3.1. Eine Menge von Interval (obere) und der PQ-Baum (untere) abtrennen, und die Punkte des PQ Baumes als Prozedur dazustellen und sie so von den Punkten auf G zu unterscheiden. Wir werden weiter annehmen, daß alle PQ-Bäume nach der normalen Methode bezeichnet werden, mit den Wurzeln an der Spitze und ihren Blättern am Boden. Und das die Blätter eine spezifische links-rechts Ordnung in ihrer Darstellung besitzen. Jeder Automorphismus eines PQ-Baumes wird somit übereinstimmend mit einer implizierten Nachzeichnung von den Bäumen, in welchen gleiche Prozeduren ähnliche Positionen einnehmen. Es wurde gezeigt [23], daß der PQ-Baum für einen Intervallgraph einheitlich ist bis zu dem Isomorphismus. Ein noch stärkeres Resultat kann überprüft werden, das wird uns in die Lage versetzen, das Problem des Automorphismus zu lösen. Lemma 3.1 Jeder Automorphismus eines PQ-Baumes für einen Intervallgraphen G indiziert einen distinkten Automorphismus auf G. Beweis: Eine gründliche Einbettung der PQ-Bäume wurde vorangehend diskutiert. Die Blätter, welche in links-rechts Ordnung angenommen wurden bilden die Grenze des PQ-Baumes. Jeder Automorphismus eines PQ-Baumes wird eine andere Grenze produzieren. Und sogar eine andere Ordnung der dominanten Gruppen. Angenommen wir haben eine extra Front und jede Gruppe ist gekennzeichnet mit Sequenzen von Graden für ihre Punkte, die Grade wurden spezifiziert in ansteigender Ordnung. Wir nehmen an, daß die Intervallgraphen durch diese Information rekonstruiert werden können. Die Schlüsselbeobachtung ist der Fakt, welche an anderer Stelle schon überprüft wurde [23], daß der Satz von Gruppen zu dem jede individuelle Vertexgehört immer einkonsecutiver Satz von Blättern ist entlang der Front. Das ist die Basisproportion von den PQ-Bäumen für einen Intervallgraphen und das formiert die Grundlage für Isomorphietest____________________________________________________ 10 alle PQ-Baumalgorithmen. Abb. 3.2 enthält eine Pidgin Algol-prozedur welche einen Intervallgraphen rekonstruiert ausgehend von der Grenze seines PQ-Baumes. Die Rekonstruktion läuft folgendermaßen ab. Startend mit der Gruppe die sich am meisten links befindet wird ein Satz von nachfolgend nummerierten Punkten (beginnend mit Eins) kreiert und das für jeden Grad einer Vertex in der Gruppe, die Grade wurden angeordnet in größerwerdender Reihenfolge. Ecken wurden ergänzt zwischen allen kreierten Punkten, um eine Gruppe zu formieren. procedure RECONSTRUCT( {Ci}, k ): begin n 0; E ; A ; for i 1 until k do begin for j ε A do Ci Ci –{degree (j)}; while Ci != do begin n n+1; degree (n) min (Ci); Ci Ci – {degree(n)}; Edges (n) 0; for j ε A do begin E E U {{j,n}}; edges (j) edges (j)+1; edges (n) edges (n)+1; end; A A U {n}; for j ε A do if edges (j) = degree (j) then A A – {j} end end end An dem entscheidenden Schritt wurde eine neue Gruppe erreicht. Der Satz von Graden wird als erstes modifiziert durch eine Rückbewegung der Instanzen von jedem Grad, wofür eine vorher kreierte Vertex mit dem gleichen Originalgraden verwendet wird, welche aber immer weniger Ecken hat als durch ihre Grade indiziert ist. Die Erforderlichkeit der Punkte stellt sich in aufeinanderfolgenden Gruppen dar und garantiert, daß es keinen Verlust gibt bei der Generalität in diesem Schritt, weil alle Punkte, welche immer noch Ecken vermissen lassen in dieser neuen Gruppe sein müssen. Der Prozeß wird dann wie vorhin fortgesetzt. Es wird eine Kreation von aufeinanderfolgend Isomorphietest____________________________________________________ 11 nummerieren Punkten erstellt mit einer anwachsenden Ordnung von Graphen. Und es werdenEcken ergänzt zwischen allen neuen Punkten und auch zwischen allen neuen Punkten und allen alten Punkten, welche immer noch Ecken vermissen lassen. Eine einfache Induzierung bei der Zahl der Gruppen zeigt, daß der Graph, welcher konstruiert wurde sich isomorph verhält zu dem originalen Intervallgraphen von welchem der PQ-Baum gebaut wurde. Jeder Automorphismus des Baumes induziert auf diesem Wege eine Permutation von Punkten, was einen Automorphismus des Intervallgraphen darstellt. Jeder dieser I Intervallgraphenautomorphismen ist verschieden. Um sicher zu gehen wird jeder Automorphismus beobachtet, der an der Front des PQ-Baumes entsteht. Wenn wir sicher sind, daß es zwei verschiedene Automorphismen von einem PQ-Baum gibt, muß zum Schluß eine Gruppe in einer anderen Position befindlich sein, im Bezug auf die Grenze. Keine zwei dominante Gruppen haben identische Sätze von Punkten. Auf diese Weise müssen die Gruppen, welche sich in den beiden PQBaumautomorphismen unterscheiden eine Vertex haben, welche anders behandelt wird durch die Rekonstruktionsprozedur. Daraus folgt, daß die zwei Intervallgraphenautomorphismen sich in dieser Vertex unterscheiden. Implizierend´, daß sie in der Tat verschiedene Automorphismen sind. 2 3 1 4 5 Abbildung 3.3. der Intervallgraph produziert bei der rekonstruierten Prozedur von Abb. 3.2. wurde verwendet die Grenze von dem PQ-Baum aus der Abb. 3.1. Indem man entdeckt hat, daßjeder Automorphismus eines PQ-Baumes natürlicherweise zu einem anderen Automorphismus führt ( von G) könnten wir uns fragen ob das Gegenteil wahr ist. Hat jeder Automorphismus von G automatisch einen anderen Automorphismus bei dem PQ-Baum? Die Antwort ist Nein. Der Grund kann gezeigt werden durch den Weg auf dem die Intervallgraphen von dem Baum rekonstruiert wurden. Bei verschiedenen Stadien wurden die Punkte zu korrespondierenden Graden von Punkten innerhalb der Gruppe kreiert. Es kann einfach ausgeschlossen werden, das die gleichen Grade für mehr als eine vertex die für ein particulare Gruppe kreiert wurden, benutzt wurden. In dem Algorithmus, der in der Abb. 3.2 dargestellt wird, folgt dies aus dem Fakt, das die Auswahl des Minimums von ci solange nicht determiniert ist, solange Ci in Wirklichkeit ein Multiset von Graden ist. Der Rekonstruktionalgorithmus unterscheidet diese Punkte nicht. Sie sind ähnlich, aber verschieden, so sollten einige Automorphismen sie austauschen. Es ist dieser additionale Automorphismus, der charakterisier werden muß. Isomorphietest____________________________________________________ 12 Wir brauchen ein paar mehr Informationen betreffend den PQ-Baum für diese Aufgabe. Jede Vertex in G hat ein charakteristisches Knoten in dem PQ-Baum. Das ist der einzige Knoten (es gibt immer einen), welcher den Unterbaum verwurzelt, dessen Blätter genau die Gruppen sind, zu dem die vertex gehört [5], [23]. Klarer ausgedrückt der Ausdruck (Term) „charakteristisches Knoten“ ist etwas ungenau, weil einige Punkte charakteristische Knoten besitzen, welche in Wirklichkeit nur ein Teil von einem Q-Knoten sind. Die strikte links.rechts Ordnung von einem Q-Knoten Kind bedeutet, daß nur einigevon ihnen (immer einaufeinanderfolgendes Subset) Blätter haben, welche die Vertex enthalten. Nicht desto trotz werden wir den Term „charakteristische Knoten „ nutzen um das Blatt zu bezeichnen , P-Knoten oder Teil von einem Q-.Knoten welcher diese Gruppen enthält. Zeichnung 3.4 illustriert die charakteristischen Knoten für die Intervallgraphen , welche schon vorher gezeigt wurden. d c b l m,n h g j,k a {3,4,8,13} {3,3,4,13} e {3,4,8,13} i f {3,4,8,13} {3,3,4,13} {3,4,8,13} {3,4,8,13} Abbildung 3.4. Die typischen Knoten für den Intervallgraph in Abb. 3.1. Lemma 3.2. Jeder Automorphismus von G ist komplett begründet durch einen Automorphismus des PQ-Baumes von G zusammen mit der Permutation der Punkte, welche die charakteristische Knoten bewahrt. Beweis : Erwogen wird ein Automorphismus des IntervallGraphen G. Er kann decomposed werden in zwei Automorphismen, einen auf den PQ-Baum und einen welcher die charakteristischen Knoten bewahrt, das geht auf folgende Art und Weise. Der Automorphismus induziert einen Automorphismus auf einem PQ-Baum. Das bewirkt umgekehrt , es wird ein Automorphismus von G erstellt , welcher nicht notwendigerweise der gleiche ist, wie der originale Automorphismus , weil bei der Rekonstruktion einige Informationen verlorengegangen sind , welche die Isomorphietest____________________________________________________ 13 Punkte unterscheiden welche zum gleichen Satz von Gruppen gehören. Punktewelche durch die Rekonstruktionsprozedur nicht unterschieden werden, sind genau die Punkte welche identische charakteristische Knoten besitze, Sie sind immer ähnlich. Vielmehr sie können innerhalb der Gruppen beliebig permutiert werden ohne Veränderung der Rekonstruktion. Auf diesem Weg könne particulare Automorphismen von den Automorphismen induziert werden durch die Rekonstruktion mit der Aufnahme von jedem Satz von Punkten, welche die gleichen charakteristischen Knoten haben. Aus diesen Bemerkungen folgt umgehend das eine additionale Mischung dieser Punkte die Erklärung gibt für alle möglichen Automorphismen von G. 1 p12 1 p11 2 p23 3 Q 232 2 p22 { } { } 2 2 { } 2 2 { } 2 2 { } 3 3 { } 1 1 { } 1 1 2 2 Abbildung 3.5 Die i-Numerierung für den PQ-Baum von Abb. 3.1. Wir sind nun bereit, einen Algorithmus zu erstellen für die Berechnung der automorphen Teilung eines Intervallgraphen. Als erstes kennzeichnen wir jedes Blatt mit den Graden seiner Punkte in ansteigender Ordnung. Die I-numerierung wird dann vollzogen wie vorher gefolgt von der j-Numerierung. Zwei Punkte sind sind ähnlich wenn und nur wenn ihre charakteristischen Knoten ähnlich sind in dem PQ-Baum. Die J-numerierungund die Tiefen Numerierung gibt diese Information. Lemma 3.3 Die automorphe Teilung eines Intervalgraphen kann in linearer Zeit gefunden werden. Beweis: Booth und Leuker zeigen, das der PQ-Baum eines Intervalgraphen in linearer Zeit construiert werden kann und das die charakteristischen Knoten für jedeVetex innerhalb der gleichen Zeitgrenze gefunden werden können. [5], [23] Der Rest der Kalkulation ist linear solange es eine Variation bei der Berechnung der automorphen Teile eines gekennzeichneten Baumes ist. arbeitskennzeichen für P-Knoten bestehen aus den buchstaben P gefolgt von der i Numerierung der Kinder in aufsteigender Ordnung. Arbeitskennzeichen für Q-Knoten bestehen aus dem buchstaben Q gefolgt von der Inumereirung der Kinder in einer links-rechts oder in einer rechts-links Ordnung, welche immer ein lexikographische kleineres Kennzeichen ergeben wird. Die J-numerierung ist identisch zu der früheren Kalkulation für Bäume.Punkte von intervallgraphen sind geteilt durch die Kennzeichnung jedes auf einem Kennzeichenwelches besteht aus der ähnlichen Klasse für die charakteristischen Knoten. Wenn der charakteristische Knoten ein P-Knoten ist, ist es einfach.Wenn es ein Q-Knoten ist muß das Kennzeichen die Teilung von einem Q-Knoten unterscheiden (ein aufeinanderfolgendes Set von Kindern) beschreibend den charakteristischen Knoten . Das wird erreicht, durch die Numerierung der Kinder von links nach rechts (oder von rechts nach links, abhängig davon, wie das Arbeitskennzeichnenerstellt wurde während der i Numerierung) und abhängig machend den Index vom am meisten linken und am meisten rechten Kind für die Kennzeichnung dder Vertex. Eine abschließende Originalspeicherplatzsortierung erreicht die Teilung in zwei ähnliche Klassen. Isomorphietest____________________________________________________ 14 1 1 1 11 2 21 3 32 2 22 { } { } 1 22 { } 1 22 { } 2 23 { } 3 33 { } 1 11 { } 1 11 2 23 {a,e} {b} {c} {d} {f,i} {g,h} {j,k,m,n} {l} Abbildung 3.6. Die j-Numerierung für den PQ-Baum von Abb. 3.1. Das Herausfinden eines satzes von Generatoren für die Automorphen Gruppen ist eine einfache Generalisierung von dem Automorphismusalgorithmus für einen Wald. Es gibt zwei weniger bedeutende Varianten für den grundwaldalgorithmus, der gemacht werden muß. Die erste ist, das ein Satz von Generatoren addiert werden muß mit der Permutation jeder Familie der Punkte, S. 215 welche die gleichen charakteristischen Knoten haben. Eine Originalspeicherplatzsortierung erstellt die Familienund die kompakte Representation für ein Satz von Generatoren ist dann einfach herzustellen. Das kann geschehen vor der I-numerierung, so daß wir uns keine Sorgen machen müssen über diesen Beitrag zur Komplexität solange es eindeutig linear ist. Die zweite Variante ist, wenn die Generatoren hergestellt sind kann sich eine Situation ergeben, welche sich nicht mehr in der im normalen Algorithmus ergibt. Einige Q-Knoten können ihre kinder umkehren von links nach rechts und haben immer noch einen resultierenden Subbaum der isomorph ist zum originalen Subbaum. Wenn dass passiert ist es notwendig die kompakte repräsentation darzustellen. von einem Automorphismus welcher diese Umkehrung darstellt. Das ist leicht nachzuvollziehen, in dem man den Baum abgeht, aber wir müssen nachweisen, das der Algorithmus immer noch linear ist. Das frühere Argument das jede vertex in der Ordnung von einem Automorphismus am meisten ist hält nicht länger stand.Aber eine aufmerksame Analyse zeigt, das zu jeder Zeit ein Q-Knoten reversibel ist, wir garantieren das eine Hälfte der Kinder verschwinden wird beim nächsten Niveau , sie müssen ähnlich sein zur anderen Hälfte der Kinder. Wenn es eine merkwürdige Zahl von Kindern gibt muß das mittlere Kind nicht an der Umkehrung teilnehmen, weil es auf sich selber abgebildet wird. Das ist genug, um sicher zu gehen, das es linear ist, weil jede vertex nun in der Rangfolge meistens zweimal da ist. Isomorphietest____________________________________________________ 15 32 8 4 2 2 { } { } 1 { } 2 { } 2 1 { }1 { }1 { } 1 Numerierung Die Zahl der Automorphismen für einen Intervallgraphen muß einfach gleich geradeaus gezählt werden. Eine Numerierungdes PQ-Baumes begründet die Ordnung von seiner automorphen Gruppe und bewahrt die Automorphismen welche gezählt werden können durch eineMultiplizierung der totalen Nummer von Permutationenwelche die charakteristischen Knoten bewahren. Das ist einfach das Produkt der Factoralen von allen Familien von Punkten , welche eine gemeinsame charakteristische Knoten habenund es ist wiederum eine lineare Zeitberechnung, modulo die gesamte Diskussion von § 2 betreffend die Berechnung von Factoralen. in der Praxis ist es einfacher, dies K-Numerierung einzuschließen. Die K-nummer von jedem Knoten wird multipliziertmit den Factoralen der Nummer von Punkten , für welche es eine charakteristische Knoten ist. Q-Knoten werde ein geringfügig weniger komplizierte k- nummerierung haben weil sie zu mehr als einem einfach charakterisierten Knoten correspondieren könnenin welchem Fall das Produkt der Factoralen genutzt wird. Diese modifizierte K-numerierung wird in der Abb. 3.7 dargestellt. Dieser PQ-Algorithmus kann erweitert werden um einen Intervallgraphen in der üblichen art und Weise zu behandeln. Anstatt der Umkehrung jeder Gruppe kann ein Kennzeichen darin betsehen nur azus graden welche zu erst bucket sortiert werden alle Punkt Kennzeichen und Bezeichnungen von Ordnungen welche eränzt werden zu den Gradinformationen die die Gruppen kennzeichnen. Der Rest des Algorithmusses ist der gleiche bis auf dann wenn zwei Punkte ähnlich sind und nur wenn sie das gleiche kennzeichen haben und die gleichen charakteristischen Knoten. Wir haben das Folgende geprüft. Literaturen: [1] A.V.Aho.J.E. Hopcroft and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, MA, 1974. [2] T. Beyer W.Jones. and S. Mitchell, A linear time algorithm for isomorphisms of maximal outerplanar graphs, J. Assoc. Mach., 26(1979), pp. 603-610. J. A. Bondy and J. S. R. Murty, Graph Theory with Applications, MacMillan, London, 1976. K. S. Booth. Finding a lexicographic least shift of a string, Information Processing Letters, 10(1980), pp.240242. K. S. Booth and G. S. Leuker, testing for the consecutive ones property, interval graphs, and graph planarity using PQ-tree algorithms , J. Comput. System Sci., 13(1976), pp. 335-379. [3] [4] [5] [6] G. Busacker and T.L. Saaty, Finite Graphs and Networks, McGraw Hill, New York, 1965. Isomorphietest____________________________________________________ [7] [8] [9] [11] [21] [22] [23] [24] [27] [30] [32] [34] [36] 16 C. J. Colbourn, Graph Generation, M. Math. Thesis, University of Waterloo, Ontario, 1977. D. G. Corneil, Graph Isomorphism, Ph. D. Thesis, University of Toronto, Ontario, 1968. M. Fontet, linear algorithms for testing isomorphism of planar graphs, in Proceedings Third Colloquium on Automata, languages, and programming, 1976, pp. 411-423. F. Harary, Graph Therry, Addison-Wealey, Reading, MA, 1969. K. R. james and W. Riha, Algorithm for description and ordering of trees, technical report 54, University of Leeds, leeds, England, 1974. J. Lederberg. Notational algorithms for tree structures, NASA Technical Report CR57029, 1964. G. S. Leuker and K. S. Booth., A linear time algorithm for deciding interval graph isomorphism, J. Assoc. Comput Mach., 26(1979), pp. 183-195. R. A. Mathon, A note on the graph isomorphism counting problem, Information Processing Lrtters 8(1979), pp. 1431-132. R. C. read , and D. G, Corneil, The graph isomorphism disease, J. Graph Theory, 1(1977), pp. 339-363. H. I. Scoins, Placing trees in lexicographic order, in Machine intellingence, D. Michie, ed., 3(1968), pp. 43-60. D. T. tang . Bi-path networks and multicommodity flows. IEEE Transaction on Circuit Theory, 11(1964), pp. 468-474. L. Weinberg , Algorithms for determining automorphism grops of planar graphs, proceedings of the Third Annual Allerton Conference on Circuit and System Theory, 1965, pp. 913 -929. ------- , on the maximum order of the automorphism group of a planar triply-connected graph, SIAM J. Appl. Math., 14(1966), pp. 729-738. [37] P. Weiner, linear pattern matching algorithms, in Proceeding of the Fourteenth Annual symposium on Switching and Automata Theory, 1973, pp. 1-11.