Potrebbe esserci facilmente un bug in questo, quindi per favore fatemi sapere se ne individuate uno.
Sembra che la risposta sia no, o almeno che questo problema sia contenuto in NP. Il ragionamento alla base di questo è molto semplice. L'idea è quella di costruire da un'altra domanda: "Puoi ottenere tra la configurazione A e la configurazione B in passi S o meno?"
Chiaramente questa nuova domanda è in NP, perché esiste un algoritmo per risolvere il cubo da qualsiasi configurazione risolvibile, e quindi passando attraverso lo stato risolto ci vuole solo O ( n 2 ) per passare tra due configurazioni qualsiasi. Poiché esiste solo un numero polinomiale di mosse, l'insieme di mosse da percorrere tra due configurazioni può essere utilizzato come testimone per questa nuova domanda.O(n2)O(n2)
Ora, in primo luogo, se scegliamo la configurazione B come stato risolto, abbiamo un problema che ci chiede se è possibile risolvere il cubo in passi o meno, che è contenuto in NP.S
Ora selezioniamo una configurazione diversa per B, che chiamerò che richiede n h a r d ≈ n 2 passaggi per risolvere. Ora, se ci chiediamo se sia possibile ottenere tra configurazione A e B h un r d in S ' passi o meno, abbiamo di nuovo un problema in NP con una sequenza di mosse come testimone. Tuttavia, poiché sappiamo che B h a r d prende n h a r dBhardnhard≈n2BhardS′Bhardnhardpassi da risolvere, sappiamo che se è possibile andare tra A e in passi S ′ , allora richiede almeno n h a r d - S ′ passi per risolvere il cubo n × n × n da configurazione A.BhardS′nhard−S′n×n×n
Quindi abbiamo testimoni sia per un limite inferiore di passi che per un limite inferiore di S passi da risolvere dalla configurazione A. Se ora scegliamo S 0 come numero minimo di mosse richieste per risolvere l'avvio del cubo con la configurazione A, quindi se scegliamo che i limiti inferiore e superiore siano uguali (cioè S ′ = n h a r d - S 0 e S = S 0nhard−S′SS0S′=nhard−S0S=S0), quindi abbiamo una testimonianza che questa soluzione è ottimale (composta dai testimoni dei due problemi NP associati ai limiti).
Infine, abbiamo bisogno di un modo per generare . Probabilmente abbiamo bisogno della configurazione più difficile possibile, ma dal momento che non so come trovarlo, suggerisco semplicemente di ruotare ogni secondo piano una volta attorno all'asse xe quindi ogni quarto piano (mantenendo fisso il piano centrale) una volta circa l'asse z. Credo che questo porti a uno stato che richiede O ( n 2 ) passaggi per essere risolto.BhardO(n2)
Quindi, non ho una prova costruttiva completa, ma qualsiasi soluzione ottimale prendendo meno di ha chiaramente un testimone. Sfortunatamente, ovviamente, per catturare tutte le possibili configurazioni avresti bisogno di n h a r d = numero di Dio ( n ) .nhardnhard=God's number(n)
EDIT: la regolarità della configurazione di Superflip sembra probabile che la generazione di per n h a r d = il numero di Dio ( n ) sia relativamente semplice (cioè in P).Bhardnhard=God's number(n)