Научная статья на тему 'Уточнение логарифмической оценки точности жадного алгоритма для задачи о покрытии'

Уточнение логарифмической оценки точности жадного алгоритма для задачи о покрытии Текст научной статьи по специальности «Математика»

CC BY
76
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЗАДАЧА О ПОКРЫТИИ / ЖАДНЫЙ АЛГОРИТМ / SET COVER PROBLEM / GREEDY ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Пролубников А.В.

Модифицируя подход, дающий доказательство логарифмической оценки точности жадного алгоритма для задачи о покрытии, мы получаем оценку точности жадного алгоритма для индивидуальной задачи о покрытии. В работе производится сравнение этой оценки с другими оценками такого типа. Даются примеры индивидуальных задач для которых предложенная оценка оказывается существенно лучше, чем оценка, которая может быть получена на основе ЛП-релаксации задачи о покрытии. Используемый подход позволяет разбить множество индивидуальных задач заданной размерности с произвольными весами из $\mathbb{R}_+$ на классы задач, для которых оценка одинакова, что позволяет показать, что оценка оказывается тем точнее, чем больше минимальная мощность допустимых покрывающих множеств. Показывается также, что с ростом размерности задачи о покрытии доля таких индивидуальных задач растёт.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

An Estimation of the Greedy Algorithm's Accuracy for a Set Cover Problem Instance

Considering the set cover problem, by modifying the approach that gives a logarithmic approximation guarantee for the greedy algorithm, we obtain an estimation of the greedy algorithm's accuracy for a particular input. We compare the presented estimation to another estimations of this type. We give such examples of the set cover problem instances that the presented estimation sagnificantly improves over linear programming relaxation based estimation.

Текст научной работы на тему «Уточнение логарифмической оценки точности жадного алгоритма для задачи о покрытии»

УДК 519.8 DOI 10.24147/2222-8772.2019.4.70-82

УТОЧНЕНИЕ ЛОГАРИФМИЧЕСКОЙ ОЦЕНКИ ТОЧНОСТИ ЖАДНОГО АЛГОРИТМА ДЛЯ ЗАДАЧИ

О ПОКРЫТИИ

А.В. Пролубников

к.ф.-м.н., доцент, e-mail: a.v.prolubnikov@mail.ru

Омский государственный университет им. Ф.М. Достоевского, Омск, Россия

Аннотация. Модифицируя подход, дающий доказательство логарифмической оценки точности жадного алгоритма для задачи о покрытии, мы получаем оценку точности жадного алгоритма для индивидуальной задачи о покрытии. В работе производится сравнение этой оценки с другими оценками такого типа. Даются примеры индивидуальных задач для которых предложенная оценка оказывается существенно лучше, чем оценка, которая может быть получена на основе ЛП-релаксации задачи о покрытии. Используемый подход позволяет разбить множество индивидуальных задач заданной размерности с произвольными весами из R+ на классы задач, для которых оценка одинакова, что позволяет показать, что оценка оказывается тем точнее, чем больше минимальная мощность допустимых покрывающих множеств. Показывается также, что с ростом размерности задачи о покрытии доля таких индивидуальных задач растёт.

Ключевые слова: задача о покрытии, жадный алгоритм.

Введение

В задаче о покрытии (ЗПМ), нам дано множество и = {1,...,т} = [га], и такой набор его подмножеств 5 = {51,..., вп}, что

п

и & = и.

г=1

Набор Б' = {Б^ ,...,Бц }, е Б, называется покрытием и, если

I

и ^=и-

3 = 1

Задана весовая функция т : 5 ^ К+ (К+ = {х е К : х ^ 0}), од = ■ш(8г) — вес множества Вес набора множеств 5" = ,...,вг1} равен сумме весов содержащихся в нём множеств:

I

3 = 1

Требуется найти оптимальное покрытие U, то есть необходимо найти покрытие U минимального веса.

Индивидуальная задача о покрытии — это ЗПМ с заданными значениями U, S и w. Пусть А — алгоритм нахождения приближённого решения для ЗПМ. Оценкой гарантированной точности алгоритма А называется такое значение рл(т), что для любой индивидуальной задачи V, которая может быть определена на U =[т], мы имеем

