Динамическое программирование никогда не бывает слабее, чем Greedy?


15

В сложности схемы у нас есть разделения между степенями различных моделей схемы.

В сложности доказательства мы имеем разделения между степенями различных систем доказательства.

Но в алгоритмическом у нас все еще есть только несколько разделений между степенями алгоритмических парадигм .

Мои вопросы ниже направлены на то, чтобы затронуть эту последнюю проблему для двух парадигм: жадного и динамического программирования.

У нас есть базовый набор элементов, и некоторые семейства его подмножеств объявлены как возможные решения. Мы предполагаем, что это семейство замкнуто вниз: подмножества выполнимого решения возможны. При задании неотрицательных весовых коэффициентов для основных элементов задача состоит в том, чтобы вычислить максимальный общий вес допустимого решения.

Жадный алгоритм начинается с пустого частичного решения и на каждом шаге добавляет еще не обработанный элемент с наибольшим весом, если это возможно, т. Е. Если расширенное решение все еще возможно. Хорошо известная теорема Радо-Эдмондса гласит, что этот алгоритм найдет оптимальное решение для всех входных весов, если семейство возможных решений является матроидом.

Грубо говоря, алгоритм DP прост , если он использует только операции Max и Sum (или Min и Sum). Чтобы быть более конкретным (как предложил Джошуа), под простым алгоритмом DP я буду понимать (max, +) схему с вентилями Fanin-2 Max и Sum. Входные данные являются переменными, я из которых соответствует весу, данному я му элементу. Такая схема может решить любую такую ​​проблему, просто вычисляя максимальный общий вес возможного решения. Но это может быть огромным преувеличением, если у нас экспоненциально много таких решений (как это почти всегда бывает).

Вопрос 1: Существуют ли матроиды, для которых любому простому алгоритму DP потребуется суперполиномиальное число операций для решения соответствующей задачи максимизации?

КОММЕНТАРИЙ (добавлено 24.12.2015): Этот вопрос уже ответил (см ниже): есть есть такие матроиды, даже в подавляющем большинстве.

Следующий вопрос состоит в том, чтобы отделить Greedy от простого DP для задач аппроксимации . В задаче сопоставления с максимальным весом семейство возможных решений состоит из всех сопоставлений в полном двудольном графе N×N . Для данного присвоения весов его ребрам цель состоит в том, чтобы вычислить максимальный вес сопоставления (это всегда будет идеальное сопоставление, так как вес неотрицателен).

Простой жадный алгоритм может аппроксимировать эту проблему с коэффициентом 2: просто всегда берите невидимый непересекающийся край максимального веса. Полученный вес будет составлять не менее половины оптимального веса.

Вопрос 2: Может ли простой алгоритм DP приблизить задачу согласования максимального веса с множителем 2, используя только полиномиально много операций Max и Sum?

Конечно, тривиальный алгоритм DP, который выводит умноженный на максимальный вес ребра, аппроксимирует эту проблему в пределах коэффициента n . Но мы хотим гораздо меньший фактор. Я думаю, что даже фактор n / log n не может быть достигнут, но, опять же: как это доказать ? NNN/журнал⁡N

СВЯЗАННЫЕ: двоюродный брат Макс-Вес соответствия задачей назначения : найдите минимальный вес идеального сопоставления. Эта проблема может быть решена (даже точно) с помощью линейного программирования (так называемый венгерский алгоритм), используя только операций. Но нижняя граница Разборова на размер монотонных логических схем, вычисляющих постоянную функцию, подразумевает (не совсем напрямую), что любая (min, +) схема, аппроксимирующая эту проблему в любом (!) Конечном множителе, должна использовать n Ω ( log n ) операций , Таким образом, для минимизацииО(N3)NΩ(журнал⁡N)проблемы, простые алгоритмы DP могут быть намного слабее, чем линейное программирование. Мои вопросы выше направлены на то, чтобы показать, что такие алгоритмы DP могут быть даже слабее, чем Greedy.

Кто-нибудь видел подобные вопросы, рассматриваемые кем-то?


ДОБАВЛЕНО (24.12.2015): Вопрос 2 направлен на то, чтобы показать, что одна конкретная проблема максимизации (проблема согласования максимального веса), которая может быть аппроксимирована жадным алгоритмом с коэффициентом рзнак равно2 , не может быть аппроксимирована простым множителем ДП с тем же коэффициентом р . Между тем, я получил более слабое разделение между Greedy и простым DP: для каждого рзнак равноо(N/журнал⁡N) существует явная проблема максимизации, которая может быть аппроксимирована жадным алгоритмом с фактором р , но без простого DP с полиразмером Алгоритм может приблизить эту проблему с меньшимкоэффициент (см. здесь эскиз). Тем не менее, сам вопрос 2 (не обязательно для этой конкретной проблемы максимального веса) остается актуальным: было бы интересно нацелить один и тот же фактор на оба алгоритма.<р/3


2
Вы хотите определить «простой алгоритм DP» как «любую (max, +) схему с затворами разветвления 2»?
— Джошуа Грохов

Икся,JКND(J,1)знак равноИксs,JD(J,L)знак равномин{D(J,L-1),мяNя{D(я,L-1)+Икся,J}}D(T,N-1)О(N3)

Ответы:


6

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

КNКNее(Максимум,+)

22N/N3/2N

2ККматроиды. С другой стороны, насколько мне известно, алгоритмы аппроксимации, основанные на DP, обычно используют своего рода «масштабирование» входных весов и применяются только к задачам типа «ранца» или к некоторым задачам планирования. Отрицательный ответ на вопрос 2 подтвердил бы эту кажущуюся слабость приближения DP.


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.