Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
dprotsenko_NIRS.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
217.6 Кб
Скачать

2.5 Жадібний алгоритм

У разі застосування цього алгоритму чинимо так: сортуємо предмети за спаданням вартості одиниці кожного. , де – відносна вартість одиниці предмета i, – вага предмета i, – вартість предмета i. Всього N предметів. Намагаємося помістити в рюкзак все що поміщається, і водночас найбільш дороге по параметру P.

Швидкість роботи щодо інших алгоритмів висока, але якщо подивитися більш уважно, видно, що оптимальне рішення ми отримаємо не завжди. Звернімо увагу на таблицю 1.

Таблиця 1 – Приклад

Номер предмета (i)

Вага предмета (кг)

Ціна (у.о)

Відносна ціна (у.о/кг)

1

10

60

6

2

20

100

5

3

30

120

4

Як видно предмети вже відсортовані. Нехай в рюкзак поміщається 50кг, слідуючи алгоритму, беремо перший предмет, потім другий, третій предмет вже не поміщається. Таким чином, в рюкзаку у нас 30кг вартістю 160у.е, місце, що залишилося 20кг. Але якби ми взяли другий і третій предмети, загальна вага дорівнювала б 50 кг, і вартість його була б 220у.е. Жадібний алгоритм не дає оптимального рішення, тому він є наближеним алгоритмом.

2.6 Порівняльна характеристика алгоритмів

Порівняльна характеристика усіх алгоритмів, що були розглянуті, наведена у Таблиці 2.

Таблиця 2 – Порівняльна характеристика алгоритмів

Переваги

Недоліки

Алгоритм повного перебору

  • точність результату;

  • простота реалізації

  • кількість вхідних даних невелика;

  • час виконання О (N!)

Метод гілок та меж

  • простота реалізації;

  • можливе значне скорочення часу виконання;

у найгіршому випадку працює як алгоритм повного перебору;

Метод динамічного програмування

точність результату

велика кількість тимчасових результатів;

Жадібний алгоритм

  • простота реалізації;

  • швидкість роботи;

  • може працювати з великими значеннями N;

  • не використовує надмірно ресурси комп’ютера;

завжди можна знайти такий набір вхідних даних, що результат буде не оптимальний;

На рис.2.3 показано співвідношення часу роботи алгоритмів: по вертикальній осі відмічаємо час (1/10000 с), по горизонтальній – кількість предметів. Для ДП-алгоритму для кількості N предметів вага розраховувалась по формулі , адже швидкість роботи ДП-алгоритму залежить від добутку w на N.

Рис. 2.3 – Часова характеристика роботи алгоритмів

Висновок

У ході дослідження задачі про рюкзаку були виявлені три основних алгоритму рішення: повний перебір, ДП–програмування, жадібний алгоритм. Також було розглянуто метод гілок і меж, але як скорочення повного перебору. Всі методи розділені на дві групи. Перша група – точні методи, сюди входять ДП–алгоритми, повний перебір і метод гілок і меж. Друга група – наближені методи. До таких методів відноситься жадібний алгоритм. Вибір використання того чи іншого методу спірне питання, все залежить від постановки завдання, а також від того, яка мета поставлена. Якщо потрібно знайти точне рішення, то, звичайно, потрібно використовувати точні методи. При невеликому наборі вхідних даних (предметів до 10-20), підійде перебір або метод гілок і меж в силу простоти реалізації. При великих – слід використовувати ДП–алгоритм. Якщо ж точність розв’язання не так важлива, або вхідні дані такі, що жоден з точних методів не працездатний, залишається застосовувати тільки наближені алгоритми. Проте є можливість комбінування різних методів для прискорення. Сподіватися ж на побудову поліноміального алгоритму немає сенсу, адже задача є NP-повною. Безумовно, дана задача дуже важлива з точки зору її застосування в реальному житті. Не дивлячись на свою «старовину», рюкзак не тільки не забувається, а навпаки, інтерес до нього зростає. Оптимальна завантаження транспорту допомагає скорочувати витрати, отримувати більший прибуток. Також завдання застосовується в криптографії та прикладній математиці.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]