関数プログラミングおけるプログラムは、その参照透明性により形 式的に等価変換することができる。このため、問題の仕様から素直 に得られるプログラムを等価変換することで、より高速なプログラ ムを導出することができる。問題の仕様は複数の部分プログラムで 表現されるため、fusionと呼ばれる手法で部分プログラムを合成す ることに重点がおかれる。fusionによって導出後のプログラムの評 価における簡約段数が減少することが期待できるが、時間計算量の 観点では、fusionによって必ずしも高速なプログラムが得られない。 本発表では、このような例を示すとともに、fusion との併用で時 間計算量の高速化が望めるようなプログラム導出の一方針を示す。
Back