Запитання з тегом «memoization»




8
Чим відрізняється знизу вгору від верху вниз?
Підхід знизу вгору (до динамічного програмування) полягає в тому, щоб спочатку переглянути "менші" підпрограми, а потім вирішити більші підпрограми, використовуючи рішення для менших проблем. Зверху вниз полягає у вирішенні проблеми «природним чином» і перевірити , якщо ви розрахували рішення підзадачі раніше. Я трохи розгублений. Яка різниця між цими двома?

16
Чи є декоратор, щоб просто кешувати функцію повернення значень?
Розглянемо наступне: @property def name(self): if not hasattr(self, '_name'): # expensive calculation self._name = 1 + 1 return self._name Я новачок, але я думаю, що кешування можна перетворити на декоратор. Тільки я такого не знайшов;) PS реальний розрахунок не залежить від змінних значень

8
Пам'ятка в Haskell?
Будь-які вказівки на те, як ефективно вирішити наступну функцію в Haskell, для великої кількості (n > 108) f(n) = max(n, f(n/2) + f(n/3) + f(n/4)) Я бачив приклади запам'ятовування в Haskell для вирішення чисел, які включали обчислення (ліниво) всіх цифр на рівні до потрібної n. Але в цьому випадку для …



4
Коли в GHC Haskell запам'ятовування автоматично?
Я не можу зрозуміти, чому m1, мабуть, запам'ятовується, а m2 не в наступному: m1 = ((filter odd [1..]) !!) m2 n = ((filter odd [1..]) !! n) m1 10000000 займає приблизно 1,5 секунди на перший дзвінок, і частина цього при наступних дзвінках (імовірно, це кешування списку), тоді як m2 10000000 …
106 haskell  ghc  memoization 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.