Публикации по теме 'dynamic-programming'


Напишите программу на Java для «треугольника Паскаля», используя динамическое программирование (рекурсия)!
Подробности:- Что такое треугольник Паскаля? Треугольник Паскаля — это такое расположение чисел в треугольном массиве, что числа в конце каждой строки равны 1, а остальные числа представляют собой сумму ближайших двух чисел в приведенной выше строке. Это понятие широко используется в теории вероятностей, комбинаторике и алгебре. Треугольник Паскаля используется для нахождения вероятности исхода подбрасывания монеты, коэффициентов биномиальных разложений по вероятности и т. д...

Динамическое программирование — Стратегия подхода к вопросу DP
Динамическое программирование — стратегия подхода к вопросу DP Динамическое программирование — это улучшение по сравнению с рекурсией!!! DP == Рекурсия + Мемоизация (сверху вниз) или табуляция (снизу вверх) Определить DP Ищите ключевые слова, такие как максимальное, минимальное, количество способов или оптимальное. Еще одна подсказка будет заключаться в том, что у нас есть разные варианты/альтернативы на каждом этапе. Затем поищите ответ на вопрос: является ли данная проблема..

Как решить проблему подъема по лестнице — Leetcode # 70
Java-решение для Leetcode #70 Первоначально опубликовано на https://asyncq.com/ Введение В этой статье мы разгадаем Leetcode #70 . Эта задача — лучшая задача для начала изучения динамического программирования . Это классика! Постановка задачи

0/1-Рюкзак — Шаблон кодирования
Размещение отдельных предметов в мешках для максимизации прибыли Задача о рюкзаке — это комбинаторная оптимизационная задача. Чтобы решить эту проблему, мы можем следовать следующему: Общая стратегия: Найти базовый случай Найти рекуррентное соотношение Повторное использование вычисленных значений Напишите восходящее итеративное решение Имея веса w и прибыль p для N товаров, нужно найти подмножество этих предметы, которые принесут максимальную прибыль, но их совокупная..

RL применительно к управлению химическими и нефтеперерабатывающими заводами
RL (обучение с подкреплением) — это просто динамическое программирование, дополненное другим (очень причудливым) названием. По крайней мере, следует устранить фактор страха для инженеров по контролю и оптимизации рабочих процессов. Я собираюсь опубликовать ряд рабочих примеров из MPC на основе модели и простого ПИД-управления. После более чем 40-летнего опыта работы в области прикладной техники управления в нефтеперерабатывающей, нефтехимической, энергетической и оборонной отраслях,..

Как решить задачу о рюкзаке с помощью динамического программирования
Обновление: Прочтите об оптимизации пространственной сложности решения динамического программирования в моей последующей статье здесь . Задача о рюкзаке - действительно интересная задача комбинаторики - цитируя Википедию, «Учитывая набор элементов, каждый с весом и значением, определите количество каждого элемента, который нужно включить в коллекцию, чтобы общий вес был меньше или равнялся заданному пределу, а общее значение было как можно большим. ” Из Википедии мы видим,..

Основы динамического программирования — Часть 1
Основы динамического программирования — часть 1 Есть два метода решения проблемы с помощью динамического программирования. В этом посте мы увидим метод мемоизации. Мемоизация Табулирование Что такое динамическое программирование? Это метод оптимизации по сравнению с простой рекурсией. Это значительно сокращает время, необходимое для решения проблемы для данного ввода. Он разбивает проблему на вложенные подзадачи и вычисляет результат для этих подзадач. Эти результаты..