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


Понимание мемоизации.
Понимание мемоизации. Одной из наиболее важных концепций программирования является « запоминание ». Сегодня мы попытаемся понять концепцию и то, почему она высоко оценивается как один из наиболее оптимизированных способов техники исполнения. Запоминание  – это метод оптимизации , используемый в основном для ускорения компьютерных программ путем сохранения результатов ресурсоемких вызовов функций и возврата кэшированного результата при повторении тех же входных данных...

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

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

UseMemo Hook (что это?, Как его использовать? И почему?)
1. Введение Всем привет, сегодня мы поговорим о хуке useMemo, что это такое, как и когда мы его используем, но сначала давайте определимся, что такое хуки в целом, прежде чем переходить к хуку useMemo. 2. Крючки? После выпуска версии React 16.8 мы впервые познакомились с новой функцией под названием «Хуки», которая позволяет нам управлять изменениями состояния и методами жизненного цикла внутри функциональных компонентов, а не на основе классов. Фактически, работа с..

О мемоизации
Резюме: Используя «открытую» рекурсию: Мы можем отделить логику мемоизации от функциональной логики. Мы можем мемоизировать функции, не изменяя синтаксис функции. Мы можем сделать функции универсальными для нескольких типов мемоизации. Мемоизация в Rust. Рассмотрим рекурсивную функцию. Самый простой пример - последовательность Фибоначчи. Вот наивная реализация: fn fib_naive (arg: u32) -> u32 { match arg { 0 => 0, 1 => 1, n..

Динамическое программирование
Обзор Одной из основных целей при решении проблемы является минимизация объема вычислений, чтобы мы могли быстрее найти решение. Это идея динамического программирования. Давайте разберемся в этом на простом примере. Возможно, вы знакомы с хорошо известным рядом  — рядом Фибоначчи . Ряд Фибоначчи выглядит следующим образом: 0, 1, 1, 2, 3, 5, 8, 13… Ряд начинается с 0, за которым следует 1, а затем вычисляется следующий член путем сложения двух последних членов ряда. Пусть T(i) —..

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

Java: автоматическая мемоизация
В моем коде есть несколько функций, для которых имеет смысл (кажется даже обязательным) использовать мемоизацию. Я не хочу реализовывать это вручную для каждой функции отдельно. Есть ли способ (например, как в Python ), я могу просто использовать...
4711 просмотров

Как работают Data.MemoCombinators?
Я искал источник для Data.MemoCombinators , но я не могу понять, в чем его суть. Пожалуйста, объясните мне, в чем логика всех этих комбинаторов и механика того, как они на самом деле работают, чтобы ускорить вашу программу в реальном...
3039 просмотров
schedule 28.10.2021

Есть ли где-нибудь библиотека мемоизации, основанная на идентификаторах объектов?
Я знаю, что мемоизация, похоже, является постоянной темой здесь, в теге haskell при переполнении стека, но я думаю , что этот вопрос раньше не задавался. Я знаю несколько различных готовых библиотек мемоизации для Haskell: Мемо-комбинаторы и...
719 просмотров
schedule 24.11.2021

Рекурсивный алгоритм с использованием мемоизации
Моя проблема заключается в следующем: у меня есть список миссий, каждая из которых занимает определенное количество времени и дает определенное количество очков, и время k, отводимое на их выполнение: например: missions = [(14,3),(54,5),(5,4)] и...
1776 просмотров
schedule 10.11.2021

Мемоизация рекурсивного метода в Java
Я пытаюсь создать мемоизированную версию функции Factorial. Когда я вызываю factMemoized (4), он впервые вычисляет факториал 4 и сохраняет его в Map. Когда я снова вызываю factMemoized (4), теперь он дает сохраненный результат вместо его повторного...
2095 просмотров
schedule 25.09.2021

асинхронное обновление с мемоизацией scalacache
Я хотел бы сделать мемоизацию на основе TTL с активным асинхронным обновлением в scala. Пример ScalaCache в документации позволяет использовать мемоизацию на основе TTL следующим образом: import scalacache._ import memoization._ implicit val...
1698 просмотров
schedule 14.11.2021

чем отличаются эти мемоизированные функции?
Я вижу, что если я использую мемоиз для функции двумя разными способами, я получаю два разных поведения, и я хотел бы понять, почему. # Non Memoised function fib <- function(n) { if (n < 2) return(1) fib(n - 2) + fib(n - 1) }...
103 просмотров
schedule 12.11.2021

Применение декоратора ко всем функциям в пакете Python
Мой вопрос очень похож на этот , но в моем случае принятый ответ не украшает все функции в пакете, когда они используются внутри пакета, и я не уверен, почему. Например, у меня есть такой проект: project/ package/ __init__.py...
1393 просмотров

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

Эффективность словарей на Python:
В рекурсивной функции ниже я применил некоторые методы мемоизации в python для сохранения предыдущих вычисленных значений в словаре, который теоретически должен иметь сохранение и извлечение O (1). Однако время выполнения примерно в три раза больше...
184 просмотров

Динамическое программирование: рекурсия + мемоизация vs цикл + список
В документации для @functools.lru_cache приведен пример вычисления чисел Фибоначчи с использованием кеш для реализации метода динамического программирования: @lru_cache(maxsize=None) def fib(n): if n < 2: return n return...
924 просмотров

Как запомнить рекурсивную функцию сопоставления с элементами, возвращаемыми в массиве?
У меня есть функция мемоизации, которая запоминает рекурсивные функции, возвращающие сумму, например Number, но не с моей функцией collatz, которая возвращает массив. Моя карта внутри функции мемоизации будет иметь разные ключи, но одно и то же...
396 просмотров
schedule 21.11.2021

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

React hook useCallback, чтобы избежать многократного рендеринга
Я пытаюсь создать простой Material UI Stepper , чтобы пользователь мог нажимать Далее и Назад , а также на шаге, но он дважды запускает редуктор. Я читал где-то , что Решением этой проблемы является useCallback или useMemo хук, который...
1829 просмотров

Загрузка модели в полуреберную структуру данных из файла .PLY
Я пытаюсь создать синтаксический анализатор .PLY для загрузки трехмерных моделей, хранящихся в виде файлов .ply, в сетку структуры данных с половинным краем. Извините за большой вопрос, я очень многословен и хотел убедиться, что изложил все детали....
2710 просмотров
schedule 26.02.2022

Может ли кто-нибудь объяснить решение этой задачи/головоломки мемоизации/динамического программирования?
Это постановка проблемы: Это игра для двух игроков. Изначально в массиве есть n целых чисел, и игроки A и B получают возможность взять их поочередно. Каждый игрок может брать одно или несколько чисел с левого или правого конца массива, но не...
566 просмотров

Мемоизация: объединение параметров или выполнение хэша md5?
Я добавляю запоминание к нескольким функциям. Эти функции принимают 2-3 строковых параметра (имена объектов), необязательный параметр int (идентификатор записи) и логический параметр (включая удаленные записи). Каждая комбинация параметров...
318 просмотров
schedule 14.03.2022

Запомните функцию Rcpp?
Я написал рекурсивную функцию на R и использовал мемоиз, чтобы ускорить ее. Я попытался еще больше ускорить его, написав в Rcpp, а затем запомнив функцию Rcpp, но функция R работает быстрее. Почему это так и есть ли способ ускорить это в моем...
383 просмотров
schedule 17.03.2022

Использование определенной процедуры в качестве аргумента дает другой результат, чем использование лямбда-выражения в качестве аргумента.
Я пытаюсь запомнить процедуру в схеме. Код взят из SICP. У меня есть моя процедура fib, определенная как (define (fib n) (display "computing fib of ") (display n) (newline) (cond ((= n 0) 0) ((= n 1) 1) (else (+...
89 просмотров
schedule 16.03.2022

Функциональный компонент Memoize с помощью react-redux, Reselect и React.memo ()
Я создал приложение на ReactJS 16.8.5 и React-Redux 3.7.2. Когда приложение загружает приложение, монтируется, устанавливается начальное хранилище и настраиваются подписки на базу данных для базы данных Firebase Realtime. Приложение содержит...
1029 просмотров
schedule 14.03.2022