Est-ce que résoudre de manière optimale le n × n × n Rubik's Cube NP-hard?


38

Considérez la généralisation évidente n×n×n du cube de Rubik . Est-il difficile de calculer la séquence de mouvements la plus courte permettant de résoudre un cube brouillé donné, ou existe-t-il un algorithme polynomial?

[Certains résultats connexes sont décrits dans mon récent article de blog .]


5
Je suppose que l’entrée est donnée sous forme de six grilles n × n constituées de {1,…, 6}. Le problème est-il en NP? Existe-t-il une limite supérieure polynomiale facile sur le nombre de déplacements dans la version n × n × n du cube de Rubik?
Tsuyoshi Ito

1
Merci pour l'information. Y a-t-il une référence?
Tsuyoshi Ito

1
Est-ce que le problème devient plus facile s’il est apaisé à "Donner une configuration, produire une solution qui prend au plus le nombre de coups de Dieu (n, n, n)"? C'est ce que l'algorithme de solution du Rubik a fait. Ils n'ont pas cherché le plus court, car cela aurait pris trop de temps.
Aaron Sterling

1
Est - ce que nous savons que le diamètre de l'espace de configuration accessible est ? Θ(n2)
Andy Drucker le

1
@Andy: Belle question! ("Quelle est la fonction de Dieu de n?")
Jeffε

Réponses:



21

Un nouvel article de Demaine, Demaine, Eisenstat, Lubiw et Winslow fait des progrès partiels sur cette question - il donne un algorithme polynomial pour résoudre de manière optimale cubes et montre N P -dureté pour résoudre de manière optimale ce que vous pourriez appeler des cubes "partiellement colorés". Il a également montre que la n × n × n espace de configuration du cube a un diamètre Θ ( n 2 / log n ) .n×O(1)×O(1)NPn×n×nΘ(n2/logn)

Doux!

Une question possible que leurs travaux semblent suggérer: existe-t-il une famille fixe de cubes partiellement colorés , un pour chaque valeur de n , de sorte que la résolution optimale d'une configuration donnée est N P -hard?n×n×nnNP


1
OK, et une autre question: quelle est la complexité de la détermination de la correspondance entre deux colorations non standard du cube ? (Deux cas à considérer: colorations complètes ou partielles.)n×n×n
Andy Drucker le

Très bien, une dernière question et ensuite je vais m'arrêter: y a-t-il une séquence explicite de configurations qui nécessitent des mouvements de à résoudre? (Le papier utilise un argument de comptage pour sa limite inférieure.)Ω(n2/logn)
Andy Drucker Le

9

Il pourrait facilement y avoir un bug là-dedans, alors faites-le-moi savoir si vous en repérez un.

Il semble que la réponse soit non, ou du moins que ce problème est contenu dans NP. Le raisonnement derrière cela est très simple. L'idée est de développer une autre question: "Pouvez-vous obtenir entre la configuration A et la configuration B en étapes S ou moins?"

Il est clair que cette nouvelle question est dans NP, car il existe un algorithme pour résoudre le cube à partir de toute configuration pouvant être résolue, et passer ainsi via l'état résolu ne prend que O ( n 2 )O(n2)O(n2) passe de deux configurations à l’autre. Puisqu'il n'y a qu'un nombre polynomial de déplacements, l'ensemble des déplacements à faire entre deux configurations peut être utilisé comme témoin pour cette nouvelle question.

Maintenant, premièrement, si nous choisissons la configuration B comme état résolu, nous avons un problème qui demande s’il est possible de résoudre le cube en ou moins, contenu dans NP.S

Maintenant permet de choisir une configuration différente B, que je vais appeler qui prend n h a r dn 2 étapes à résoudre. Maintenant , si nous nous demandons s'il est possible d'obtenir entre la configuration A et B h a r d en S ' étapes ou moins, nous avons à nouveau un problème dans NP avec une séquence de mouvements comme le témoin. Cependant, puisque nous savons B h a r d a n h a r dBhardnhardn2BhardSBhardnhard des mesures pour résoudre, nous savons que s'il est possible de passer entre A et en S ' étapes, il faut au moins n h a r d - S ' étapes pour résoudre le n × n × n cube configuration A.BhardSnhardSn×n×n

Ainsi , nous avons des témoins à la fois une baisse liée de étapes et une borne inférieure de S étapes pour résoudre de configuration A. Si nous prenons maintenant S 0 comme le nombre minimum de mouvements nécessaire pour résoudre le départ du cube avec la configuration a, alors , si on choisit les limites inférieure et supérieure à être égale ( par exemple S ' = n h a r d - S 0 et S = SnhardSSS0S=nhardS0S=S0), nous avons alors un témoin que cette solution est optimale (composé des témoins des deux problèmes de NP associés aux bornes).

Enfin, nous avons besoin d’un moyen de générer . Nous avons probablement besoin de la configuration la plus difficile possible, mais comme je ne sais pas comment le trouver, je suggère simplement de faire pivoter chaque plan une fois sur l’axe des x, puis tous les quatre plans (en gardant le plan central fixe) une fois environ. l'axe z. Je crois que cela conduit à un état qui nécessite O ( n 2 ) étapes à résoudre.BhardO(n2)

Ainsi, je n'ai pas une preuve constructive complète, mais une solution optimale en prenant moins de a clairement un témoin. Malheureusement, bien sûr, de saisir toutes les configurations possibles dont vous auriez besoin n h a r d = nombre de Dieu ( n ) .nhardnhard=God's number(n)

EDIT: La régularité de la configuration Superflip fait semble probable que la génération pour n h a r d = nombre de Dieu ( n ) peut être relativement facile (dans P).Bhardnhard=God's number(n)


Neat idea. However, doesn't this assume that the shortest path between two points that are far apart can be taken to go through any other point. That's clearly true for points on spheres (if you're flying from the North pole to the South pole, you might as well fly by way of Tahiti), but is there any reason it should be true for configurations of Rubik's cubes?
Peter Shor

@Peter Shor: Hi Peter, I didn't mean to imply that going through Bhard from A to the solution was the shortest path. In fact this approach shouldn't work in that case. The idea is that if it takes at least nhard steps to get from Bhard to the solved configuration, then if we go from A to the solution via Bhard we have to go further away from the solved configuration, before going back. (contd)
Joe Fitzsimons

(contd.) I assume A is easier to solve than Bhard (less steps). Since we know that it takes at least nhard steps to solve from Bhard, and we know we can get to Bhard in at most nhard steps from A, then we have nhardSS0nhard+S. I was using this to get an lower bound on S0, while solving directly gives an upper bound on S0.
Joe Fitzsimons

2
@Joe: You misunderstood me. I think your approach only works well if there is a relatively short path from Bhard to the solution which passes through A. I don't know whether this is true for the Rubik's cube (so I'm not saying your approach doesn't work, just that there's more stuff that needs to be proved).
Peter Shor

2
@Joe: don't worry about posting half-thought-out answers. I've done the same thing (and I'm not the only one). And I'm not convinced this approach is completely worthless. I do expect it won't work to show computing the exact distance is not NP-hard, but maybe it could say something about approximating it.
Peter Shor
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.