w(Cvr) w(Opt)

где Cvr — это покрытие, полученное с помощью А для индивидуальной задачи V, а Opt — оптимальное решение V.

ЗПМ NP-трудна [1]. В [2] показано, что при условии Р = NP, рл(т) > (1 — o(1))lnт для любого приближённого алгоритма А с полиномиальной вычислительной сложностью. В [3,4] представлены другие результаты о невозможности получения алгоритмом с полиномиальной вычислительной сложностью приближённого решения с лучшей оценкой гарантированной точности, чем логарифмическая.

Вычислительная сложность жадного алгоритма для ЗПМ составляет 0(т2п). Для этого алгоритма имеет место логарифмическая оценка гарантированной точности [5]:

W(Gj\ ^ Н(т) ^ ln т +1, (1)

w(upt)

где Gr — это покрытие, полученное с помощью жадного алгоритма, Н(m) = Y^™=11/^. Для индивидуальной ЗПМ мы имеем

< Н(,Ь), (2)

w(Opt)

где т = шах{|5^ : Si G Opt}, и это значение определено для индивидуальной ЗПМ. Поскольку ЗПМ ^Р-трудна, для того, чтобы получить более точную оценку отношения w(Gr)/w(Opt) для индивидуальной ЗПМ, вместо т мы можем использовать т = шах{|5^| : Si G 5}. Для невзвешенного случая ЗПМ, то есть когда Wi = 1 для всех Si, точные верхние и нижние оценки гарантированной точности жадного алгоритма были получены в [6], где показано, что для оценки гарантированной точности рд(т) жадного алгоритма выполняется

Tl(т) < рд(т) < Ти(т),

где Ti(т) = lnт — lnlnт — 0.31, Ти(т) = lnт — lnlnт + 0.78.

Рассматривая индивидуальные задачи о покрытии множества, которые в дальнейшем, где это подразумевается контекстом, будут именоваться просто задачами, мы показываем, как отношение w(Gr)/w(Opt) может быть оценено более точно, нежели предполагается оценкой (1). Представленная нами оценка более точна чем Н(т) для большинства случаев, для которых значение т

достаточно велико относительно га. Мы приводим такие примеры задач, для которых полученная оценка оказывается более точной, чем оценка, получаемая на основе ЛП-релаксации ЗПМ. Представленная оценка может использоваться для получения нижней границы веса оптимального покрытия для подзадач задачи о покрытии множества при решении её методом ветвей и границ.

1. Оценивание точности жадного алгоритма

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

Строя покрытие Сг с помощью жадного алгоритма, мы выбираем множества из 5 в него, исходя из значений Wi/|Si| весов, назначаемых непокрытым, то есть не входящим в множества из Сг элементам и на момент включения Si в Сг.

Жадный алгоритм для ЗПМ

Шаг 0. Сг := 0.

Шаг 1. Если Сг — покрытие и, то работу алгоритма завершить, иначе перейти на шаг 2.

Шаг 2. Выбрать такое к, что

Wk . ш

1*| Ч йфе л (я* s и s) (3)

Сг:= СгU{Sfc}. Si:= Si\Sk для всех Si^Сг. Перейти на шаг 1.

Пусть I — это количество итераций жадного алгоритма, требуемых для покрытия и = [га] в задаче V. Пусть ^ — это количество элементов и на к-ой итерации, и пусть гак обозначает количество ещё непокрытых элементов и после выполнения к-ой итерации, га0 = га. Пусть ^ = {в1 ,...,в1}. Докажем следующую теорему.

Теорема 1.

w(Gr) w(Opt)

^ G(s) = Н(га) - A(V),

(4)

где

G(s) = £

Sk

к=1

гак-1

А(Р) ^ 0, то есть G(s) уточняет оценку Н(га), и А(Р) = 0 только в том случае, когда требуется га итераций жадного алгоритма для получения покрытия U.

В случае наличия нескольких множеств из S с равным значением отношения (3) выбор множеств в Gr на итерации жадного алгоритма будем производить лексикографически. Вместо обозначения G(s) будем использовать также обозначение G(V), поскольку задача V единственным образом определяет последовательность s.

Оценка (4) является уточнением оценки (1). Мы доказываем (4), модифицируя хорошо известное доказательство (1), представленное, например, в [7]. Но оценивая отношение w(Gr)/w(Opt), вместо мажорирования весов, которые множества из Gr назначают элементам U, мы мажорируем веса самих множеств. В результате мы получаем оценку (4), которая оказывается более точной чем Н(т) для большой доли индивидуальных ЗПМ при заданном т.

Предположим, что перед выполнением k-ой итерации жадного алгоритма непокрытым остаётся подмножество Uk элементов множества U, тк = \Uk|. После выполнения шага 2 (к— 1)-ой итерации все множества из S содержат только элементы Uk. Предположим, что жадный алгоритм выбирает в соответствии с (3) множество Sk на к-ой итерации. Тогда, как мы покажем далее,

w(Sk) < w(Optk) \Sk \ "" тк '

где Optk — это оптимальное покрытие Uk, которое может быть получено из модифицированных множеств из S. Мы используем это неравенство для того, чтобы доказать (4). Оно также используется для доказательства (1) и (2), но мы используем его для доказательства оценки точности другого типа. А именно, мы не оцениваем гарантированную точность жадного алгоритма, находя такую оценку для худшего случая индивидуальной задачи заданной размерности, а оцениваем точность жадного алгоритма при решении с его помощью данной индивидуальной задачи.

Пусть набор множеств [Si'S2,... ,Si} — покрытие Gr для ЗПМ V с U =[т]. Пусть Opt = [Ai, А2'...' Ar}, Ai е S — оптимальное покрытие и пусть ai = w(Ai).

Лемма 1.

w(Si) w(Opt) \ Si \ ^ т

Доказательство. Пусть

r-i

ai=Ai, А2=А2\Ai' ...' a;=л, \ у A,.

j=i

A'j П A'k = 0 для j = k. Перенумеруем множества A'j в соответствии с неубыванием значения отношения aj/\N-\:

ai < а,2 < < ar

КГ < Й2Г ш

Поскольку для положительных а, Ь, с, с1 выполняется

а Ь а а+Ъ - ^

то

с с1 с с + с1

а^

и;! £ I А, | т

3 = 1

Учитывая (3), получаем

1(8;) а; а; т(Ор^

~|8Т ^ |А| = Ш ^ т ■

Докажем Теорему 1.

Доказательство. Рассмотрим выбор множества в Сг на к-ой итерации жадного алгоритма как выбор первого множества в покрытие той части множества и, которая ещё не покрыта перед выполнением к-ой итерации. Это эквивалентно рассмотрению задачи с модифицированными множествами из 8. Веса этих множеств те же.

Пусть на к-й итерации жадного алгоритма выбрано множество Би, где

к-1

8к = 8к \ и 83'

3=1

Поскольку в к = 1£>к |, по доказанной лемме мы имеем:

т0 т; т1-;

Так как т(Ор^) ^ ... ^ 1(ОрЬ2) ^ 1(ОрЬ), то 1

1(Сг) = ^ — 1(Орг) + — т(ОрЬ2) + ... + т(ОрЬг) ^

^ то т1 т—1

к=1

^ (+ ^ +... + )1(Ор 1) = \т0 т1 т1-;)

Н(т) - Н(т) + — + — + ... + ^^)т(Ор1) = (Н(т) - А(Г))т(ОрЬ), то т1 тЬ-; !

(

где

А(Г ) = Н (т)-(^ + + ... + .

\то т1 т1-;)

Полагая т,1 = 0 и производя суммирование по г в убывающем порядке, мы получим

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

I / +1 , \

№ £ Е 1 -

к=1 ^г=тк-1 '

Поскольку

I / тк+1 1 ^ \ I / тк + 1 1 тк+1 1 ч

А(Г ^ = 1=1\ ^ 1 ) = ^Л^ г ^ тк~1) =

к=1 ^г=тк-1 ' к=1 ^г=тк-1 г=тк-1 '

I тк+1 ,1 1 ч

= ^ V ™к-1) '

