12.07.2015 Aufrufe

Pfade in Dreiecks- und Sechseckgittern - Universität Bonn

Pfade in Dreiecks- und Sechseckgittern - Universität Bonn

Pfade in Dreiecks- und Sechseckgittern - Universität Bonn

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Rhe<strong>in</strong>ische Friedrich-Wilhelms-Universität <strong>Bonn</strong>Institut für Informatik INorman Jakl<strong>in</strong><strong>Pfade</strong> <strong>in</strong> <strong>Dreiecks</strong>- <strong>und</strong><strong>Sechseckgittern</strong>19. Juni 2008Sem<strong>in</strong>ararbeit im Sommersemester 2008


ZusammenfassungDas Entscheidungsproblem, ob e<strong>in</strong> gegebener Graph e<strong>in</strong>en HamiltonischenKreis enthält, ist als klassisches Problem der Informatik alsNP-vollständig bekannt.Im Folgenden wird gezeigt, dass sowohl für allgeme<strong>in</strong>e <strong>Dreiecks</strong>gitteralsauch für hexagonale Gittergraphen das Problem NP-vollständigbleibt. Für e<strong>in</strong>e speziellere Klasse von <strong>Dreiecks</strong>gittergraphen, die Klasseder zusammenhängenden <strong>und</strong> lokal zusammenhängenden <strong>Dreiecks</strong>gittergraphen,lässt sich e<strong>in</strong> Hamiltonischer Kreis jedoch <strong>in</strong> polynomiellerZeit f<strong>in</strong>den.Inhaltsverzeichnis1 E<strong>in</strong>führung 22 Hamiltonkreise <strong>in</strong> <strong>Dreiecks</strong>gittergraphen 32.1 Die NP-Vollständigkeit von HC auf <strong>Dreiecks</strong>gittergraphen . . 42.1.1 E<strong>in</strong>bettung von B <strong>in</strong> slope graph G 1 . . . . . . . . . . 52.1.2 Skalierung von G 1 , 7-Cluster <strong>und</strong> T entakel . . . . . . 82.1.3 Die Reduktion des Problems . . . . . . . . . . . . . . 122.2 Weitere Resultate zu Hamiltonkreisen auf <strong>Dreiecks</strong>gittergraphen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Hamiltonkreise <strong>in</strong> hexagonalen Gittergraphen 193.1 Erstellung e<strong>in</strong>es draw<strong>in</strong>gs D(B) aus B . . . . . . . . . . . . . 213.2 Simulation der e<strong>in</strong>zelnen Elemente von D(B) durch gadgets<strong>und</strong> Zusammensetzung zu G . . . . . . . . . . . . . . . . . . . 223.3 Die Reduktion des Problems . . . . . . . . . . . . . . . . . . . 234 Zusammenfassung <strong>und</strong> Ausblick 261


1 E<strong>in</strong>führungIn dieser Arbeit werden Dreicksgittergraphen <strong>und</strong> hexagonale Gittergraphen<strong>in</strong> Bezug auf das Hamiltonkreisproblem näher untersucht. Als Hauptquellens<strong>in</strong>d zum e<strong>in</strong>en die Arbeit von Gordon, Orlovich <strong>und</strong> Werner [1] zu nennen,welche sich mit <strong>Dreiecks</strong>gittergraphen beschäftigt, <strong>und</strong> zum anderendie Arbeit von Islam, Meijer, Núñez, Rappaport <strong>und</strong> Xiao [2], <strong>in</strong> denendie hexagonalen Gittergraphen genauer untersucht werden. Beide Arbeitenwurden im Jahre 2007 veröffentlicht.Für allgeme<strong>in</strong>e Graphen ist das Hamiltonkreisproblem als NP-vollständigbekannt. In der Vergangenheit wurde die Komplexität des Problems <strong>in</strong> H<strong>in</strong>blickauf spezielle Klassen von Graphen untersucht, darunter auch die Klasseder Gittergraphen, deren Knoten Punkte e<strong>in</strong>es Gitters s<strong>in</strong>d, welches e<strong>in</strong>eregelmäßige Kachelung der Ebene <strong>in</strong>duziert, <strong>und</strong> deren Kanten jeweils E<strong>in</strong>heitslängebesitzen.Itai, Papdimitriou <strong>und</strong> Szwarcfiter [3] zeigten 1981 die NP-Vollständigkeitdes Problems auf Rechtecksgittergraphen, also auf knoten<strong>in</strong>duzierten Subgraphendes unendlichen Rechtecksgitters, deren Knoten sich stets durchganzzahlige Werte beschreiben lassen <strong>und</strong> deren Kanten jeweils zwei Knotenverb<strong>in</strong>den, deren Abstand genau 1 beträgt. Die <strong>in</strong> besagter Arbeit verwendeteBeweisidee liegt <strong>in</strong> sehr ähnlicher Form auch dem Beweis von [1] <strong>und</strong>somit den hier vorgestellten Ausführungen zugr<strong>und</strong>e.Auch Polishchuk, Ark<strong>in</strong> <strong>und</strong> Mitchell [6] zeigten bereits im Jahr zuvor imRahmen der Canadian Conference on Computational Geometrie 2006 dieNP-Vollständigkeit des Problems auf <strong>Dreiecks</strong>gittergraphen <strong>und</strong> die polynomielleLösbarkeit für e<strong>in</strong>e spezielle Unterklasse von <strong>Dreiecks</strong>gittergraphen,werden aber nicht <strong>in</strong> der hier zugr<strong>und</strong>e liegenden Arbeit von Gordon, Orlovich<strong>und</strong> Werner [1] erwähnt.In den folgenden Kapiteln wird nun genauer auf die <strong>in</strong> den beiden Hauptquellengezeigten Resultate e<strong>in</strong>gegangen. In Kapitel 2 wird die NP-Vollständigkeitdes Hamiltonkreisproblems auf <strong>Dreiecks</strong>gittergraphen sowie e<strong>in</strong>ige weiterführendeResultate gezeigt. Auch das Hamiltonpfadproblem von zwei gegebenen Knotenv nach w wird dort kurz betrachtet. Kapitel 3 beschäftigt sich mit derNP-Vollständigkeit des Problems auf hexagonalen Gittergraphen.Zunächst sei an dieser Stelle noch die Def<strong>in</strong>ition des Hamiltonkreisproblemsgegeben, auf welches sich die nachfolgenden Kapitel beziehen.Def<strong>in</strong>ition 1Hamiltonian Cycle P roblem (im Folgenden kurz: HC)Instanz: e<strong>in</strong> Graph GFrage: Enthält G e<strong>in</strong>en Hamiltonkreis, d.h. gibt es e<strong>in</strong>en Kreis <strong>in</strong> G,der alle Knoten genau e<strong>in</strong>mal enthält?2


2 Hamiltonkreise <strong>in</strong> <strong>Dreiecks</strong>gittergraphenIn diesem Kapitel wird das Hamiltonkreisproblem auf <strong>Dreiecks</strong>gittergraphengenauer untersucht. Dazu def<strong>in</strong>ieren wir zunächst, was unter e<strong>in</strong>em solchenGraphen zu verstehen ist.Def<strong>in</strong>ition 2triangular til<strong>in</strong>g graphSei T ∞ = (V (T ∞ ), E(T ∞ )) e<strong>in</strong> unendlicher Graph, welcher die Ebene <strong>in</strong>regelmäßige Dreiecke teilt <strong>und</strong> folgendermaßen def<strong>in</strong>iert ist:• V (T ∞ ) = { v = xp + yq | x, y ∈ ZZ, p = (1, 0), q = ( 1 2 , √ 32 ) }• E(T ∞ ) = { (v, w) | v, w ∈ V (T ∞ ), |vw| = 1 }Die Knoten von T ∞ √ lassen sich also als L<strong>in</strong>earkomb<strong>in</strong>ation xp + yq vonp = (1, 0) <strong>und</strong> q = ( 1 2 , 32) darstellen <strong>und</strong> s<strong>in</strong>d jeweils paarweise genau dannüber e<strong>in</strong>e Kante mite<strong>in</strong>ander verb<strong>und</strong>en, wenn ihr Euklidischer Abstandgenau 1 beträgt. E<strong>in</strong> endlicher Ausschnitt von T ∞ ist <strong>in</strong> Abbildung 1 zusehen.Abbildung 1: Der Graph T ∞ (Quelle: [1])Ausgehend von obiger Def<strong>in</strong>ition des triangluar til<strong>in</strong>g graph lässt siche<strong>in</strong> <strong>Dreiecks</strong>gittergraph (triangular grid graph) nun folgendermaßen def<strong>in</strong>ieren:Def<strong>in</strong>ition 3<strong>Dreiecks</strong>gittergraphE<strong>in</strong> <strong>Dreiecks</strong>gittergraph (triangular grid graph) G = (V, E) ist e<strong>in</strong>endlicher knoten<strong>in</strong>duzierter Subgraph von T ∞ .Wie Abbildung 2 zeigt, kann e<strong>in</strong> <strong>Dreiecks</strong>gittergraph G auch e<strong>in</strong>zelneisolierte Knoten (wie etwa Knoten w <strong>in</strong> Abbildung 2) sowie L<strong>in</strong>iensegmenteenthalten, welche ke<strong>in</strong>e <strong>Dreiecks</strong>strukturen bilden.3


