Вопросы с тегом «memoization»

215
Как определить самую длинную возрастающую подпоследовательность с помощью динамического программирования?

У меня есть набор целых чисел. Я хочу найти самую длинную возрастающую подпоследовательность этого набора, используя динамическое

177
В чем разница между снизу вверх и сверху вниз?

Снизу вверх подход (для динамического программирования) заключается в первом взгляде на «мелкие» подзадач, а затем решить большие подзадачи , используя решение мелких проблем. Сверху вниз заключается в решении проблемы «естественным образом» и проверить , если вы рассчитали решение подзадачи ранее....

158
Есть ли декоратор для простого кэширования возвращаемых значений функции?

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

136
Мемоизация в Хаскеле?

Любые указатели на то, как эффективно решить следующую функцию в Haskell, для больших чисел (n > 108) f(n) = max(n, f(n/2) + f(n/3) + f(n/4)) Я видел примеры запоминания в Хаскеле для решения чисел Фибоначчи, которые включали (лениво) вычисление всех чисел Фибоначчи до требуемого n. Но в этом...

114
В чем разница между кешированием и мемоизацией?

Я хотел бы знать, в чем на самом деле разница между cachingи memoization. На мой взгляд, оба варианта подразумевают отказ от повторных вызовов функций для получения данных путем их сохранения . В чем основная разница между...

106
Когда мемоизация выполняется автоматически в GHC Haskell?

Я не могу понять, почему m1, по-видимому, мемоизирован, а m2 отсутствует в следующем: m1 = ((filter odd [1..]) !!) m2 n = ((filter odd [1..]) !! n) m1 10000000 занимает около 1,5 секунд при первом вызове и небольшую часть этого времени при последующих вызовах (предположительно, он кэширует список),...