В этом легко может быть ошибка, поэтому, пожалуйста, дайте мне знать, если вы ее обнаружите.
Кажется, что ответ - нет, или, по крайней мере, эта проблема содержится в NP. Причина этого очень проста. Идея состоит в том, чтобы построить из другого вопроса: «Можете ли вы перейти между конфигурацией A и конфигурацией B за S шагов или меньше?»
Ясно, что этот новый вопрос находится в NP, потому что существует алгоритм для решения куба из любой разрешимой конфигурации, и, таким образом, для прохождения через решенное состояние требуется только O ( n 2 ), чтобы перейти между любыми двумя конфигурациями. Так как количество ходов всего полиномиально, набор ходов между двумя конфигурациями может быть использован в качестве свидетеля для этого нового вопроса.O(n2)O(n2)
Теперь, во-первых, если мы выберем конфигурацию B как решенное состояние, у нас возникнет проблема, которая спрашивает, возможно ли решить куб за шагов или меньше, который содержится в NP.S
Теперь давайте выберем другую конфигурацию для B, которую я назову которой требуется n h a r d ≈ n 2 шагов. Теперь , если мы спрашиваем, можно ли получить от конфигурации A и B ч а г д в S ' шагов или менее, мы опять имеем проблему NP с последовательностью ходов , как свидетель. Однако, так как мы знаем, что B h a r d требует n h a r dBhardnhard≈n2BhardS′Bhardnhardшаги , чтобы решить, мы знаем , что , если это возможно , чтобы перейти между А и в ˙s ' шагов, то он требует , по меньшей мере п ч а г д - S ' шаги , чтобы решить п × п × п куб из конфигурация А.BhardS′nhard−S′n×n×n
Таким образом, у нас есть свидетели как нижней границы шагов и нижней границы шагов S для решения из конфигурации A. Если теперь мы выберем S 0 в качестве минимального числа ходов, необходимых для решения куба, начинающего с конфигурацией A, тогда, если мы выберем нижнюю и верхнюю границы равными (т.е. S ′ = n h a r d - S 0 и S = S 0nhard−S′SS0S′=nhard−S0S=S0), то у нас есть свидетель, что это решение является оптимальным (состоит из свидетелей двух проблем NP, связанных с границами).
Наконец, нам нужен способ генерировать . Возможно, нам нужна самая сложная конфигурация, но, поскольку я не знаю, как ее найти, я предлагаю просто повернуть каждую вторую плоскость один раз вокруг оси x, а затем каждую четвертую плоскость (удерживая центральную плоскость фиксированной) один раз ось Z. Я считаю, что это приводит к состоянию, для решения которого требуется O ( n 2 ) шагов.BhardO(n2)
Таким образом, у меня нет полного конструктивного доказательства, но любое оптимальное решение с менее чем , очевидно , имеет свидетельство. К сожалению, конечно, чтобы захватить все возможные конфигурации, вам понадобится n h a r d = число Бога ( n ) .nhardnhard=God's number(n)
РЕДАКТИРОВАТЬ: регулярность конфигурации Superflip делает вероятным, что генерирование для n h a r d = число Бога ( n ) может быть относительно простым (то есть в P).Bhardnhard=God's number(n)