Abbildung 2: E<strong>in</strong> <strong>Dreiecks</strong>gittergraph (nach: [1], eigene Überarbeitung)2.1 Die NP-Vollständigkeit von HC auf <strong>Dreiecks</strong>gittergraphenIn folgendem Theorem halten wir das zentrale Resultat von Kapitel 2 fest:Theorem 4Das Problem HC ist NP-vollständig für <strong>Dreiecks</strong>gittergraphen.Beweis. Dass das Problem selbst <strong>in</strong> NP liegt, ist leicht e<strong>in</strong>zusehen, da e<strong>in</strong>enichtdeterm<strong>in</strong>istische Tur<strong>in</strong>gmasch<strong>in</strong>e die Lösung <strong>in</strong> polynomieller Zeitf<strong>in</strong>den kann.Es bleibt also die NP-Härte des Problems zu zeigen. Dazu wird nunim Folgenden e<strong>in</strong>e polynomielle Reduktion vom Hamiltonkreisproblem aufplanaren, kubischen <strong>und</strong> bipartiten Graphen auf unser vorliegendes Problem(HC auf <strong>Dreiecks</strong>gittergraphen) durchgeführt.Diese Reduktion zeigt die NP-Härte des Problems, da HC auf planaren,kubischen <strong>und</strong> bipartiten Graphen bereits von Plesnik [5] als NP-Vollständigbewiesen wurde.Zur Er<strong>in</strong>nerung seien die obigen Begriffe an dieser Stelle noch e<strong>in</strong>mal imE<strong>in</strong>zelnen def<strong>in</strong>iert:Def<strong>in</strong>ition 5E<strong>in</strong> Graph G = (V, E) heißt...• ...planar, wenn er sich kreuzungsfrei <strong>in</strong> die Ebene e<strong>in</strong>betten lässt.• ...kubisch, wenn von jedem se<strong>in</strong>er Knoten genau drei Kanten ausgehen,also: ∀ v ∈ V : deg(v) = 3• ...bipartit, wenn gilt:1. V =(V 1 , V 2 ), V 1 ∩ V 2 = ∅2. ∀ (v, w) ∈ E [(v ∈ V 1 ∧ w ∈ V 2 ) ∨ (w ∈ V 1 ∧ v ∈ V 2 )]4


Um die gewünschte Reduktion durchzuführen, wird nun zu e<strong>in</strong>em gegebenenplanaren, kubischen <strong>und</strong> bipartiten Graphen B e<strong>in</strong> <strong>Dreiecks</strong>gittergraphG konstruiert, so dass gilt:B enthält e<strong>in</strong>en Hamiltonkreis ⇐⇒ G enthält e<strong>in</strong>en HamiltonkreisDie Konstruktion von G gliedert sich <strong>in</strong> zwei Teilschritte, auf die nachfolgendnäher e<strong>in</strong>gegangen wird:1. E<strong>in</strong>bettung von B <strong>in</strong> e<strong>in</strong>en sogenannten slope graph G 12. Skalierung von G 1 , E<strong>in</strong>fügen von 7-Clustern <strong>und</strong> T entakeln2.1.1 E<strong>in</strong>bettung von B <strong>in</strong> slope graph G 1Zunächst def<strong>in</strong>ieren wir, was unter e<strong>in</strong>em slope graph zu verstehen ist.Def<strong>in</strong>ition 6slope grid graphAusgehend von dem e<strong>in</strong>gangs def<strong>in</strong>ierten Graph T ∞ (siehe Abbildung 1)wird der unendliche slope grid graph S ∞ def<strong>in</strong>iert, welchen man aus T ∞durch Entfernen aller Kanten erhält, die von l<strong>in</strong>ks oben nach rechts untenlaufen. Abbildung 3 verdeutlicht dies, wobei dort die zu entfernenden Kantengestrichelt e<strong>in</strong>gezeichnet s<strong>in</strong>d. Die Knotenmenge von S ∞ entspricht dabeiweiterh<strong>in</strong> der Knotenmenge von T ∞ , also gilt:V (S ∞ ) = {v = xp + yq | x, y ∈ ZZ, p = (1, 0), q = ( 1 2 , √ 32 )}Abbildung 3: S ∞ entsteht aus T ∞ durch Entfernen der gestrichelten Kanten(Quelle: [1])Def<strong>in</strong>ition 7slope graphE<strong>in</strong> slope graph S(m, n) ist e<strong>in</strong> endlicher knoten<strong>in</strong>duzierter Subgraphvon S ∞ .5


Identifiziert man die Knoten von S(m, n) mit Paaren (x, y) von ganzzahligenWerten x <strong>und</strong> y, <strong>in</strong>dem man die tatsächlichen Koord<strong>in</strong>aten e<strong>in</strong>es Knotenaußer Acht lässt <strong>und</strong> nur die <strong>in</strong> der Def<strong>in</strong>ition der Knotenmenge auftauchendenWerte x <strong>und</strong> y ∈ ZZ heranzieht, so hat e<strong>in</strong> Knoten (x, y) ∈ V (S ∞ )die vier Nachbarknoten (x + 1, y), (x − 1, y), (x, y + 1) <strong>und</strong> (x, y − 1). Nunkönnen wir die Knotenmenge (<strong>und</strong> <strong>in</strong>sbesondere die Bedeutung der ganzzahligenParameter m <strong>und</strong> n) von S(m, n) def<strong>in</strong>ieren durch:V (S(m, n)) = {(x + i, y + j) | 0 ≤ i ≤ m − 1, 0 ≤ j ≤ n − 1}E<strong>in</strong> solcher slope graph wird also durch m <strong>und</strong> n bis auf Isomorphie (denndurch Wahl von x <strong>und</strong> y kann die genaue Position des Graphen <strong>in</strong> der Ebeneverschoben werden) bestimmt.Im Beweis der NP-Vollständigkeit von HC auf Rechtecksgittergraphenverwenden Itai et al. [3] e<strong>in</strong>en ähnlichen Graphen R(m, n), welcher e<strong>in</strong>endurch m <strong>und</strong> n bestimmten Rechtecksgittergraphen beschreibt. Der hierverwendete Graph S(m, n) ist zu diesem isomorph, da er nur durch e<strong>in</strong>eVerschiebung der e<strong>in</strong>zelnen quadratischen Kacheln zu Parallelogrammenentsteht, <strong>in</strong>dem die jeweilgen Punkte oben l<strong>in</strong>ks <strong>in</strong> jedem Quadrat so weitnach rechts geschoben werden, dass ihre x-Koord<strong>in</strong>ate genau auf der Mitteder Strecke zwischen den beiden unteren Punkten des Quadrats liegt (sieheAbbildung 4).Abbildung 4: E<strong>in</strong> bipartiter slope Graph S(m, n) mit m=4 <strong>und</strong> n=5Dass G 1 bipartit ist, lässt sich leicht e<strong>in</strong>sehen. Wählt man e<strong>in</strong>en beliebigenKnoten v im slope graph G 1 aus <strong>und</strong> ordnet ihm e<strong>in</strong>er der beidenPartitionen der Knotenmenge zu, so lassen sich alle übrigen Knoten, derenDistanz zu v gerade ist, ebenfalls <strong>in</strong> die gleiche Partition e<strong>in</strong>ordnen, dierestlichen Knoten mit ungerader Distanz zu v werden der anderen Partitionzugeordnet (man beachte, dass die Distanz zwischen zwei Knoten v <strong>und</strong> wder Anzahl Kanten auf e<strong>in</strong>em kürzesten Pfad zwischen v <strong>und</strong> w entspricht,da nach Def<strong>in</strong>ition des slope graphs alle Kanten die Länge 1 haben). In Abbildung4 wird dies verdeutlicht, wobei die Knotenmenge <strong>in</strong> e<strong>in</strong>e Partitionvon schwarzen <strong>und</strong> e<strong>in</strong>e Partition von weißen Knoten unterteilt ist.Nun können wir die E<strong>in</strong>bettung emb: B −→ G 1 des bipartiten, kubischen,planaren Graphen B <strong>in</strong> e<strong>in</strong>en slope graph G 1 vornehmen. Wir wir6


sehen werden, lässt sich B für n=|V (B)| <strong>in</strong> G 1 (kn, kn) (für e<strong>in</strong>e Konstantek) e<strong>in</strong>betten.Wähle emb nun so, dass gilt:• emb bildet alle v ∈ V 0 auf weiße Knoten von G 1 ab.• emb bildet alle v ∈ V 1 auf schwarze Knoten von G 1 ab.• emb bildet alle e = (v, w) ∈ E auf <strong>Pfade</strong> zwischen emb(v) <strong>und</strong> emb(w)<strong>in</strong> G 1 ab, so dass zwei <strong>Pfade</strong> jeweils nur höchstens ihre Endpunktegeme<strong>in</strong>sam haben <strong>und</strong> ansonsten knotendisjunkt s<strong>in</strong>d.Abbildung 5: E<strong>in</strong> bipartiter, kubischer, planarer Graph B <strong>und</strong> se<strong>in</strong>e E<strong>in</strong>bettungG 1 =emb(B)Man beachte, dass emb so gewählt ist, dass auch die Partitionierung derKnotenmenge erhalten bleibt, dass also für je zwei beliebige Knoten v <strong>und</strong>w gilt:v <strong>und</strong> w s<strong>in</strong>d <strong>in</strong> der gleichen Partition ⇐⇒ emb(v) <strong>und</strong> emb(w) s<strong>in</strong>d <strong>in</strong> dergleichen Partition.In Abbildung 5 ist e<strong>in</strong> Beispiel für e<strong>in</strong>e solche E<strong>in</strong>bettung zu sehen.Ganz ähnlich betten auch Itai et al. [3] ihren zugr<strong>und</strong>e liegenden bipartitenGraphen <strong>in</strong> e<strong>in</strong>en Rechtecksgittergraphen e<strong>in</strong>. Dort wird gezeigt, dassfür e<strong>in</strong>en bipartiten, kubischen, planaren Graphen mit n Knoten e<strong>in</strong>e solcheE<strong>in</strong>bettung <strong>in</strong> e<strong>in</strong>en Rechtecksgittergraphen R(kn, kn) für e<strong>in</strong>e Konstantek <strong>in</strong> polynomieller Zeit realisiert werden kann. Da unser vorliegenderslope graph G 1 isomorph zu R ist, gilt dieses Resultat folglich auch für G 1 ,7


