Skip to main content
QUICK REVIEW

[論文レビュー] Dancing links

Donald E. Knuth|arXiv (Cornell University)|Nov 15, 2000
Constraint Satisfaction and Optimization参考文献 5被引用数 185
ひとこと要約

この論文は、多連タイルやN-クイーン問題などの組合せパズルにおける深さ優先探索を高速化するための 'dancing links' という手法を紹介する。二重リンクリストにおける可逆操作とゴーストマスを用いることで、一貫した制約の統合が可能となり、効率的でヒューリスティック駆動の探索が実現され、優れた性能を発揮する。19個のヘキサミンテーションのタイル配置問題や、N = 18までのN-クイーン問題を効率的に解ける。

ABSTRACT

The author presents two tricks to accelerate depth-first search algorithms for a class of combinatorial puzzle problems, such as tiling a tray by a fixed set of polyominoes. The first trick is to implement each assumption of the search with reversible local operations on doubly linked lists. By this trick, every step of the search affects the data incrementally. The second trick is to add a ghost square that represents the identity of each polyomino. Thus puts the rule that each polyomino be used once on the same footing as the rule that each square be covered once. The coding simplifies to a more abstract form which is equivalent to 0-1 integer programming. More significantly for the total computation time, the search can naturally switch between placing a fixed polyomino or covering a fixed square at different stages, according to a combined heuristic. Finally the author reports excellent performance for his algorithm for some familiar puzzles. These include tiling a hexagon by 19 hexiamonds and the N queens problem for N up to 18.

研究の動機と目的

  • 多連タイルやN-クイーン問題のような組合せパズルに対する深さ優先探索アルゴリズムの効率を向上させること。
  • 各多連タイルを正確に1回ずつ使用するルールと、各マスを正確に1回ずつカバーするルールを、統一されたデータ構造で統合すること。
  • 探索中に、多連タイルを配置するか、マスをカバーするかのヒューリスティックな切り替えを動的に可能にすること。
  • 最適化されたデータ操作と制約表現によって、合計計算時間を短縮すること。

提案手法

  • 各探索仮定を、バックトラッキング中にインクリメンタルに更新可能な、二重リンクリストにおける可逆な局所的操作として表現すること。
  • 各多連タイルの識別子を表すゴーストマスを導入し、'1回だけ使用'というルールを、'1回だけカバー'というルールと同じ枠組みに統合すること。
  • 問題を抽象的な0-1整数プログラミング形式に再定式化することで、コーディング論理を単純化すること。
  • 探索中に、多連タイルの配置とマスのカバーの間で、統合されたヒューリスティックに基づいて動的に選択を可能にすること。
  • 再帰的探索中に探索状態を効率的に管理・更新できるように、dancing linksデータ構造を用いること。

実験結果

リサーチクエスチョン

  • RQ1組合せパズル問題、たとえばタイリングやN-クイーン問題における深さ優先探索を、どのように高速化できるか?
  • RQ2多連タイルの使用制約とマスのカバー制約を、1つのデータ構造に統合できるか?
  • RQ3可逆操作とヒューリスティック駆動の探索順序を組み合わせることで、どの程度の性能向上が達成できるか?
  • RQ4dancing links技法は、ヘキサミンテーションタイリングのような難解な組合せパズルに、どの程度スケーリング可能か?

主な発見

  • dancing links技法により、二重リンクリストにおける可逆操作によるインクリメンタルな更新が可能になり、合計計算時間が顕著に短縮された。
  • ゴーストマスの使用により、多連タイルの使用とマスのカバーの取り扱いが統一され、アルゴリズムの簡素化と保守性の向上が達成された。
  • 多連タイルの配置とマスのカバーの間で、動的ヒューリスティック切り替えが可能となり、探索効率が向上した。
  • 19個のヘキサミンテーションのタイル配置問題——有名な難解な組合せパズル——を効果的に解くことに成功した。
  • N-クイーン問題に対しても優れた性能を発揮し、N = 18までのインスタンスを解くことができた。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。