Pfade auf einem Dodekaeder

Bei dieser Frage habe ich "Dodekagon" als "Dodekaeder" falsch verstanden. Ich denke, letzteres ist ein cooles Problem, also stelle ich es als eigene Frage :)

Ausgehend von einer Ecke eines Dodekaeders möchte eine Ameise die gegenüberliegende Ecke des Dodekaeders erreichen und sich zu benachbarten Ecken bewegen. Wenn P N ist die Anzahl solcher Pfade mit Länge N , berechnen P 1 + P 2 + + P 12 .

P 1 = P 2 = P 3 = P 4 = 0
Das Zwölfeck, ausgedrückt als Graph, ist ein Zyklus. Daher haben Spaziergänge einer bestimmten Länge eine sehr klare Struktur, und man kann diese Struktur ausnutzen, um das Problem zu lösen. Im Gegensatz dazu ist der Dodekaeder-Graph ein großes, schönes Durcheinander. Sogar rechnen P 5 ist nicht offensichtlich (und würde für sich genommen eine gute Frage stellen). Immer größer rechnen P k kann nur per Computer erfolgen.
Pfade oder einfache Pfade?
@vadim123 P 5 = 6 , P 6 = 12 , und beide benötigen weniger als eine Minute zur Berechnung, wenn Sie sich ein Bild eines Dodekaeders ansehen.
@MJD Pfade, keine einfachen Pfade.

Antworten (4)

Lassen A sei die Adjazenzmatrix. Dann A k gibt Ihnen die Anzahl der Pfade der Länge k zwischen entsprechenden Scheitelpunkten. (Dies funktioniert für jeden Graphen.) Dies kann sehr schnell berechnet werden, und Sie können auch Asymptotiken usw. erhalten, indem Sie Eigenwerte berechnen.

Es gibt zum Beispiel

171619248

solche Pfade der Länge 20 (nicht zu weit von MJDs Vermutung entfernt) und

25768876036573921452762172776956776774411837488

solche Pfade der Länge 100.

Es ist nicht erforderlich, die vollständige Adjazenzmatrix des Dodekaeders aufzustellen. Zeichnen des Kantengraphen mit dem Startpunkt v 0 in der Mitte und dem gegenüberliegenden Scheitelpunkt im Unendlichen erkennt man, dass es aufgrund der Symmetrie nur sechs Klassen gibt C ich ( 0 ich 5 ) von Scheiteln.

Wie oben beschrieben: gibt es einen einzigen zentralen Scheitelpunkt C_0;  symmetrisch darum angeordnet sind drei Eckpunkte C_1, dann sechs Eckpunkte C_2, sechs weitere Eckpunkte C_3, drei weitere Eckpunkte C_4 und schließlich ein C_5, das an drei Stellen gezeichnet ist, an den Eckpunkten C_5 angehängt, aber mit zwei in Klammern, um anzuzeigen, dass sie es sind keine getrennten Ecken.

Es genügt also, die Zahlen zu betrachten P ich ( N ) , wobei P ich ( N ) bezeichnet die Anzahl der Wege, um einen Knoten der Klasse zu erreichen C ich in genau N Schritte, beginnend bei v 0 . Wenn ich meine Zeichnung betrachte, erhalte ich dann die folgenden Gleichungen:

P ( N + 1 ) = [ 0 3 0 0 0 0 1 0 2 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 2 0 1 0 0 0 0 3 0 ] P ( N )   ,
wodurch P ( N ) bezeichnet den Spaltenvektor der P ich ( N ) .

Da es bereits so viele Behandlungen des Problems gibt, höre ich hier auf.

Ich hoffe, es ist in Ordnung für Sie, dass ich ein Diagramm hinzugefügt habe. Wenn Sie das Design ändern möchten, steht das ursprüngliche SVG-Bild zur Bearbeitung zur Verfügung .
@MJD: Das ist genau die Zeichnung, die ich hatte. Vielen Dank!!
Das ist eine schöne Beobachtung!

Eine Möglichkeit, Pfade in einem Diagramm zu zählen Γ , sagen wir, mit Scheitelpunkten v ich , ist seine Adjazenzmatrix zu verwenden : Dies ist die quadratische Matrix A Γ von Größe | Γ | wofür die ( ich , J ) Eintrag ( A Γ ) ich J ist die Anzahl der Kanten mit Endpunkten an Scheitelpunkten v ich Und v J . Ein intuitives induktives Argument zeigt dann, dass die Anzahl der Pfade der Länge entspricht N aus v ich Zu v J ist genau ( A Γ N ) ich J .

