Чи динамічне програмування ніколи не слабкіше за жадібне?


15

У складності ланцюга ми маємо розділення між потужностями різних моделей схем.

У складності доказування ми маємо розділення між повноваженнями різних систем доказування.

Але в алгоритмічній формі у нас залишається лише кілька розділень між потужностями алгоритмічних парадигм .

Мої запитання нижче мають на меті торкнутися цієї останньої проблеми для двох парадигм: Жадібне та Динамічне програмування.

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

Жадібний алгоритм починається з порожнього часткового рішення, і на кожному кроці він додає ще не оброблений елемент найбільшої ваги, якщо це можливо, тобто якщо розширене рішення все ще можливо. Відома теорема Радо-Едмондса стверджує, що цей алгоритм знайде оптимальне рішення для всіх вхідних зважувань, якщо сімейство можливих рішень є матроїдом.

Грубо кажучи, алгоритм DP простий , якщо він використовує лише операції Max і Sum (або Min і Sum). Якщо бути більш конкретним (як запропонував Джошуа), під простим алгоритмом DP я маю на увазі схему (max, +) з воротами fanin-2 Max та Sum. Вхідні дані - це змінні, -та з яких відповідає вазі, заданій i -му елементу. Така схема може вирішити будь-яку подібну проблему, просто обчисливши максимальну загальну вагу можливого рішення. Але це може бути величезним перебільшенням, якщо у нас експоненціально багато таких рішень (як це майже завжди).ii

Запитання 1: Чи є матроїди, на яких будь-якому простому алгоритму DP потрібен суперполіномальний ряд операцій для вирішення відповідної задачі максимізації?

КОМЕНТАР (додано 24.12.2015): На це питання вже відповіли (див. Нижче): є такі матроїди, навіть у переважній більшості.

Наступне питання вимагає розділити Жадібний та простий DP для задач наближення . У задачі про співвідношення максимальної ваги сімейство можливих рішень складається з усіх відповідностей у повному двобічному графіку . Для заданого призначення ваг його країв, мета - обчислити максимальну вагу відповідності (це завжди буде ідеальною відповідністю, оскільки вага не відзначається). n×n

Простий жадібний алгоритм може наблизити цю проблему до коефіцієнта 2: просто завжди приймайте ще не бачений непересічний край максимальної ваги. Отримана вага буде не менше половини від оптимальної ваги.

Запитання 2: Чи може простий алгоритм DP наблизити задачу співвідношення максимальної ваги до коефіцієнта 2, використовуючи лише багаточлени багато операцій Max та Sum?

Звичайно, тривіальний алгоритм DP, який виводить разів більше максимальної ваги ребра, наближає цю задачу до коефіцієнта n . Але ми хочемо набагато менший фактор. Я думаю, що навіть фактор n / log n не може бути досягнутий, але, знову ж таки: як це довести ? nnn/logn

ПОВ'ЯЗАНО: Двоюрідний брат, який відповідає максимальній вазі, - це завдання призначення : знайти мінімальну вагу ідеального відповідника. Цю проблему можна вирішити (навіть точно) лінійним програмуванням (так званим угорським алгоритмом), використовуючи лише операції . Але нижня межа Розборова щодо розміру монотонних булевих схем, що обчислюють постійну функцію, передбачає (не зовсім прямо), що будь-яка (хв, +) схема, що наближає цю проблему до будь-якого (!) Кінцевого коефіцієнта, повинна використовувати n Ω ( log n ) операцій . Таким чином, для мінімізаціїO(n3)nΩ(logn)проблеми, прості алгоритми DP можуть бути набагато слабкішими, ніж лінійне програмування. Мої запитання вище мають на меті показати, що такі алгоритми DP можуть бути навіть слабшими, ніж жадібні.

Чи бачив хтось подібні питання, які хтось розглядав?


ДОБАВЕНО (24.12.2015): Питання 2 має на меті показати, що одна конкретна проблема максимізації (Максимальна вага), яка може бути апроксимована алчним алгоритмом з коефіцієнтом , не може бути апроксимована простою величиною DP з тим же фактором r . Тим часом я отримав більш слабкий поділ між жадібним та простим DP: для кожного r = o ( n / log n ) існує явна проблема максимізації, яку можна наблизити до жадного алгоритму з фактором r , але немає простого простого DP алгоритм може наближати цю задачу до коефіцієнтаr=2rr=o(n/logn)r меншої (див.<r/3 тут ескіз). Тим не менш, саме питання 2 (не обов'язково для цієї конкретної проблеми з максимальною вагою) залишається актуальним: було б цікаво орієнтуватися на один і той же фактор обома алгоритмами.


2
Ви маєте на увазі визначити "простий алгоритм DP" як "будь-яка (макс., +) Схема з воротами вентилятора 2"?
Джошуа Грохов

xi,jKnD(j,1)=xs,jD(j,l)=min{D(j,l1),mini{D(i,l1)+xi,j}}D(t,n1)O(n3)

Відповіді:


6

Я думаю, що відповідь на моє запитання 1 є ствердною : є матроїди, на яких простий ДП погано виходить з ладу! Тобто, простий DP може бути набагато гіршим, ніж жадібний, коли намагається точно вирішити проблему оптимізації .

KnKnff(max,+)

22n/n3/2n

2kkматроїди. З іншого боку, наскільки я знаю, алгоритми наближення, засновані на DP, зазвичай використовують якесь «масштабування» вхідних ваг, і застосовуються лише до проблем, як «ранець», або деяких проблем із плануванням. Негативна відповідь на питання 2 підтвердила б цю, здавалося б, "слабкість апроксимації" ДП.


1
Дещо дотичне зауваження: DP також використовується в алгоритмах стилю Арора для різних евклідових задач з фіксованим розміром, наприклад, Евклідової TSP. Але це все ще в дусі округлення вхідних даних.
Сашо Ніколов

@Sasho: Так, це справді милі алгоритми на основі DP. Woeginger навіть зробив спробу виявити проблеми, для яких DP може допомогти наблизити їх. Але я не бачив жодного хорошого наближення DP, яке є чистим (тільки Max і Sum або Min і Sum, ніякого округлення / масштабування, не ArgMax тощо). Звичайно, це могла бути лише моєю провиною: алгоритми наближення для мене щось нове .
Стасіс

Я не знаю жодного прикладу гарного "чистого" наближення DP, у вашому розумінні чистого: у всіх прикладах, які я знаю, я використовую певну форму округлення.
Сашо Ніколов
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.