Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему АиФП 5. Динамическое программирование

Динамическое программирование – метод проектирования алгоритмов. Предложен американским математиком Ричардом Беллманом как общий метод оптимизации многостадийных процессов принятия решений. Динамическое программирование – метод решения задач с перекрещивающимися подзадачами.
5. Динамическое программированиеОб идее, как и о привидении,…следует немного поговорить, прежде чем она явится.		Ч. Диккенс Динамическое программирование – метод проектирования алгоритмов. 	Предложен американским математиком Ричардом Беллманом как Иллюстрация метода на примере чисел Фибоначчи		0, 1, 1, 2, 3, 5, 8, 5.1. Вычисление биномиальных коэффициентов	Биномиальным коэффициентом С(n, k) называется количество комбинаций (подмножеств) из Таблица для вычислений биномиальных коэффициентов Алгоритм Binomial (n,k)// Вх. данные: Пара неотрицательных чисел n≥k ≥0// Вsх. данные: Оценка эффективности алгоритма вычисления биномиальных коэффициентовБазовая операция – сложение.A(n,k) – общее количество 5.2. Задача о рюкзаке и функции с запоминаниемДано: Рюкзак вместимостью W		 Количество Экземпляр задачи, определяемый первыми i предметами (1≤i ≤ n)Веса: 		w1 , w2 Все подмножества первых i предметов, которые помещаются в рюкзак ёмкостью j делятся Рекуррентное соотношение		   max{V[i-1,j], vi +V[i-1, j-wi]}, если j-wi≥0 V[i,j]=			V[i-1,j], если j-wi Таблица для решения задачи о рюкзаке методом динамического программирования Пример 1. W=5 Ёмкость j Максимальная стоимость: V[4,5]=37.	1.Поскольку V[4,5]≠ V[3,5], то предмет 4 был включен в решение
Слайды презентации

Слайд 2 Динамическое программирование – метод проектирования алгоритмов.
Предложен американским

Динамическое программирование – метод проектирования алгоритмов. 	Предложен американским математиком Ричардом Беллманом

математиком Ричардом Беллманом как общий метод оптимизации многостадийных процессов

принятия решений.
Динамическое программирование – метод решения задач с перекрещивающимися подзадачами.

Слайд 3 Иллюстрация метода на примере чисел Фибоначчи
0, 1, 1,

Иллюстрация метода на примере чисел Фибоначчи		0, 1, 1, 2, 3, 5,

2, 3, 5, 8, 13…
F(n)=F(n-1) + F(n-2), n≥2 (1)
Начальные условия:
F(0)=0,

F(1)=1 (2)

Слайд 4 5.1. Вычисление биномиальных коэффициентов
Биномиальным коэффициентом С(n, k) называется

5.1. Вычисление биномиальных коэффициентов	Биномиальным коэффициентом С(n, k) называется количество комбинаций (подмножеств)

количество комбинаций (подмножеств) из k элементов из n-элементного множества

(0≤k≤n).
Название «биномиальные коэффициенты» происходит от участия этих чисел в формуле бинома:
(a+b)n =C(n,0)an +…+ C(n,k)an-kbk +…+C(n,n)bn
C(n,k)= C(n-1,k-1)+ C(n-1,k) при n>k>0 (3)
C(n,0)=C(n,n)=1 (4)


Слайд 5 Таблица для вычислений биномиальных коэффициентов

Таблица для вычислений биномиальных коэффициентов

Слайд 6 Алгоритм Binomial (n,k)
// Вх. данные: Пара неотрицательных чисел

Алгоритм Binomial (n,k)// Вх. данные: Пара неотрицательных чисел n≥k ≥0// Вsх.

n≥k ≥0
// Вsх. данные: Значение C(n,k)
for i←0 to n

do
for j ←0 to min(i,k) do
if j=0 or j=I
C[i,j] ←1
else
C[i,j] ← C[i-1,j-1] + C[i-1,j]
return C(n,k)

Слайд 7 Оценка эффективности алгоритма вычисления биномиальных коэффициентов
Базовая операция –

Оценка эффективности алгоритма вычисления биномиальных коэффициентовБазовая операция – сложение.A(n,k) – общее

сложение.
A(n,k) – общее количество сложений при вычислении C(n,k).

k i-1 n k k n
A(n,k)=Σ Σ1 +Σ Σ=1= Σ(i-1)+ Σ k=
i-1 j=1 i=k+1 j=1 i=1 i=k+1
=[(k-1)k]/2+k(n-k)∈O(n×k)

Слайд 8 5.2. Задача о рюкзаке и функции с запоминанием
Дано:

5.2. Задача о рюкзаке и функции с запоминаниемДано: Рюкзак вместимостью W

Рюкзак вместимостью W
Количество предметов: n
Веса предметов: w1

, w2 , …,wn
Стоимости предметов: v1 , v2 , …,vn
Требуется найти: наиболее ценное подмножество, помещающееся в рюкзаке.

Слайд 9 Экземпляр задачи, определяемый первыми i предметами (1≤i ≤

Экземпляр задачи, определяемый первыми i предметами (1≤i ≤ n)Веса: 		w1 ,

n)
Веса: w1 , w2 , …,wn
Стоимости: v1 ,

v2 , …,vn
Ёмкость рюкзака: 1≤j ≤ W.
V[i,j] – значение оптимального решения этого экземпляра задачи, т.е. стоимость наиболее ценного подмножества предметов из первых i предметов, которые помещаются в рюкзак ёмкости j.

Слайд 10 Все подмножества первых i предметов, которые помещаются в

Все подмножества первых i предметов, которые помещаются в рюкзак ёмкостью j

рюкзак ёмкостью j делятся на две категории:
те, которые не

включают i-й предмет;
те, которые его включают.
Замечания.
Среди подмножеств (ПМ), которые не включают i-й предмет, стоимость оптимального ПМ – V[i-1,j].
Среди ПМ, которые включают i-й предмет, оптимальное ПМ составляется из оптимального ПМ из этого предмета и первых (i-1) предметов, которые размещаются в рюкзаке ёмкостью (j-wi). Стоимость такого оптимального ПМ равна vi+V[i-1,j-wi].

Слайд 11 Рекуррентное соотношение
max{V[i-1,j], vi +V[i-1, j-wi]},

Рекуррентное соотношение		  max{V[i-1,j], vi +V[i-1, j-wi]}, если j-wi≥0 V[i,j]=			V[i-1,j], если j-wi

если j-wi≥0
V[i,j]=
V[i-1,j], если j-wi

j≥0
V[i,0]=0 при i≥0
Цель: Найти V[n,W], т.е. максимальную стоимость подмножества из n предметов, которое помещается в рюкзак ёмкостью W, и само это подмножество.



Слайд 12 Таблица для решения задачи о рюкзаке методом динамического

Таблица для решения задачи о рюкзаке методом динамического программирования

программирования


Слайд 13 Пример 1. W=5

Пример 1. W=5

Слайд 14

Ёмкость j

Ёмкость j


  • Имя файла: aifp-5-dinamicheskoe-programmirovanie.pptx
  • Количество просмотров: 96
  • Количество скачиваний: 0