[論文レビュー] Solving Rubik's Cube Using SAT Solvers
本論文は、2変数色表現とレイヤー基盤のムーブ符号化を用いて、変数を288から96に削減する画期的なSAT符号化を用いて、ルービックキューブを最適に解くSATソルバの最初の成功した応用を提示する。著者らはPrecoSATを、ALO(少なくとも1つ)の解法戦略と部分問題分解を組み合わせて強化し、大規模なルックアップテーブルを必要とせず、合理的な時間内で長さ20の最適解を発見できるようにした。
Rubik's Cube is an easily-understood puzzle, which is originally called the "magic cube". It is a well-known planning problem, which has been studied for a long time. Yet many simple properties remain unknown. This paper studies whether modern SAT solvers are applicable to this puzzle. To our best knowledge, we are the first to translate Rubik's Cube to a SAT problem. To reduce the number of variables and clauses needed for the encoding, we replace a naive approach of 6 Boolean variables to represent each color on each facelet with a new approach of 3 or 2 Boolean variables. In order to be able to solve quickly Rubik's Cube, we replace the direct encoding of 18 turns with the layer encoding of 18-subtype turns based on 6-type turns. To speed up the solving further, we encode some properties of two-phase algorithm as an additional constraint, and restrict some move sequences by adding some constraint clauses. Using only efficient encoding cannot solve this puzzle. For this reason, we improve the existing SAT solvers, and develop a new SAT solver based on PrecoSAT, though it is suited only for Rubik's Cube. The new SAT solver replaces the lookahead solving strategy with an ALO (\emph{at-least-one}) solving strategy, and decomposes the original problem into sub-problems. Each sub-problem is solved by PrecoSAT. The empirical results demonstrate both our SAT translation and new solving technique are efficient. Without the efficient SAT encoding and the new solving technique, Rubik's Cube will not be able to be solved still by any SAT solver. Using the improved SAT solver, we can find always a solution of length 20 in a reasonable time. Although our solver is slower than Kociemba's algorithm using lookup tables, but does not require a huge lookup table.
研究の動機と目的
- ルービックキューブという、最適性が未知の古典的な計画問題に、効率的なSAT符号化を開発すること。
- ルービックキューブのような複雑な状態遷移パズルを解く際、標準的なSATソルバの限界を克服すること。
- パズルの構造に特化した新しいSAT解法戦略を設計し、大規模なルックアップテーブルを用いずに最適解を発見できること。
- SATソルバが問題固有の最適化を組み合わせることで、ルービックキューブのような困難な組合せパズルを解けることを実証すること。
提案手法
- 1面あたり6変数の単純な符号化を、変数数を288から96または144に削減する2変数または3変数符号化に置き換える。
- 18種類のムーブタイプを6種類の基本的回転タイプに分けるレイヤー基盤の符号化を用い、節の数を削減し、スケーラビリティを向上させる。
- 2段階法のフェーズ1のゴール状態をCNF式に追加の制約として採用し、探索をガイドする。
- AMO制約変数に基づいて部分問題に分解する新しいALO(少なくとも1つ)解法戦略を実装する。
- PrecoSATを拡張し、AMO節への参加に基づく意思決定変数選択を統合し、部分問題を独立して解く。
- 2段階法のヒューリスティック情報をCNF符号化に統合し、探索空間を圧縮する。
実験結果
リサーチクエスチョン
- RQ1現代のSATソルバは、高い状態空間複雑性を持つ有名な計画問題であるルービックキューブに、効果的に応用可能か?
- RQ2ルービックキューブの表現において、変数数と節数を最小限に抑える最適なSAT符号化戦略は何か?
- RQ3大規模なルックアップテーブルやパターンデータベースに依存せずに、SATソルバが最適解(20手)を発見可能か?
- RQ42段階法の構造をCNFにどのように符号化すれば、解法効率を向上させられるか?
- RQ5ALOと部分問題分解を組み合わせたハイブリッドSAT解法戦略は、このパズルにおいて標準的なSAT解法を上回る性能を発揮できるか?
主な発見
- 提案されたSAT符号化により、ブール変数の数が288から96に削減され、問題サイズが顕著に減少した。
- ALO戦略と部分問題分解を組み合わせた改良版PrecoSATに基づくSATソルバは、合理的な時間内で長さ20の最適解を正常に発見できた。
- 10個のランダムに生成されたキューブ状態について、7,000秒以内に長さ≤20の解が得られ、中には100秒未満で解が得られたケースもあった。
- フェーズ1の長さが事前に分かっている場合(例:13手)、最適な20手の解が310秒未満で発見された。
- 本アプローチはたった10 MBのRAMしか必要とせず、ルックアップテーブルベースの手法と比較して極めて低いメモリ使用量を示した。
- ルックアップテーブルを用いたKociembaのアルゴリズムに比べて遅いが、膨大な事前計算済みデータベースの必要性を回避できた。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。