<strong>und</strong> wir können B mit n Knoten <strong>in</strong> G 1 (kn, kn) <strong>in</strong> polynomieller Zeit e<strong>in</strong>betten.Somit ist Schritt 1 unserer Konstruktion abgeschlossen, <strong>und</strong> wir wendenuns dem zweiten Schritt zu.2.1.2 Skalierung von G 1 , 7-Cluster <strong>und</strong> T entakelIm nun folgenden Schritt wird der soeben konstruierte slope graph G 1zunächst um den Faktor 7 skaliert. Das heißt, jede Kante von G 1 wird <strong>in</strong>e<strong>in</strong>en Pfad von je 7 Kanten transformiert.Da das Ziel unserer Konstruktion e<strong>in</strong> <strong>Dreiecks</strong>gittergraph G ist, werden<strong>in</strong> G 1 nun die Kanten ergänzt, welche <strong>in</strong> e<strong>in</strong>em <strong>Dreiecks</strong>gittergraph von obenl<strong>in</strong>ks nach unten rechts verlaufen. Dies geschieht ähnlich wie die Transformationvon T ∞ zu S ∞ , nur dass die entsprechenden Kanten nun ergänztstatt entfernt werden. Den resultierenden Graph nennen wir G ′ 1 .Man beachte, dass <strong>in</strong> G ′ 1 beim momentanen Stand der Konstruktion zweiArten von Knoten auftreten: Zum e<strong>in</strong>en s<strong>in</strong>d dies Knoten, deren Urbilderunter der E<strong>in</strong>bettungsfunktion emb bereits <strong>in</strong> B vorkommen, zum anderenenthält G ′ 1 zahlreiche Knoten, die durch Anlegen der <strong>Pfade</strong> zwischen ersterenKnoten <strong>und</strong> anschließender Skalierung entstanden s<strong>in</strong>d.Die eigentlichen, als Urbilder bereits <strong>in</strong> B auftauchenden Knoten, werdennun jeweils durch e<strong>in</strong> 7-Cluster ersetzt (siehe Abbildung 6), also e<strong>in</strong>er Mengevon sieben Knoten, von denen sechs im Kreis um e<strong>in</strong>en zentralen Knotenangeordnet s<strong>in</strong>d. Die Farbe beziehungsweise Parität des zentralen Knotense<strong>in</strong>es 7-Clusters wird dabei vom ursprünglichen Knoten übernommen <strong>und</strong>die übrigen sechs Knoten entsprechend der vorherigen Konstruktion gefärbt.Abbildung 6: E<strong>in</strong> Knoten (x, y) <strong>und</strong> se<strong>in</strong> 7-Cluster (Quelle: [1])Im letzten Schritt der Konstruktion von G werden jetzt die Kanten vonB, welche bisher als <strong>Pfade</strong> <strong>in</strong> G ′ 1 auftraten, durch sogenannte T entakel modelliert<strong>und</strong> die bisherigen <strong>Pfade</strong> <strong>in</strong> G ′ 1 mit diesen Tentakeln ersetzt. E<strong>in</strong>Tentakel ist aus e<strong>in</strong>em bis mehreren strips aufgebaut, welche wir zunächste<strong>in</strong>mal def<strong>in</strong>ieren wollen:8


Def<strong>in</strong>ition 8stripE<strong>in</strong> <strong>Dreiecks</strong>gittergraph D heißt strip, wenn D isomorph zum GraphenP 2 k ist. Dabei ist P k e<strong>in</strong> beliebiger Pfad über k ≥ 4 Knoten <strong>und</strong> se<strong>in</strong>QuadratP 2 k def<strong>in</strong>iert als derjenige Graph mit Knotenmenge V (P 2 k )=V (P k),<strong>in</strong> dem je zwei Knoten genau dann über e<strong>in</strong>e Kante verb<strong>und</strong>en s<strong>in</strong>d, wennihre Distanz <strong>in</strong> P k höchstens 2 beträgt.Abbildungen 7 bis 9 zeigen exemplarisch die möglichen Orientierungene<strong>in</strong>es strips für k=4, k=5 <strong>und</strong> k=6 Knoten. Wie man leicht sehen kann,besitzt jeder strip genau zwei T erm<strong>in</strong>aldreiecke (’Ohren’), also Dreieckemit je zwei Kanten, die zu ke<strong>in</strong>em anderen Dreieck des strips gehören, <strong>und</strong>mit denen der strip ’endet’ bzw ’term<strong>in</strong>iert’. Für k=4 besteht e<strong>in</strong> strip nuraus se<strong>in</strong>en beiden Term<strong>in</strong>aldreiecken <strong>und</strong> besitzt ke<strong>in</strong>e weiteren <strong>in</strong>ternenDreiecke.Abbildung 7: mögliche Orientierungen e<strong>in</strong>es strips über 4 KnotenAbbildung 8: Orientierungen e<strong>in</strong>es strips über 5 Knoten (Quelle: [1])Abbildung 9: Orientierungen e<strong>in</strong>es strips über 6 Knoten (Quelle: [1])Nun können wir def<strong>in</strong>ieren, was unter e<strong>in</strong>em T entakel zu verstehen ist.9


Def<strong>in</strong>ition 9T entakelE<strong>in</strong> T entakel ist e<strong>in</strong> <strong>Dreiecks</strong>gittergraph, der aus e<strong>in</strong>em oder mehrerenstrips über je k Knoten aufgebaut ist, wobei die e<strong>in</strong>zelnen strips durch Kantenihrer Term<strong>in</strong>aldreiecke mite<strong>in</strong>ander verb<strong>und</strong>en s<strong>in</strong>d.Abbildung 10 zeigt sechs verschiedene Möglichkeiten, wie mehrere stripszu e<strong>in</strong>em Tentakel zusammengesetzt werden. Die dort gezeigten Möglichkeitens<strong>in</strong>d die e<strong>in</strong>zigen, welche im Folgenden zur Konstruktion von G benötigt <strong>und</strong>verwandt werden. Natürlich kann e<strong>in</strong> Tentakel auch e<strong>in</strong>en Pfad <strong>in</strong> G ′ 1 ohneBiegungenen repräsentieren, hierfür benötigt man jedoch nur e<strong>in</strong> e<strong>in</strong>zigesstrip, dessen Knotenzahl k entsprechend angepasst werden kann.Abbildung 10: Zusammensetzungen von mehreren stips zu e<strong>in</strong>em Tentakeln(Quelle: [1])Wir s<strong>in</strong>d nun also <strong>in</strong> der Lage, die geradl<strong>in</strong>igen <strong>Pfade</strong> <strong>in</strong> G ′ 1 durch entsprechendgewählte Tentakel zu ersetzen. Als nächstes gilt es, auch die <strong>Pfade</strong>mit Biegungen, welche also unterwegs Richtungsänderungen vornehmen,ebenfalls duch die soeben def<strong>in</strong>ierten Tentakel zu ersetzen.Hierzu beachte man, dass <strong>in</strong> G ′ 1 aufgr<strong>und</strong> der Konstruktion nur vierverschiedene Typen von Biegungen der <strong>Pfade</strong> auftauchen können. Diese vierTypen s<strong>in</strong>d <strong>in</strong> Abbildung 11 dargestellt.Abbildung 11: Biegungen der <strong>Pfade</strong> im slope Graph (Quelle: [1])Die bereits <strong>in</strong> Abbildung 10 gezeigten Tentakel lassen sich nun <strong>in</strong> derTat dazu verwenden, alle vier Pfad-Biegungen zu repräsentieren. <strong>Pfade</strong> vom10


