iTAC_Technical_Documents

アイタックソリューションズ株式会社

ブログ名

AI でルービックキューブを揃う(導入)

概要

 ルービックキューブの揃え方として,LBL や CFOP からはじめ,多種多様の方法が知られている.これらの方法と群論の知識を前提にアルゴリズムを作ってルービックキューブを解くことは簡単であるが,一方,ルービックキューブの知識を使わずにエンジニアリングの知識のみで解くのは極めて難しく,未だに完全に解決されていない.

 3階ルービックキューブの状態空間は4325京2003兆超え非常に大きいため,単純に強化学習の Q-Learning を適用しても収束することはほぼ不可能である.2018 年の論文「人類知識なしでルービックキューブを揃う」(以下,論文と略す.文末参照)で始めて 15 ステップ以上スクランブルしたルービックキューブを9割以上の確率で解いた.

目標

  1. 論文で導入した DeepCube を実装する.
  2. Unity で DeepCube を可視化する.

このブログに関わるテーマ

このブログに関わらないテーマ

このブログで想定したプログラミング基礎

AI 部分:Python, NumPy, Tensorflow

サーバー部分:Python, Django

可視化部分:Unity, C#

なお,ある部分の基礎知識がなくても,その他の部分への理解は差し支えない.

目次

  1. Cube クラスを実装する](https://www.itd-blog.jp/entry/2023/11/30/125909)
  2. Unity でユニットテストを兼ねて可視化する
  3. ADI を実装する
  4. (順次更新中......)

参考文献

Stephen McAleer, Forest Agostinelli, Alexander Shmakov, and Pierre Baldi, Solving the Rubik's Cube Without Human Knowledge, arXiv:1805.07470, 2018