評価戦略 非決定性の戦略

評価戦略

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/21 14:08 UTC 版)

非決定性の戦略

部分適用

部分適用はどちらかというとカリー化第一級関数と関連する。複数の引数を取る関数において、一部の引数だけ適用された関数を得ることである。これに対して、すべての引数を適用することを完全適用と呼ぶ。 例として、Haskellのような関数型言語で、与えられた数値を2倍する関数を部分適用で作ると

multiply x y = x * y
twice x = multiply x 2

となる。部分適用されているのはtwiceを定義している'multiply x 2'の部分である。multiply関数は本来なら

multiply 2 3

のようにして使用するものであるが、これに2だけ適用して新たな関数twiceを得るのが部分適用である。 部分適用の重要性はモジュール性を高めることである。奇数・偶数の判定といった単純なものから、高階関数を駆使した複雑なものまで作り出すことができる。とくに遅延評価の言語で利用するとその効果は大きい。一方で、関数に副作用があると、思いもよらない結果をもたらすかもしれない。

完全β-簡約

完全β-簡約(full β-reduction)においては、任意の時点で任意の関数適用が簡約される(関数の引数を捕獲回避置換を使った関数に置換する)。これは、適用されない関数の本体内でも行われる。

未来呼び

未来呼び(call by future)あるいは並列名前呼び(parallel call by name)は必要呼びに似ているが、関数の引数は(必要に応じてではなく)関数本体と並行して(別スレッドで)評価される。関数本体で引数を使用するときにスレッドの同期が行われる。引数が全く使われない場合、引数の評価をしているスレッドは中断され捨てられる。

楽観的評価

楽観的評価(Optimistic Evaluation)は必要呼びの変形の1つであり、関数の引数はある回数だけ部分評価される(回数は実行時に調整される)。そして、評価は中断され、必要呼びで関数が適用される。この方法では必要呼びの性能低下を防ぎつつ、停止属性を保持する。




「評価戦略」の続きの解説一覧




固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「評価戦略」の関連用語

評価戦略のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



評価戦略のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの評価戦略 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS