Аргумент зарядки - Charging argument
В Информатика, а аргумент обвинения используется для сравнения результатов алгоритма оптимизации с оптимальным решением. Обычно он используется, чтобы показать, что алгоритм дает оптимальные результаты, доказывая существование определенного инъективная функция. За максимизация прибыли задач функция может быть любым взаимно однозначным отображением элементов оптимального решения в элементы вывода алгоритма. Для задач минимизации затрат функция может быть любым взаимно однозначным отображением элементов вывода алгоритма на элементы оптимального решения.
Правильность
Чтобы алгоритм мог оптимально решить задачу максимизации прибыли, алгоритм должен выдавать результат, который имеет такую же прибыль, как оптимальное решение для всех возможных входов. Позволять |А (I)| обозначают прибыль от выхода алгоритма при вводе я, и разреши |ОПТ (I)| обозначают прибыль от оптимального решения для я. Если инъективная функция ч: ОПТ (I) → А (I) существует, следует, что |ОПТ (I)| ≤ |А (I)|. Поскольку оптимальное решение имеет наибольшую достижимую прибыль, это означает, что результат, выдаваемый алгоритмом, столь же прибылен, как и оптимальное решение, и поэтому алгоритм является оптимальным.
Правильность аргумента о начислении платы для задачи минимизации затрат является симметричной. Если |А (I)| и |ОПТ (I)| обозначают стоимость выхода алгоритма и оптимального решения соответственно, то существование инъективной функции ч: A (I) → OPT (I) будет означать, что |А (I)| ≤ |ОПТ (I)|. Поскольку оптимальное решение имеет наименьшую стоимость, а стоимость алгоритма такая же, как стоимость оптимального решения задачи минимизации, то алгоритм также оптимально решает проблему.
Вариации
Аргументы начисления также могут использоваться для отображения результатов аппроксимации. В частности, его можно использовать, чтобы показать, что алгоритм - это п-приближение к задаче оптимизации. Вместо того, чтобы показывать, что алгоритм дает результаты с тем же значением прибыли или затрат, что и оптимальное решение, покажите, что он достигает этого значения в пределах коэффициента п. Вместо того, чтобы доказывать существование однозначной функции, аргумент о начислении платы фокусируется на доказательстве того, что поднозначная функция существует для доказательства результатов аппроксимации.
Примеры
Проблема интервального планирования
Учитывая набор п интервалы I = {I1, Я2, ..., яп}, где каждый интервал яя ∈ я есть время начала sя и время окончания жя, куда sя
Учитывайте самое раннее время окончания жадный алгоритм, описываемый следующим образом:
- Начните с пустого набора интервалов.
- Отсортируйте интервалы в я по возрастанию времени окончания.
- Рассмотрим каждый интервал в я в отсортированном порядке. Добавьте интервал в набор, если он не противоречит интервалам, уже содержащимся в наборе. В противном случае игнорируйте интервал.
Задачу интервального планирования можно рассматривать как задачу максимизации прибыли, где количество интервалов во взаимно совместимом подмножестве является прибылью. Аргумент начисления платы может использоваться, чтобы показать, что алгоритм самого раннего времени окончания является оптимальным для задачи интервального планирования.
Учитывая набор интервалов I = {I1, Я2, ..., яп}, позволять ОПТ (I) - любое оптимальное решение задачи интервального планирования, и пусть EFT (I) быть решением самого раннего алгоритма времени окончания. Для любого интервала J ∈ OPT (I), определять h (Дж) как интервал J '∈ EFT (I) что пересекается J с самым ранним временем финиша среди всех интервалов в EFT (I) пересекающийся J. Чтобы показать, что алгоритм самого раннего времени окончания является оптимальным, используя аргумент начисления, час должны быть показаны как взаимно однозначные интервалы отображения функций в ОПТ (I) тем, кто в EFT (I). Предполагать J - произвольный интервал в ОПТ (I).
Покажи это час отображение функций ОПТ (I) к EFT (I).
- Предположим от противного, что нет интервала J '∈ EFT (I) удовлетворение h (J) = J '. По определению час, это означает, что в EFT (I) пересекается с J. Однако это также означало бы, что J совместим с каждым интервалом в EFT (I), и поэтому самый ранний алгоритм времени окончания добавил бы J в EFT (I), и так J ∈ EFT (I). Возникает противоречие, поскольку J предполагалось, что не пересекается ни с одним интервалом в EFT (I), пока что J в EFT (I), и J пересекается с самим собой. Таким образом, от противного J должен пересекаться хотя бы с одним интервалом в EFT (I).
- Осталось показать, что h (Дж) уникален. Исходя из определения совместимости, никогда не может быть случая, чтобы два совместимых интервала имели одинаковое время окончания. Поскольку все интервалы в EFT (I) взаимно совместимы, ни один из этих интервалов не имеет одинакового времени окончания. В частности, каждый интервал в EFT (I) что пересекается с J иметь четкое время отделки, и поэтому h (Дж) уникален.
Покажи это час один на один.
- Предположим от противного, что час не является инъективным. Тогда есть два различных интервала в ОПТ (I), J1 и J2, так что час отображает оба J1 и J2 к тому же интервалу J '∈ EFT (I). Без ограничения общности предположим, что f1
2. Интервалы J1 и J2 не могут пересекаться, потому что оба они находятся в оптимальном решении, и поэтому f1 ≤ s2 2. С EFT (I) содержит J ' вместо J1, самый ранний обнаруженный алгоритм времени окончания J ' перед J1. Таким образом, f '≤ f1. Однако это означает, что f '≤ f1 ≤ s2 2 , так J ' и J2 не пересекаются. Это противоречие, потому что час не могу отобразить J2 к J ' если они не пересекаются. Таким образом, от противного час инъективно.
Следовательно, час является функцией взаимно однозначного отображения интервалов в ОПТ (I) тем, кто в EFT (I). Согласно аргументу зарядки, алгоритм самого раннего времени окончания является оптимальным.
Проблема планирования интервалов выполнения работ
Рассмотрим проблему планирования интервалов заданий, NP-жесткий ранее посещенный вариант задачи интервального планирования. Как и раньше, цель состоит в том, чтобы найти максимальное подмножество взаимно совместимых интервалов в заданном наборе п интервалы, I = {I1, Я2, ..., яп}. Каждый интервал яя ∈ я есть время начала sя, время окончания жя, и класс работы cя. Здесь два интервала яj и яk считаются совместимыми, если они не пересекаются и имеют разные классы.
Вспомните самый ранний алгоритм времени окончания из предыдущего примера. После изменения определения совместимости в алгоритме можно использовать аргумент начисления платы, чтобы показать, что алгоритм самого раннего времени окончания является алгоритмом с двумя приближениями для задачи планирования интервалов заданий.
Позволять ОПТ (I) и EFT (I) обозначают оптимальное решение и решение, полученное с помощью алгоритма самого раннего времени окончания, как определено ранее. Для любого интервала J ∈ OPT (I), определять час следующее:
Чтобы показать, что алгоритм самого раннего времени окончания является алгоритмом с двумя приближениями с использованием аргумента начисления, час должны быть показаны как два-к-одному интервалы отображения функций в ОПТ (I) тем, кто в EFT (I). Предполагать J - произвольный интервал в ОПТ (I).
Покажи это час отображение функций ОПТ (I) к EFT (I).
- Во-первых, обратите внимание на то, что в EFT (I) с тем же классом работы, что и J, или нет.
- Случай 1. Предположим, что некоторый интервал в EFT (I) имеет тот же класс работы, что и J.
- Если есть интервал в EFT (I) с тем же классом, что и J, тогда J будет отображаться в этот интервал. Поскольку интервалы в EFT (I) взаимно совместимы, каждый интервал в EFT (I) должен иметь другой класс работы. Таким образом, такой интервал уникален.
- Случай 2. Предположим, что в EFT (I) с тем же классом работы, что и J.
- Если нет интервалов в EFT (I) с тем же классом, что и J, тогда час карты J к интервалу с самым ранним временем окончания среди всех интервалов в EFT (I), пересекающих J. Доказательство существования и единственности такого интервала приведено в предыдущем примере.
Покажи это час два к одному.
- Предположим от противного, что час не два к одному. Тогда есть три различных интервала в ОПТ (I), J1, J2, и J3, так что час отображает каждый из J1, J2, и J3 к тому же интервалу J '∈ EFT (I). Посредством принцип голубятни, по крайней мере, два из трех интервалов были сопоставлены с J ' потому что у них тот же класс работы, что и J ', или потому что J '- это интервал с самым ранним временем окончания среди всех интервалов в EFT (I), пересекающих оба интервала. Без ограничения общности предположим, что эти два интервала J1 и J2.
- Случай 1. Предполагать J1 и J2 были сопоставлены с J 'потому что у них тот же класс работы, что и J '.
- Тогда каждый J ', J1, и J2 иметь одинаковый класс работы. Противоречие, так как интервалы в оптимальном решении должны быть совместимы, но J1 и J2 не.
- Случай 2. Предполагать J '- это интервал с самым ранним временем окончания среди всех интервалов в EFT (I), пересекающих оба J1 и J2.
- Доказательство этого случая эквивалентно доказательству в предыдущем примере, показавшему инъективность. Противоречие следует из приведенного выше доказательства.
Следовательно, час отображает не более двух различных интервалов в ОПТ (I) к тому же интервалу в EFT (I), и так час два к одному. Согласно аргументу начисления платы, алгоритм самого раннего времени окончания является алгоритмом с двумя приближениями для задачи планирования интервалов задания.
Рекомендации
- Томас Х. Кормен, Чарльз Э. Лейзерсон, Рональд Л. Ривест, и Клиффорд Штайн. Введение в алгоритмы, Второе издание. MIT Press и McGraw-Hill, 2001.
- Санджой Дасгупта, Христос Пападимитриу, и Умеш Вазирани. Алгоритмы, Первое издание. Макгроу-Хилл. 2006 г.
- Аллан Бородин [PDF-документ]. http://www.cs.toronto.edu/~bor/373s11/L2.pdf
- Аллан Бородин [PDF-документ]. http://www.cs.toronto.edu/~bor/373f11/L5-373f11-short.pdf
- Аллан Бородин [PDF-документ]. http://www.cs.toronto.edu/~bor/373s13/L3-actual.pdf