wiki.neuro.tu-berlin.de

Autodidactic Iteration

Autodidactic Iteration (ADI)

Autodidactic Iteration (ADI) is the learning procedure used in DeepCube to train a neural network that evaluates Rubik’s Cube states (and provides move priors) without hand-crafted cube features or human demonstrations.[1] The trained model is then used as guidance inside Monte Carlo Tree Search (MCTS).[1:1]


Objective

ADI trains a parameterized function

f_\theta(s) = (v_\theta(s),\, p_\theta(s)),

where:


Why ADI is needed

Rubik’s Cube is an extreme sparse-reward environment: only the solved state provides a positive reward signal, and random interaction almost never reaches it at meaningful depths.[1:3] ADI avoids this failure mode by:


ADI loop

1) Training state generation (curriculum)

Training inputs are created by starting from s_{\text{solved}} and applying random moves to obtain states at increasing scramble distances.[1:5]

For each training state x, ADI performs a depth-1 breadth-first search (BFS) expansion over all actions a \in A and evaluates the current network on the children:

(v_x(a), p_x(a)) := f_\theta\!\bigl(A(x,a)\bigr).

Targets are defined using a max-backup rule:

y^v(x) := \max_{a \in A}\Bigl(R(A(x,a)) + v_x(a)\Bigr),
y^p(x) := \arg\max_{a \in A}\Bigl(R(A(x,a)) + v_x(a)\Bigr).

This yields a supervised-learning dataset of (x, y^v(x), y^p(x)) pairs that approximates an improvement step in classic dynamic programming / value-based learning.[1:6][2][3]

3) Supervised training

The network is updated to fit the value targets (regression) and policy targets (classification). DeepCube reports using RMSProp, mean-squared error for value, and softmax cross-entropy for policy.[1:7]

4) Stabilization (sample weighting)

To reduce divergence, the DeepCube implementation weights samples closer to the solved state more strongly (inverse-distance weighting).[1:8]


Relationship to planning (DeepCube)

ADI does not directly produce a solver on its own. Its role is to produce a model whose outputs are used to guide planning:

DeepCube then combines these signals with an asynchronous MCTS procedure to obtain explicit move sequences on fully scrambled cubes.[1:10]


References


  1. Stephen McAleer, Forest Agostinelli, Alexander Shmakov, Pierre Baldi. Solving the Rubik’s Cube Without Human Knowledge. arXiv:1805.07470, 2018. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  2. Richard Bellman. Dynamic Programming. Princeton University Press, 1957. ↩︎

  3. Richard S. Sutton and Andrew G. Barto. Reinforcement Learning: An Introduction. MIT Press, 1998. ↩︎