Описание тега memoization
В вычислениях мемоизация - это метод оптимизации, используемый в основном для ускорения компьютерных программ за счет того, что вызовы функций позволяют избежать повторения вычислений результатов для ранее обработанных входных данных.
3
ответа
Библиотеки Memoization для C?
Для проекта, над которым я работаю, есть ряд состояний, в которых можно полагаться на расчеты, чтобы получить одинаковые результаты (и не иметь побочных эффектов). Очевидное решение состоит в том, чтобы использовать памятку для всех дорогостоящих фу…
20 май '11 в 01:44
1
ответ
Как рассчитать временную сложность рекурсий с запоминанием?
Какова временная сложность кода ниже? Я знаю, что у него есть рекурсивный вызов несколько раз, поэтому, вероятно, он должен быть равен 3^n, но все равно каждый раз он инициализирует массив длины n, который используется последним, и это меня немного …
20 ноя '15 в 21:50
1
ответ
Схема - Мемоизация с "силой" и "задержкой" сравнения скорости
(define fibo ; fibonacci (lambda (n) (cond ((= n 0) 0) ((= n 1) 1) ((= n 2) 1) (else (+ (fibo (- n 1)) (fibo(- n 2)) ))))) (time (fibo 20)) (define (fiboN n) ; fibonacci (delay (cond ((= n 0) 0) ((= n 1) 1) ((= n 2) 1) (else (+ (force (fiboN (- n 1)…
25 окт '15 в 04:40
2
ответа
Структура данных памятки в БД
Какова лучшая структура данных для кэширования (сохранения / сохранения / запоминания), поэтому многие функции приводят к базе данных. Предположим, функция calc_regress с текущим определением в python: def calc_regress(ind_key, dep_key, count=30): i…
31 окт '15 в 09:09
2
ответа
Запоминает ли Clojure оценку своих аргументов?
В Clojure, если я запомнил функцию, назовите ее f и вызвать это на спор a, Если a является большим ленивым значением, запоминает ли возвращаемое значение на основе соответствия thunk, в отличие от форсирования оценки a и соответствие по результату? …
01 фев '12 в 00:27
1
ответ
Aibohphobia SPOJ
Я пытаюсь решить это упражнение. У меня есть решение, как показано ниже, но я получаю Time Limit Exceeded ошибка. Я хочу узнать, почему этот код неэффективен, так как я занимаюсь запоминанием. namespace Aibohphobia { class Test { static Dictionary&l…
06 дек '15 в 06:45
5
ответов
Что делает этот код C++11 (памятка)?
Я нашел статью, которая содержит этот код: template <typename ReturnType, typename... Args> std::function<ReturnType (Args...)> memoize(std::function<ReturnType (Args...)> func) { std::map<std::tuple<Args...>, ReturnType&g…
18 мар '11 в 14:07
1
ответ
Python многопоточная памятка
Python многопоточное запоминание, это возможно? Если так, то как?
17 янв '11 в 05:29
5
ответов
Как эта функция C++ использует запоминание?
#include <vector> std::vector<long int> as; long int a(size_t n){ if(n==1) return 1; if(n==2) return -2; if(as.size()<n+1) as.resize(n+1); if(as[n]<=0) { as[n]=-4*a(n-1)-4*a(n-2); } return mod(as[n], 65535); } Приведенный выше прим…
29 сен '08 в 03:07
1
ответ
Как закрасить поле r x r n разными цветами, не используя один и тот же цвет в одном столбце, строке
Недавно я столкнулся с этой проблемой и не могу ее решить из-за времени. "Создайте программу, которая ответит, сколько способов нарисовать поле r by r разными цветами, не используя один и тот же цвет в одной строке и одном столбце". Я написал для не…
04 июн '17 в 14:45
2
ответа
Как называется кеширование переменной экземпляра?
Техника кеширования переменных экземпляра имеет конкретное "академическое" имя, но я не могу его вспомнить. Пожалуйста, помогите мне. def current_user @current_user ||= User.find(session[:user_id]) end Маршаллинг называется Маршаллинг.Ленивая загруз…
06 мар '11 в 16:56
2
ответа
Биг-о Фибоначчи с памяткой?
Когда я запустил эту программу, мне показалось, что это O(1), потому что она была почти для больших чисел для выдумки без запоминания. Если он вычисляет предыдущие числа, то все, что он должен сделать, это добавить, и у него будет результат, который…
27 янв '16 в 00:10
1
ответ
Как я могу реализовать два напоминания в одной функции?
Я хочу решить проблему с помощью рекурсивной функции, используя два словаря для запоминания, но я не уверен, как реализовать эту идею. Из того, что я узнал, при использовании всего лишь одного словаря напоминаний структура кода выглядит аналогично. …
19 июн '15 в 13:23
2
ответа
Рекурсивные последовательности в F#
Допустим, я хочу вычислить факториал целого числа. Простой подход к этому в F# был бы: let rec fact (n: bigint) = match n with | x when x = 0I -> 1I | _ -> n * fact (n-1I) Но если моя программа нуждается в динамическом программировании, как я …
08 фев '16 в 23:57
1
ответ
Странные результаты скорости для запомненной функции Фибоначчи в Javascript
Я собрал простой пример запоминания и провел несколько тестов производительности, но не понимаю, почему в Chrome memTestHalfAssed самый быстрый, хотя fibonacciH звонки внутри не запоминаются. Тесты на http://jsperf.com/moize-test function fibonacci(…
29 июл '14 в 00:32
5
ответов
Вернуть "постоянное" значение из метода Java
Я не совсем уверен, возможно ли это, поэтому я спрашиваю вас, ребята. Я хочу написать метод, который знает, был ли он посещен ранее и возвращал ли он то же значение, что и в прошлый раз, когда его посетили. Я не могу использовать поля / экземпляры п…
30 апр '12 в 21:12
3
ответа
Есть ли в Haskell автоматический способ запоминания глобальных полиморфных значений?
Полиморфные "константы", вроде 5 :: Num a => a, на самом деле это не константы, а функции аргумента словаря. Следовательно, если вы определите primes :: Num n => [n] primes = ... Плохой пример, конечно, здесь нет веских причин для того, чтобы …
31 июл '14 в 11:30
4
ответа
Ссылка на массив в Ruby?
Могу ли я иметь ссылку на ячейку массива в Ruby? В C++ я могу сделать что-то вроде: int& ref = arr[x][y]; а потом работать с переменной ref без необходимости печатать весь arr[x][y], Я хочу сделать это, так как мне нужно обращаться к одной и той…
11 сен '14 в 16:34
4
ответа
В чем разница между кэшированием и запоминанием?
Я хотел бы знать, в чём заключается реальная разница между кэшированием и запоминанием. На мой взгляд, оба включают избегание повторных вызовов функций для получения данных путем их хранения. Какая разница между этими двумя?
24 июн '11 в 14:44
5
ответов
Как создать функцию памятки
Я озадачен этой проблемой запоминания. Мне нужно создать функцию, которая будет проверять, было ли уже вычислено значение для данного аргумента, возвращать предыдущий результат или выполнять вычисления и возвращать это значение. Я потратил часы на э…
22 май '15 в 01:22