Начнём решение задачи с конечного пункта, за который примем
точку В.
В точку В можно попасть за один (последний) шаг или из точки
С
1
или из точки С
2
. Предположим, что каким-либо способом удалось
попасть в С
1
или С
2
. Затраты на последний шаг будут 12 или 10 ед.
Поставим величину затрат в кружки и
укажем направление последнего шага стрелками. Сместимся теперь в
точку D
i
. Опять считаем, что каким то образом эти точки уже
достигнуты. Проследим возможные пути в точку В. Из D
1
есть один
путь через С
1
, затраты при этом будут равны 25.
Из D
2
есть уже два пути: через С
1
и С
2
. Один путь даёт затраты
28, а другой 26. Через С
1
в В путь менее рационален, поэтому его из
дальнейших рассуждений исключаем. Ставим в D
2
кружок с
затратами 26 и стрелку оптимального управления в сторону С
2
. Также
анализируем точку D
3
. Из D
3
есть только один путь через С
2
. Ставим в
D
3
кружок с затратами 24 и стрелку оптимального управления в
сторону С
2
. Обратим внимание на то, что неоптимальная траектория
сразу исключается из рассмотрения. В этом и состоит смысл
динамического программирования. Перейдём к точке E
i
. Точки Е
1
и
Е
4
дают единственно возможные траектории.
Точки Е
2
и Е
3
дают по две траектории каждая, из которых
выбираем оптимальные, т.е. дающие минимум затрат. Причём из
точки Е
2
используем только оптимальную траекторию. Из всех
возможных путей из точек Е
1
, Е
2
, Е
3
, Е
4
остаются только четыре
(показаны стрелками). Переход таким же образом к точкам F
i
, G
i
и,
наконец, к А, получаем оптимальный путь, который на рисунке
отмечен жирной линией и даёт минимально возможный расход в
условных единицах- 59. Оптимальный путь можно трактовать как
оптимальную траекторию в принятой системе координат. Отметим
ещё раз, что по мере продвижения от В к А последовательно
исключились неоптимальные траектории. Это исключение
значительно упростило нахождение оптимальной траектории. При
Рис. 3.9.