Публикации по теме 'memoization'
Улучшенный дизайн форм с помощью динамического программирования
Применение динамического программирования для создания лучших макетов для веб-форм
Программирование веб-форм обычно не связано с рекурсивными алгоритмами или методами оптимизации, но в этой статье мы покажем проблему, с которой мы столкнулись, и то, как нам удалось решить ее с помощью эффективного алгоритма, применяя рекурсию и динамическое программирование: создание красивого формы!
Проблема: создать красивую форму
Давайте поговорим о проблеме. Клиент должен был иметь возможность..
Кроличья нора последовательностей Фибоначчи, рекурсия и мемоизация
Хорошо, приготовься к настоящей кроличьей норе моей ночи вторника….
Сначала JP привел меня к мемоизации, которая затем привела меня к рекурсии, которая привела к последовательностям Фибоначчи, которые, очевидно и неизбежно привели меня к кроликам ...
Предупреждаю ...
Последовательность Фибоначчи
Что такое последовательность Фибоначчи? Это серия чисел, в которой каждое число представляет собой сумму двух предыдущих чисел.
Это очень известный набор чисел, который..
Вопросы по теме 'memoization'
Когда использовать мемоизацию в Ruby on Rails
В середине июля 2008 года в ядро Rails была добавлена мемоизация. Демонстрация использования приведена здесь .
Мне не удалось найти хороших примеров того, когда методы следует запоминать, и влияния каждого из них на производительность. Это...
13702 просмотров
schedule
20.10.2022
Как вы инициализируете переменные в Ruby?
Есть ли отличия между следующими способами инициализации переменных?
@var ||= []
@var = [] if @var.nil?
@var = @var || []
Пожалуйста, поделитесь своим способом инициализации переменной и укажите плюсы и минусы.
12865 просмотров
schedule
19.05.2022
Rails не может кэшировать предварительно вычисленные значения в запросах браузера? (например, запоминание n факторных результатов)
Например, следующий код:
class FoosController < ApplicationController
def index
if [email protected]?
render :locals => {:bar => @foo}
return
else
@foo = rand 10
render :locals => {:bar => @foo}
end...
373 просмотров
schedule
31.05.2022
Мемоизация Numpy NdArray
Я работаю над некоторыми довольно интенсивными вычислениями, которые имеют дело с матрицами numpy и ndarrays, и, покопавшись, есть около дюжины способов не реализовать мемоизацию, обычно полных коллизий и проблем с ndarrays — изменяемые объекты....
2119 просмотров
schedule
30.09.2023
В чем разница между восходящим и нисходящим направлениями?
Подход снизу вверх (к динамическому программированию) состоит в том, чтобы сначала рассмотреть «меньшие» подзадачи, а затем решить более крупные подзадачи, используя решение меньших проблем.
Нисходящий заключается в решении проблемы...
151394 просмотров
schedule
27.06.2022
Как раз вовремя Компиляция, как мемоизация?
Я пытаюсь понять Компиляцию / интерпретацию как раз вовремя и компиляцию времени? Правильно ли я скажу, что как раз вовремя - это что-то вроде запоминания? в том, что он повторно использует «решения», то есть машинный или байтовый код, частей,...
208 просмотров
schedule
12.04.2022
Частичная мемоизация в Haskell
Я пытаюсь найти хороший способ запомнить функцию только для части ее домена (неотрицательные целые числа) в Haskell, используя Data.MemoCombinators .
import Data.MemoCombinators
--approach 1
partFib n | n < 0 = undefined
|...
359 просмотров
schedule
12.01.2023
Реализация таблицы мемоизации с картой, созданной на основе пары int, int и int
Я реализовал рекурсивный алгоритм, чтобы улучшить производительность, я хочу добавить таблицу запоминания. Наиболее естественной структурой для моей проблемы было бы
map<pair<int,int>,int> lookup_table;
и рекурсивный алгоритм,...
522 просмотров
schedule
11.07.2022
Предварительное кэширование вывода ggplot2 с использованием memoise для использования в веб-службе
Для некоторых веб-сервисов мне нужно максимально ускорить графики ggplot2 по запросу. С введением memoise в функции построения графиков автоматически вводится некоторое кэширование, что делает второй график значительно быстрее, чем первый. Однако...
292 просмотров
schedule
30.11.2022
Недолговечная мемоизация в Haskell?
В объектно-ориентированном языке, когда мне нужно кэшировать / запоминать результаты функции в течение известного времени жизни, я обычно следую этому шаблону:
Создать новый класс
Добавьте в класс элемент данных и метод для каждого результата...
934 просмотров
schedule
07.11.2022
Запомните и векторизуйте пользовательскую функцию
Я хочу знать, как векторизовать и запомнить пользовательскую функцию в R. Кажется, мой образ мышления не соответствует способу работы R. Итак, я с радостью приветствую любые ссылки на хорошие материалы для чтения. Например, R inferno — хороший...
637 просмотров
schedule
10.05.2024
Расчеты на скользящих окнах и мемоизация
Я работаю над проблемой Project Euler 50, в которой говорится:
Простое число 41 можно представить в виде суммы шести последовательных простых чисел:
41 = 2 + 3 + 5 + 7 + 11 + 13 Это самая длинная сумма последовательных простых чисел,...
858 просмотров
schedule
28.04.2024
Почему @staticmethods в Python так плохо взаимодействуют с декорированными классами?
Недавно сообщество StackOverflow помогло мне разработать довольно лаконичный @memoize декоратор, способный декорировать не только функции, но также методы и классы в общем виде, т. е. без какого-либо предвидения того, какой тип объекта он будет...
1637 просмотров
schedule
08.04.2023
Мемоизация, когда аргументы могут быть очень большими
Допустим, у меня есть ссылочно прозрачная функция. Его очень легко запомнить; например :
def memoize(obj):
memo = {}
@functools.wraps(obj)
def memoizer(*args, **kwargs):
combined_args = args + (kwd_mark,) +...
383 просмотров
schedule
25.05.2023
Как сохранить itertools.chain и использовать его более одного раза?
Я хотел бы использовать itertools.chain для эффективного объединения списков (запоминания), но мне нужно иметь возможность читать (или map и т. д.) результат несколько раз. Этот пример иллюстрирует проблему:
import itertools
a =...
8642 просмотров
schedule
10.03.2023
Есть ли у Python внутренние строки?
В Java явно объявленные строки интернируются JVM, поэтому последующие объявления одной и той же строки приводят к появлению двух указателей на один и тот же экземпляр String, а не двух отдельных (но идентичных) строк.
Например:
public String...
5741 просмотров
schedule
06.04.2023
Написание универсальной функции запоминания на C++11
Ищете способ реализовать универсальную общую функцию запоминания, которая будет принимать функцию и возвращать ее запомненную версию?
Ищете что-то вроде декоратора @memo (с сайта Norving) в python.
def memo(f):
table = {}
def...
17246 просмотров
schedule
19.10.2022
Мемоизация Javascript
Может кто-нибудь предоставить простую функцию с запоминанием, используя только Javascript. Я нашел несколько статей в Интернете, когда гуглил, но я не видел много об этом. Лучшая статья, которую я нашел, была вот этой:...
6586 просмотров
schedule
13.12.2023
Python инициализирует запоминающий декоратор с настройками
У меня есть класс декоратора мемоайзера в библиотеке, как таковой:
class memoizer(object):
def __init__(self, f):
"some code here"
def __call__(self, *args, **kwargs):
"some code here"
Когда я использую...
167 просмотров
schedule
02.04.2023
Мемоизация алгоритма и поиск с возвратом
В настоящее время я готовлюсь к нескольким собеседованиям при приеме на работу и наткнулся на несколько вопросов по алгоритмам, которые меня совершенно поставили в тупик. Мне было интересно, может ли кто-нибудь из вас помочь объяснить стратегию...
1329 просмотров
schedule
01.11.2022