Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
3.2. Модель динамического программирования ДженсенаВ отличие от линейного программирования, для которого существует точная стандартная формулировка задачи, в динамическом программировании таковая отсутствует. В задачах динамического программирования соответствующие формулы и уравнения зависят от конкретной постановки проблемы. При этом, как правило, задачу сводят к последовательности рекурсивны формул или уравнений, отражающих связи, имевших место в задаче, по которым и отыскивается «оптимальное» решение. Рао [291] приводит формулировку применения динамического программирования для решения кластерной проблемы при На языке динамического программирования задачу кластеризации Дженсен описывает в виде следующих рекурсивных уравнений:
где
Переменные у и z представляют собой два состояния (множества объектов) на шаге Разность
что совпадает в ВСК кластера Заметим, что число шагов равно В качестве примера, иллюстрирующего рекурсивные уравнения (3.3), рассмотрим 37-е состояние первого шага и 15-е состояние второго шага; напомним, что
Переходными издержками из 37-го состояния первого шага в первое состояние второго шага будут:
На первом шаге алгоритма динамического программирования для данного множества кластеров вычисляется значение
где
это означает, что максимальный кластер содержит
если
если
На первом шаге алгоритма для всех возможных кластеров NS (1) вычисляется значение В общем случае максимальное число объектов в одном состоянии на шаге k равно максимальной сумме компонент всех форм распределения с первого по
и
если
Число состояний на шаге k определяется как
Общее число состояний при динамическом программировании равно
В рассмотренном подходе большое значение имеет общее число значений В алгоритме динамического программирования общее число допустимых дуг равно:
где
где
В уравнениях (3.11) и (3.12) i обозначает число объектов в классе (допустимых) состояний шага 6. Всего имеется Дженсен предлагает способ вычисления эффективности динамического программирования по сравнению с методом полного перебора. Эта эффективность измеряется отношением общего числа переходных вычислений при динамическом программировании к соответствующему числу вычислений при полном переборе. В качестве альтернативы в числителе можно взять общее число допустимых дуг. В любом случае процедура динамического программирования довольно эффективна. Однако применение методов динамического программирования требует привлечения дополнительной памяти ЭВМ; соответственно увеличивается время вычислений за счет обращения к памяти машины, что в конечном счете может привести к тому, что метод полного перебора окажется более предпочтительным. В любом случае для больших пят, может быть, целесообразнее воспользоваться другими методами, например ISODATA [18] или ступенчатым. Для иллюстрации методики, предложенной Дженсеном, рассмотрим наш пример, в котором
как следует из табл. 3.1. Общее число состояний на шаге 0, 1, 2 и 3 находятся из формул:
Эти состояния приведены в табл. 3.1. Таким образом, общее число состояний равно 73. Это число можно было бы получить непосредственным подсчетом состояний в табл. Для
и общее число допустимых дуг между шагами 1 и 2 равно Для
Таким образом, общее число допустимых дуг в нашем примере, как следует из (3.10), равно:
В параграфе 3.1 было показано, что половина состояний на шаге Число допустимых дуг между шагами k и
где
Общее число дуг после редуцирования равно:
Легко проверить, что при Чтобы показать, как работает алгоритм динамического программирования, допустим
Квадраты расстояний равны:
Следуя алгоритму динамического программирования, будем иметь: шаг 0. шаг 1. Вычислим
На данном шаге мы должны получить 50 таких значений; шаг 2. Для каждого множества объектов этого шага вычислим Например,
шаг 3. Для каждого множества объектов этого шага вычислим
Оно соответствует состоянию под номером 15 (см. табл. 3.1), для которого у соответствует множеству (1, 3, 5, 6), z соответствует (1, 2, 3, 4, 5, 6), а Результатом применения процедуры динамического программирования будут кластеры (1, 1) и (1, 2), (3, 4) и (4, 4), (5, 5) и (5, 6) с формой распределения {2}, {2}, {2}. Максимальное значение равно:
Решение показано на рис. 2.
|
1 |
Оглавление
|