氏名 : 西田 直樹 (280067178)
所属 : 坂部研
題目 : 書換え型言語における逆関数の自動生成に関する研究
概要 :
本研究では、関数型プログラムから指定された関数の逆関数を持つ
プログラムの自動生成を図る。
これまでの逆関数に関する研究では、
関数から逆関数を生成するのではなく、関数と適用した結果の値から
引数の値を求める手法が考案されている。
一方で、関数から効率化された関数を生成する
フュージョン変換と呼ばれるプログラム変換に関する研究が行われている。
そこで本研究では、フュージョン変換の考え方を発展させて、
プログラム変換により
逆関数を定義するプログラムを得る方法を提案する。
現在までに、パターン照合の機能を持ち
右辺に入れ子の関数呼び出しを持たないpure treeless関数(PT関数)を対象とし、
条件付き項書換え系を出力するアルゴリズムが得られた。
このアルゴリズムでは、関数fの逆関数f'を求める際に、
fを定義するすべての規則に対し、左辺と右辺を入れ替えた後、
フュージョン変換の考え方を応用して、関数の定義規則として成立するように
規則を変更する。
修了までに、アルゴリズムの正当性の証明、
出力された条件付き項書換え系のPT関数の形式への変換、
アルゴリズムの拡張を行う予定である。
目次に戻る