私のSokoban Solverのoutlineの紹介です。技術的な詳細はTechnical Notesをご覧ください。
*基本方針
最初にSolverを始めるときに考えた方針です。 (3)がFreeCellのSolverのときにはなかった新たな挑戦です。
(1) | あまねく解けることを第一義とする。 最短歩数、最短手数などにはこだわらない | |
(2) | Solverの基本構造は、toGoalマクロ機能を基本エンジンとして構成する (FCA#6.xの構造を踏襲する) | |
(3) | より上位の概念として、ノード間のオペレーションを導入し、 大きなマップ/複雑なマップなどの解法にチャレンジする | |
(4)) | (リソースの制約など) − これは方針ではなく目安 通常のPC環境で、リーズナブルな時間で解ける範囲とする (10分程度で解けることを目安とする) |
* Solver開発史
世代 | 内容 | 結果など | |
(第 1世代) Soko#01-03 |
開発期間 : 98.08 - 98.10 開発目的 (1) Solverの基本部品の整備 (2) toGoal機能iの有効性の確認 |
・Soko#01(初期バージョン) Xsokoban 30/90問クリア ・Soko#03 Perfect 105/200問クリア | |
(第 2 世代) DGsoko#2.x |
開発期間 : 99.01 - 現在 開発目的 (1) Soko#03で目指した機能の refine (2) Dtree機構による subMap化の試行 |
現在は、(1)が完了して一時休憩中 下記にいままでのBring up History をグラフにしてあります |
以下のグラフは、DGsoko#2.x の開発開始(99.01.04)からの成長曲線です。
一番苦しかったのは、99.02.01 - 99.02.23の約3週間です。この時期にGPorderingの論理を何度も作り直しています。大きな変更だけでも
3度あります。
Home |
Up |
Back |
Next |