к=1 г=тк-1 4 '

мы имеем А(Р) ^ 0 и А(Т) = 0 только в том случае, если тк-1 = тк + 1, то есть когда зк = 1 для всех к = 1,1. ■

2. Оценивание точности жадного алгоритма с помощью С(в) и других оценок

Пусть V — ЗПМ с и = [т], 5С 2и. По доказанной теореме мы можем для V оценить отношение т(Сг) /т(ОрЬ) используя С(в), где в — последовательность, получаемая в ходе работы жадного алгоритма на V. Пусть т(в) = тах{|^| : 8г е

е в}.

2.1. Сравнение С(в) с Н(т)

Сравним С(в) с Н(т) (не с Н(т)), рассматривая их как два различных способа получения оценки на т(Сг)/т(ОрЬ) для индивидуальной ЗПМ. Мы сравниваем С(в) с Н(т) для всех ЗПМ, которые могут быть определены на и = [т] для т =10,35, используя разбиение задач на классы С8, которые могут быть заданы на и.

Классы задач С3. Для каждой последовательности ^ = {в1,... ,в1} имеется класс таких ЗПМ С8, что жадный алгоритм в ходе своей работы на них даёт з. Например, жадный алгоритм даёт последовательность ^ для ЗПМ следующего вида. Пусть I > 1, дг = ^)=18з, ^ = 2,1, = 0. Пусть 5 = {Б1,... ,81, А}, где 8г = {Яг + 1,... ,Яг + А = {1, 2,... , т}. Пусть ■ш(8г) = = ^ для г =1,1 -1, = |5г| + 1, т(А) = т + е, 0 < е < 1. Применяя жадный алгоритм, для такой задачи мы получаем покрытие, которое состоит из множеств Б1 ,...,81. Вес этого покрытия равен т +1, тогда как вес оптимального покрытия (вес множества А) равен т + £. Таким образом, для ЗПМ указанного вида в ходе работы жадного алгоритма будет получена последовательность з.

Чтобы сравнить С (в) и Н (т), для каждого т мы разбиваем множество всех индивидуальных ЗПМ, которые могут быть заданы на и = [т] на классы

С3. Поскольку т(в) ^ т для любой V е С3, значение Н(т(в)) не превышает значения Н(т). Это значит, что подсчитывая количество последовательностей в, для которых С(в) < Н(т(в)), мы получаем оценку на количество таких последовательностей з, для которых выполняется неравенство С(в) < Н(т). Таким образом для данного значения т мы оцениваем долю таких классов С3, что С(в) <Н(т) для ТеС3.

Доля классов С3, для которых С(в) <Н(т). Пусть ^(в) = т(в)/т. В табл. 1 в соответствии с ^(в), принадлежащим заданным интервалам, представлены доли от количества всех классов С3, для которых оценка С(в) оказывается более точной, чем оценка Н( т( )). Расчёты, проведённые для всех возможных случаев ^ для т =10, 35, показывают, что доля таких классов растёт с ростом ^(в). Также они показывают, что эта доля растёт с ростом т.

Уточнение оценки Н(т) оценкой С(з) при С(з) ^Н(т). Данные, представленные в табл. 2 и 3, показывают, насколько оценка С(в) может быть более точной, чем Н(т(в)) для различных значений ^(в). Для таких ^ что С(в) <Н(т(в)), пусть

А(з) = (Н(т(8)) - С(з))/Н(т(з)) х 100,

то есть А(в) = Н(т(в)) — С(в) — величина уточнения Н(т(в)), получаемого с помощью оценки С(в) в процентах от Н(т(в)). В табл. 2 и 3 представлены средние и максимальные значения этой величины для т =10, 35 и различных значений ^(в): тогда как Н(т(в)) е [2,93;4,15] для определённых на [т] последовательностей при достаточно больших значениях ^(в) разница А(в) может достигать десятков процентов.

Подводя итог, мы можем сказать, что Н(т) оказывается более точной, чем С(в), когда т достаточно мало, то есть когда 8 содержит только множества небольшой мощности. Однако если в 8 присутствуют множества достаточно большой мощности, которые включаются в Сг жадным алгоритмом, то оценка С(в) оказывается более точной, чем Н(т). Для случая т=т и вг = т, С(в) = 1 и Н(т) = Н(т), то есть оценка С(в) отношения т(Сг)/т(Ог[Л) точна, тогда как значение Н(т) достигает своего максимального значения.

2.2. С(з) и оценки на основе ЛП-релаксации ЗПМ

ЗПМ может быть поставлена как задача целочисленного линейного программирования. Решение таким образом поставленной ЗПМ представляет собой булев вектор размерности п, для которого равенство его компоненты единице эквивалентно включению соответствующего множества в покрытие, равенство нулю — невключению. Дробное покрытие — это допустимое решение задачи линейного программирования, полученной ЛП-релаксацией целочисленной индивидуальной ЗПМ, то есть отбрасыванием условия целочисленности

Таблица 1. Доля классов Cs, для которых G (s) <Н (m(s))

m » G (0; 0,2] » G (0,2; 0,4] » G (0,4; 0,6] » G (0,6; 0,8] » G (0,8; 1]

10 0 13,5 64,8 100 100

11 0 12,4 54,7 92,5 100

12 0 9,9 52,9 97,5 100

13 0 13,9 64,5 93,3 100

14 0 9,1 56,1 96,2 100

15 0 14,5 69,6 99,0 100

16 0 12,9 62,6 96,2 100

17 0 11,6 58,7 98,3 100

18 0 12,4 65,0 95,7 100

19 0 11,0 61,2 97,7 100

20 0 19,5 67,4 99,1 100

21 0 15,5 63,2 97,2 100

22 0 11,8 59,6 98,7 100

23 0 11,1 64,7 96,7 100

24 0 10,1 61,3 98,1 100

25 0 18,6 68,5 99,2 100

26 0 16,9 64,2 97,8 100

27 0 15,1 59,7 98,8 100

28 0 14,1 65,9 97,4 100

29 0 12,0 62,8 98,5 100

30 0,5 17,2 67,2 99,2 100

31 0,2 15,8 64,0 98,1 100

32 0,1 14,5 61,0 98,9 100

33 0 13,5 65,0 97,8 100

34 0 12,5 62,2 98,6 100

35 0,9 15,8 66,9 99,3 100

компонент вектора решений. Имея оптимальное дробное покрытие Ор1ьр е Кга для задачи V, так как 1(ОрЬьр) ^т(ОрЬ), мы можем получить оценку сверху на т(Сг)/ы(Ор1):

) ^ ) (5) 1(Ор£) 1(ОрЬьр)

