Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Book-advanced-algorithms.pdf
Скачиваний:
276
Добавлен:
27.03.2016
Размер:
5.11 Mб
Скачать

3.4. ТОЧНОСТЬ АЛГОРИТМА ДЛЯ ПОЧТИ ВСЕХ ВХОДОВ

139

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3.5: Карта-памятка раздела 3.3.0

3.4Точность алгоритма для почти всех входов

Хотя человека, использующего жадный алгоритм, можно заставить сильно ошибиться при принятии сложных решений (например, при решении NP-трудных задач), в типичном случае он обычно выигрывает. Этот почти философский тезис будет нами проиллюстрирован на примере жадного алгоритма для задачи о покрытии.

В данном разделе мы рассмотрим некоторое ослабление анализа сложности в среднем. Это ослабление происходит в двух направлениях: во-первых, мы рассматриваем не только точные алгоритмы, но и приближенные, а во-вторых, анализ сложности в среднем заменяется на анализ для «почти всех» исходных данных.

Ранее мы доказали, что для задачи о покрытии жадный алгоритм (см. раздел 2.1.1) в худшем случае гарантирует нахождение покрытия, размер которого превосходит размер минимального покрытия не бо-

140

Глава 3. ВЕРОЯТНОСТНЫЙ АНАЛИЗ ДЕТЕРМИНИРОВАННЫХ АЛГОРИТМОВ

лее чем в логарифмическое число раз (по m). Наша цель сейчас — показать, что для «типичных» данных (в отличие от худшего случая, см. упражнение 2.1.2) это отношение близко к единице, т. е. размер покрытия, найденного жадным алгоритмом, почти равен размеру минимального покрытия.

Как и в предыдущем разделе, мы будем использовать формулировку задачи о покрытии на языке (0; 1)-матриц и целочисленных линейных программ:

cx ! min;

 

Ax b;

(3.5)

8j xj 2 f0; 1g:

 

В этой целочисленной линейной программе n столбцов-переменных x1; : : : ; xn соответствуют подмножествам S1; : : : ; Sn и их включению в решение-покрытие. Матрица A также является матрицей инцидентности, а векторы стоимости и ограничений — также векторы размерности n и m соответственно, состоящие полностью из единиц.

Таким образом, m строк-ограничений, соответствующих m предметам, очевидным образом выражают ограничение на обязательное включение предмета хотя бы в одно из покрывающих подмножеств, а целевая функция равна числу таких подмножеств.

Как и в разделе 3.2, предположим, что A = (aij) — случайная (0,1)-матрица, такая, что для всех i; j выполнено

P faij = 1g = p; P faij = 0g = 1 p:

Пусть RG = ZMG , где ZG — величина покрытия, найденного жадным алгоритмом, а M — величина минимального покрытия. Наш основной результат заключается в следующей теореме.

3.4. ТОЧНОСТЬ АЛГОРИТМА ДЛЯ ПОЧТИ ВСЕХ ВХОДОВ

141

Теорема 11. Пусть вероятность 0 < p < 1 фиксирована, и пусть для задачи (3.5) со случайной матрицей A, определенной выше, выполнены следующие условия:

8 > 0

ln n

 

! 0;

при n ! 1;

(3.6)

m

 

ln m

! 0;

при n ! 1:

(3.7)

 

n

Тогда для любого фиксированного " > 0

PfRG 1 + "g ! 1 при n ! 1:

Заметим, что условия теоремы требуют, чтобы матрица A не была «экспоненциально вытянутой» по высоте или ширине. В частности, для «пропорциональных» матриц, у которых m = cn, где c — некоторая константа, и «несильно перекошенных матриц», у которых m = O(nc), условия (3.6) и (3.7) теоремы 11 выполнены автоматически.

Доказательство. Сначала докажем нижнюю оценку размера минимального покрытия. Пусть X — случайная величина, равная числу покрытий размера

l0 = l0( ) = (1 ) ln m/ ln(1 p) ;

тогда ( )

n

E X = l0 P (l0);

142 Глава 3. ВЕРОЯТНОСТНЫЙ АНАЛИЗ ДЕТЕРМИНИРОВАННЫХ АЛГОРИТМОВ

где P(l0) — вероятность того, что фиксированные l0 столбцов являются покрытием A. Нетрудно увидеть (убедитесь, что это действительно нетрудно!), что

 

 

l = 1 (1 p)l0

m

 

 

m(1 p)l0

 

:

 

 

 

Используя неравенство

 

nk P(

0)nk, получаем(

)

 

expf

 

 

 

