|
プログラム合成(Program Synthesis)とは、高レベルの仕様から実行可能なコンピュータプログラムを自動的に生成する技術。コンパイルと比較したとき、プログラム合成の入力となる仕様はアルゴリズム的でない。自動プログラミングとも呼ばれるが、一般に自動プログラミングと言った場合、より実用指向のプログラミングパラダイムを意味する。 == 概要 == プログラム合成の考え方は1960年代に生み出されたもので、人工知能(AI)を応用して「自動プログラマ」を構築するため、数学とプログラミング理論の間の関係を深く研究するところから始まった。AIへの熱狂の低下とともに数学的アプローチは間もなく失敗した。一部の研究者は現在も形式的アプローチを研究しているが、それよりも適用領域を限定した純粋な演繹的手法と強力なヒューリスティックスを組み合わせたアプローチが成功を収めた。 プログラム合成の手法としては、次のようなものがある。 ;形式手法 :合成したいプログラムの性質を論理式で表し、それを自動的に証明する過程でプログラムが合成される。 ;入出力の例示 :プログラムへの入力と出力の例をいくつか示すことで、そのような入出力を生み出すプログラムを合成する。 ;自然言語理解 :自然言語で書かれたプログラムの仕様を理解し、プログラムを合成する。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「プログラム合成」の詳細全文を読む スポンサード リンク
|