КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Приклад застосування алгоритму АЗП по дугах, що виходять
ЗАДАЧА ПРО НАЙКОРОТШИЙ ШЛЯХ Етап. Планування кроку 1. Зазвичай відомо, у якому стані система може перебувати на початку кроку 1. Тому ніяких припущень про це не треба робити (рис. 6). Враховуючи те, що всі останні кроки вже умовно сплановані, управління на кроці 1 обирається таким чином, щоб воно було оптимальним з урахуванням всіх подальших управлінь.
Рис. 6 Динамічне програмування вирішує задачу, розбиваючи її на підзадачі й поєднуючи їх розв’язки, при цьому воно застосовується тоді, коли підзадачі не є незалежними, тобто, коли у підзадач є спільні «підпідзадачі». Алгоритм, заснований на динамічному програмуванні, розв’язує кожну з підзадач один раз і запам'ятовує відповіді в спеціальній таблиці. Це дозволяє не обчислювати заново відповідь підзадачі, що вже зустрічалася [3]. Обчислення на мережах характерні для ДП. Дослідження мережевих моделей дозволяє краще усвідомити специфіку (суть) обчислювальної схеми ДП. Кожен багатокроковий процес прийняття рішень може бути зведений до задачі знаходження найкоротшого шляху (ЗЗНШ) у спрямованій ациклічній слоїстій мережі (САСМ). Саме з такої точки зору і будемо розглядати ЗЗНШ. Розглянемо ряд визначень. Спрямована мережа - це трійка Наявність дуги Кожній дузі Шляхом Шлях, у якого Мережа називається ациклічною, якщо вона не містить жодного циклу. В спрямованій ациклічній мережі завжди можна позначити вершини цілими числами від 1 до Спрямовану ациклічну мережу Відзначимо, що в загальному випадку
Рис. 7 Кожна спрямована ациклічна мережа може бути зведена до слоїстої мережі шляхом введення фіктивних вершин і дуг. Наступний приклад ілюструє цей процес. Нехай маємо спрямовану ациклічну мережу (рис. 8). Ця мережа не є слоїстою.
Рис. 8 Після додавання фіктивних вершин 4', 5', 6', 7' і 8', а також дуг з нульовими вагами, що входять у ці вершини, одержали слоїсту мережу (рис 9).
Рис. 9 Розглянемо задачу знаходження найкоротшого шляху в САСМ з погляду ідей і прийомів ДП. Нехай Задача може бути інтерпретована як багатокрокова (багатоетапна). У ній кожен шлях складається рівно з На початку кроку Нехай
де
Цей вираз справедливий і при З урахуванням позначень, мета нашої задачі – знайти 3.1 Схема алгоритму зворотньої прогонки (АЗП) по дугах, що виходять 1. Вважаємо, що 2. Планування кроку 2.1. Виділити всі можливі стани, які можуть бути на початку кроку 2.2. Для кожного
(мінімум шукаємо по дугах, що виходять). Запам'ятати вершину 3. 4. Формування оптимального розв’язку. Для знаходження найкоротшого шляху пройти по мережі в напрямку, зворотньому до напрямку розрахунків, використовуючи знайдені умовні оптимальні розв’язки (вершини) Використовуючи алгоритм зворотньої прогонки по дугах, що виходять, знайти найкоротший шлях з вершини 1 у вершину 10 (рис. 10).
При застосуванні алгоритму зворотньої прогонки, першим планується крок 4 (останній крок). Вважаємо, що Планування кроку 4. Виділимо всі можливі стани, які можуть мати місце на початку кроку 4, тобто визначимо множину
Заповнюємо таблицю таким чином:
У стовпчику Планування кроку 3. На початку цього кроку система може перебувати в одному з трьох станів (вершин): 5, 6 й 7. Якщо система, наприклад, перебуває в стані (вершині) 5, то з нього можна вийти по дугах
Для стану
Отримали: Аналогічні дії виконуються і для випадків, коли на початку кроку 3 система перебуває в станах 6 або 7:
Аналогічно плануються кроки 2 і 1. Повний процес розв’язку задачі наведено у таблиці 1: Таблиця 1
Порядок формування відповіді (найкоротшого шляху) показаний стрілками. Відповідь: найкоротший шлях: 1-3-7-9-10, довжина шляху 17.
Дата добавления: 2014-11-29; Просмотров: 462; Нарушение авторских прав?; Мы поможем в написании вашей работы! |