Der SageMath- Code Delta = graphs.DodecahedralGraph(); Delta.plot()weist dem dodekaedrischen Graphen den Namen zu Deltaund gibt den folgenden beschrifteten Plot des Graphen zurück, den wir aufrufen Δ . NB Sage beginnt mit der Indizierung bei 0 . DodekaederdiagrammEine kleine Visualisierung zeigt das, zB der gegenüberliegende Scheitelpunkt v 0 ist Scheitel v 15 .

A = dodecahedral.adjacency_matrix()Als nächstes weist der Sage-Befehl Ader Adjazenzmatrix zu A Δ von Δ ; es hat größe | Δ | = 20 .

A Δ = ( 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ) .

Unter Verwendung unserer obigen kombinatorischen Interpretation von A Δ N gibt an, dass die Anzahl der Pfade der Länge N aus v 0 zum gegenüberliegenden Scheitel v 15 Ist

P N = ( A Δ N ) 0 , 15 .
Bitten Sie Sage, zu rechnen P 1 , , P 12 und fügen Sie sie hinzu, sagen wir, mit dem Code n = var('n'); sum([(A^n)[0, 15] for n in range(1,13)]), gibt das
P 1 + + P 12 = 34548 ,
was mit MJDs Zählung übereinstimmt.

Das kann man auf einleuchtendere Weise herleiten. Berechnen A Γ N effizient ist es sinnvoll, die Jordan-Zerlegung zu verwenden A Γ = Q J Q 1 . Dann, A Γ N = ( Q J Q 1 ) N = Q J N Q 1 . Da eine Adjazenzmatrix (eines ungerichteten Graphen) symmetrisch ist, A Γ ist diagonalisierbar und somit J ist diagonal, sagen wir, J = diag ( λ ich ) , Und J N = diag ( λ ich N ) .

Nun, die Anzahl der Pfade der Länge N aus v ich Zu v J Ist

( A Δ N ) ich J = ( Q J N Q 1 ) ich J = k , Q ich k ( J N ) k Q J 1 ,
und da J N ist diagonal mit Einträgen λ A N , Terme tragen nur dann zur Summe bei = k , Verlassen
( A Δ N ) ich J = k ( Q ich k Q k J 1 ) λ k N .
Die Anzahl der Pfade von v ich Zu v J der Länge M ist dann die Teilsumme
N = 0 M ( A Δ N ) ich J = N = 0 M k ( Q ich k Q k J 1 ) λ k N = k ( Q ich k Q k J 1 ) N = 0 M λ k N = k ( Q ich k Q k J 1 ) λ k M + 1 1 λ k 1 ,
wo wir interpretieren λ k M + 1 1 λ k 1 als M + 1 Wenn λ k = 1 .

Für den Dodekaedergraphen Δ , die Jordan-Zerlegung (erzeugt zum Beispiel mit A.change_ring(QQ[sqrt(5)]).jordan_form(transformation=True)), ist gegeben durch

J = diag ( 3 , 5 , 5 , 5 , 5 , 5 , 5 , 0 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 1 ) ,
Q = ( 1 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 ϕ ϕ 1 ϕ 1 ϕ 0 0 0 1 0 0 0 1 0 0 0 1 0 1 ϕ 1 2 ϕ ϕ 2 ϕ 1 1 0 1 1 1 0 1 0 0 0 0 1 1 ϕ ϕ 1 ϕ ϕ 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 ϕ 1 ϕ 1 1 ϕ ϕ 0 1 0 1 0 1 2 1 0 1 1 1 0 1 ϕ 2 ϕ ϕ 1 2 ϕ 1 0 0 1 1 2 2 1 1 0 1 0 1 1 1 5 1 1 5 1 1 0 1 0 1 2 1 0 1 1 1 0 0 1 ϕ 2 ϕ ϕ 2 ϕ 1 1 1 0 1 1 1 0 1 0 0 0 0 1 1 ϕ 1 ϕ 1 1 ϕ ϕ 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 ϕ ϕ 1 ϕ ϕ 0 1 0 1 0 1 2 1 0 1 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 ϕ ϕ 1 ϕ ϕ 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 ϕ ϕ 1 ϕ 1 ϕ 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 5 1 1 5 1 1 0 1 0 1 2 1 0 1 1 1 0 0 1 ϕ 2 ϕ 1 ϕ 2 ϕ 1 0 0 1 1 2 2 1 1 0 1 0 1 1 ϕ ϕ 1 ϕ ϕ 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 ) .
Hier, ϕ := 1 2 ( 1 + 5 ) ist der Goldene Schnitt.

