Löst sich der n × n × n Zauberwürfel NP-schwer optimal?


38

Betrachten Sie die offensichtliche Verallgemeinerung von des Rubik's Cube . Ist es schwierig, die kürzeste Sequenz von Zügen zu berechnen , die einen bestimmten verwürfelten Würfel löst, oder gibt es einen Polynom-Zeit-Algorithmus?n×n×n

[Einige verwandte Ergebnisse sind in meinem letzten Blog-Beitrag beschrieben .]


5
Ich vermute, dass die Eingabe als sechs n × n-Gitter aus {1,…, 6} angegeben wird. Liegt das Problem in NP? Gibt es eine einfache Polynomobergrenze für die Anzahl der Züge in der n × n × n-Version von Rubiks Würfel?
Tsuyoshi Ito

1
Danke für die Information. Gibt es einen Hinweis?
Tsuyoshi Ito

1
Wird das Problem einfacher, wenn man sich entspannt auf die Frage "Erstellen Sie bei gegebener Konfiguration eine Lösung, die höchstens Gottes Anzahl (n, n, n) von Zügen erfordert". Genau das hat der Lösungsalgorithmus von Rubik getan. Sie haben nicht nach dem kürzesten gesucht, weil es zu lange gedauert hätte.
Aaron Sterling

1
Wissen wir, dass der Durchmesser des erreichbaren Konfigurationsraums ? Θ(n2)
Andy Drucker

1
@ Andy: Gute Frage! ("Was ist Gottes Funktion von n?")
Jeffs 10.09.10

Antworten:



21

Eine neue Arbeit von Demaine, Demaine, Eisenstat, Lubiw und Winslow macht teilweise Fortschritte in dieser Frage - sie gibt einen Polynom-Zeit-Algorithmus zum optimalen Lösen von Würfeln und Shows -Härte zum optimalen Lösen von "teilweise gefärbten" Würfeln. Es zeigt auch, dass der Konfigurationsraum des Würfels den Durchmesser .n×O(1)×O(1)NPn×n×nΘ(n2/logn)

Süss!

Eine mögliche nächste Frage, die ihre Arbeit zu suggerieren scheint: es eine feste Familie von teilweise gefärbten Würfeln, eine für jeden Wert von , so dass die optimale Lösung aus einer gegebenen Konfiguration ist -hart?n×n×nnNP


1
OK, und noch eine Frage: Wie komplex ist es zu bestimmen, ob zwei nicht standardmäßige Farben des Würfels äquivalent sind? (Zwei Fälle zu berücksichtigen: vollständige oder teilweise Färbungen.)n×n×n
Andy Drucker

Okay, noch eine Frage, und dann höre ich auf: Gibt es eine explizite Abfolge von Konfigurationen, für deren Lösung sich bewegt? (Die Zeitung verwendet ein Zählargument für die Untergrenze.)Ω(n2/logn)
Andy Drucker

9

Darin könnte leicht ein Fehler liegen, also lass es mich wissen, wenn du einen entdeckst.

Es scheint, dass die Antwort Nein ist, oder zumindest, dass dieses Problem in NP enthalten ist. Die Argumentation dahinter ist sehr einfach. Die Idee ist, aus einer anderen Frage aufzubauen: "Können Sie in S-Schritten oder weniger zwischen Konfiguration A und Konfiguration B wechseln?"

Es ist klar, dass sich diese neue Frage in NP befindet, da es einen -Algorithmus gibt, mit dem der Würfel aus jeder lösbaren Konfiguration gelöst werden kann. Wenn Sie also über den gelösten Zustand gehen, brauchen Sie nur , um zwischen zwei Konfigurationen zu wechseln . Da es nur eine polynomielle Anzahl von Zügen gibt, kann der Satz von Zügen zwischen zwei Konfigurationen als Zeuge für diese neue Frage verwendet werden.O(n2)O(n2)

Wenn wir nun erstens die Konfiguration B als gelösten Zustand auswählen, haben wir ein Problem, bei dem gefragt wird, ob es möglich ist, den Würfel in Schritten oder weniger zu lösen, der in NP enthalten ist.S

Lassen Sie uns nun eine andere Konfiguration für B auswählen, die ich nennen werde . Die Lösung dauert Schritte. Wenn wir nun fragen, ob es möglich ist, in Schritten von oder weniger zwischen Konfiguration A und zu gelangen , haben wir erneut ein Problem in NP mit einer Folge von Zügen als Zeuge. Da wir jedoch wissen nimmt zu lösen Schritte, wir wissen , dass , wenn es möglich ist , zwischen A und gehen in Schritte, dann ist es zumindest erfordert Schritte zum Lösen des Würfels aus Konfiguration A.Bhardnhardn2BhardSBhardnhardBhardSnhardSn×n×n

Wir haben also Zeugen sowohl für eine Untergrenze von Schritten als auch für eine Untergrenze von Schritten, die aus Konfiguration A zu lösen sind. Wenn wir nun als die minimale Anzahl von Zügen auswählen, die erforderlich sind, um den Würfel beginnend mit Konfiguration zu lösen A, wenn wir dann die untere und obere Schranke so auswählen, dass sie gleich sind (dh und ), dann haben wir einen Zeugen, dass diese Lösung optimal ist (bestehend aus den Zeugen der beiden NP) Probleme im Zusammenhang mit den Grenzen).nhardSSS0S=nhardS0S=S0

Zuletzt brauchen wir einen Weg, um zu generieren . Wir brauchen wahrscheinlich die schwierigste Konfiguration, aber da ich nicht weiß, wie ich das finde, schlage ich vor, einfach jede zweite Ebene einmal um die x-Achse zu drehen und dann jede vierte Ebene (wobei die zentrale Ebene fest bleibt) einmal um die x-Achse zu drehen die z-Achse. Ich glaube, dies führt zu einem Zustand, für dessen Lösung Schritte erforderlich sind .BhardO(n2)

Ich habe also keinen vollständigen konstruktiven Beweis, aber jede optimale Lösung mit weniger als eindeutig einen Zeugen. Unglücklicherweise benötigen Sie zum Erfassen aller möglichen Konfigurationen .nhardnhard=God's number(n)

BEARBEITEN: Die Regelmäßigkeit der Superflip-Konfiguration lässt es wahrscheinlich erscheinen, dass das Generieren von für relativ einfach ist (dh in P).Bhardnhard=God's number(n)


Gute Idee. Dies setzt jedoch nicht voraus, dass der kürzeste Weg zwischen zwei Punkten, die weit voneinander entfernt sind, genommen werden kann, um einen beliebigen anderen Punkt zu durchlaufen. Dies gilt natürlich für Punkte auf Kugeln (wenn Sie vom Nordpol zum Südpol fliegen, können Sie auch über Tahiti fliegen). Gibt es jedoch einen Grund, warum dies für Konfigurationen von Rubiks Würfeln gelten sollte?
Peter Shor

@Peter Shor: Hallo Peter, ich wollte nicht implizieren, dass es der kürzeste Weg ist , durch von A zur Lösung zu gelangen. In der Tat sollte dieser Ansatz in diesem Fall nicht funktionieren. Die Idee ist, dass, wenn es mindestens Schritte dauert , um von zur gelösten Konfiguration zu gelangen, wenn wir über von zur Lösung gehen, wir uns weiter von der gelösten Konfiguration entfernen müssen , bevor du zurück gehst. (Fortsetzung)BhardnhardBhardABhard
Joe Fitzsimons

(Fortsetzung) Ich gehe davon aus, dass A leichter zu lösen ist als (weniger Schritte). Da wir wissen, dass es mindestens Schritte dauert , um von zu lösen , und wir wissen, dass wir in höchstens Schritten von A zu gelangen können, haben wir . Ich habe dies verwendet, um eine Untergrenze für , während das Lösen direkt eine Obergrenze für ergibt . BhardnhardBhardBhardnhardnhardSS0nhard+SS0S0
Joe Fitzsimons

2
@ Joe: Du hast mich falsch verstanden. Ich denke, Ihr Ansatz funktioniert nur dann gut, wenn es einen relativ kurzen Weg von zu der Lösung gibt, die durch A führt. Ich weiß nicht, ob dies für den Rubik's Cube zutrifft (also sage ich nicht) Ihr Ansatz funktioniert nicht, nur, dass noch mehr Dinge bewiesen werden müssen. hard
Peter Shor

2
@ Joe: Mach dir keine Sorgen über das Posten von halb durchdachten Antworten. Ich habe das Gleiche getan (und ich bin nicht der einzige). Und ich bin nicht überzeugt, dass dieser Ansatz völlig wertlos ist. Ich gehe davon aus, dass es nicht funktionieren wird, um zu zeigen, dass die exakte Entfernung nicht NP-schwer ist, aber vielleicht könnte es etwas über die Annäherung sagen.
Peter Shor
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.