Thursday 12:35–13:05 in Track 3

Learning to solve Rubik's cube

Szymon Matejczyk

Audience level:
Novice

Description

AI is making huge progress in the recent years. Everything started with deep learning techniques for image recognition and later, we've seen game-changing advances in learning to take actions (autonomous cars, Alpha Go engine, robots). Turns out basic problems like solving Rubik's cube can be solved in a few dozens of lines of code and described on one slide. Don't believe? Let me convince you.

Abstract

Problem introduction

  1. Show a Rubik's cube, describe why it isn't easy to solve it.
  2. Show my Python model of the cube and some traditional (non-AI) methods for solving it.

The concept of reinforcement learning (RL)

  1. Multi-armed bandit problem.
  2. Introduce agent, environment, action, and reward.
  3. Introduce Q-function.

Basic algorithms for RL and their motivation

  1. REINFORCE algorithm.
  2. Reward-Weighted regression.
  3. Deep learning algorithms.

Implementing RL for Rubik's cube

Introduce libraries:

Present 3 iterations of cube's solving and compare their learning rate and results.

The code will be available on my Github for everyone to try.

Subscribe to Receive PyData Updates

Subscribe

Tickets

Get Now