g

 

 

 

 

 

(l0)

 

 

 

 

 

 

 

 

 

 

 

 

ln E X l0 ln n m(1 p)

 

 

{

 

 

 

 

 

 

 

 

}

 

 

 

 

ln m

 

 

 

 

 

ln m

 

 

 

 

 

 

ln n m exp

(1

) ln(1

p)

 

 

 

 

 

 

ln(1

p)

ln(1

 

p)

 

 

 

 

 

 

 

 

 

ln m

 

 

 

 

 

 

ln m

 

 

 

 

 

 

 

 

 

ln n

 

mm 1m

 

ln n m :

 

 

 

 

 

 

ln(1

p)

 

ln(1 p)

Проверим, что для любого фиксированного 0 < < 1 при условиях (3.6) последнее выражение стремится к при n, стремящемся к бесконечности. Действительно, положив = /2 в условии 3.6, получим требуемое, т.к. ln m растет медленнее, чем m /2.

Таким образом, вероятность того, что нет покрытия размера l0 в случайной (0; 1)-матрице, стремится к 1, поскольку согласно первому неравенству Чебышева :

PfX 1g E X ! 0:

Последнее означает, что PfM l0g ! 1:

Теперь докажем верхнюю оценку размера покрытия, построенного жадным алгоритмом. Используем следующую известную лемму [AS92] о вероятности больших уклонений для сумм неза-

висимых случайных величин.

Иногда упоминается как неравенство Маркова.

3.4. ТОЧНОСТЬ АЛГОРИТМА ДЛЯ ПОЧТИ ВСЕХ ВХОДОВ

143

Лемма 8. Пусть Y — сумма n независимых случайных величин, каждая из которых принимает значение 1 с вероятностью p и 0 с вероятностью 1 p. Тогда

PfjY npj > npg 2 expf ( 2/3)npg:

По этой лемме вероятность того, что некоторая фиксированная строка содержит менее чем (1 )pn единиц (или более чем (1 + )pn единиц) оценивается сверху так:

Pbad 2 expf ( 2/3)npg;

и математическое ожидание числа таких строк не превосходит mPbad. Тогда при n ! 1, по условию (3.7) получаем

mPbad 2 expfln m ( 2/3)npg = 2 expfln m O(1)ng ! 0:

Из P fX 1g E X — первого неравенства Чебышева следует, что вероятность события «каждая строка содержит не менее (1 )pn единиц» стремится к 1.

Теперь мы можем почти дословно повторить получение верхней оценки размера покрытия, построенного жадным алгоритмом, в худшем случае.

Пусть Nt — число непокрытых строк после t-го шага жадного алгоритма. Подсчитывая нижнюю оценку числа единиц в подматрице, образованной непокрытыми строками (Nt 1), и делая вывод о существовании столбца в этой подматрице с числом единиц не менее среднего, имеем:

Nt Nt 1

Nt 1(1

)pn

(1 (1 )p)

 

 

= Nt 1

n

 

N0 (1 (1 )p)t = m(1 (1 )p)t:

144 Глава 3. ВЕРОЯТНОСТНЫЙ АНАЛИЗ ДЕТЕРМИНИРОВАННЫХ АЛГОРИТМОВ

Первое неравенство получается оценкой снизу суммарного числа единиц в подматрице из Nt 1 непо-

крытых строк (это Nt

1(1

)pn) и выводом, что найдется столбец, содержащий не менее среднего числа

единиц (равного

Nt 1(1 )pn

)

 

 

 

n

 

 

 

Найдем максимальное t, при котором еще есть непокрытый элемент:

Получим

 

 

 

m(1 (1 )p)t 1:

 

 

 

ln m + t ln(1 (1 )p) 0;

или

 

 

 

 

 

 

 

ln m

 

 

 

 

t

 

 

 

 

 

:

 

 

 

 

ln(1 (1 )p)

Отсюда получается верхняя оценка мощности «жадного покрытия» (ZG = t + 1) в типичном случае:

P(ZG 1

ln m

 

) ! 1:

ln(1 p(1

))

Комбинируя это неравенство с нижней оценкой, можно получить, что для любого фиксированного

" > 0 и достаточно больших n

P(RG 1 + ") ! 1:

 

Действительно,

 

ln(1

 

)) ln(1

 

 

 

p(1

p);

и для любого " > 0 существует > 0, такое, что

 

 

RG

ln(1

p)

 

+ o(1) (1

) 1 + o(1) 1 + ":

 

 

 

(1 ) ln(1

p(1

))

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]