Może to być błąd, więc daj mi znać, jeśli go zauważysz.
Wydaje się, że odpowiedź brzmi „nie” lub przynajmniej, że problem ten jest zawarty w NP. Uzasadnienie tego jest bardzo proste. Chodzi o to, aby zbudować z innego pytania: „Czy możesz przejść między konfiguracją A a konfiguracją B w krokach S lub mniej?”
Najwyraźniej to nowe pytanie dotyczy NP, ponieważ istnieje algorytm do rozwiązania kostki z dowolnej możliwej do rozwiązania konfiguracji, a więc przejście przez stan rozwiązany wymaga tylko do przejścia między dowolnymi dwiema konfiguracjami . Ponieważ jest tylko wielomianowa liczba ruchów, zestaw ruchów pomiędzy dwiema konfiguracjami może być użyty jako świadek tego nowego pytania.O ( n 2 )O(n2)O(n2)
Teraz, po pierwsze, jeśli wybierzemy konfigurację B jako stan rozwiązany, mamy problem z pytaniem, czy możliwe jest rozwiązanie kostki w krokach lub mniejszych, które są zawarte w NP.S
Teraz wybierzmy inną konfigurację dla B, którą nazwiemy co wymaga kroków do rozwiązania. Teraz, gdy pytamy, czy jest możliwe, aby uzyskać między konfiguracji A i w krokach lub mniej, znów mamy problem w NP z sekwencją ruchów jako świadka. Ponieważ jednak wiemy, że wymaga kroków do rozwiązania, wiemy, że jeśli możliwe jest przejście między A i w krokach , to wymaga co najmniej kroki, aby rozwiązać kostkę z konfiguracji A.Bhardnhard≈n2BhardS′BhardnhardBhardS′nhard−S′n×n×n
Mamy więc świadków zarówno dla dolnej granicy kroków i dolnej granicy kroków do rozwiązania z konfiguracji A. Jeśli teraz jako minimalną liczbę ruchów wymaganych do rozwiązania kostki, zaczynając od konfiguracji A, to jeśli wybieramy dolną i górną granicę, aby były równe (tj. i ), to mamy świadka, że to rozwiązanie jest optymalne ( ze świadków dwóch NP problemy związane z granicami).nhard−S′SS0S′=nhard−S0S=S0
Na koniec potrzebujemy sposobu na wygenerowanie . Prawdopodobnie potrzebujemy najtrudniejszej możliwej konfiguracji, ale ponieważ nie wiem, jak to znaleźć, sugeruję po prostu obrócenie co drugą płaszczyznę jeden raz wokół osi x, a następnie co czwartą płaszczyznę (utrzymywanie stałej płaszczyzny środkowej) za jednym razem oś Z. Wierzę, że prowadzi to do stanu, który wymaga kroków do rozwiązania.BhardO(n2)
Tak więc nie mam pełnego konstruktywnego dowodu, ale każde optymalne rozwiązanie wymagające mniej niż wyraźnie ma świadka. Niestety, aby uchwycić wszystkie możliwe konfiguracje, potrzebujesz .nhardnhard=God's number(n)
EDYCJA: Regularność konfiguracji Superflip sprawia, że wydaje się prawdopodobne, że wygenerowanie dla może być stosunkowo łatwe (tj. W P).Bhardnhard=God's number(n)