Lemma 3.1

Werbung
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.
Herunterladen