2003年4月 - 2004年3月
連想計算の代数に基づく並列連想計算方式の研究
日本学術振興会 研究費助成事業(特定領域研究)
- 担当区分
- 研究代表者
- 配分額
-
- (総額)
- 2,800,000円
- (直接経費)
- 2,800,000円
- (間接経費)
- 0円
- 資金種別
- 競争的資金
本研究の目的は、「連想計算エンジンGETA(Generic Engine for Transposable Association)」が高速実行する連想計算の数学的構造を「連想計算の代数」として明らかにし、理論的基礎づけを与えるとともに、代数構造に基づくプログラム変換を用いるGETAの並列連想計算方式を提案し、実用的システムを実装することによりその有効性を検証することである。
平成15年度で得られた成果は次の通りである。
まず、GETAでサポートされている各種類似性計量による連想計算を一般化し、連想計算の代数モデルを考察した。インデックス行列の基本操作を抽象化し、代数的なデータ構造としてモデル化することにより、GETAで高速処理可能な計算を準同形として定式化した。
また、GETAが扱うWAMデータベースをリストなどのデータ構造を代数的にとらえて、GETAライブラリを利用するためのインターフェイスをリスト操作の視点から構築し、以下の成果を得た。
(1)わかりやすさ:基本的なデータ構造であるリストの操作としてインターフェイスを定義し、ユーザがすぐに使えるようにした。
(2)安全性:Haske11の型推論によって実行時のエラーを排除した。また、代数間の写像として関数の性質を明確に記述できるようになった。
(3)効率:プログラム変換により、細部を隠蔽した抽象度の高いプログラムの記述と実行時の効率を両立させた。代数的手法が変換の正しさの証明や変換の自動的な導出が可能にした。
さらに、このインターフェイスを用いていくつかのアプリケーションを作成し、簡潔なプログラムで実用的な機能と性能を達成できることを示した。
平成15年度で得られた成果は次の通りである。
まず、GETAでサポートされている各種類似性計量による連想計算を一般化し、連想計算の代数モデルを考察した。インデックス行列の基本操作を抽象化し、代数的なデータ構造としてモデル化することにより、GETAで高速処理可能な計算を準同形として定式化した。
また、GETAが扱うWAMデータベースをリストなどのデータ構造を代数的にとらえて、GETAライブラリを利用するためのインターフェイスをリスト操作の視点から構築し、以下の成果を得た。
(1)わかりやすさ:基本的なデータ構造であるリストの操作としてインターフェイスを定義し、ユーザがすぐに使えるようにした。
(2)安全性:Haske11の型推論によって実行時のエラーを排除した。また、代数間の写像として関数の性質を明確に記述できるようになった。
(3)効率:プログラム変換により、細部を隠蔽した抽象度の高いプログラムの記述と実行時の効率を両立させた。代数的手法が変換の正しさの証明や変換の自動的な導出が可能にした。
さらに、このインターフェイスを用いていくつかのアプリケーションを作成し、簡潔なプログラムで実用的な機能と性能を達成できることを示した。