研究課題/領域番号 |
60550260
|
研究種目 |
一般研究(C)
|
配分区分 | 補助金 |
研究分野 |
情報工学
|
研究機関 | 中央大学 (1986) 電気通信大学 (1985) |
研究代表者 |
野下 浩平 中央大, 理工学部, 教授 (60011706)
|
研究分担者 |
町田 元 電気通信大学, 電気通信学部, 助教授 (40090534)
笠井 琢美 電気通信大学, 電気通信学部, 助教授 (70027382)
富田 悦次 電気通信大学, 電気通信学部, 教授 (40016598)
|
研究期間 (年度) |
1985 – 1986
|
研究課題ステータス |
完了 (1986年度)
|
配分額 *注記 |
2,100千円 (直接経費: 2,100千円)
1986年度: 800千円 (直接経費: 800千円)
1985年度: 1,300千円 (直接経費: 1,300千円)
|
キーワード | ラムダ式 / コンビネータ / BC鎖方式 / 関数型プログラミング / 計算量 |
研究概要 |
本研究の主な目的は、ラムダ式の翻訳・実行の方式として、BC鎖(BC-chain)という新しい方式を提案して、関数型言語の処理系作成の一方法に関するアルゴリズム的基礎を調べるものである。ラムダ式のコンビネータに基く計算モデルは、古くから調べられてきているが、1979年D.A.Turnerがそれを関数型言語の処理系へ応用した。この初期の方式では、計算量的観点からみると、入力のラムダ式の長さnに対して、nの3乗に比例する大きさのコンビネータ式を生成する場合があるが、Turner自身がnの2乗に比例するという改良案を別に発表している。1985年本研究代表者は、この量が、n log nに比例する表現法を提案し、実行過程についても、この表現法を用いて、最左優先の実行(正規簡約)が手間に無駄なくできることを示した。 本研究では、BC鎖方式とよぶコンビネータ式の表現法を提案して、その翻訳と実行両方のための高能率アルゴリズムを開発した。まずこの表現法によれば、コンビネータ式の大きさはnに比例するだけですむことを証明した。また、このための翻訳アルゴリズムとして、最悪の場合でもn log nに比例する計算時間、またn log nに比例する作業領域ですむものを考案した。ここでの変数の取扱い方は、一般性があり、他の翻訳方式にも応用できると思われる。さらに、実行アルゴリズムとして、最左優先の実行が手間に無駄なくできるものを考案した。なお、J.R.Kennawayからの私信によると、このBC鎖方式を実際の処理系に組み込み、実行時間を実例で調べたところ、従来の方式よりも高速になっているという。これは、本研究で提案した方式が単に最悪の場合ばかりでなく、平均的にも高速であることを示唆している。 以上、本研究では、ここで提案したBC鎖方式について、そのアルゴリズム的基礎が一応完成したことになる。報告書には、その他関連して得られたアルゴリズムの理論的結果も含む。
|