Typ I <strong>und</strong> II <strong>in</strong> Abbildung 11 s<strong>in</strong>d sofort <strong>und</strong> ohne weiteres Zutun durchTentakel vom Typ 1 <strong>und</strong> 2 <strong>in</strong> Abbildung 10 repräsentiert. Für <strong>Pfade</strong> vomTyp III setzt man h<strong>in</strong>gegen Tentakel vom Typ 5 <strong>und</strong> 3 zusammen, für <strong>Pfade</strong>vom Typ IV verwendet man entsprechend Tentakel vom Typ 4 <strong>und</strong> 6, sowie es <strong>in</strong> Abbildung 12 dargestellt ist.Abbildung 12: Zusammensetzung von Tentakeln zur Simulation von <strong>Pfade</strong>nvom Typ III (l<strong>in</strong>ks) <strong>und</strong> IV (rechts) (Quelle: [1])Somit lassen nun alle <strong>Pfade</strong> <strong>in</strong> G ′ 1 durch entsprechende Tentakel ersetzen.Um die Konstruktion von G abzuschließen ist nun noch zu klären, wie diee<strong>in</strong>zelnen Tentakel mit den 7-Clustern verb<strong>und</strong>en werden.Hierzu betrachte die <strong>in</strong> Abbildung 13 aufgelisteten Möglichkeiten. Manbeachte, dass jeder 7-Cluster genau drei angrenzende Tentakel besitzt, dadie 7-Cluster Repräsentationen der Knoten <strong>in</strong> B s<strong>in</strong>d <strong>und</strong> B wiederum alskubisch angenommen war.Abbildung 13: geeignete Verb<strong>in</strong>dungen von T entakeln mit 7-Clustern(Quelle: [1])Wie man weiterh<strong>in</strong> sieht, reichen gr<strong>und</strong>sätzlich vier Möglichkeiten derVerb<strong>in</strong>dung zwischen Tentakeln <strong>und</strong> 7-Clustern aus. Wichtig für den anschließendenBeweis ist jedoch, dass 7-Cluster mit schwarzem zentralen Knotenanders mit ihren drei angrenzenden Tentakeln verb<strong>und</strong>en werden alsdie 7-Cluster mit weißem zentralen Knoten. Bei erstgenannten werden jeweilsspezielle ’Brückenkanten’ zwischen 7-Cluster <strong>und</strong> Tentakel verwandt,11


während bei den anderen 7-Clustern die Tentakel nahtlos an das Cluster gelegtwerden. Dies hat den Gr<strong>und</strong>, dass von 7-Clustern mit weißem zentralenKnoten aus sogenannte Rückkehrpfade def<strong>in</strong>iert werden können, welche dieKnoten e<strong>in</strong>es Tentakels vollständig besuchen, ohne das eigentliche 7-Clustermit schwarzem zentralen Knoten, was an das besuchte Tentakel angrenzt,zu betreten (siehe später den entsprechenden Beweis der Reduktion für genauereDetails).Somit ergeben sich also <strong>in</strong>sgesamt die acht <strong>in</strong> Abbildung 13 dargestelltenMöglichkeiten, die 7-Cluster mit den Tentakeln zu verb<strong>in</strong>den. Der resultierendeGraph ist nun schließlich unser gewünschter <strong>Dreiecks</strong>gittergraph G<strong>und</strong> die Konstruktion hiermit abgeschlossen. Abbildungen 14 <strong>und</strong> 15 zeigendie Skalierung G ′ 1 <strong>und</strong> den fertigen Graph G mit se<strong>in</strong>en Clustern <strong>und</strong>Tentakeln für das zuvor demonstrierte Beispiel aus Abbildung 5.Abbildung 14: Skalierung von G 1 um Faktor 7 <strong>und</strong> Ergänzung der diagonalenKanten zum <strong>Dreiecks</strong>gittergraph2.1.3 Die Reduktion des ProblemsNach der Konstruktion von G aus dem gegebenen Graphen B können wiruns nun der eigentlichen Reduktion des Hamiltonkreisproblems zuwenden.Es ist klar, dass die Konstruktion von G aus B nicht mehr als polynomielleZeit bezüglich der Anzahl Knoten <strong>und</strong> Kanten von B benötigt. Es bleibtalso zu zeigen:B besitzt e<strong>in</strong>en Hamiltonkreis ⇐⇒ G besitzt e<strong>in</strong>en Hamiltonkreis (1)Beweis. Zunächst def<strong>in</strong>ieren wir den Begriff des bereits im letzten Abschnittkurz erwähnten Rückkehrpfads (return path) sowie den des Zickzackpfads(cross path).12


Abbildung 15: der fertige Graph G mit 7-Clustern <strong>und</strong> TentakelnSei T e<strong>in</strong> Tentakel <strong>und</strong> seien u <strong>und</strong> v zwei Knoten von T , welche dieäußeren Knoten von Term<strong>in</strong>aldreiecken von T bilden. Von solchen besitztjedes Tentakel genau vier. Man sieht leicht, dass es <strong>in</strong> T nur zwei Arten vonHamiltonpfaden von u nach v geben kann, also <strong>Pfade</strong> von u nach v, die alleKnoten von T be<strong>in</strong>halten.Die erste Möglichkeit e<strong>in</strong>es Hamiltonpfades von u nach v ist der desRückkehrpfades (return path). Liegen u <strong>und</strong> v auf dem gleichen Term<strong>in</strong>aldreieck<strong>und</strong> s<strong>in</strong>d somit benachbart, so ist der <strong>in</strong> Abbildung 16 (l<strong>in</strong>ks)dargestellte Rückkehrpfad von u nach v der e<strong>in</strong>zig mögliche Hamiltonpfadvon u nach v <strong>in</strong> T . Der Rückkehrpfad ist <strong>in</strong> diesem Fall e<strong>in</strong>deutig bestimmt.Die zweite Mögichkeit e<strong>in</strong>es Hamiltonpfades von u nach v ist der desZickzackpfades (cross path). E<strong>in</strong> solcher ist dann gegeben, wenn u <strong>und</strong>v nicht benachbart s<strong>in</strong>d, also auf verschiedenen Term<strong>in</strong>aldreiecken von Tliegen. Es kann mehrere Zickzackpfade als Hamiltonpfade von u nach v <strong>in</strong>T geben (siehe Abbildung 16).”=⇒”: Wenn B e<strong>in</strong>en Hamiltonkreis C B besitzt, können wir e<strong>in</strong>en entsprechendenHamiltonkreis C G aufgr<strong>und</strong> der Konstruktion von G leicht angeben.Betrachte jede Kante e = (v, w) von B <strong>und</strong> das <strong>in</strong> G zu dieser Kante korrespondierendeTentakel T e . Entweder ist e Teil des Hamiltonkreises C B , <strong>und</strong>wir können alle Knoten von T e <strong>in</strong> G durch e<strong>in</strong>en Zickzackpfad besuchen,oder e gehört nicht zu C B , <strong>und</strong> wir besuchen alle Knoten von T e entlange<strong>in</strong>es Rückkehrpfades.Wie im vorangegangenen Abschnitt bereits erwähnt, s<strong>in</strong>d die drei angrenzendenTentakel e<strong>in</strong>es 7-Clusters mit schwarzem zentralen Knoten über13


Abbildung 16: Rückkehrpfad (l<strong>in</strong>ks), Zickzackpfad (mitte) <strong>und</strong> alternativerZickzackpfad (rechts) <strong>in</strong> e<strong>in</strong>em Tentakel(Quelle: [1])je e<strong>in</strong>e e<strong>in</strong>zelne ’Brückenkante’ mit dem Cluster verb<strong>und</strong>en. Wir wählen n<strong>und</strong>ie eben bestimmten Rückkehrpfade so, dass sie stets von e<strong>in</strong>em 7-Clustermit weißem zentralen Knoten aus beg<strong>in</strong>nen <strong>und</strong> auch wieder <strong>in</strong> den selbigenzurückkehren. Auf diese Weise wird die jeweilige ’Brückenkante’ am Endee<strong>in</strong>es Tentakels, welches mittels e<strong>in</strong>es Rückkehrpfades vollständig besuchtwird, nicht verwendet, <strong>und</strong> der Pfad mündet erneut <strong>in</strong> den 7-Cluster, <strong>in</strong>welchem er gestartet ist. Wir besuchen das Tentakel folglich, ohne es wirklichals Wechsel vom angrenzenden Cluster mit weißem zentralen Knotenzum gegenüberliegenden Cluster mit schwarzem zentralen Knoten zu verwenden,<strong>und</strong> simulieren somit die Nichtverwendung der korrespondierendenKante <strong>in</strong> C B .Es bleibt zu bestimmen, wie genau e<strong>in</strong> e<strong>in</strong>zelnes 7-Cluster besucht wird.Im Falle e<strong>in</strong>es Clusters mit weißem zentralen Knoten verwenden wir genaue<strong>in</strong>es der drei Tentakel, um mittels e<strong>in</strong>es Zickzackpfades das Cluster erstmaligzu erreichen. Das zweite Tentakel, deren korrespondierende Kante <strong>in</strong>C B nicht verwendet wird, besuchen wir mittels e<strong>in</strong>es Rückkehrpfades aufdie soeben beschriebene Weise, während das dritte Tentakel wiederum übere<strong>in</strong>en Zickzackpfad besucht wird, um vom aktuellen Cluster <strong>in</strong> das nächste(mit schwarzem zentralen Knoten) zu gelangen.Die Knoten dazwischen (<strong>in</strong>nerhalb des Clusters selbst) arbeiten wir folgendermaßenab (vergleiche Abbildung 17): Bezeichne den zentralen weißenKnoten mit c, das Tentakel, welches wir über e<strong>in</strong>en Rückkehrpfad besuchen,mit T r , das Tentakel, von welchem wir über e<strong>in</strong>en Zickzackpfad zum aktuellenCluster gelangen mit T 1 <strong>und</strong> das verbleibende dritte Tentakel, überwelches wir den Cluster über e<strong>in</strong>en Zickzackpfad wieder verlassen, mit T 2 .Bezeichne weiterh<strong>in</strong> die beiden Knoten, welche das Cluster <strong>und</strong> T r geme<strong>in</strong>samhaben, mit x 1 <strong>und</strong> x 2 . Aufgr<strong>und</strong> der Wahl, wie die drei Tentakel mit denClustern verb<strong>und</strong>en s<strong>in</strong>d, gibt es dann e<strong>in</strong>deutige Knoten a 1 <strong>und</strong> a 2 , wobeia i benachbart zu x i ist <strong>und</strong> a i sowohl zum Cluster als auch zu T i gehört (füri ∈ {1, 2}). Wir können die Zickzackpfade über T 1 <strong>und</strong> T 2 so legen, dass sie<strong>in</strong> a 1 enden bzw <strong>in</strong> a 2 beg<strong>in</strong>nen. Nun fügen wir die Kanten (a 1 , x 1 ), (x 2 , c)<strong>und</strong> (c, a 2 ) zu C G h<strong>in</strong>zu, wodurch wir alle Knoten des Clusters abdecken.14