Таблица 2. Уточнение оценки Н(т(в)) оценкой С(в)

т V е (°;°,2] V е (0,2; 0,4] V е (0,4; 0,6]

ср. зн. А тах А ср. зн. А тах А ср. зн. А тах А

10 0 0 12,3 18,4 21,3 42,9

11 0 0 8,9 14,9 20,1 40,6

12 0 0 6,7 12,0 19,1 45,4

13 0 0 10,9 24,2 19,1 43,6

14 0 0 10,2 21,8 20,1 47,4

15 0 0 13,9 30,6 20,7 50,5

16 0 0 13,1 28,6 19,7 49,2

17 0 0 11,7 26,8 19,1 51,8

18 0 0 12,8 33,6 20,0 50,7

19 0 0 12,4 32,0 19,5 52,9

20 0 0 12,7 37,5 20,8 54,9

21 0 0 12,2 36,0 19,8 54,0

22 0 0 12,3 34,8 19,2 55,7

23 0 0 13,5 39,3 19,9 54,9

24 0 0 13,2 38,1 19,4 56,4

25 0 0 12,9 42,0 19,8 57,8

26 0 0 12,3 40,9 19,2 57,1

27 0 0 12,0 39,9 19,0 58,4

28 0 0 12,3 43,2 19,2 57,7

