
- •5.1. Вопросы для промежуточного и итогового контроля
- •6. Критерии оценки знаний
- •Список рекомендуемой литературы
- •Теоретическая часть
- •Тема 1. Экстремальные задачи и методы их решения.
- •Выбор метода решения - один из важнейших этапов при решении задач оптимизации. Можно выделить следующие группы методов:
- •Тема 3. Классические задачи, решаемые методом динамического программирования.
- •План решения задачи методом динамического программирования.
- •Определение. Последовательность Фибоначчи определяется следующим образом:
- •Примеры задач, решаемых при помощи динамического программирования. Наибольшая общая подпоследовательность. (ноп, Longest Common Subsequence, lcs)
- •Решение
- •Примеры задач, решаемых при помощи динамического программирования. Наибольшая возрастающая подпоследовательность. (нвп, Longest Increasing Subsequence, lis)
- •Решение
- •Оптимизация метода динамического программирования (на примере задачи нахождения числа сочетаний )
- •Тема 4. Системы и процессы.
- •Тема 5. Дискретные и непрерывные задачи.
- •Тема 6. Динамическое программирование и линейное программирование
- •Тема 7. Задачи поиска оптимальных путей на графах с неотрицательными весами ребер.
- •Тема 8. Динамическое программирование в экономических задачах.
- •Алгоритм обратной прогонки. Алгоритм прямой прогонки.
- •Алгоритм обратной прогонки
- •Алгоритм прямой прогонки
- •Тема 9. Оптимальное управление.
- •Тема 10. Особенности решения задач динамического программирования. Примеры.
- •Тема 11. Применение метода динамического программирования к задачам синтеза расписаний обслуживания.
- •Однопроцессорные задачи синтеза расписаний обслуживания конечных детерминированных потоков заявок
- •Задачи синтеза расписаний обслуживания для систем с параллельными и последовательными процессорами
- •Задачи оптимального обслуживания стационарных объектов, расположенных в одномерной зоне
- •Тема 12. Труднорешаемые задачи. Полиномиально разрешимые конкретизации, приближенные и эвристические алгоритмы
- •Полиномиально разрешимые и np-трудные задачи
- •Полиномиально разрешимые подклассы труднорешаемых задач
- •Принципы построения приближенных и эвристических алгоритмов
- •Эвристические алгоритмы для задач синтеза расписаний обслуживания
- •Глоссарий
- •Сборник заданий, задач, примеров, упражнений и т.Д.
- •Задача 7. Максимальная подпоследовательность. Дана числовая последовательность, требуется найти длину наибольшей возрастающей подпоследовательности.
Тема 4. Системы и процессы.
План лекции:
Системы.
Многошаговые процессы.
Редукция информации.
Реккурентные соотношения.
Бесконечные процессы.
Процессы с заданными правилами остановки.
Нестационарные процессы.
Краткое содержание лекции
Системы
Сначала нас будет интересовать изучение систем (термин, который здесь еще не определен, но интуитивно вполне понятен) и то, как они ведут себя с течением времени. Эта точка зрения позволяет ввести понятие «процесса» простым и естественным способом. Аналитически представим себе систему как вектор состояния х(t) и правило для определения его значения в любой момент времени t. Для простоты будем рассматривать только конечномерные векторы
Каждая компонента х(t) определяет различные свойства системы. Число N называется размерностью системы. Классически х(t) может быть задан следующими способами:
=g(x(t)) –
дифференциальные уравнения,
x(t)=g(x(t-)) – разностное уравнение,
=h(x(t), x(t-)) – дифференциально-разностное уравнение,
x(t)=u(t) + g(x(s), t)ds – интегральное уравнение,
а также в виде различных комбинаций этих способов. Уравнения в частных производных соответствуют бесконечномерным векторам состояния и этим определяют более общие системы. Хотя методы, которыми мы пользуемся, могут быть применены к изучению систем более сложной структуры, ниже ограничимся системами конечной размерности.
Важно подчеркнуть, что понятие «состояние системы», не определяется только лишь физическими свойствами подлежащей изучению реальной системы. Поэтому не так уж необходимо углубляться во внутреннюю характеристику системы, тем более, что это сильно задержит нас на весьма частных и зачастую извилистых путях математических описаний.
Описание систем и процессы решения зависят от того, что требуется знать о физических процессах, что можно наблюдать или измерить, от точности этих наблюдений и вообще от научного и математического уровня на сегодняшний день. Важно подчеркнуть значение гибкости в применении математических методов в научных исследованиях. Не существует никаких готовых аналитических методов и никаких готовых формулировок.
В прошлом большинство аналитических работ по прикладной математике было связано с функциональными уравнениями указанных выше типов. Эти работы содержат важные результаты, и нет сомнений в том, что поставленные в классической формулировке задачи будут продолжать играть основную роль в современной теории управления и в других областях. Однако, как новые задачи, так и новые типы задач показали, что классическая теория имеет существенные ограничения. Новые методы, совместно с развитием и обобщением старых, позволяют дать ответ на новые и более глубокие вопросы современной науки и техники.
Многошаговые процессы
Введя чисто математическое определение понятия «система», уточним теперь другую интуитивную концепцию – понятие «процесс». Ради общности заменим символ х(t) символом р, считая р точкой множества или пространства R. Во всем последующем изложении R будет множеством точек М-мерного пространства (возможно с некоторой метрикой) или некоторого подмножества.
Рассмотрим теперь функцию Т(р) – преобразование, обладающее свойством, что преобразованная точка р1=Т(р) принадлежит R для всех точек р из R. Можно считать, что р изображает начальное состояние системы, р1=Т(р) – состояние на одну единицу времени позднее и вообще система векторов [р, р1, р2, …, рn, …], где р0=р, рn+1=Т(рn), n=0, 1, 2, …, изображает временную историю системы, наблюдаемую в дискретные моменты времени n=0, 1, 2, …, т.е. последовательные состояния системы. Можно также написать рn=Тn(р), что обозначает n-кратное применение преобразования Т, и иногда будем применять это обозначение.
Назовём эту бесконечную последовательность векторов многошаговым процессом, что является определением этого термина.
Удобно ввести обозначение [р, Т(р)] или просто [р, Т]. более точно, это есть многошаговый процесс дискретного детерминированного типа. Так как это единственный многошаговый процесс, который мы указали, то ограничимся пока более простым термином, а при рассмотрении других типов многошаговых процессов отметим их дополнительные особенности.
Редукция информации
В большинстве случаев многошаговый процесс говорит значительно больше, чем требуется знать, и обычно значительно больше, чем можно проанализировать. Такова природа – чтобы понять, надо отбросить часть информации.
Для начала будем рассматривать только часть многошагового процесса, N-шаговый процесс, последовательность векторов [p, p1, p2, …, pN], где, как и прежде, рk+1=T(pk), k=0, 1, 2, …, N-1. Рассмотрим свойства различных скалярных функций, зависящих от этого процесса, обозначим их {g(p, p1, …, pN)}.
Для получения интересных и полезных результатов, надо надлежащим образом выбрать структуру функции g, или, что эквивалентно, надлежащую структуру многошагового процесса. Заметим еще раз, что такого рода привнесенная структура не обязательно свойственна основной физической структуре. Например, можно рассмотреть функции следующих видов:
,
…
Независимость от прошлого
Мы предполагаем, что в начальный момент времени система определяется вектором состояния р, а процесс описывается последовательностью:
р1=Т(р), р2=Т(р1), …
Как следствие этого предположения последующее для k-й точки состояние зависит только от pk, и не зависит от предыдущих состояний. Другой путь введения этих понятий состоит в том, что pN можно рассматривать как N-е состояние на N-м шаге процесса, начавшегося из начального положения p, или (N-k)-e состояние процесса на (N-k)-м шаге процесса, начавшегося из состояния pk в момент времени k. Символически это можно записать в виде уравнения TN=TN-kTk. Это соотношение может рассматриваться как аналитическая формулировка причинной связи, или, другими словами, того факта, что будущее единственным образом определяется настоящим (теорема единственности).
Реккурентные соотношения
Вернемся теперь к анализу возможности выполнения необходимых вычислений для определения указанных выше функций. Рассмотрим сначала функцию
,
где h(p) – заданная функция состояния, и заметим, что рассматриваемая функция полностью определена начальным состоянием р и числом шагов N, если задано преобразование Т. Запишем последовательность функций {fN(p)}, определяемых соотношением
fN(p)= =h(p) + h(T(p)) + h(T2(p)) + … + h(TN(p)),
где N=0, 1, 2, … и р принадлежит множеству R. Рассмотрим для N 1 частичную сумму
h(T(p)) + h(T2(p)) + … + (TN(p)).
Эта сумма эквивалентна
h(p1) + h(T(p1)) + … + h(TN-1(p1)),
а следовательно, и функции fN-1(p1), определяемой последовательностью функций {fN(p)}. Из этого следует, что fN(p) удовлетворяет функциональному (реккурентному) уравнению
Аналогично,
если обратится к функции
,
то рассмотрим
fN(p)=
,
и получим функциональное уравнение
fN(p)=h(p)fN-1(T(p)).
Предоставим читателю вывод соотношения fN(p)=max [h(p),fN-1(T(p))], N 1,
для
функции
fN(p)=
,
определенной выше под пунктом (с).
Таким же образом соотношение
fN(p)=h(p, T(p)) + fN-1(T(p))
может быть установлено для функции под пунктом (d).
Бесконечные процессы
Соотношения,
полученные в предыдущем пункте,
значительно упрощаются для бесконечных
процессов, т.е. процессов, которыми
становятся ранее рассмотренные
многошаговые процессы при N=.
Поступим формально и, не рассматривая
пока вопросов сходимости, напишем
f(p)=
.
Заметим, что бесконечность числа шагов
исключает зависимость от N
и таким образом устраняет одну переменную,
что весьма существенно. При этом
аналогично предыдущему получим
f(p)=h(p)
+
,
f(p)=h(p)
+ f(T(p)).
Подобным
же образом, если f(p)=
,
то, учитывая очевидное соотношение
max[x1, x2, …]=max[x1, max[x2, …]],
получаем
f(p)=max[h(p), f(T(p))].
Во
многих случаях функция fN(p)
не имеет предела при N
.
В этом случае иногда имеет смысл величина
вида
с асимптотическим соотношением вида
~
g1(p)
при N
или соотношением вида fN(p)
~ g2(p)Nh(p).
Процессы с заданными правилами остановки
Во
многих важных ситуациях в рассматриваемых
конечных процессах число шагов заранее
не фиксировано, а зависит от начального
состояния, т.е. N=N(p).
При этом приходим к соответствующим
функциям вида f(p)=
.
Первым простым примером этого вида процессов является процесс, в котором при затрате ресурсов на каждом шаге приходится учитывать условие, согласно которому процесс остановится, как только иссякнут ресурсы. Аналитически это условие можно выразить посредством ограничения вида
a.
Другой
немаловажный пример дает нам исследование
траекторных процессов. Объект продолжает
движение до тех пор, пока он не окажется
на некотором заранее обусловленном
расстоянии от другого объекта.
Аналитически, вводя метрику в R,
обозначая через d(p,
q)
расстояние между двумя элементами p
и q
в R,
мы ставим условие, что процесс продолжается
до тех пор, пока d(TNp,
q)
,
где q
и
заданы заранее. Рассмотрим траекторный
процесс, который оканчивается, как
только d(pN,
q)
.
Если ввести функцию f(p)=
,
где N=N(p)
определяется приведенным выше правилом
остановки, то получаем
Нестационарные процессы
Нестационарные процессы имеют вид:
(pm, рm+1, рm+2, …, рn, …),
где
рn+1=Тn(рn), n=m, m+1, m+2, …
Выполнив
редукцию для величины
получаем:
fN,m(p) = hm(p) + fN,m+1(Tm(p))
Если N = const, то m(p) = fN,m(p) и получаем:
m(p) = hm(p) + m+1(Tm(p)), 0mN
N(p) = hN(p)