研究概要 |
本研究は人工知能の分野で開発された「知識の説明に基づく学習」(EBL)の考え方を,ソフトウェア工学の問題領域である「プログラムの合成・変換・検証」に応用することを目的としている。過去2年間において検証と合成の部分について成果を上げてきている。本年度は本研究の最終年度であり,合成の部分の成果をさらに洗練化させるとともに,変換の部分に重点を置いて研究を進めた。その成果の概略を項目ごとに示す。 1.プログラムの合成に関してEBLの考え方を導入し,効率のよいシステムを構築した。本研究の枠組みである等式言語あるいは等式論理においては,プログラム合成は等式理論の完備化と呼ばれている。すなわち,完備化は等式で仕様記述された理論を入力されると,その理論を実現するプログラムを完備な項書換え系の形式で出力する。この研究においては,探索の過程でシステムが学習した知識を真偽維持システムで管理することにより,効率の良い完備化手続きを開発することができた。特に,本年度はこのシステムを推論規則として形式化し,通常のシステムとの関連のもとで,その健全性と完全性を証明した。 2.停止性を保存するプログラム変換を考察の対称として,EBLの考え方を利用した。与えられた項書換え系の停止性の証明が困難なとき,その停止性を保存したまま適切な系に変換することにより、もとの系の停止性を示そうというのがその動機である。本研究では合成可能(composable)な系の停止性について、混合系の非停止性を示す無限簡約列を純粋系の無限簡約列に変換する手法の一般化においてEBLの考え方が利用された。 3.3年間にわたる本研究成果の全体を総括し、知識のリフォーメーションという観点から、その発展の方向を検討した。
|