![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Идея динамического программирования (ДП)Метод ДП (Р. Беллман, В.С. Михалевич, Н.З. Шор ) можно трактовать как алгоритмическую версию рассуждений по индукции. Пусть sk(y), 1 £ k £ n, 0 £ y £ Y, — оптимальное значение целевой функции задачи (1) – (3), где n заменено на k, Y заменено на y. Требуется найти sn(Y) и набор переменных, на котором достигается это значение.ТЕОРЕМА 1.Пусть f1, … , fn —монотонно неубывающие функции. Тогда справедливы следующие рекуррентные соотношения:
Доказательство:Соотношение (4)очевидно. По определению sk(y) ³ max {sk-1(y - x) + fk(x) | 0 £ x £ y}. Пусть теперь
Поскольку
При обратном ходе алгоритма вычисляются значения Число операций » Y n. Память » Y Характеристики алгоритмов
Для оценки качества алгоритмов будем использовать два параметра: TA— трудоемкость (число элементарных операций алгоритма A); ПА — требуемый объем памяти. Элементарная операция — одна из арифметических операций: сложение, вычитание, умножение, деление или логическая операция сравнение двух чисел. Нас будет интересовать зависимость параметров алгоритма от длины записи исходных данных задачи с точностью до порядка величин. Пример: При Т = 3/2 n2 , будем писать T = O(n2) или T » n2.
|