列挙アルゴリズムは、与えられた制約条件を満たす解を、漏れなく、重複なく、すべて求めるための技術である。本研究課題では、幾何図形を扱う様々な列挙問題において、グラフの部分構造を列挙する問題として研究対象をモデル化し、さらに、列挙した部分構造の間に同型性を定義することで、同型なものを排して非同型な (つまり、本質的に異なる) ものを列挙するアルゴリズム設計の基盤を構築することを目的とする。同型性の除去は、計算量理論の観点からは計算困難な問題であるが、分野横断的に現れる重要な課題である。 本研究では、さまざまな分野で現れる同型性の除去の必要な問題に対し、それらへの個別の対応を考えるのではなく、それらに共通して必要となる要素を抽出する。(A) 同型性の除去のためのアルゴリズム設計の基盤を構築、(B) 同型性の除去手法の各分野への応用、この2つのアプローチを連携させ、基礎から応用へとつなげている。(A) では、ZDD (Zero-Suppressed Binary Decision Disgrams; 零抑制型二分決定グラフ) を用いるアプローチを主に採用しているが、列挙のための別のアプローチである逆探索法を、幾何図形の列挙に利用することで、アルゴリズム設計の方法論を探った。具体的には、与えられた点集合に対し内部が空の多角形の列挙問題に取り組んだ。(B) の観点から、同型性を考慮した原子配置の基本構造を列挙する問題に取り組んだ。本研究で提案したZDDによる同型性を考慮した列挙手法により、基本構造の空間への敷き詰めにおいて、平行移動や回転による同型なものを除去し、本質的に異なるものを効率的に列挙できるようになった。研究期間全体を通して、(A) で設計した同型性の除去のためアルゴリズムは、高速に動作する実装の開発へと進み、(B) デザインや物理学の分野などへと波及効果を示すことができた。
|