Está resolvendo de maneira otimizada o n × n × n Cubo de Rubik NP-hard?


38

Considere a óbvia generalização do cubo de Rubik . É NP-difícil calcular a menor seqüência de movimentos que resolve um determinado cubo embaralhado, ou existe um algoritmo de tempo polinomial?n×n×n

[Alguns resultados relacionados estão descritos em minha recente postagem no blog .]


5
Eu acho que a entrada é dada como seis grades n × n feitas de {1,…, 6}. O problema está no NP? Existe um limite superior fácil e polinomial para o número de movimentos na versão n × n × n do cubo de Rubik?
Tsuyoshi Ito

1
Obrigado pela informação. Existe alguma referência?
Tsuyoshi Ito

1
O problema fica mais fácil se for relaxado para "Com uma configuração, produza uma solução que tome no máximo o Número de Deus (n, n, n) de movimentos"? Foi o que o algoritmo de solução do Rubik fez. Eles não procuraram o mais curto, porque levaria muito tempo.
Aaron Sterling

1
Sabemos que o diâmetro do espaço de configuração alcançável é Θ(n2) ?
Andy Drucker

1
@ Andy: Boa pergunta! ("Qual é a função de n de Deus?")
Jeffε

Respostas:



21

Um novo artigo de Demaine, Demaine, Eisenstat, Lubiw e Winslow faz um progresso parcial nessa questão - fornece um algoritmo de tempo polinomial para a solução ideal de cubos e mostra N P -dureza para resolver de maneira ideal o que você pode chamar de cubos "parcialmente coloridos". Também mostra que o espaço de configuração do cubo n × n × n tem diâmetro Θ ( n 2 / log n ) .n×O(1)×O(1)NPn×n×nΘ(n2/logn)

Doce!

Uma próxima pergunta possível que o trabalho deles parece sugerir: existe uma família fixa de cubos parcialmente coloridos , um para cada valor de n , de modo que a solução ideal de uma determinada configuração seja N- D- duro?n×n×nnNP


1
OK, e mais uma pergunta: qual é a complexidade de determinar se duas cores fora do padrão do cubo são equivalentes? (Dois casos a considerar: corantes completas ou parciais.)n×n×n
Andy Drucker

Tudo bem, mais uma pergunta e depois eu paro: existe uma sequência explícita de configurações que requerem para resolver? (O trabalho utiliza um argumento de contagem para o seu limite inferior.)Ω(n2/logn)
Andy Drucker

9

Pode haver um problema com facilidade, então, deixe-me saber se você encontrar um.

Parece que a resposta é não ou pelo menos esse problema está contido no NP. O raciocínio por trás disso é muito simples. A idéia é criar a partir de outra pergunta: "Você pode ficar entre a configuração A e a configuração B em etapas S ou menos?"

Claramente, essa nova pergunta está no NP, porque existe um algoritmo para resolver o cubo a partir de qualquer configuração solucionável e, assim, passando pelo estado resolvido, é necessário apenas O ( n 2 ) entre as duas configurações. Como existe apenas um número polinomial de movimentos, o conjunto de movimentos entre duas configurações pode ser usado como testemunha para esta nova pergunta.O(n2)O(n2)

Agora, primeiro, se escolhermos a configuração B como o estado resolvido, teremos um problema que pergunta se é possível resolver o cubo em etapas ou menos, que está contido no NP.S

Agora vamos escolher uma configuração diferente para B, o que eu vou chamar que leva n h a r dn 2 passos para resolver. Agora, se perguntar se é possível obter entre configuração A e B h a r d em S ' passos ou menos, temos novamente um problema em NP com uma sequência de movimentos como a testemunha. No entanto, como sabemos que B h a r d toma n h a r dBhardnhardn2BhardSBhardnhardetapas a serem resolvidas, sabemos que, se é possível alternar entre A e em etapas de S ' , isso requer pelo menos n h a r d - S ' etapas para resolver o cubo n × n × n configuração A.BhardSnhardSn×n×n

Assim, temos testemunhas tanto para um limite inferior de etapas e um limite inferior de S passos para resolver de configuração A. Se agora escolher S 0 como o número mínimo de movimentos necessários para resolver o cubo de partida com a configuração A, se escolhermos que os limites inferior e superior sejam iguais (ou seja, S = n h a r d - S 0 e S = S 0nhardSSS0S=nhardS0S=S0), temos uma testemunha de que essa solução é ótima (composta pelas testemunhas dos dois problemas de PN associados aos limites).

Por fim, precisamos de uma maneira de gerar . Provavelmente precisamos da configuração mais difícil possível, mas como não sei como, sugiro simplesmente girar um segundo plano uma vez sobre o eixo x e depois um quarto plano (mantendo o plano central fixo) uma vez sobre o eixo z. Eu acredito que isso leva a um estado que requer O ( n 2 ) etapas para resolver.BhardO(n2)

Assim, não tem uma prova construtivo completo, mas qualquer solução óptima tendo menos do que tem claramente uma testemunha. Infelizmente, é claro, para capturar todas as possíveis configurações que você precisaria n h a r d = número de Deus ( n ) .nhardnhard=God's number(n)

EDIT: A regularidade da configuração Superflip faz parecer provável que a geração de a n h a r d = número de Deus ( n ) pode ser relativamente fácil (ou seja, em P).Bhardnhard=God's number(n)


Boa ideia. No entanto, isso não pressupõe que o caminho mais curto entre dois pontos distantes possa ser percorrido para passar por qualquer outro ponto. Isso é claramente verdade para os pontos nas esferas (se você estiver voando do polo norte para o polo sul, também poderá voar pelo Taiti), mas há alguma razão para as configurações dos cubos de Rubik?
Peter Shor

@ Peter Shor: Hi Peter, eu não quero dizer que passando por de A para a solução era o caminho mais curto. De fato, essa abordagem não deve funcionar nesse caso. A idéia é que, se for preciso, pelo menos, n h um r d passos para começar a partir B h a r d à configuração resolvido, então se nós ir de A à solução via B h a r d temos que ir mais longe a configuração resolvida, antes de voltar. (continuação)BhardnhardBhardABhard
Joe Fitzsimons

(continuação) Presumo que A seja mais fácil de resolver do que (menos etapas). Desde que nós sabemos que é preciso, pelo menos, n h um r d passos para resolver a partir B h a r d , e sabemos que podemos chegar a B h a r d em no máximo n h um r d passos A, então temos n h um r d - S 'S 0n h um r dBhardnhardBhardBhardnhard . Eu estava usando isso para obter um limite inferior em S 0 , enquanto a solução diretamente fornece um limite superior em S 0 . nhardSS0nhard+SS0S0
Joe Fitzsimons

2
@ Joe: Você me entendeu mal. Eu acho que sua abordagem só funciona bem se houver um período relativamente curto caminho do B h a r d à solução que passa por A. Eu não sei se isso é verdade para o cubo de Rubik (então eu não estou dizendo que a sua abordagem não funciona, apenas que há mais coisas que precisam ser provadas). hard
Peter Shor

2
@ Joe: não se preocupe em postar respostas meio pensadas. Eu fiz a mesma coisa (e eu não sou o único). E não estou convencido de que essa abordagem seja completamente inútil. Espero que não funcione para mostrar que a distância exata não é difícil para o NP, mas talvez possa dizer algo sobre a aproximação.
quer
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.