memoization

    2熱度

    1回答

    注意我只是想了解正在發生的事情如下所示的代碼這個特殊的一塊。我知道這可能不是解決問題的最好方法。 我正在嘗試使用帶有memozied斐波納契函數的lazy Writer monad來計算函數被調用的次數。該函數快速返回正確的值,但環境永遠不會返回,並且不使用任何CPU或內存。 import Control.Monad.Writer.Lazy as W fib :: Int -> Writer

    1熱度

    1回答

    如果Clojure是lisp-1並且我有一個函數m,那麼如何也可以有一個var m指向函數m的memoized版本? (defn m .....) (def m (memoize m)) 這是從PragPub Clojure的書哈洛韋。我無法理解這裏發生了什麼,因爲函數和變量在Clojure中與lisp-1共享相同的名稱空間。

    2熱度

    2回答

    是否從cumfib的每個元素的開始處開始評估fib? fib = (1:1: zipWith (+) fib (tail fib)) cumfib = [ sum $ take i fib | i<-[1..]] 或者是第一個i元素緩存並重新用於cumsum的元素(i + 1)? 我或多或少地猜測fib用在相同的lambda表達式中,因此僅計算一次。 此外,fib函數的實現是否對第i個斐波納

    6熱度

    2回答

    我正在嘗試創建階乘函數的memoized版本。當我調用factMemoized(4)時,它首次計算4的階乘因子並將其存儲在Map中。當我再次調用factMemoized(4)時,它現在給出了存儲的結果,而不是再次重新計算它。這按預期工作。但是,當我將factMemoized(3)稱爲factMemoized(3)時,它會重新計算這個值,儘管它已經將事實(3)計算爲計算事實(4)的一部分。有沒有什麼

    0熱度

    2回答

    在Python中,你可以寫一個裝飾的記憶一個功能的響應。 是否有Ruby on Rails的類似的東西?我有一個模型的方法,使我想要緩存查詢。 我知道我可以做一些事情的方法中,如: def foo(param) if self.cache[param].nil? self.cache[param] = self.get_query_result(param) else

    0熱度

    2回答

    我做了這些方法的類: def promotion_available? promotion.present? end def promotion @promotion ||= PromotionUser.user(@user.id).available.first end 然後,同事取出promotion方法,並以這種方式改變了謂詞promotion_availab

    1熱度

    2回答

    說我有修改列表參數和memoizer裝飾功能的功能,如: @memoizer def add_1_to_list(list): for i in range(len(list)): list[i] += 1 return list 在我的主程序,我有 list = [1, 1, 1, 1] add_1_to_list(list) print list

    4熱度

    2回答

    我想記住一個遞歸的collat​​z序列函數生鏽,但是我需要memoized值的hashmap來保持其內容跨單獨的函數調用。有沒有一種優雅的方式來防止這種情況發生,或者我必須在main中聲明hashmap並每次將它傳遞給函數?我相信每次我調用函數時,hashmap都會被重新聲明爲空映射。這裏是我的代碼: fn collatz(n: int) -> int { let mut map =

    0熱度

    1回答

    我想在我的數據庫字段上做Memoizaiton,我想我犯了一個錯誤,因爲它不打印$fieldCache數組的結果。 我對PHP的面向對象很陌生,所以如果有人能夠幫助並給我一些建議,我會非常感激。 這裏是我的類代碼: <?php class Main{ public $id; public $maxT; public $meanT; pu

    2熱度

    1回答

    我有一個memoizer裝飾類在庫中,因爲這樣的memoizing裝飾: class memoizer(object): def __init__(self, f): "some code here" def __call__(self, *args, **kwargs): "some code here" 當我使用它在庫函數,我用@memo