Чи має кожен жадібний алгоритм матроїдну структуру?


13

Добре відомо , що для кожного матроідов і будь-якій ваговій функції , то виходить в алгоритм , яка повертає максимальна вага основи . Отже, чи справжній і зворотний напрям? Тобто, якщо є якийсь жадібний алгоритм, то повинна бути і якась структура материнської системи.MwGreedyBasis(M,w)M


Алгоритм Дейкстри часто вважають жадібним алгоритмом (наприклад, див. Розділ 4.4 «Дизайн алгоритмів» Клейнберга та Тардоса). Я не знаю матроїдної інтерпретації найкоротших шляхів з одним джерелом.
Ніл Янг

Розбиття набору реальних інтервалів на мінімальну кількість підмножин, що розмежовуються попарно, має природний жадібний алгоритм (перераховуйте інтервали за часом початку, для кожного додавання його до наявного підмножини, якщо можливо, інакше запускайте новий підмножина; див. Розділ 4 Кляйнберга та Тардос). Чи можна цю проблему розуміти як матроїд?
Ніл Янг

Відповіді:


12

Власне, повний та загальний опис проблеми, яку можна вирішити жадібним алгоритмом, - це вкладення матроїдів , яке узагальнює як поняття матроїд, так і поняття гредоїда . Відповідь - ні. Проблема, вирішена жадібним алгоритмом, не повинна мати структури матроїдів, але вона матиме структуру вбудовування матроїдів (що, на жаль, набагато складніше).

Розумовою моделлю для цього може стати пошук мінімуму дерев, що охоплюють. Структура, що використовується алгоритмом Крускала, є матроїдом, але така, яка використовується алгоритмом Прима (для якого потрібен пусковий вузол), не є. (Це, однак, гредоїд - і вкладка матроїда.)

Helman та ін. (1993) у своїй роботі «Точна характеристика жадібних структур» визначає їх поняття жадібного алгоритму з точки зору заданих систем, що є тим самим формалізмом, який використовується для матроїдів та гредодоїдів. Система множин складається з множини та колекції підмножин , так званих можливих наборів . Основою для безлічі системи є максимальним допустимим безліччю, то є безліч, можливо , але не містяться в жодному іншому допустимому безлічі. Цільова функція пов'язує кожен підмножина зі значенням. AnS C S f : 2 SR S(S,C)SCS f:2SRSПроблема оптимізації в цьому формалізмі полягає у пошуку основи максимального об'єктивного значення для заданої системи та об'єктивної функції.

Жадібний алгоритм, визначений з точки зору цього формалізму, досить простий: ви починаєте з порожнього набору і послідовно додаєте один елемент, поки не досягнете основи, завжди гарантуючи, що (i) ваш набір здійсненний на кожному кроці, і ( ii) доданий елемент максимізує цільову функцію отриманого результату, wrt. всі альтернативні елементи, які ви могли б додати. (Тобто, концептуально, ви намагаєтеся додати всі можливі альтернативи та вибираєте той, який дає найвищу цільову цінність.)

Можна, мабуть, стверджувати , що можуть існувати і інші форми жодного алгоритму, але є кілька підручників з алгоритмами і комбінаторної оптимізації , які описують цю систему множин алгоритму , заснований як на жадібному алгоритмі. Це не заважає описувати щось, що не підходить, але все-таки можна було б назвати жадібним. (Все-таки, це стосується всього, що потенційно може мати структуру матроїдів, наприклад, хоча це набагато загальніше.)

Що Helman та ін. робити це те, що вони описують, коли цей алгоритм буде працювати. Більш конкретно:

  1. Вони показують, що для лінійних об'єктивних функцій (де об'єктивне значення становить суму ваг елементів) жадібний алгоритм буде працювати саме на структуру, яку вони визначають як вбудова матроїда;

  2. Вони дають аналогічну характеристику для так званих вузьких цілей (де об'єктивне значення набору дорівнює мінімуму над вагами окремих елементів); і

  3. Вони дають точну характеристику того, які об’єктивні функції (крім лінійних) оптимізовані жадібним алгоритмом на вкладках матроїдів.


3
Чи можете ви пояснити, яке їх визначення жадібного алгоритму?
Каве

1
Я розширив свою відповідь, щоб пояснити, що таке їх формалізм.
Magnus Lie Hetland

11

Жадібний алгоритм не є формально визначеним поняттям. Існують різні моделі, які намагаються зафіксувати це інтуїтивне поняття, але немає єдиної думки щодо алчного алгоритму. Якщо ви не вказали формальне визначення того, що ви маєте на увазі під жадним алгоритмом, на питання не можна відповісти як так чи ні.

Існує узагальнення матроїдів під назвою greedoid, яке надихається жадібними алгоритмами, на що ви можете поглянути.


Офіційне визначення не потрібно, якщо ми домовляємось про якусь властивість класу жадібних алгоритмів. Наприклад, якщо ми погодилися, що кожен жадібний алгоритм має (формально визначену) властивість P, і ми показали, що кожен алгоритм, який задовольняє P, можна визначити на матроїді, це дасть позитивну відповідь на питання ОП. Так само, якби ми погодилися, що певний алгоритм є жадібним, і ми показали, що це не може бути жадібним алгоритмом матроїда, це дасть негативну відповідь.
Окремий Лаконіан

2

Розглянемо наступні проблеми: ЄВРО-МЕЖАВАННЯ ЄВРО: Враховуючи нескінченну суму 1,2,5,10 євро, виплачуйте X євро, використовуючи якомога менше банкнот. Це можна вирішити, використовуючи жадібний алгоритм, який бере найбільшу увагу. Але в цій проблемі немає структури матроїдів.

ПОКРИТТЯ СВЯТА: У позиціях x_1, x_2, ..., x_n є отвори. У вас пластир довжиною 10 див. Заклейте отвори, використовуючи якомога менше пластирів. Знову це можна вирішити жадібним способом (просто поставте патч якомога правильніше), але немає структури матроїдів.


дякую, я мав свої підозри, але не був впевнений. Отже, нам доведеться шукати жадібний алгоритм, навіть якщо не існує структури матроїдів.

1
@ user3373748 Я зазвичай просто шукаю динамічну програму. Жадібний - вироджений DP.

1
(Щоб не бути вибагливим, але немає банкнот від 1 до 2 євро; ви можете змінити набір значень на {5, 10, 20, 50, 100, 200} або перефразовувати ;-))
Ентоні Лабарре

Зауважте, що описаний алгоритм зміни монети працює для {1,2,5,10}, але може не обчислювати оптимальні результати для інших значень. Приклад: З {1,3,4} оптимальним рішенням для 6 було б [3,3], але алгоритм повернеться [4,1,1].
Socowi

1
Існує матроїдна структура для проблеми зміни монет - gauss.ececs.uc.edu/Courses/C671/html/Homework/hw5_sol.html
Tushant Mittal
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.