МАТЕМАТИКА
Вестн. Ом. ун-та. 2013. № 2. С. 16-19.
УДК 519.8, 519.712.3 В.П. Ильев, К.Н. Пахомова
О НЕУЛУЧШАЕМОСТИ ОЦЕНОК ТОЧНОСТИ АЛГОРИТМОВ ПРИБЛИЖЕННОГО РЕШЕНИЯ НЕВЗВЕШЕННЫХ ЗАДАЧ НА НАСЛЕДСТВЕННЫХ СИСТЕМАХ
Исследуется невзвешенная задача о максимальном независимом множестве наследственной системы. Для ее приближенного решения применен жадный алгоритм. Показано, что жадный алгоритм имеет наилучшую точность в классе всех полиномиальных алгоритмов. Аналогичный результат получен для обратного жадного алгоритма приближенного решения задачи о минимальном зависимом множестве наследственной системы.
Ключевые слова: наследственная система, приближенный алгоритм, гарантированная оценка точности.
Пусть и - конечное множество мощности п. Наследственная система Н на множестве и определяется как разбиение семейства 2и всех подмножеств и на два непересекающихся непустых семейства А и О = 2и \ А , удовлетворяющих следующим аксиомам наследственности [1]: 1) (А є А, Ас А) ^ А' є А, 2) (В є О,В с В') ^ В' є О .
Множества семейства А называются независимыми, а множества из
О - зависимыми Каждое из семейств А, О однозначно определяет наследственную систему, поэтому будем записывать Н = (и, А) или Н = (и, О) в зависимости от того, какая сторона наследственной системы нас интересует.
База множества Ж с и - это любое максимальное по включению независимое множество, содержащееся в Ш, а цикл множества Ж с и -любое минимальное по включению зависимое множество, содержащее Ж База множества и называется базой системы Н . Цикл пустого множества есть цикл системы Н. Наследственная система Н называется матроидом, если все базы любого множества Ж с и имеют одинаковую мощность, и коматроидом, если все циклы любого множества Ж с и имеют одинаковую мощность.
Задача максимизации аддитивной неотрицательной функции
с :2и ^ Я+ на наследственной системе Н = (и, А):
шах{с( А): А є А} (1)
и задача минимизации аддитивной неотрицательной функции с :2и ^ Я+ на наследственной системе Н = (и, О):
шіп{с(В): В є О} (2)
являются обобщениями очень многих задач комбинаторной оптимизации, которые в большинстве своем являются ЛТР-трудными.
Целью нашего исследования будут алгоритмы приближенного решения невзвешенных оптимизационных задач:
шах{| А |: А є А}, (1’)
шіп{| В |: В є О}. (2’)
© В.П. Ильев, К.Н. Пахомова, 2013
Входом в задаче (1') является п и семейство А независимых множеств наследственной системы, заданное с помощью оракула независимости Ла, который для всякого множества W и отвечает на вопрос «W е А ?». Аналогично входом в задаче (2') является п и семейство О зависимых множеств наследственной системы, заданное с помощью оракула зависимости Лв.
В качестве метода приближенного решения задачи (1) рассмотрим жадный алгоритм.
Алгоритм ОА
Шаг 0. Упорядочить множество
и = {и1, и2,..., ип } по невозрастанию значений функции с, А ^ ф ; перейти на Шаг 1.
Шаг г (1,2,...,п). Если множество
А и {и.} е А , то А ^ А и {и.}. Если . < п, то перейти на Шаг (. +1) , иначе Аоа ^ А .
Конец.
Для приближенного решения задачи (2) применим «обратный» аналог жадного алгоритма.
Алгоритм ОЯ
Шаг 0. Упорядочить множество
и = {и1; и2,..., ип } по невозрастанию значений функции с, О ^ и ; перейти на Шаг 1.
Шаг г (1,2,.,п). Если О\{и.}е О ,
то О ^ О \{и.} . Если . < п , то перейти на Шаг (. +1) , иначе Оак ^ О .
Конец.
Заметим, что предварительное упорядочение элементов не требуется в алгоритме ОА и алгоритме ОЛ в случае невзвешенной задачи (1') и задачи (2') соответственно.
В работе [2] для задачи (1) получена гарантированная оценка точности жадного алгоритма:
> пш1
_____ , (3)
С( А ) * си Гшах(Ж )
где А0 є А и Аоа є А - оптимальное решение взвешенной максимизационной задачи (1) и приближенное решение, найденное жадным алгоритмом, а гтах(И) и гтіп(И) - максимальная и минимальная мощности баз множества И соответственно.
В статье [3] показано, что оценка (3) не может быть улучшена в классе полиномиальных алгоритмов, принимающих как вход п, оракул Еа и целевую функцию с:
Теорема 1. Пусть АЬО - произвольный алгоритм приближенного решения задачи (1) на наследственной системе Н = (и, А), принимающий как вход п = |и|,
целевую функцию с :2и ^ Я+ и оракул 1?а. Если для любой наследственной системы, отличной от матроида, алгоритм находит такое решение Ааьо є А, что
«АаьА > шіп,
с( А0) * ^^(Ж )
то существует вход задачи (1), для которого алгоритму АЬО потребуется 0(2И-о(п)) обращений к оракулу.
Для задачи (2) известна оценка точности обратного жадного алгоритма [4]:
c(Dgr ) ^ gmax(W)- j W j
■ max-
c(Da ) W,U^ gmin (W)- j W j
(4)
где В0 є О и ВОк є О - оптимальное решение задачи (2) и приближенное решение, найденное обратным жадным алгоритмом, а Зтах(И) и дтіп(И) - максимальная и минимальная мощности циклов множества И соответственно.
Заметим, что оценка (3) для задачи (1’) и оценка (4) для задачи (2’) могут быть уточнены:
AgA I > _rmm(U)
j Aa j Vmx(U)
(Ф)
x \T /
(Б)
(б)
j Do j gтт(Ф)
В самом деле, рассмотрим полный двудольный граф G = K23. Определим на множестве вершин V = V (G) наследственную систему HG = (V, Ag ) , где Ag - семейство всех независимых множеств вершин графа G . Легко видеть, что
inV = і > 1 = min rmnW). r_(V) 3 2 W Vr^JW)
Далее рассмотрим наследственную систему HG = (V, Dg ) , где Dg - семейство всех вершинных покрытий в графе G . Тогда
g-M = 1 <2 = max gmax(W)-jW j . gmin(Ф) 2 WD gmin(W)- j W j
Следующая теорема показывает, что оценка (Б) также не может быть улучшена никаким полиномиальным алгоритмом с оракулом Ra.
Теорема 2. Пусть ALG - произвольный алгоритм приближенного решения задачи (1') на наследственной системе H = (U, A), принимающий как вход n = |U| и
оракул Ra. Если для любой наследственной системы, отличной от матроида, алгоритм находит такое решение AALG є A, что выполнено неравенство
AALG I > _rmin (U)
, (7)
| Аа | Гпах (и)
то существует вход задачи (1'), для которого алгоритму АЬО потребуется 0(2п-о(п)) обращений к оракулу.
Доказательство. Покажем, что для некоторого входа задачи (1’) алгоритм АЬО должен будет обратиться к оракулу незави-
18
В. П. Ильев, К.Н. Пахомова
Ка (Ж) =
симости не менее 5 = СПт -1 раз, где п =| и |, т = [п/2] .
Предположим противное, т. е. обращение к оракулу происходит самое большее
Ст - 2 раз при любых входных данных.
Пусть п > 4 , т = \^п!2] , и определим оракул
Яа такой, что для заданного подмножества
Ж с и
[Да, если | Ж |< т;
[ Нет, иначе.
Обозначим Аі подмножество множества и, для которого АЬО вызывает оракул г-й раз. Если алгоритм АЬО обращается к оракулу Яа только г раз, где г < 5 -1, то после окончания работы АЬО выдаст некоторое решение Ааьо . Положим Аі = Ааьо для любого і є{г +1,...,5} . Таким образом, получена последовательность А1,..., Аг, Аг+1,..., А5, состоящая из Ст -1 множеств. Заметим, что множество и имеет Сп подмножеств мощности т, поэтому существует такое А' с и , что | А' |= т и А отлично от любого из множеств
A1,..., А5 .
Рассмотрим А = {А с и: А = А' или | А| < т}.
Легко видеть, что семейство А' удовлетворяет аксиоме наследственности, поэтому Н' = (и, А') является наследственной системой, отличной от матроида. Кроме того, для А' определим оракул ЯА такой, что для любого заданного Ж с и
[ Да, если Ж є А';
[ Нет, иначе.
Поскольку Аі Ф А' для любого і є {1,5} , алгоритм АЬО с оракулом ЯА работает точно так же, как с оракулом Яа, и заканчивает работу после Г обращений к оракулу с решением Ааьо = Аг+1, отличным от А . Решением алгоритма АЬО с оракулом ЯА должно быть множество семейства А', поэтому | Аг+1 |< т , но оптимальным решением будет Ао = А . Значит, | Ао |= т и имеет место оценка точности
| Ааьо | <т- 1
Яа(Ж ) =
| А | т
Заметим, что гшах(и) = т и
гшіп(и) = т -1. Следовательно,
|Ааьо | < ,Гтп(и)
| Аа | Гпах (и)
и мы получаем противоречие с неравенством (7).
Итак, алгоритм АЬО должен обратиться к оракулу независимости не менее С -1
раз. Заметим, что Спт >,Щп ■ 2п о(п) для любого п > 1. В самом деле, воспользуемся следующим двойным неравенством [5]:
л/2жп I —
п 1
Л <у]2п I — 1 "12п
п 1
е12п . (8)
п
е ] ^ е
Для четных значений п получим, что (2т )! 22т —-----------
Ст е 24т+1 6т
2т _ ^ 1---- е
т
!т! у[тп
откуда
С™т >Л — 2 п
-І029 у/п--------------1022 Є
2 3п (12п+1) 2
Для нечетных значений п > 1 имеем С2тт+1 > Стт > у/2/п ■ 2п-0(п) . Теорема доказана.
Получен также аналогичный результат о неулучшаемости полиномиальными алгоритмами, принимающими как вход п и оракул Яп, гарантированной оценки точности (6).
Теорема 3. Пусть АЬО - произвольный алгоритм приближенного решения задачи (2') на наследственной системе Н = (и, О), принимающий как вход п = |и| и
оракул Яп. Если для любой наследственной системы, отличной от коматроида, алгоритм находит такое решение ВАЬО є О, что
| ВАЬО [ < §шах(Ф)
, (9)
|В0| §тп(Ф)
то существует вход задачи (2'), для которого алгоритму АЬО потребуется 0(2п-о(п)) обращений к оракулу.
Доказательство. Покажем, что для некоторого входа задачи (2’) алгоритм АЬО должен будет обратиться к оракулу независимости не менее 5 = Ст -1 раз, где п =| и |, т=\1п12] . Вновь используя двойное неравенство (8), получим, что Ст > у]2/п ■ 2п-о(п)
для любого п > 1 , следовательно, теорема будет доказана.
Предположим противное, т. е. обращение к оракулу происходит самое большее
Сп - 2 раз при любых входных данных.
Пусть п > 4 , т = [п/2] и определим оракул
Яп такой, что для заданного подмножества
Ж с и
[Да, если | Ж |> т;
[Нет, иначе.
Обозначим Ві подмножество множества и, для которого АЬО вызывает оракул г-й раз. Если алгоритм АЬО обращается к ора-
Яв (Ж) =
кулу Яп только Г раз, где г < 5 -1, то после окончания работы АЬО выдаст некоторое решение ВАЬО . Положим теперь Ві = ВАЬО для любого і є {г +1,., 5} . Таким образом, получена последовательность В1,., Вг,
Вг+;,...,В5, состоящая из С -1 множеств. Заметим, что множество и имеет С^ подмножеств мощности т, поэтому существует такое В' с и , что | В' |= т и В' отлично от любого из множеств В1,.,В,,.
Рассмотрим О= {Вси:В = В или |В>т}.
Легко видеть, что семейство О удовлетворяет аксиоме наследственности, поэтому Н' = (и, О ') является наследственной системой, отличной от коматроида. Кроме того, для О определим оракул ЯВ такой, что для любого заданного Ж с и
[ Да, если Ж є О ;
Яв(Ж ) = ] Н
[ Нет, иначе.
Поскольку Ві Ф В' для любого
і є{1,5}, алгоритм АЬО с оракулом ЯВ, работает точно так же, как с оракулом Яп, и заканчивает работу после Г обращений к оракулу с решением ВАЬО = Вг+1, отличным от В . Решением алгоритма АЬО с ораку-
лом Rd, должно быть множество семейства D', поэтому | Dr+1 |> m , но оптимальным решением будет Do = D'. Значит, | Do |= m и имеет место оценка точности
| DALG | > m + 1 | Do | m
Заметим, что ЯШах(Ф) = m +1 и
gmin(^) = m . Следовательно,
| DALG | > Ятах(Ф)
| Do | gтп(Ф)
и мы получаем противоречие с неравенством (9).
ЛИТЕРАТУРА
[1] Ильев В. П. Наследственные системы, мат-
роиды и коматроиды. Задачи оптимизации и аппроксимации. SaarbrQcken : LAP Lambert
Academic Publishing, 2011. 234 с.
[2] Hausmann D, Korte B. An analysis of the greedy heuristic for independence systems // Annals of Discrete Math. 1978. V. 2. P. 65-74.
[3] Korte B, Hausmann D. Lower bounds on the worst-case complexity of some oracle algorithms // Discrete Math. 1978. V. 24. P. 261-276.
[4] Il'ev V. Hereditary systems and greedy-type algorithms // Discrete Appl. Math. 2о0з. V. 132. P. 137-148.
[5] Феллер В. Введение в теорию вероятностей и ее приложения. М. : Мир, 19б4. Т. 1. 498 с.