理論の観点では、前年度に構築した基礎理論を元に、データ列上の組み合わせ問題等の非数値計算問題に対して、広く統一的に愚直なプログラム記述から効率的な並列プログラムを得ることのできる「生成検査集約プログラミング」の枠組を提唱した。この枠組は、(1)生成・検査・集約という3種類の部品に分けてプログラムを構成することによるプログラムの容易な設計、(2)逐次添加的に構成部品を追加・変更できることによるプログラムの容易な改善・拡張、(3)それら容易に記述できるプログラムからの最適化規則による効率の良いプログラムの導出、という特徴を持つ。これらの特徴を元に、ナップサック問題・最尤系列推定問題・部分列間合せ問題などに対し、愚直な記述から効率的な並列プログラムを機械的に得られること、過去の研究では個別に扱われていた拡張を統一的に扱えること、さらなる問題の拡張にも柔軟に対応できること、等を示した。また、提案された枠組は動的計画法アルゴリズムの新しい系統的開発の枠組とも捉えられ、この視点からの応用も期待される。 実現の観点では、上記の理論的成果を踏まえ、愚直な生成検査集約プログラムを記述するだけで効率的なMapReduceプログラムを得ることのできる最適化機能付きライブラリをJavaとHadoopの上で実現した。このライブラリを用いて上に挙げた具体的な問題に対する生成検査集約プログラムを記述・実行し、提案した枠組の有効性を確認した。
|