В прошлом я изучал классические задачи и алгоритмы DP (монеты, самая длинная возрастающая подпоследовательность, самая длинная общая подпоследовательность и т. Д.).Алгоритмы динамического программирования и использования в реальном времени
Я знаю, что эти алгоритмы имеют практическое применение (то есть генетические алгоритмы, просто чтобы назвать их). Я лишь сомневаюсь, что эти алгоритмы имеют практические приложения в современной информатике, где размер ввода очень большой, и проблемы не разрешаются только на одной машине.
Я считаю, что эти алгоритмы довольно трудно распараллелить (то есть Parallel Dynamic Programming), а занятость памяти в большинстве формулировок квадратична, что затрудняет обработку входов, которые достаточно велики.
У кого-нибудь есть случаи использования в реальном мире?
Поглощение памяти квадратично, но экономия времени стоит каждого байта. Напишите 2 реализации программы, вычисляющей последовательность Fibonnaci, основанную на соотношении reccurence, один с кешем, а другой без. Профиль и посмотреть результаты. – UmNyobe
@UmNyobe: fibonachi не является хорошим примером, его можно решить в 'O (1)' :) [хотя я согласен с вашей точкой, конечно]. – amit
вот почему я сказал, основываясь на рекуррентном отношении. Я взял Фибонаци в качестве примера, потому что это можно сделать за 30 минут. – UmNyobe