En dat is veel indrukwekkender dan je misschien denkt.

De afgelopen jaren hebben onderzoekers kunstmatig intelligente systemen ontwikkeld die zichzelf allerlei ingewikkelde spelletjes hebben aangeleerd. Denk bijvoorbeeld aan het vrij lastige bordspel Go. KI kreeg dat spel niet alleen onder de knie, maar werd er in rap tempo ook veel beter in dan de beste menselijke spelers.

Nieuw algoritme
Waar KI tot voor kort echter maar geen grip op kon krijgen, was de Rubiks kubus. Maar Amerikaanse onderzoekers hebben daar nu verandering in gebracht. In dit paper – dat nog peer review moet ondergaan – kondigen ze een nieuw algoritme aan dat zichzelf, zonder enige menselijke assistentie, heeft aangeleerd om een Rubiks kubus op te lossen. “Ons algoritme kan 100% van de geheel willekeurig gedraaide kubussen oplossen,” zo schrijven de onderzoekers. En gemiddeld heeft het algoritme daar maar 30 zetten voor nodig.

Indrukwekkend
Het is heel indrukwekkend als je je realiseert hoe kunstmatig intelligente systemen doorgaans hun spelvaardigheid verbeteren. Ze krijgen de regels van het spel aangereikt en spelen het spel vervolgens heel vaak tegen zichzelf. En elke zet die ze doen, wordt geëvalueerd: brengt deze de KI dichter bij de winst of niet? Zo leert het systeem wat slimme en domme zetten zijn en hoe deze het spel kan winnen. Gaandeweg wordt het systeem er dan ook steeds beter in. Maar wie wel eens met een Rubiks kubus heeft geworsteld, weet dat het heel lastig is om een individuele zet te beoordelen. Zo kan het soms nodig zijn om de kleuren van de Rubiks kubus verder door elkaar te draaien om deze op te lossen. Zo’n individuele zet lijkt je verder van de oplossing vandaan te leiden, maar is in de grotere context heel slim. Het probleem is echter dat het KI-systeem het complete plaatje niet kan overzien. Want het KI-systeem moet daarvoor de Rubiks kubus eerst een paar keer hebben opgelost. Maar zover komt het niet. De KI gaat namelijk geheel willekeurige zetten doen in een poging grip te krijgen op het spel. Maar de kans dat deze de Rubiks kubus zo oplost, is heel klein. En dus blijft de KI maar draaien, zonder te weten of zijn zetten nu slim of dom zijn.

Eindproduct
Maar zoals gezegd: Amerikanen hebben dat probleem opgelost. Ze ontwikkelden een algoritme dat het probleem bij de staart pakt. Het ziet de door elkaar gedraaide Rubiks kubus waarmee deze geconfronteerd wordt, als een eindproduct en de opgeloste Rubiks kubus als een beginproduct. Het algoritme gaat dus eigenlijk uitzoeken welke zetten ertoe geleid hebben dat een perfecte Rubiks kubus is omgetoverd tot het door elkaar gedraaide exemplaar waarmee het te maken heeft. Het algoritme neemt dus een perfecte kubus en gaat willekeurige zetten doen om uit te komen bij het door elkaar gedraaide exemplaar. En gaandeweg leert deze – door heel veel te proberen – dat de ene zet dan toch effectiever is dan de andere.

De onderzoekers hopen dat dezelfde aanpak ingezet kan worden om andere complexe problemen door KI-systemen op te laten lossen.