Nehmen ich = 0 , J = 15 und das Ersetzen (oder nur das Ausführen von (A^n)[0, 15]) ergibt

P N = ( A Δ N ) 0 , 15 = 1 20 3 N 3 20 ( 1 + ( 1 ) N ) ( 5 ) N + 1 5 ( 2 ) N + 1 4 .
(Dies stimmt mit der Formel überein, die in OEIS A054883 angegeben ist , Anzahl der Spaziergänge der Länge n entlang der Kanten eines Dodekaeders zwischen zwei gegenüberliegenden Scheitelpunkten .) Dann die Anzahl solcher Längenpfade M ist die Teilsumme S M = N = 0 M P N , und in der Tat, S 12 = 34548 wie behauptet.

Für groß N , die Formel für P N dominiert der erste Term, also P N 1 20 3 N ; also für groß M , S M 1 40 3 M + 1 .

Bearbeiten Ein Christian Blatter hat in seiner Antwort festgestellt, dass die Ausnutzung der Symmetrie des Dodekaeders das Problem in ein Pfadzählproblem auf dem Digraphen übersetzt Δ ' von Klassen C 0 , , C 5 von Scheitelpunkten, wo C k besteht aus den Eckpunkten der Entfernung k aus v 0 . Dies ergibt die Adjazenzmatrix

A Δ ' = ( 0 3 0 0 0 0 1 0 2 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 2 0 1 0 0 0 0 3 0 ) .
Die Anzahl der Längenpfade N aus C 0 (die nur einen einzigen Scheitelpunkt enthält) zu C 5 (das seinen Antipodenscheitel enthält) ist dann ( A Δ ' N ) 05 . Wie zuvor können wir dies effizient mit der Jordan-Zerlegung berechnen A Δ ' = Q ' J ' ( Q ' ) 1 , Wo
J ' = diag ( 3 , 5 , 1 , 0 , 2 , 5 ) , Q ' = ( 1 1 1 1 1 1 1 1 3 5 1 3 0 2 3 1 3 5 1 1 3 1 3 1 2 1 6 1 3 1 1 3 1 3 1 2 1 6 1 3 1 1 3 5 1 3 0 2 3 1 3 5 1 1 1 1 1 1 . ) .

Ich arbeite immer noch an einer kombinatorischen Methode zur Berechnung der Antwort, und ich bin möglicherweise nicht erfolgreich. In der Zwischenzeit sind hier die Ergebnisse einer Computeraufzählung aller Pfade:

Länge Einfache Wege Alle Wege 5 6 6 6 12 12 7 6 84 8 12 192 9 30 882 10 24 2 220 11 42 8 448 12 84 22 704 13 96 78 078 14 132 218 988 15 150 710 892 16 72 2 048 256 17 48 6 430 794 18 60 18 837 516 19 6 58 008 216 Gesamt 780 86 367 288

Die vollständige Aufzählung der Pfade dauerte auf meinem Laptop etwa eine halbe Stunde, und die Ausgabedatei ist 5,3 GB roh, 0,25 GB komprimiert. Aus theoretischen und empirischen Gründen können wir davon ausgehen, dass es ungefähr 180 Millionen Pfade der Länge 20 geben würde, deren Berechnung ungefähr 55 Minuten dauern würde. (Nach der Berechnung der 1 042 506 Pfade bis Länge 15, ich schätze es wären rund 81 mal so viele Pfade bis Länge 19, bzw 84 442 986 , was dem richtigen Ergebnis ziemlich nahe kommt.)

Haben Sie aus Neugier jemals eine kombinatorische Methode gefunden?
Nein, ich habe mich anderen Dingen zugewandt. Danke für die Erinnerung; Ich nehme es vielleicht nochmal auf. Ich liebe es, über Dodekaeder nachzudenken.
@tox123 Ich habe es heute Morgen noch einmal versucht. Ich habe eine Methode gefunden, die für den Tetraeder und den Würfel gut funktioniert. (Für einen Würfel gibt es meines Erachtens 6, 0, 60, 0, 546 Pfade der Länge 3, 4, 5, 6, 7 zwischen einem Scheitelpunkt und seinem Antipoden.) Aber die von mir verwendete Methode erweist sich als schwieriger für das Dodekaeder. Ich werde weiter überlegen.
Interessanterweise hat das OEIS nicht einmal die Würfelsequenz.
Ich habe die Tetraeder- und Würfelmethode unter Zählen von Pfaden durch Polyeder aufgeschrieben, habe aber immer noch keine gute Antwort für das Dodekaeder.