29 0 0 12,2 42,3 18,7 58,9

30 2,7 6,8 13,1 45,2 19,4 59,9

31 2,2 5,5 12,7 44,4 18,8 59,4

32 1,7 4,3 12,4 43,6 18,4 60,4

33 1,3 3,1 12,4 46,2 18,9 59,9

34 0,9 2,0 12,2 45,4 18,5 60,8

35 5,5 11,9 13,3 47,7 18,8 61,6

Пусть К(Т) = т(Сг)/т(ОрЬЬР).

Разрыв целочисленности Ю(Р) — это значение, характеризующее точность приближённого решения, получаемого решением ЛП-релаксации цело-

Таблица 3. Уточнение оценки Н(т(в)) оценкой С(в)

т » е (0,6; 0,8] » е (0,8; 1]

ср. зн. А тах А ср. зн. А тах А

10 30,9 55,8 53,3 65,9

11 27,9 53,2 45,5 66,9

12 29,6 55,8 47,3 67,8

13 27,9 58,0 48,8 68,6

14 29,7 59,8 50,1 69,2

15 31,1 61,3 51,3 69,9

16 28,3 59,7 45,8 70,4

17 29,7 61,2 47,0 70,9

18 28,0 62,4 48,0 71,4

19 29,2 63,5 48,9 71,8

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