Abbildung 17: Traversierung e<strong>in</strong>es 7-Clusters mit weißem zentralen KnotenDie 7-Cluster mit schwarzem zentralen Knoten besuchen wir folgendermaßen(vergleiche Abbildung 18): Bezeichne die drei angrenzenden Tentakelanalog wie eben mit T r , T 1 <strong>und</strong> T 2 . Dann gibt es e<strong>in</strong>deutig bestimmte Knotenauf T 1 <strong>und</strong> T 2 , welche unmittelbar nach beziehungsweise vor den bereitserwähnten ’Brückenkanten’ liegen <strong>und</strong> zu den Tentakeln, aber nicht zumCluster gehören. Bezeichne diese entsprechend mit b 1 <strong>und</strong> b 2 . Nun besuchenwir das Cluster, <strong>in</strong>dem wir e<strong>in</strong>en von mehreren möglichen <strong>Pfade</strong>n von b 1nach b 2 über alle Knoten des Clusters wählen. Das Tentakel T r benötigenwir an dieser Stelle nicht, da es von e<strong>in</strong>em anderen Cluster mit weißemzentralen Knoten aus mittels e<strong>in</strong>es Rückkehrpfades abgedeckt wird.Abbildung 18: Traversierung e<strong>in</strong>es 7-Clusters mit schwarzem zentralen KnotenAuf diese Weise erhalten wir schließlich e<strong>in</strong>en Hamiltonkreis C G .”⇐=”: Sei nun e<strong>in</strong> Hamiltonkreis C G <strong>in</strong> G gegeben. Wie wir gesehen haben,gibt es <strong>in</strong> G nur zwei Arten von Hamiltonpfaden für jedes Tentakel, <strong>und</strong>jedes Tentakel wird entweder durch e<strong>in</strong>en Rückkehrpfad oder e<strong>in</strong>en Zickzackpfadabgedeckt. Ganz analog zur Argumentation der zuvor gezeigtenBeweisrichtung wählen wir <strong>in</strong> B diejenigen Kanten aus, deren korrespondierendeTentakel <strong>in</strong> C G durch Zickzackpfade besucht werden.Die Menge der so gewählten Kanten bildet e<strong>in</strong>en Hamiltonkreis <strong>in</strong> B,15


<strong>und</strong> Behauptung (1) ist bewiesen.✷Insgesamt haben wir e<strong>in</strong>e Polynomialzeit-Reduktion von HC <strong>in</strong> planaren,kubischen, bipartiten Graphen auf HC <strong>in</strong> <strong>Dreiecks</strong>gittergraphen hergestellt.Aufgr<strong>und</strong> der von Plesnik [5] bewiesenen NP-Vollständigkeit von HC <strong>in</strong> planaren,bipartiten <strong>und</strong> kubischen Graphen folgt somit die NP-Vollständigkeitvon HC auf <strong>Dreiecks</strong>gittergraphen.✷2.2 Weitere Resultate zu Hamiltonkreisen auf <strong>Dreiecks</strong>gittergraphenGordon, Orlovich <strong>und</strong> Werner [1] machen <strong>in</strong> der hier zugr<strong>und</strong>e liegendenArbeit e<strong>in</strong>ige Beobachtungen über <strong>Dreiecks</strong>gittergraphen, welche die Eigenschaftdes lokalen Zusammenhangs (locally connected triangular gridgraphs) erfüllen. Auf diese werden wir an dieser Stelle kurz e<strong>in</strong>gehen, dasie e<strong>in</strong>ige <strong>in</strong>teressante weiterführende Resultate für das Hamiltonkreisproblemauf <strong>Dreiecks</strong>gittergraphen liefern.Def<strong>in</strong>ition 10lokal zusammenhängend (locally connected)Sei G=(V, E) e<strong>in</strong> Graph. Für e<strong>in</strong>en Knoten v ∈ V sei se<strong>in</strong>e NachbarschaftN(v) def<strong>in</strong>iert durch N(v) = { w ∈ V | ∃ e = (v, w) ∈ E oder e = (w, v) ∈ E},also durch die Menge aller Knoten w, welche mit v über e<strong>in</strong>e Kante aus Everb<strong>und</strong>en s<strong>in</strong>d.E<strong>in</strong> Knoten v ∈ V heißt lokal zusammenhängend, wenn G(N(v)) zusammenhängendist. Dabei bezeichne G(N(v)) den durch die KnotenmengeN(v) ⊆ V knoten<strong>in</strong>duzierten Subgraphen von G.Der Graph G heißt lokal zusammenhängend, wenn alle se<strong>in</strong>e Knotenlokal zusammenhängend s<strong>in</strong>d.Man beachte, dass die Begriffe ’zusammenhängend’ <strong>und</strong> ’lokal zusammenhängend’vone<strong>in</strong>ander unabhängig s<strong>in</strong>d, dass also e<strong>in</strong>e der Eigenschaftennicht aus der jeweils anderen folgt. Beispiele für Graphen, die zusammenhängend,aber nicht lokal zusammenhängend, bzw lokal zusammenhängend,aber nicht zusammenhängend s<strong>in</strong>d, sieht man <strong>in</strong> Abbildung 19 .Abbildung 19: nicht zusammenhängend, aber lokal zusammenhängend(l<strong>in</strong>ks), zusammenhängend, aber nicht lokal zusammenhängend (rechts)E<strong>in</strong>e weitere Def<strong>in</strong>ition, welche für die folgenden Aussagen benötigt wird,ist die des Begriffs fully cycle extendable für e<strong>in</strong>en Graph G.16


Def<strong>in</strong>ition 11fully cycle extendableSei G=(V, E) e<strong>in</strong> Graph <strong>und</strong> C e<strong>in</strong> Kreis <strong>in</strong> G. Wir nennen C erweiterbar(extendable), wenn es e<strong>in</strong>en Kreis C ′ <strong>in</strong> G gibt, so dass V (C) ⊂ V (C ′ ) gilt,<strong>und</strong> C ′ genau e<strong>in</strong>en Knoten mehr als C besitzt, also |V (C ′ )|=|V (C)| + 1.G heißt cycle extendable, wenn jeder nicht-hamiltonische Kreis C <strong>in</strong> Gerweiterbar ist.G heißt schließlich fully cycle extendable, wenn G cycle extedable ist,<strong>und</strong> jeder Knoten von G auf e<strong>in</strong>em Dreieck <strong>in</strong> G liegt.Man sieht aus obiger Def<strong>in</strong>ition leicht, dass e<strong>in</strong> Graph, der fully cycleextendable ist, auch e<strong>in</strong>en Hamiltonkreis besitzt, denn wählt man e<strong>in</strong>en beliebigenKnoten aus G aus, so liegt dieser per Def<strong>in</strong>ition auf e<strong>in</strong>em Dreieck,was e<strong>in</strong>em Kreis über drei Knoten entspricht. Folglich gibt es e<strong>in</strong>en Kreis <strong>in</strong>G, <strong>und</strong> dieser ist per Def<strong>in</strong>ition erweiterbar zu e<strong>in</strong>em Kreis über 4 Knoten,welcher wiederum erweiterbar se<strong>in</strong> muss. Setzt man dies <strong>in</strong>duktiv fort, gelangtman schließlich zu e<strong>in</strong>em Kreis, der alle Knoten von G enthält, alsoe<strong>in</strong>em Hamiltonkreis <strong>in</strong> G entspricht.In [1] zeigen Gordon, Orlovich <strong>und</strong> Werner, dass e<strong>in</strong> zusammenhängender<strong>und</strong> lokal zusammenhängender <strong>Dreiecks</strong>gittergraph entweder fully cycle extendableist (also auch e<strong>in</strong>en Hamiltonkreis besitzt) oder isomorph zum’Davidsterngraph’ D ist, welcher <strong>in</strong> Abbildung 20 zu sehen ist. Reay <strong>und</strong>Zamfirescu zeigen <strong>in</strong> [7], dass D der e<strong>in</strong>zige zusammenhängende, lokal zusammenhängende<strong>Dreiecks</strong>gittergraph ist, welcher ke<strong>in</strong>en Hamiltonkreis besitzt.Abbildung 20: Der ’Davidsterngraph’ D (Quelle: [1])Das Resultat von Gordon, Orlovich <strong>und</strong> Werner [1] besagt also, dass dasEntscheidungsproblem, ob e<strong>in</strong> gegebener <strong>Dreiecks</strong>gittergraph G, der lokalzusammenhängend ist, e<strong>in</strong>en Hamiltonkreis besitzt, <strong>in</strong> polynomieller Zeitgelöst werden kann. Hierzu genügt es nämlich zu überprüfen, ob G zusammenhängendist. Wenn ne<strong>in</strong>, kann G trivialerweise ke<strong>in</strong>en Hamiltonkreisenthalten. Falls G jedoch zusammenhängend ist, kann man <strong>in</strong> polynomiellerZeit prüfen, ob G isomoprh zu D ist. Wenn ja, so enthält G ke<strong>in</strong>en Hamiltonkreis,wenn ne<strong>in</strong>, so gibt es def<strong>in</strong>itiv e<strong>in</strong>en solchen (da G <strong>in</strong> diesem Fallfully cycle extendable se<strong>in</strong> mus).17


