### 离散优化中的强化学习
▪ 简要讨论离散优化的基础知识。
▪ 逐步介绍UCI研究人员Stephen McAleer等人的论文“Solving the Rubik's Cube Without Human Knowledge”(2018, arxiv: 1805.07470),该论文将RL方法应用于魔方的优化问题。
▪ 探索我做的实验以重现论文的结果,以及说明将来改进方法的方向。
**选择状态的特定表示形式时,我们还有不同的目标需要实现:**
▪ 避免冗余:在极端情况下,我们只需记录每侧每个贴图的颜色即可表示魔方的状态。但是,如果我们计算一下这些组合的数量,能得到66·8 = 648≈2.5×1037,它远大于魔方的状态空间大小,这意味着该表示形式是高度冗余的。例如,它允许魔方的所有面都具有同一种颜色(中间的小方块除外)。如果你想知道我是怎么得到648的,这很简单:魔方有6个侧面,每个侧面都有8个方格(不算中心),所以总共有48个贴图,每个贴图都可以涂上6种颜色中的一种。
▪ 内存效率:你很快就会看到,在训练期间以及模型应用期间,我们将需要在计算机内存中保留大量不同的魔方状态,这可能会影响魔方处理的性能。因此,我们希望表示形式尽可能紧凑。
▪ 转换的性能:另一方面,我们需要实现应用于状态的所有动作,并且这些动作需要迅速执行。如果我们的表示形式在内存方面非常紧凑(例如,使用位编码),但是要求我们对魔方侧面的每次旋转执行冗长的解包过程,则训练将变得很慢。
▪ NN友好性:并非每个数据表示都适用于NN的输入。这句话不仅