20 30,4 64,5 49,8 72,2

21 28,2 63,4 45,5 72,6

22 29,2 64,3 46,4 72,9

23 27,6 65,2 47,1 73,2

24 28,6 65,9 47,8 73,5

25 29,6 66,6 48,5 73,8

26 27,7 65,8 45,0 74,1

27 28,6 66,5 45,7 74,3

28 27,1 67,1 46,3 74,5

29 27,9 67,7 46,9 74,8

30 28,7 68,2 47,4 75,0

31 27,2 67,5 44,5 75,2

32 28,0 68,1 45,0 75,4

33 26,6 68,6 45,5 75,5

34 27,3 69,0 46,0 75,7

35 28,0 69,4 46,5 75,9

численнои задачи:

w(Op Ь)

Ю(Г)

IV(Ор)'

Для задач с большим значением разрыва целочисленности оценка (5) может быть слишком грубой.

Нетрудно обнаружить такую задачу V с относительно малым Ю(Р), что К(Р) <С(Р), как не трудно и привести примеры задач V, для которых оценка С(Р) оказывается существенно более точной, чем оценка К(Р). Рассмотрим следующий пример из [7]. Пусть т = 2к — 1, к е Z+, и = {ех,... ,ет}, где элементы eí множества и — это ^-мерные векторы над Каждый из таких векторов eí = (ец,... ,ец~) является двоичным представлением числа г, то есть г = ^2^=1 2-. Пусть Бг = {е^ : е1 • е^ = 1}, где е1 • е^ обозначает скалярное произведение векторов, то есть 5 = {¿1,..., вт}. = 1 для г = 1,т. Для

такой задачи V мы имеем следующее дробное покрытие Сьгьр:

С^ = ( ^ )

\т +1 т + 1)

Сугьр еЖт. 1^(Сугьр) = 2т/(т + 1) <ю(ОрЪ), ю(Сг) = к. Ю(Р) >0,5log2 т.

В табл. 4 приведены нижние оценки на значения Ю(Р) и К(Р), а также значения С(Р) для к = 5,10 (в скобках после значения к указана размерность т задачи). Они показывают, что значение С(Р) практически не меняется с ростом к, тогда как К(Р) больше, чем С(Р), и разница между ними растёт с ростом к.

Таблица 4. Ю(Р), К(Г) и С(Г) для задач из [7]

к (т) 5(31) 6 (63) 7 (127) 8 (255) 9 (511) 10 (1023)

Ю(Т) > 2, 48 2, 99 3, 49 4, 00 4, 50 5, 00

К(Т) > 2,58 3,05 3,53 4,02 4,51 5,01

С(Т) 1,29 1,30 1,30 1,30 1,30 1,30

Вычислительная сложность оценивания т(Сг)/т(Ор1). Заметим, что несмотря на полиномиальную вычислительную сложность нахождения т(ОрЬьр), численное решение задачи линейного программирования, получаемой ЛП-релаксацией ЗПМ, для данных из практических задач уже при т ^ 4500 требует слишком много времени [8]. Соответственно, решая ЗПМ значительной размерности, вычислительно трудно найти К(Р). Это влечёт и значительную вычислительную сложность алгоритма, реализующего метод ветвей и границ и использующего оценку К(Р) при оценивании веса оптимального решения подзадач. Тогда как вычислительная сложность получения С(в) составляет 0(т2п).

