タグ

memoizeに関するNobuhisaのブックマーク (2)

  • fix と memo とそのおまけ。 - 嫌気性平均律

    不動点オペレータと関数のメモ化で大いに遊ぶのが流行っているみたいで(k.inaba さんの発端の記事、結城浩さんによるリンク集)、楽しそうなのでひっそり書いてみます。Common Lisp で、というか xyzzy でちょこちょこしてみます。 まずは普通に。 とりあえず不動点オペレータを教科書的に書いてみます。funcall が健全な精神に対して極めて有害そうであることがよく判ります。 ;;;figure.1 (defun %fib (f) #'(lambda (x) (if (<= x 1) 1 (+ (funcall f (- x 1)) (funcall f (- x 2)))))) (defun fix (f) (funcall #'(lambda (g) (funcall g g)) #'(lambda (h) #'(lambda (x) (funcall (funcall f

    fix と memo とそのおまけ。 - 嫌気性平均律
  • Memoise

    Memoi[sz]e、Memoi[sz]ation、メモ化の話題 メモ化ってなぁに?関数のメモ化memoise は特殊な ($) かも?Memo モジュール実装を共有する魔法 メモ化ってなぁに? フィボナッチ関数を考えてみよう、定義は fib 0 = 0 fib 1 = 1 fib n = fib (n-1) + fib (n-2) これを使って、fib 7 を計算すると fib 7 -- fib 6 -- fib 5 -- fib 4 -- fib 3 -- fib 2 -- fib 1 -- 1 | | | | | | | | | | | fib 0 -- 0 | | | | | | | | | fib 1 -- 1 | | | | | | | fib 2 -- fib 1 -- 1 | | | | | | | fib 0 -- 0 | | | | | fib 3

  • 1