Doch nicht nur das Hamiltonkreis-Entscheidungsproblem lässt sich fürlokal zusammenhängende <strong>Dreiecks</strong>gittergraphen <strong>in</strong> polynomieller Zeit lösen,man kann vielmehr sogar e<strong>in</strong>en solchen Kreis konkret angeben <strong>und</strong> das entsprechendeKonstruktionsproblem damit <strong>in</strong> polynomieller Zeit lösen. Dennhat man G wie oben beschrieben als fully cycle extendable erkannt, kannman mit e<strong>in</strong>em beliebigen Knoten starten, der auf e<strong>in</strong>em Dreieck <strong>in</strong> G liegenmuss. Dieses Dreieck kann man konstruktiv <strong>und</strong> sukzessive zu immergrößeren Kreisen erweitern, bis man e<strong>in</strong>en Hamiltonkreis gef<strong>und</strong>en hat. Fürjeweils e<strong>in</strong>e solche Kreiserweiterung braucht man offensichtlich nicht mehrals polynomielle Zeit.Wir können also folgern:Korollar 12 Sei G e<strong>in</strong> zusammenhängender, lokal zusammenhängender<strong>Dreiecks</strong>gittergraph, der nicht isomorph zu D ist. Dann kann e<strong>in</strong> Hamiltonkreisvon G <strong>in</strong> polynomieller Zeit angegeben werden.Als letztes Resultat, was sich auf <strong>Dreiecks</strong>gittergraphen bezieht, betrachtenwir die Existenzfrage e<strong>in</strong>es (v, w)-Hamiltonpfades von gegebenen Knotenv <strong>und</strong> w.Theorem 13 Das Problem, zu e<strong>in</strong>em gegebenen Graphen G <strong>und</strong> Knotenv <strong>und</strong> w <strong>in</strong> G zu entscheiden, ob es e<strong>in</strong>en Hamiltonpfad von v nach w gibt,ist NP-Vollständig.Beweis. Wir verwenden die <strong>in</strong> Abschnitt 2.1 durchgeführte Konstruktion e<strong>in</strong>es<strong>Dreiecks</strong>gittergraphen G ausgehend von e<strong>in</strong>em planaren, bipartiten <strong>und</strong>kubischen Graph B erneut, um auch die hier behauptete NP-Vollständigkeitzu beweisen.Sei also B gegeben <strong>und</strong> G daraus konstruiert, so dass B genau danne<strong>in</strong>en Hamiltonkreis enthält, wenn G dies tut. Wir modifizieren G nun folgendermaßen:Man wähle e<strong>in</strong> beliebiges 7-Cluster mit zentralem schwarzenKnoten aus G aus, <strong>und</strong> füge zwei neue Knoten v <strong>und</strong> w h<strong>in</strong>zu, welche zu zweiim Cluster benachbarten Knoten x <strong>und</strong> y benachbart s<strong>in</strong>d (siehe Abbildung21), wobei deg G (x) = deg G (y)=3 gelten soll.u <strong>und</strong> v haben im resultierenden Graphen nun jeweils Grad 1. Foglichkann es e<strong>in</strong>en Hamiltonpfad von u nach v nur genau dann geben, wenn G vordem E<strong>in</strong>fügen der beiden Knoten e<strong>in</strong>en Hamiltonkreis enthielt. Da letztereszu entscheiden nach Theorem 1 NP-vollständig ist, folgt unmittelbar dieNP-Vollständigkeit des Hamiltonpfadproblems.✷18


Abbildung 21: Ergänzung e<strong>in</strong>es Clusters mit schwarzem zentralen Knotenum u <strong>und</strong> v3 Hamiltonkreise <strong>in</strong> hexagonalen GittergraphenNachdem das Hamiltonkreisproblem nun sowohl für Rechtecksgitter- alsauch für <strong>Dreiecks</strong>gittergraphen als NP-vollständig bewiesen ist, stellt sichnun die Frage nach der Komplexität des Problems auf hexagonalen Gittergraphen,da diese e<strong>in</strong>e dritte Möglichkeit der Kachelung der Ebene durche<strong>in</strong>en gleichbleibenden regelmäßigen Polygontyp darstellen.Die <strong>in</strong> diesem Kapitel vorgestellten Resultate basieren auf e<strong>in</strong>er Arbeitvon Islam, Meijer, Núñeze, Rappaport <strong>und</strong> Xiao [2], welche auf derCanadian Conference on Computational Geometrie 2007 vorgestellt wurde.Zunächst def<strong>in</strong>ieren wir den Begriff des hexagonalen Gittergraphen:Def<strong>in</strong>ition 14 hexagonaler Gittergraph (hexagonal grid graph)E<strong>in</strong> hexagonaler Gittergraph G=(V, E) ist e<strong>in</strong> Graph mit V ⊆ H, wobeiH die unendliche Menge der Gitterpunkte e<strong>in</strong>er hexagonalen, regelmäßigenKachelung der Ebene mit E<strong>in</strong>heitslänge bezeichne. Die Kantenmenge E istdie Menge aller Kanten e = (v, w) zwischen Punkten v <strong>und</strong> w aus V , für die|vw| = 1 gilt.E<strong>in</strong> hexagonaler Gittergraph ist also e<strong>in</strong> knoten<strong>in</strong>duzierter Subgraph desunendlichen hexagonalen Gittergraphen mit Knotenmenge H, analog zurDef<strong>in</strong>ition der <strong>Dreiecks</strong>gittergraphen aus Kapitel 2 (siehe Abbildung 22).Nun werden wir die Komplexität von HC auf hexagonalen Gittergraphenuntersuchen, <strong>in</strong>dem wir folgendes Theorem beweisen:Theorem 15 Das Hamiltonkreisproblem auf hexagonalen Gittergraphen istNP-vollständig.19


Abbildung 22: E<strong>in</strong> hexagonaler GittergraphBeweis. Wir gehen analog zum Beweis von Theorem 1 <strong>in</strong> Kapitel 2 vor<strong>und</strong> stellen e<strong>in</strong>e Polynomialzeit-Reduktion von HC <strong>in</strong> planaren, bipartiten<strong>und</strong> 2-zusammenhängenden Graphen mit maximalem Knotengrad 3 (dessenNP-Vollständigkeit von Johnson <strong>und</strong> Papadimitriou [4] gezeigt wurde) aufHC <strong>in</strong> hexagonalen Gittergraphen her.Dabei heißt e<strong>in</strong> Graph k-zusammenhängend für e<strong>in</strong> k ∈ IN, k ≥ 2, wennder Subgraph, der durch das Entfernen von maximal k−1 beliebigen Kantenentsteht, zusammenhängend ist.Sei B also e<strong>in</strong> planarer, bipartiter, 2-zusammenhängender Graph, dessenKnoten alle höchstens Grad 3 haben. Dabei seien die zwei Knotenpartitionenvon B durch die Attribute ’schwarz’ <strong>und</strong> ’weiß’ unterschieden. E<strong>in</strong>e Kante <strong>in</strong>B verläuft also wie gewohnt zwischen je e<strong>in</strong>em weißen <strong>und</strong> e<strong>in</strong>em schwarzenKnoten. Wir konstruieren aus B <strong>in</strong> polynomieller Zeit e<strong>in</strong>en hexagonalenGittergraphen G, so dass gilt:B besitzt e<strong>in</strong>en Hamiltonkreis ⇐⇒ G besitzt e<strong>in</strong>en Hamiltonkreis (2)Die Konstruktion von G gliedert sich <strong>in</strong> drei Schritte:• Erstellung e<strong>in</strong>es draw<strong>in</strong>gs D(B) aus B• Simulation der e<strong>in</strong>zelnen Elemente von D(B) durch gadgets• Zusammensetzen der e<strong>in</strong>zelnen gadgets zum Graph G20


