Публикации по теме 'memoization'


Улучшенный дизайн форм с помощью динамического программирования
Применение динамического программирования для создания лучших макетов для веб-форм Программирование веб-форм обычно не связано с рекурсивными алгоритмами или методами оптимизации, но в этой статье мы покажем проблему, с которой мы столкнулись, и то, как нам удалось решить ее с помощью эффективного алгоритма, применяя рекурсию и динамическое программирование: создание красивого формы! Проблема: создать красивую форму Давайте поговорим о проблеме. Клиент должен был иметь возможность..

Кроличья нора последовательностей Фибоначчи, рекурсия и мемоизация
Хорошо, приготовься к настоящей кроличьей норе моей ночи вторника…. Сначала JP привел меня к мемоизации, которая затем привела меня к рекурсии, которая привела к последовательностям Фибоначчи, которые, очевидно и неизбежно привели меня к кроликам ... Предупреждаю ... Последовательность Фибоначчи Что такое последовательность Фибоначчи? Это серия чисел, в которой каждое число представляет собой сумму двух предыдущих чисел. Это очень известный набор чисел, который..

Вопросы по теме 'memoization'

Когда использовать мемоизацию в Ruby on Rails
В середине июля 2008 года в ядро ​​Rails была добавлена ​​мемоизация. Демонстрация использования приведена здесь . Мне не удалось найти хороших примеров того, когда методы следует запоминать, и влияния каждого из них на производительность. Это...
13702 просмотров

Как вы инициализируете переменные в Ruby?
Есть ли отличия между следующими способами инициализации переменных? @var ||= [] @var = [] if @var.nil? @var = @var || [] Пожалуйста, поделитесь своим способом инициализации переменной и укажите плюсы и минусы.
12865 просмотров

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 просмотров

Мемоизация Numpy NdArray
Я работаю над некоторыми довольно интенсивными вычислениями, которые имеют дело с матрицами numpy и ndarrays, и, покопавшись, есть около дюжины способов не реализовать мемоизацию, обычно полных коллизий и проблем с ndarrays — изменяемые объекты....
2119 просмотров

В чем разница между восходящим и нисходящим направлениями?
Подход снизу вверх (к динамическому программированию) состоит в том, чтобы сначала рассмотреть «меньшие» подзадачи, а затем решить более крупные подзадачи, используя решение меньших проблем. Нисходящий заключается в решении проблемы...
151394 просмотров

Как раз вовремя Компиляция, как мемоизация?
Я пытаюсь понять Компиляцию / интерпретацию как раз вовремя и компиляцию времени? Правильно ли я скажу, что как раз вовремя - это что-то вроде запоминания? в том, что он повторно использует «решения», то есть машинный или байтовый код, частей,...
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 просмотров

Как сохранить 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