研究課題
本研究の目的は、組合せ最適化問題に対してプログラム変換を用いた系統的なアルゴリズム構成手法を与えることである。特に本年度では動的計画法と分割統治法の構成を中心に研究を行った。動的計画法に対しては、我々がその構成のために定式化したプログラム変換規則に基づき、2つのシステムを製作した。1つは最適経路探索システムである。このシステムはユーザから指定される最適性の基準に従ってグラフ中の最適な経路を発見する。これに加え、そのライブラリで記述されたプログラムが、既存のコンパイラの効率化機構によってコンパイル時に自動的に動的計画法を用いたものへと変換・効率化される結合子ライブラリも製作した。いずれのシステムでも、我々のプログラム変換規則に基づくことで、ユーザは問題の仕様を比較的自明な形で記述するだけで効率の良いプログラムを自動的に得ることができる。分割統治法は並列計算に適するため近年特に注目を集めている。我々は、第三リスト準同型定理と呼ばれる分割統治アルゴリズムの存在条件を示す定理に着目し、この定理に基づき並列プログラムの自動構成システムを製作した。このシステムは逐次プログラムから非自明な並列プログラムを比較的高速に導出することができた。さらに、列に対する計算について定式されていた第三リスト準同型定理を、木構造に対する計算に対して拡張した。具体的には、並列木縮約と呼ばれる手法による効率の良い並列アルゴリズムが存在するための十分条件が第三リスト準同型定理の拡張に対応することを示した。我々の成果はプログラム変換による効率良いアルゴリズムの定式化・自動構成という取り組みの有効性を示唆するケーススタディとして価値がある。
すべて 2009 2008
すべて 雑誌論文 (3件) (うち査読あり 3件) 学会発表 (2件)
In POPL'09 : Proceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Jan. 21-23, 2009, Savannah, GA, USA 1
ページ: 177-185
情報処理学会論文誌プログラミング 2
ページ: 132-143
In ICFP'08 : Proceedings of the 2008 ACM SIGPLAN International Conference on Functional Programming, Sept. 22-24, 2008, Victoria, BC, Canada 1
ページ: 169-178