3.1 Erstellung e<strong>in</strong>es draw<strong>in</strong>gs D(B) aus BZunächst erstellen wir zu B e<strong>in</strong> geradl<strong>in</strong>iges Layout, also e<strong>in</strong>e Anordnungder Knoten <strong>und</strong> Kanten von B, so dass alle Kanten vertikal verlaufen, <strong>und</strong>alle Knoten durch waagerechte Balken dargestellt s<strong>in</strong>d (siehe Abbildung 23(mitte)).Abbildung 23: E<strong>in</strong> bipartiter, planarer, kubischer Graph (l<strong>in</strong>ks), se<strong>in</strong>geradl<strong>in</strong>iges layout (mitte) <strong>und</strong> se<strong>in</strong> draw<strong>in</strong>g (rechts) (Quelle: [2])Dies geschieht durch das von Rosenstiehl <strong>und</strong> Tarjan <strong>in</strong> [8] beschriebeneVerfahren, welches dort für 2-zusammenhängende Graphen beschriebenist, <strong>und</strong> zu B e<strong>in</strong> geradl<strong>in</strong>iges Layout (rectil<strong>in</strong>ear configuration) <strong>in</strong>polynomieller Zeit liefert. (Dies ist auch der Gr<strong>und</strong>, warum wir B als 2-zusammenhängend für die folgende Konstruktion voraussetzen, was wir <strong>in</strong>Kapitel 2 bei der Reduktion auf <strong>Dreiecks</strong>gittergraphen nicht gefordert hatten).Das erzeugte layout basiert auf e<strong>in</strong>em st-order<strong>in</strong>g der Knotenmenge, d.h.auf der Wahl zweier beliebiger Knoten s (Quelle) <strong>und</strong> t (Senke), für welchewir alle Kanten des Graphen so orientieren können, dass s nur ausgehende<strong>und</strong> t nur e<strong>in</strong>gehende Kanten besitzt, <strong>und</strong> weiterh<strong>in</strong> im neu kantenorientiertenGraphen ke<strong>in</strong>e Zyklen auftreten.Die Wahl von s <strong>und</strong> t, sowie die anschließende Orientierung der Kantenbezüglich s <strong>und</strong> t ist dabei beliebig, jedoch resultiert jedes solche st-order<strong>in</strong>g<strong>in</strong> e<strong>in</strong>em anderen geradl<strong>in</strong>igen layout des Graphen. Das layout ist also nichte<strong>in</strong>deutig bestimmt, was für unsere Konstruktion jedoch nicht relevant ist,da jedes auf diese Weise korrekt erzeugte layout geeignet ist.Hat man e<strong>in</strong> geradl<strong>in</strong>iges Layout von B konstruiert, so wird aus diesemim nachfolgenden Schritt das gewünschte draw<strong>in</strong>g D(B) erzeugt, <strong>in</strong>dem e<strong>in</strong>sweep über die Kanten des layouts vollzogen wird, <strong>und</strong> jede Kante dabei <strong>in</strong>e<strong>in</strong>e 60 ◦ - oder e<strong>in</strong>e 120 ◦ -Kante rotiert wird. Dabei ist e<strong>in</strong>e 60 ◦ -Kante e<strong>in</strong>eKante, welche mit der x-Achse e<strong>in</strong>en W<strong>in</strong>kel von 60 ◦ bildet, analog ist e<strong>in</strong>e120 ◦ -Kante def<strong>in</strong>iert.Durch die Wahl dieser beiden speziellen W<strong>in</strong>kel ist gewährleistet, dass die21


nachfolgenden Schritte der Konstruktion zur Simulation des Graphen durche<strong>in</strong>en hexagonalen Gittergraphen funktionieren, da auch <strong>in</strong> e<strong>in</strong>em Sechseckdie W<strong>in</strong>kel von 60 ◦ <strong>und</strong> 120 ◦ bezüglich der x-Achse auftreten.Die Planarität des Graphen bleibt dabei erhalten, <strong>und</strong> auch dieser Schrittbenötigt nur polynomiellen Zeitaufwand. In Abbildung 23 (rechts) ist dasso konstruierte fertige draw<strong>in</strong>g von D(B) zu sehen.3.2 Simulation der e<strong>in</strong>zelnen Elemente von D(B) durch gadgets<strong>und</strong> Zusammensetzung zu GNun wird B beziehungsweise se<strong>in</strong> draw<strong>in</strong>g D(B) durch verschiedene gadgets<strong>in</strong> e<strong>in</strong>em hexagonalen Gittergraphen simuliert, ähnlich zur Simulation desGraphen B <strong>in</strong> Kapitel 2 durch Tentakel <strong>und</strong> 7-Cluster <strong>in</strong> e<strong>in</strong>em <strong>Dreiecks</strong>gittergraphen.Auch für die folgende Konstruktion def<strong>in</strong>ieren wir den Begriff e<strong>in</strong>es strips,welcher hier e<strong>in</strong>e Ane<strong>in</strong>anderreihung von mehreren Sechsecken bezeichnet,<strong>und</strong> durch welche wir e<strong>in</strong>erseits die <strong>in</strong> D(B) auftretenden Kanten, andererseitsdie durch waagerechte Balken repräsentierten Knoten <strong>in</strong> D(B) simulierenwollen.Wir haben somit drei Varianten von strips, welche durch den jeweiligenmit der x-Achse gebildeten W<strong>in</strong>kel unterschieden werden können: 0 ◦ -stripsfür die waagerechte Ausdehnung der Knoten <strong>in</strong> D(B) sowie 60 ◦ -strips <strong>und</strong>120 ◦ -strips für die jweiligen 60 ◦ - beziehungsweise 120 ◦ -Kanten des draw<strong>in</strong>gs.Dabei s<strong>in</strong>d die strips jeweils wie <strong>in</strong> Abbildung 24 aufgebaut.Abbildung 24: strips im hexagonalen GittergraphenUm die e<strong>in</strong>zelnen strips zum gewünschten hexagonalen GittergraphenG zusammensetzen zu können, def<strong>in</strong>ieren wir im Folgenden e<strong>in</strong>e Reihe vongadgets:Def<strong>in</strong>ition 16 extenderE<strong>in</strong> extender ist e<strong>in</strong> 0 ◦ -strip, also e<strong>in</strong>e horizontale Ane<strong>in</strong>anderreihungvon Sechsecken (siehe Abbildung 24, rechts), welches die Ausdehnung e<strong>in</strong>esKnotens im draw<strong>in</strong>g von B simuliert.Def<strong>in</strong>ition 17 U − T urnE<strong>in</strong> U−T urn ist e<strong>in</strong>e wie <strong>in</strong> Abbildung 25 (l<strong>in</strong>ks) gezeigte Anordnung von22


Sechsecken, welche die Verb<strong>in</strong>dung zwischen den schwarzen Knoten <strong>und</strong> denmaximal drei angrenzenden strips im hexagonalen Gittergraph G darstellt.Def<strong>in</strong>ition 18 rosetteE<strong>in</strong>e rosette ist e<strong>in</strong>e wie <strong>in</strong> Abbildung 25 (mitte) gezeigte Anordnungvon Sechsecken, welche den Übergang von e<strong>in</strong>em horizontalen strip (alsoe<strong>in</strong>em extender) zu e<strong>in</strong>em 60 ◦ - oder 120 ◦ -strip bereitstellt.Def<strong>in</strong>ition 19 coreE<strong>in</strong> core ist e<strong>in</strong>e wie <strong>in</strong> Abbildung 25 (rechts) gezeigte Anordnung vondrei Sechsecken, welche die eigentlichen Knotenpunkte von B <strong>in</strong> G repräsentiert.Folglich gibt es zwei Arten von core-gadgets, je e<strong>in</strong>en core für e<strong>in</strong>en schwarzen<strong>und</strong> für e<strong>in</strong>en weißen Knotenpunkt des Ausgangsgraphen B, wobei diee<strong>in</strong>e Variante e<strong>in</strong>e Spiegelung der anderen ist.Abbildung 25: Die verwendeten gadgets im hexagonalen Gittergraphen. Vonl<strong>in</strong>ks nach rechts: U-T urn, rosette <strong>und</strong> core. (Quelle: [2])Mit dieser Sammlung von gadgets können wir nun den gewünschtenGraph G konstruieren. Wir repräsentieren die Knoten durch cores, fügenU-Turns an die schwarzen cores an, simulieren die waagerechte Ausdehnungder Knoten durch extender <strong>und</strong> verwenden rosettes, um den Übergang vonextendern zu 60 ◦ - <strong>und</strong> 120 ◦ -strips herzustellen, welche wiederum die eigentlichenKanten von D(B) simulieren. Abbildung 26 zeigt e<strong>in</strong>en Ausschnittdes fertigen hexagonalen Gittergraphen zu dem <strong>in</strong> Abbildung 23 bereits demonstriertenGraph B. Auch die Art <strong>und</strong> Weise, wie die Kanten traversiertwerden (siehe später), ist <strong>in</strong> blau e<strong>in</strong>gezeichnet.3.3 Die Reduktion des ProblemsNun können wir Behauptung (2) beweisen, <strong>und</strong> zeigen, dass B genau danne<strong>in</strong>en Hamiltonkreis enthält, wenn G dies tut.Ganz analog zum Reduktionsbeweis auf <strong>Dreiecks</strong>gittergraphen <strong>in</strong> Kapitel2 können wir zwei Arten von <strong>Pfade</strong>n def<strong>in</strong>ieren, über welche die e<strong>in</strong>zelnenstrips vollständig besucht werden können.23


