Algoritmy pro složení Rubikovy kostky jsou známy už dávno, jeden univerzální postup umožňující uspět v každé pozici už ostatně měl sám vynálezce hlavolamu. Posléze se podařilo dokázat, že z každé pozice lze kostku složit maximálně 26 tahy.
Nicméně všechny tyto programy byly lidským dílem. V případě šachů a Go se podařilo nejen napsat algoritmy, které hrají úspěšněji než člověk, ale nedávno také tyto programy nechat vyvinout samy metodami strojového učení – tak, že hrály proti sobě. Tento postup ale u Rubikovy kostky naráží na mnohé překážky. I zde sice programy mohou hrát „proti sobě“ (vyhrává, kdo složí rychleji), potíž je však v tom, jak různé postupy odměňovat. V šachách nebo Go mají tahy různou sílu a zlepšují nebo zhoršují pozici různým způsobem. U Rubikovy kostky ale existuje pouze nejrychlejší postup, ostatní tahy jsou nejen chybné, ale navíc chybné vlastně všechny stejně (nakonec každý tah lze vrátit, takže žádný, ani ten nejhorší, nemůže řešení prodloužit více než o 2 tahy). Také lze těžko z nějaké pozice na první poznat, zda má blíže k řešení než jiná (u šachů hraje roli třeba materiální výhoda) – a především příslušná pravidla/odhady nemůžeme zadat předem, ale systém si je musí umět vyvinout sám.
Stephen McAleer a jeho spolupracovníci z University of California v Irvine nakonec problém rozlouskli. Museli ovšem k tomu navrhnout novou metodu hlubokého učení, kterou nazvali autodidaktická interace. Systém si tímto způsobem dokáže právě vyvinout odhad, jaké pozice jsou nadějnější než jiné, a z toho pak začne hodnotit relativní sílu různých možných tahů (autoři výzkumu mluví o „čistém posilování“). Přitom se vychází z konečného stavu složené kostky a program se ptá, kolika „rozházeními“ lze dospět do pozice, která je podobná té posuzované – pracuje se přitom s obecnými vzory, nikoliv hrubou silou. Výsledně si neuronová síť vyvinula algoritmus DeepCube, který není nejrychlejší, ale vyřeší 100 % zadání s mediánem 30 tahů. Což je lepší nebo cca stejné jako výsledek nejlepších lidských řešitelů, kteří využívají své vlastní obecné vzory (doménové znalosti).
Autoři výzkumu uvádějí, že jejich přístup mohl být využitelný v řadě úloh – autodidaktická iterace by se kromě řešení jiných her (uvádí se Sokoban, Montezuma’s Revenge…) třeba mohla naučit odhadovat terciální strukturu proteinů ze zadané sekvence aminokyselin.
Zdroj: TechnologyReview.com a další
Ref: arxiv.org/abs/1805.07470 : Solving the Rubik’s Cube Without Human Knowledge
Poznámka: Setkat se lze i se starším tvrzením, že každá kostka lze složit do 20 tahů. To se však nepodařilo dokázat. Důkaz pro 26 tahů je „konstruktivní“, tj. dokazuje se nejen samotné tvrzení, ale také se hrubou silou podařilo projít veškeré možné pozice a předvést řešení do určité délky. Důkaz vytvořili v roce 2007 Gene Cooperman a Dan Kunkle z Northeastern University.
Námitka proti poslednímu odstavci: Je dokázáno, že každá kostka se dá složit do 20 tahů, pokud se za jeden tah počítá i půlobrat o 180° a nepočítá se za dva tahy.
Je to citováno i ve vámi uváděném článku, ve Wikipedii a na stránce https://cube20.org/ i s mnoha detaily o ověření na superpočítači. Důkaz je skutečně starší než u varianty s počítáním po čtvrt-obratech.