私の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 |