Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
__Динамическое программирование_специалитет.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
2.74 Mб
Скачать

Тема 5. Дискретные и непрерывные задачи.

План лекции:

Непрерывные процессы.

Траекторный процесс.

Неоднородная атмосфера.

Причинность.

Стохастичность и корреляция.

Вариационное исчисление.

Геометрическая интерпретация.

Уравнение эйконала (в R2).

Краткое содержание лекции

Непрерывные процессы

Рассмотрим дискретный процесс, заданный соотношениями:

pi+1 = T(pi)

Пусть этим значениям i соответствует значения t = 0, , 2, …

Тогда в силу непрерывности T(p) p, а точнее

T(p) = p + S(p) + o()

Пусть соответствующая целевая функция имеет вид суммы

ft(p) = g(p) + g(T(p)) + g(T2(p)) + … + g(Tn(p))

И предположим, промежуток достаточно мал. Если обозначим t = n, то получим

ft+(p) = g(p) + ft(p + S(p) + o())

Рассмотрим теперь M-мерный случай, получим

Тогда уравнение для целевой функции примет вид

Если перейдем к пределу при 0, то получим линейное уравнение в частных производных

Формально

p(t) = S(p),

p(0) = p0

Траекторный процесс

Рассмотрим задачу: в пустоте с малой скоростью v брошено вертикально вверх тело. Найти наибольшую высоту подъёма тела. Классическое решение задачи имеет вид:

Способ динамического программирования. Пусть f(v) – максимальная высота

Последовательно получаем:

  0

T(v) = v - g

f(v) = v + f(v - g) + o()

  0  0 = v - f(v)g, f(0) = 0 

Задача (объект А догоняет объект Б). Пусть f(r,d) – время до встречи, g(r,d) – расстояние до точки встречи.

Получаем уравнение

Если   0, то разложив f в правой части по формуле тейлора, получим уравнение в частных производных для функции f и граничное условие для f:

Найти f(r,d); составить уравнение для g(r,d); найти g(r,d) (методом характеристик).

Неоднородная атмосфера

Пусть теперь задача о теле, брошенном вверх, имеет вид (движение с сопротивлением):

x = h(x,x),

x(0) = 0,

x(0) = v

Следовательно нужна дополнительная переменная состояния – высота в начале процесса (b). Пусть f(b,v) – максимальная высота.

Последовательно получаем

b1 = T1(b,v) = b + v + o()

v1 = T2(b,v) = v + h(b,v) + o()

f(b,v) – max высота 

f(b,v) = v + f(b+v,v+h(b,v)) + o()

  0

,

f = -b + (const),

где const – первый интеграл.

Самостоятельно рассмотреть конкретный пример h(x,x) = -g - kx.

Причинность

Рассмотрим последовательно идущие стадии процесса

В предположении зависимости параметров только от предшествующих состояний получаем

f(b,t+) = f(f(b,t),)

это и есть принцип детерминизма. Например для матрицы A получаем

eA(t+) = eAteA

Если eAt – есть решение уравнения x = Ax, x(0) = E.

Самостоятельно рассмотреть случаи sin(t+) и cos(t+)

Стохастичность

Пусть T не полностью известно, тогда (p0, р1, р2, …) – случайный процесс, следовательно получаем систему с описанием

pk = T(pk-1, rk), k1,

p0 = p,

где rk - независимые случайные величины с распределением dG(r).

Требуется найти математическое ожидание.

M(g(p)) = M(g(p1) + g(p2) + …+g(pN))

Обозначим

fN(p) = Mr(pm, рm+1, рm+2, …, рn, …), N1,

где математическое ожидание берётся относительно независимых случайных величин r1, r2, …, rN. Тогда получим

fN(p) = g(p) + fN-1(T(p, r1)dG(r1)

f0(p) = g(p)

(т.к. fN(p) = Mr(g(p) + fN-1(T(p, r1)))

Корреляция

Случайные величины rk могут быть зависимы, простейший случай, когда rk зависит только от rk-1. В этом случае известно распределение dG(rk, rk-1). Тогда

fN(p,r0) = g(p) + fN-1(T(p,r1))dG(r1,r0)

Вариационное исчисление

Простейшая классическая задача вариационного исчисления имеет вид: найти max J(u), где

J(u) = 0t0g(u,u)dt,

u(t) C[0,t0],

u(0) = c.

Обозначим формально

f(c,t0) = maxuJ(u)

и воспользуемся свойством интеграла 0t0 = 0 + t0.

Учтя, что

0g(u,u)dt = g(c,v) + o(), (где v = u(0)) получим:

f(c,t0) = maxv(g(c,v) + f(c+v, t0-)) + o()

И далее учитывая, что 0 получаем:

ft0 = maxv(g(c,v) + vfc), f(c,0) = 0

Замечание. v = v(c,t) называется функцией стратегии

Замечание. В классическом подходе решается уравнение:

При этом если, например, дополнительно задано условие |u(t)|k, 0tt0, то в классическом подходе возникают серьёзные трудности, а метод динамического программирования легко даёт уравнение:

ft0 = max|v|k(g(c,v) + vfc),

f(c,0) = 0

Геометрическая интерпретация

Вариационное исчисление: ищем кривую u(t), t[0,T], такую, что J(u)  max, а u – точка в пространстве функций. Динамическое программирование: для каждой точки ищем направление, которое является оптимальным.

Иначе: кривая – геометрическое место точек (В. И.)

кривая – огибающая семейства касательных (Д. П.)

Уравнение эйконала (в R2)

Пусть дано распределение коэффициента преломления среды в виде n(x,y), тогда скорость луча v(x,y) = c/n(x,y).

По принципу Ферма путь луча такой, что время  min.

Пусть это время от точки (x0,y0) до точки (x,y) есть t(x,y).

Пусть угол наклона , тогда заменим

(x,y) (x+cos,y+sin) и t = /v(x,y).

Последовательно получаем:

t(x,y) = min(/v(x,y) + t(x+cos,y+sin) + o()) 

0 = min(/v(x,y) +  tx cos +  ty sin + o()) 

-v-1(x,y) = min(tx cos + ty sin)

min : -tx sin + ty cos = 0  tg = ty/tx

Это и есть уравнение эйконала, запишем его в исходных обозначениях

Выводы

Процедура решения непрерывных задач методом динамического программирования для задач, описываемых в терминах траекторных процессов приводит к уравнению в частных производных. Сравним классический подход и метод ДП по сложности численного решения в одномерном случае (N – число узлов)

Классические методы

Метод ДП

Одиночная задача

N

N2

Серия задач

N2

N2

Таким образом при решении серии задач метод ДП конкурирует с классическими.