Abbildung 26: Ausschnitt aus dem fertigen hexagonalen Gittergraphen zumGraph B aus Abbildung 23. Zu sehen ist der weiße Knoten, der im draw<strong>in</strong>gD(B) ganz unten zu f<strong>in</strong>den ist, se<strong>in</strong>e ausgehenden Kanten <strong>und</strong> zwei der angrenzendenschwarzen Knoten. Weiterh<strong>in</strong> s<strong>in</strong>d <strong>in</strong> blau die zum Hamiltonkreis<strong>in</strong> B korrespondierenden Teilpfade zu sehen. (Quelle: [2])Zum e<strong>in</strong>en def<strong>in</strong>ieren wir e<strong>in</strong>en sequenziellen P fad (sequential path).E<strong>in</strong> solcher Pfad entspricht <strong>in</strong> se<strong>in</strong>er Bedeutung dem <strong>in</strong> Kapitel 2 def<strong>in</strong>iertenZickzackpfad. Weiterh<strong>in</strong> def<strong>in</strong>ieren wir e<strong>in</strong>en parallelen P fad (parallelpath), welcher wiederum dem Rückkehrpfad <strong>in</strong> Kapitel 2 entspricht. Abbildung27 zeigt, wie e<strong>in</strong> strip mittels dieser beiden <strong>Pfade</strong> traversiert werdenkann.Abbildung 27: sequentieller Pfad (oben) <strong>und</strong> paralleler Pfad (unten) im hexagonalenGittergraphen”=⇒ ”: Angenommen, B besitzt e<strong>in</strong>en Hamiltonkreis C B . Analog zum Reduktionsbeweisvon HC auf <strong>Dreiecks</strong>gittergraphen <strong>in</strong> Kapitel 2 simulierenwir die Kanten aus B, welche <strong>in</strong> C B vorkommen, durch sequentielle <strong>Pfade</strong>auf den zu diesen Kanten korrespondierenden strips. Ebenso verwenden wirparallele <strong>Pfade</strong> auf denjenigen strips, welche zu <strong>in</strong> C B unbenutzten Kan-24


ten korrespondieren. Wir lassen die parallelen <strong>Pfade</strong> dabei wieder stets vonweißen Knoten beziehungsweise deren cores <strong>in</strong> G starten.Da aufgr<strong>und</strong> unserer Konstruktion am Ende e<strong>in</strong>es so traversierten stripse<strong>in</strong> U-Turn-gadget vor Erreichen des schwarzen Knotens betreten wird, könnenwir den Pfad <strong>in</strong>nerhalb des U-Turns auf die <strong>in</strong> Abbildung 25 (l<strong>in</strong>ks, unten)dargestellte Weise umkehren lassen, so dass wir wieder zum weißen Ausgangscoregelangen, <strong>und</strong> somit das Nichtbenutzen der zu dem gerade traversiertenstrip korrespondierenden Kante <strong>in</strong> B simulieren. Abbildung 25(l<strong>in</strong>ks, oben) zeigt weiterh<strong>in</strong>, wie e<strong>in</strong> U-Turn <strong>in</strong> dem Falle traversiert wird,dass der strip, über welchen man den U-Turn erreicht, durch e<strong>in</strong>en sequentiellenPfad besucht wird (<strong>und</strong> die korrespondierende Kante <strong>in</strong> B also zu C Bgehört.Auch die rosettes können wir mittels e<strong>in</strong>es sequenziellen oder e<strong>in</strong>es parallelen<strong>Pfade</strong>s traversieren (siehe Abbildung 25, mitte), je nachdem, wie dieangrezenden strips traversiert werden sollen.Abbildung 25 (rechts) zeigt, wie die cores traversiert werden können.Man sieht leicht e<strong>in</strong>, dass auf die dargestellte Weise genau zwei an den coreangrenzende strips über sequenzielle <strong>Pfade</strong>, <strong>und</strong> der verbleibende dritte strip(falls existent) durch e<strong>in</strong>en parallelen Pfad besucht werden kann.Da wir <strong>in</strong> B auch Knotengrade von 2 zugelassen hatten, kann es passieren,dass an e<strong>in</strong>em core auch nur 2 strips anliegen. In diesem Fall s<strong>in</strong>dalle präsentierten gadgets als Teilmenge der abgebildeten gadgets zu sehen,für welche die Sechsecke weggelassen werden, welche zum nichtvorhandenendritten strip gehören würden. An der eigentlichen Argumentation desBeweises ändert sich dadurch nichts.Aus der Konstruktion <strong>und</strong> der Art der Traversierung ergibt sich schließliche<strong>in</strong> Hamiltonkreis C G <strong>in</strong> G.”⇐= ”: Angenommen, G besitzt e<strong>in</strong>en Hamiltonkreis C G . Dann wird jedesgadget entweder durch e<strong>in</strong>en parallelen oder e<strong>in</strong>en sequenziellen Pfadtraversiert. Konstruiere e<strong>in</strong>en Hamiltonkreis C B <strong>in</strong> B, <strong>in</strong>dem alle Kantenzu C B h<strong>in</strong>zugenommen werden, welche zu durch sequenzielle <strong>Pfade</strong> <strong>in</strong> C Gtraversierte strips korrespondieren. Aufgr<strong>und</strong> unserer Konstruktion <strong>und</strong> denvorherigen Überlegungen ergibt sich somit der gewünschet HamiltonkreisC B .Somit haben wir die NP-Vollständigkeit von HC auf hexagonalen Gittergraphenbewiesen.✷25


4 Zusammenfassung <strong>und</strong> AusblickIn dieser Arbeit haben wir die NP-Vollständigkeit des Hamiltonkreisproblemssowohl auf <strong>Dreiecks</strong>gittergraphen als auch auf hexagonalen Gittergraphengezeigt. Das Problem bleibt also für diese beiden Arten von Graphenschwer zu entscheiden. Weiterh<strong>in</strong> haben wir gesehen, dass im Falle von <strong>Dreiecks</strong>gittergraphendie Eigenschaft des lokalen Zusammenhangs e<strong>in</strong>e wichtigeRolle spielt, da auf <strong>Dreiecks</strong>gittergraphen, die diese Eigenschaft erfüllen, dasEntscheidungsproblem <strong>in</strong> polynomieller Zeit gelöst <strong>und</strong> sogar e<strong>in</strong> konkreterHamiltonkreis angegeben werden kann.Als Nebenresultat wurde auch die NP-Vollständigkeit des Hamiltonpfadproblemsvon Knoten v nach w auf <strong>Dreiecks</strong>gittergraphen als NP-vollständigbewiesen.Damit ist das Hamiltonkreisproblem durch die Arbeiten von Gordon,Orlovich <strong>und</strong> Werner [1], Polishchuk, Ark<strong>in</strong> <strong>und</strong> Mitchell [6], Islam, Meijer,Núñez, Rappaport <strong>und</strong> Xiao [2] sowie Itai, Papdimitriou <strong>und</strong> Szwarcfiter [3]schließlich für alle Arten von Graphen, welche durch gleichbleibende Polygonee<strong>in</strong>e regelmäßigen Kachelungen der Ebene repräsentieren, im Detail untersuchtworden. FimF Dennoch bietet das Feld noch weitere Möglichkeitender näheren Untersuchung, beispielsweise das Angeben gewisser Eigenschaftenfür hexagonale <strong>und</strong> rechteckige Gittergraphen, für welche das Problem<strong>in</strong> polynomieller Zeit gelöst werden kann, so wie es hier für <strong>Dreiecks</strong>gittergraphengetan wurde.Auch e<strong>in</strong>e Verallgeme<strong>in</strong>erung der Problemstellung durch e<strong>in</strong>e beliebige(oder zum<strong>in</strong>dest auf gewisse Weise verallgeme<strong>in</strong>erte) Kachelung der Ebeneließe sich <strong>in</strong> H<strong>in</strong>blick auf das Hamiltonkreisproblem untersuchen.Literatur[1] V. Gordon, Yury, Orlovich, and F. Werner. Complexity of the hamiltoniancycle problem <strong>in</strong> triangluar grid graphs. 2007.[2] K. Islam, H. Meijer, Y. Núñez, D. Rappaport, and H. Xiao. Hamiltoncircuits <strong>in</strong> hexagonal grid graphs. In 19th Canadian Conference onComputational Geometry, 2007.[3] A. Itai, C. Papadimitriou, and J. Szwarcfiter. Hamiltonian paths <strong>in</strong> gridgraphs. SIAM Journal on Comput<strong>in</strong>g, 11:676–686, 1982.[4] D. Johnson and C. Papadimitriou. Computational Complexity, pages37–85. Wiley, 1985.[5] J. Plesnik. The np-completeness of the hamiltonian cycle problem <strong>in</strong>bipartite cubic planar graphs. Acta Math. Unib. Comenian, 42-43:271–273, 1983.26


[6] V. Polishchuk, E. Ark<strong>in</strong>, and J. Mitchell. Hamiltonian cycles <strong>in</strong> triangulargrids. In 18th Canadian Conference on Computational Geometry,2006.[7] J. Reay and T. Zamfirescu. Hamiltonian cycles <strong>in</strong> t-graphs. DiscreteComput. Geom., 24:497–502, 2000.[8] P. Rosenstiehl and R. Tarjan. Rectil<strong>in</strong>ear planar layouts and bipolarorientations of planar graphs. Discrete Comput. Geom., 1:343–353, 1986.27

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!