Um algoritmo com um domínio relativamente limitado e aprendizagem reforçada aprendeu sozinho a resolver o Cubo de Rubik, sem supervisão humana.

O método empregado pelo algoritmo DeepCube se assemelha um pouco ao que recentemente foi utilizado em jogos como xadrez. As regras são definidas (os movimentos do cubo) e o objetivo (o cubo resolvido). Mas esse algoritmo funciona ao contrário: ele imagina o cubo resolvida e busca formas de chegar ao cubo desordenado inicial, para depois apenas inverter os movimentos.

O método da interação autodidata inclui buscas em profundidade, uma função de avaliação e recompensas que dependem do estado do cubo em cada movimento, basicamente se ele está mais perto da solução ou não. Dessa forma, repetindo uma e outra vez diferentes movimentos, o algoritmo aprende quais giros o aproxima mais da solução, ou quais não deve fazer porque eles se distanciam da solução, repetindo tudo isso milhões de vezes.

O DeepCube pode resolver um cubo de Rubik em uma média de 30 movimentos. Matematicamente, 20 movimentos é o número máximo de giros necessários para resolver o cubo a partir de qualquer posição, e em competições, os speedcubers humanos precisavam entre 50 e 60 movimentos ou aproximadamente em 25-30 movimentos em competições de soluções onde se avalia o menor número de movimentos e não o tempo.

Logo, 30 movimentos não é nada mal para um algoritmo.

 

+info