2013 Fiscal Year Annual Research Report
Project/Area Number |
13J09873
|
Research Institution | The University of Tokyo |
Principal Investigator |
中村 晃一 東京大学, 大学院情報理工学系研究科, 特別研究員(DC2)
|
Keywords | 動的言語 / 型推論 / 高性能計算 / 確率伝播法 / 知識工学 / オントロジー / 生成的プログラミング |
Research Abstract |
1. 動的言語の為の確率的型推論アルゴリズムの開発 変数の定義使用関係を確率のグラフィカルモデルとみなし, Pearlの確率伝播法を応用する事によって動的言語で記述されたプログラムの各変数の型を確率的に推論するアルゴリズムを開発した。 昨今Python, Rubyなどの動的プログラミング言語の, データ解析用途等処理系の性能を要する分野における需要が高まってきている。プログラムの制御フローやデータ構造を変換するような高度な最適化を可能とする為には, 実行前にプログラムを解析する手法の確立が必要である。 既存のHindley-Milnerアルゴリズムを元にした型推論手法は動的言語が本質的に持つ様々な不確実性を厳密に取り扱う事が難しく, 言語のサブセットに対してしか利用出来ない・型注釈を必要とする等の問題がある。確率論に基づく手法では不確実性を定量的に取り扱う事が可能となり, 様々な状況に柔軟に対応出来る。また、提案手法ではプログラムに関する統計的な情報を事前確率の計算に利用する。これは従来のプログラムの解析技術では用いられなかった情報であり、理学的に研究の価値があると言える。 2. ドメインオントロジーを利用した生成的プログラミングによる高性能計算 科学計算や高性能計算に関するドメインオントロジーを構築し、それを利用して対話的セッションによって高性能なプログラムを半自動的に生成する手法の開発を開発した。各分野に固有の知識を利用する事により、汎用的な最適化手法では達成する事の出来ない非常に高度な最適化が可能となる。 同様のアプローチでは領域固有言語(DSL)を利用するものが主であるが、これはプログラムの記述を目的とする言語であるので知識表現の為の言語としてはその表現力の低さが問題となる。オントロジー記述言語は一階述語論理を元にする言語であり、高性能計算に関連する知識体系を表現するのに十分の表現力を持っている。本研究ではこのフレームワークを実現する為に最適なプログラミング言語の仕様についても考慮し開発を行った。
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
研究を進める中で、当初計画の方法論では目標性能を達成する事が難しい事が解ってきたため、1年次は研究の方法論の見直し及び必要な基礎研究(確率的型推論アルゴリズム・オントロジー工学を応用した生成的プログラミング)及び新たなプログラミング言語(Amber)の開発に終始した。その為対外的な成果発表が遅れてしまっている。
|
Strategy for Future Research Activity |
1年次に於いて必要な基礎研究及びフレームワーク記述言語の開発が概ね完了した為、2年次ではその評価を進める。ドメインオントロジーは高性能計算分野からは「並列化」「データ転送の高速化」「数値計算アルゴリズム」を問題領域からは「重力多体計算」「ステンシル計算」「機械学習」を選定してそれを構築し性能の評価を行う。また、確率的型推論アルゴリズムの研究と関連して、新たに概存のプログラムに対する統計的な調査も行う予定である。
|