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

1.2.Комівояжор

Умова. Задані кінцева множіна “міст”, “відстань” d (ci,cj)  Z+ для кожної пари “міст” ci, cj  C та межа В  Z+.

Питання. Чи існує маршрут, якій проходить через всі міста з С, довжина якого не перебільшує В? Іншими словами чи існує послідовність <cП(1), cП(2), ... , cП(m)>  т.щ.

Якщо в оптимізаційній задачи серед усіх структур данного типу є структура, яка має мінімальну «вартість» (маршрут мінімальної довжини), то ці задачі можна співставити задачу розпізнавання, в якій в якості додаткового параметра фігурує чіслова межа B, а питання ставиться про існування структури даного типу, вартість якої не перевищує B (маршрут довжини не більше B). Аналогічним чином задачу розпізнавання можно отримати із задачі максимізіціі. Для цього досить умову “не перевищує” замінити умовою “не меньше”.

Для таких пар задач важливо відмітити, що оскільки значення функції легко оцінити, то задача розпізнавання не може бути складнішою відповідної функції оптимізації. Якщо для задачі про комівояжора можна за поліноміальний час знайти маршрут мінімальної довжини, то і відповідну задачу розпізнавання можна розв’язати за поліноміальний час.Для цього потрібно тільки знайти маршрут мінімальної довжини, обчислити його довжину і порівняти її з заданою межею B. Тому, якщо задача про комівояжора NP-повна, то і оптимізаційна задача про комівояжора буде не менш складною.

1.3.Поліноміальні та експоненціальні алгоритми

Скажемо, що функція f (n) є O(g(n)), якщо існує константа С, така, що для всіх значень n0. Поліноміальним алгоритмом (або алгоритмом поліноміальної часової складністі) називається алгоритм, в якому часова складність дорівнює O(p(n)), де p(n) деяка поліноміальна функція, а n вхідна довжина. Алгоритми, часова складність яких не піддається подібній оцінці, називаються експоненціальними (функції типу nlog n за звичай не вважаються експоненціальними).

Різниця між цими типами алгоритмів особливо помітна при вирішенні задач великого розміру.

Табл. 1 Швидкість зростання типових поліноміальних та експоненціальних функцій

Функція часової

Розмір n

складності

10

20

30

40

50

60

n

0,00001 сек

0,00002 сек

0,00003 сек

0,00004 сек

0,00005 сек

0,00006 сек

n2

0,0001 сек

0,0004 сек

0,0009 сек

0,0016 сек

0,0025 сек

0,0036 сек

n3

0,001 сек

0,008 сек

0,027 сек

0,064 сек

0,125 сек

0,216 сек

n5

0,1 сек

3,2 сек

24,3 сек

1,7 хв

5,2 хв

13,0 хв

2n

0,001 сек

1,0 сек

17,9 хв

12,7 днів

35,7 років

366 століть

3n

0,059 сек

58 хв

6,5 років

3855 століть

2108 століть

1,31013 століть

Табл. 2. Вплив збільшення швидкодії ЕОМ на час роботи алгоритмів.

Розмір найбільшої задачі, розв’язаної за 1 годину

Функція часової складності

На сучасних ЕОМ

На ЕОМ в 100 разів швидших

На ЕОМ в 1000 разів швидших

n

N1

100 N1

1000 N1

n2

N2

10 N2

31,6 N2

n3

N3

4,64 N3

10 N3

n5

N4

2,5 N4

3,98 N4

2n

N5

N5+6,64

N5+9,97

3n

N6

N6+4,19

N6+6,29

Більшість експоненціальних алгоритмів (ЕА) - це просто варіанти повного перебору, в той час як поліномінальні алгоритми (ПА) можна побудувати тільки ввійшовши в суть вирішуваної задачі.

Будемо називати задачу важковирішуваною, якщо для її вирішення не існує ПА.

В той же час, відомі ЕА, які досить добре зарекомендували себе на практиці. Через те, що часова складність визначена як міра поведінки алгоритму в негіршому випадку, то той факт, що алгоритм має часову складність порядку 2n, означає тільки те, що розв’язку хоча б однієї індивідуальної задачі розміру n потребує часу порядку 2n. Насправді може виявитися, що більшість індивідуальних задач може бути вирішена за дещо менший час.

Визначимо клас всіх задач, які можна вирішити ПА через Р та, відповідно, клас задач, вирішуваних ЕА через NP.

Питання про взаємовідношення класів P та NP має фундаментальне значення для теорії складностей екстремальних задач. Очевидно, що P  NP, тобто якщо задачу можна розв’язати ПА то її можна також розв'язати і ЕА. Про те, в наш час, існує велечезна кількість задач класса NP, для яких не знайдено поліноміальних алгоритмів розв'язку, не дивлячись на наполегливі зусилля багатьох відомих дослідників. Тому прийнято вважати, що включення P в NP строге або, що P  NP, хоча доведення цієї гіпотези відсутнє.

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