Выводы

В работе оценивается точность жадного алгоритма решения индивидуальной задачи о покрытии. Показывается, как в этом случае близость веса решения, получаемого жадным алгоритмом, к весу оптимального решения может быть оценена более точно, чем предполагается его оценкой гарантированной точности. Производится сравнение полученной оценки с другими оценками такого типа. Даются примеры задач, для которых представленная оценка оказывается лучше оценок, полученных с помощью ЛП-релаксации задачи о покрытии множества.

Литература

1. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М. : Мир, 1982. 416 с.

2. Dinur I., Steurer D. Analytical approach to parallel repetition // STOC '14: Proceedings of the forty-sixth annual ACM symposium on Theory of computing, ACM. 2013. P. 624-633.

3. Raz R., Safra S. A sub-constant error-probability low-degree test, and sub-constant error-probability PCP characterization of NP // Proceeding STOC '97: Proceedings of the twenty-ninth annual ACM symposium on Theory of computing. 1997. P. 475-484.

4. Feige U. A threshhold of lnn for approximating set cover // J. ACM. 1998. V. 45, No. 4. P. 634-652.

5. Chvatal V. A greedy heuristic for the set-covering problem // Mathematics of operation research. 1979. V. 4, No. 3. P. 233-235.

6. Slavik P. A tight analysis of the greedy algorithm for set cover // Proceedings of the twenty-eighth annual ACM symposium on Theory of computing. 1996. P. 435-441.

7. Vazirani V. Approximation Algorithms. Springer-Verlag. 2003. 380 p.

8. Umetani S., Yagiura M. Relaxation heuristics for the set covering problem // Journal of the Operation Research Society of Japan. 2007. V. 50, No. 4. P. 350-375.

AN ESTIMATION OF THE GREEDY ALGORITHM'S ACCURACY FOR A SET

COVER PROBLEM INSTANCE

A.V. Prolubnikov

Ph.D. (Phys.-Math.), Associate Professor, e-mail: a.v.prolubnikov@mail.ru

Dostoevsky Omsk State University, Omsk, Russia

Abstract. Considering the set cover problem, by modifying the approach that gives a logarithmic approximation guarantee for the greedy algorithm, we obtain an estimation of the greedy algorithm's accuracy for a particular input. We compare the presented estimation to another estimations of this type. We give such examples of the set cover problem instances that the presented estimation sagnificantly improves over linear programming relaxation based estimation.

Keywords: set cover problem, greedy algorithm.

References

1. Geri M. and Dzhonson D. Vychislitel'nye mashiny i trudnoreshaemye zadachi. Moscow, Mir Publ., 1982, 416 p. (in Russian)

2. Dinur I. and Steurer D. Analytical approach to parallel repetition. STOC '14: Proceedings of the forty-sixth annual ACM symposium on Theory of computing, ACM, 2013, pp. 624-633.

3. Raz R. and Safra S. A sub-constant error-probability low-degree test, and sub-constant error-probability PCP characterization of NP. Proceeding STOC '97: Proceedings of the twenty-ninth annual ACM symposium on Theory of computing, 1997, pp. 475-484.

4. Feige U. A threshhold of lnn for approximating set cover. J. ACM, 1998, vol. 45, no. 4. pp. 634-652.

5. Chvatal V. A greedy heuristic for the set-covering problem. Mathematics of operation research, 1979, vol. 4, no. 3, pp. 233-235.

6. Slavik P. A tight analysis of the greedy algorithm for set cover. Proceedings of the twenty-eighth annual ACM symposium on Theory of computing, 1996, pp. 435-441.

7. Vazirani V. Approximation Algorithms. Springer-Verlag. 2003. 380 p.

8. Umetani S. and Yagiura M. Relaxation heuristics for the set covering problem. Journal of the Operation Research Society of Japan, 2007, vol. 50, no. 4, pp. 350-375.

Дата поступления в редакцию: 19.10.2019

i Надоели баннеры? Вы всегда можете отключить рекламу.