20091025 algorithmsfornphardproblems kulikov_lecture04

111
Алгоритмы для NP-трудных задач Лекция 4: Вероятностные алгоритмы А. Куликов Computer Science клуб при ПОМИ http://logic.pdmi.ras.ru/infclub/ А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 1 / 29

Upload: computer-science-club

Post on 12-Jul-2015

519 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 20091025 algorithmsfornphardproblems kulikov_lecture04

Алгоритмы для NP-трудных задачЛекция 4: Вероятностные алгоритмы

А. Куликов

Computer Science клуб при ПОМИhttp://logic.pdmi.ras.ru/∼infclub/

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 1 / 29

Page 2: 20091025 algorithmsfornphardproblems kulikov_lecture04

План лекции

1 1.5n алгоритм для задачи о 3-раскрашиваемости графа

2 log(2n)-приближенный алгоритм для задачи о минимальноммножестве представителей

3 FPT-алгоритм для задачи о пути длины k

4 22n/3 алгоритм для 3-SAT

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 2 / 29

Page 3: 20091025 algorithmsfornphardproblems kulikov_lecture04

План лекции

1 1.5n алгоритм для задачи о 3-раскрашиваемости графа

2 log(2n)-приближенный алгоритм для задачи о минимальноммножестве представителей

3 FPT-алгоритм для задачи о пути длины k

4 22n/3 алгоритм для 3-SAT

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 2 / 29

Page 4: 20091025 algorithmsfornphardproblems kulikov_lecture04

План лекции

1 1.5n алгоритм для задачи о 3-раскрашиваемости графа

2 log(2n)-приближенный алгоритм для задачи о минимальноммножестве представителей

3 FPT-алгоритм для задачи о пути длины k

4 22n/3 алгоритм для 3-SAT

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 2 / 29

Page 5: 20091025 algorithmsfornphardproblems kulikov_lecture04

План лекции

1 1.5n алгоритм для задачи о 3-раскрашиваемости графа

2 log(2n)-приближенный алгоритм для задачи о минимальноммножестве представителей

3 FPT-алгоритм для задачи о пути длины k

4 22n/3 алгоритм для 3-SAT

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 2 / 29

Page 6: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

План лекции

1 1.5n алгоритм для задачи о 3-раскрашиваемости графа

2 log(2n)-приближенный алгоритм для задачи о минимальноммножестве представителей

3 FPT-алгоритм для задачи о пути длины k

4 22n/3 алгоритм для 3-SAT

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 3 / 29

Page 7: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

3-раскрашиваемость

Определение

Задача 3-раскрашиваемости (3-coloring problem) заключается впроверке, можно ли раскрасить данный граф правильным образом втри цвета (смежные вершины не покрашены в один цвет).

Полный переборВсего кандидатов на решение — 3n.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 4 / 29

Page 8: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

3-раскрашиваемость

Определение

Задача 3-раскрашиваемости (3-coloring problem) заключается впроверке, можно ли раскрасить данный граф правильным образом втри цвета (смежные вершины не покрашены в один цвет).

Полный переборВсего кандидатов на решение — 3n.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 4 / 29

Page 9: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

3-раскрашиваемость

Алгоритм

Randomized-3-Coloring(G )

повторить c · 1.5n раз:для каждой вершины выбрать случайным образом один из трехцветов, в который данная вершина не покрашеназаписать формулу в 2-КНФ, которая выполнима тогда и толькотогда, когда граф можно раскрасить с заданными ограничениями:для ребра (u, v), где u покрашена в цвет 1 или 2, а v — в цвет 2или 3, запишем клозы

(u1 ∨ u2) ∧ (v2 ∨ v3) ∧ (¬u2 ∨ ¬v2)

если полученная формула выполнима, выдать ответ “да”

выдать ответ “нет”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 5 / 29

Page 10: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

3-раскрашиваемость

Алгоритм

Randomized-3-Coloring(G )повторить c · 1.5n раз:

для каждой вершины выбрать случайным образом один из трехцветов, в который данная вершина не покрашеназаписать формулу в 2-КНФ, которая выполнима тогда и толькотогда, когда граф можно раскрасить с заданными ограничениями:для ребра (u, v), где u покрашена в цвет 1 или 2, а v — в цвет 2или 3, запишем клозы

(u1 ∨ u2) ∧ (v2 ∨ v3) ∧ (¬u2 ∨ ¬v2)

если полученная формула выполнима, выдать ответ “да”

выдать ответ “нет”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 5 / 29

Page 11: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

3-раскрашиваемость

Алгоритм

Randomized-3-Coloring(G )повторить c · 1.5n раз:

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

записать формулу в 2-КНФ, которая выполнима тогда и толькотогда, когда граф можно раскрасить с заданными ограничениями:для ребра (u, v), где u покрашена в цвет 1 или 2, а v — в цвет 2или 3, запишем клозы

(u1 ∨ u2) ∧ (v2 ∨ v3) ∧ (¬u2 ∨ ¬v2)

если полученная формула выполнима, выдать ответ “да”

выдать ответ “нет”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 5 / 29

Page 12: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

3-раскрашиваемость

Алгоритм

Randomized-3-Coloring(G )повторить c · 1.5n раз:

для каждой вершины выбрать случайным образом один из трехцветов, в который данная вершина не покрашеназаписать формулу в 2-КНФ, которая выполнима тогда и толькотогда, когда граф можно раскрасить с заданными ограничениями:для ребра (u, v), где u покрашена в цвет 1 или 2, а v — в цвет 2или 3, запишем клозы

(u1 ∨ u2) ∧ (v2 ∨ v3) ∧ (¬u2 ∨ ¬v2)

если полученная формула выполнима, выдать ответ “да”

выдать ответ “нет”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 5 / 29

Page 13: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

3-раскрашиваемость

Алгоритм

Randomized-3-Coloring(G )повторить c · 1.5n раз:

для каждой вершины выбрать случайным образом один из трехцветов, в который данная вершина не покрашеназаписать формулу в 2-КНФ, которая выполнима тогда и толькотогда, когда граф можно раскрасить с заданными ограничениями:для ребра (u, v), где u покрашена в цвет 1 или 2, а v — в цвет 2или 3, запишем клозы

(u1 ∨ u2) ∧ (v2 ∨ v3) ∧ (¬u2 ∨ ¬v2)

если полученная формула выполнима, выдать ответ “да”

выдать ответ “нет”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 5 / 29

Page 14: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

3-раскрашиваемость

Алгоритм

Randomized-3-Coloring(G )повторить c · 1.5n раз:

для каждой вершины выбрать случайным образом один из трехцветов, в который данная вершина не покрашеназаписать формулу в 2-КНФ, которая выполнима тогда и толькотогда, когда граф можно раскрасить с заданными ограничениями:для ребра (u, v), где u покрашена в цвет 1 или 2, а v — в цвет 2или 3, запишем клозы

(u1 ∨ u2) ∧ (v2 ∨ v3) ∧ (¬u2 ∨ ¬v2)

если полученная формула выполнима, выдать ответ “да”

выдать ответ “нет”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 5 / 29

Page 15: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

Анализ алгоритма

Если алгоритм нашёл раскраску, то она, очевидно, правильная.Нужно оценить вероятность, с которой алгоритм не найдётраскраску для 3-раскрашиваемого графа.Вероятность того, что на одной итерации он не угадает, непревосходит (1− (2/3)n).Тогда вероятность того, что он не угадает ни за одну из c · 1.5n

итераций, не превосходит

(1− (2/3)n)c·1.5n ≤ e−(2/3)n·c·1.5n= e−c .

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 6 / 29

Page 16: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

Анализ алгоритма

Если алгоритм нашёл раскраску, то она, очевидно, правильная.

Нужно оценить вероятность, с которой алгоритм не найдётраскраску для 3-раскрашиваемого графа.Вероятность того, что на одной итерации он не угадает, непревосходит (1− (2/3)n).Тогда вероятность того, что он не угадает ни за одну из c · 1.5n

итераций, не превосходит

(1− (2/3)n)c·1.5n ≤ e−(2/3)n·c·1.5n= e−c .

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 6 / 29

Page 17: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

Анализ алгоритма

Если алгоритм нашёл раскраску, то она, очевидно, правильная.Нужно оценить вероятность, с которой алгоритм не найдётраскраску для 3-раскрашиваемого графа.

Вероятность того, что на одной итерации он не угадает, непревосходит (1− (2/3)n).Тогда вероятность того, что он не угадает ни за одну из c · 1.5n

итераций, не превосходит

(1− (2/3)n)c·1.5n ≤ e−(2/3)n·c·1.5n= e−c .

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 6 / 29

Page 18: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

Анализ алгоритма

Если алгоритм нашёл раскраску, то она, очевидно, правильная.Нужно оценить вероятность, с которой алгоритм не найдётраскраску для 3-раскрашиваемого графа.Вероятность того, что на одной итерации он не угадает, непревосходит (1− (2/3)n).

Тогда вероятность того, что он не угадает ни за одну из c · 1.5n

итераций, не превосходит

(1− (2/3)n)c·1.5n ≤ e−(2/3)n·c·1.5n= e−c .

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 6 / 29

Page 19: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о 3-раскрашиваемости графа

Анализ алгоритма

Если алгоритм нашёл раскраску, то она, очевидно, правильная.Нужно оценить вероятность, с которой алгоритм не найдётраскраску для 3-раскрашиваемого графа.Вероятность того, что на одной итерации он не угадает, непревосходит (1− (2/3)n).Тогда вероятность того, что он не угадает ни за одну из c · 1.5n

итераций, не превосходит

(1− (2/3)n)c·1.5n ≤ e−(2/3)n·c·1.5n= e−c .

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 6 / 29

Page 20: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

План лекции

1 1.5n алгоритм для задачи о 3-раскрашиваемости графа

2 log(2n)-приближенный алгоритм для задачи о минимальноммножестве представителей

3 FPT-алгоритм для задачи о пути длины k

4 22n/3 алгоритм для 3-SAT

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 7 / 29

Page 21: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Задача о минимальном множестве представителей

Определение

Задача о минимальном множестве представителей (hitting set problem)заключается в нахождении по данному множеству X = {x1, . . . , xm} имножеству его подмножеств S1, . . . , Sn ⊆ X такого минимального поразмеру множества C ⊆ X , что C ∩ Si ̸= ∅ для любого i .

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 8 / 29

Page 22: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Задача линейного программирования

Задача линейного программирования

Задача о минимальном множестве представителей легкозаписывается в виде задачи целочисленного линейногопрограммирования.Пусть xi = 1, если xi ∈ C , и xi = 0 в противном случае.Тогда задача запишется так:

minm∑︁

i=1

xi

∑︁i∈Sj

xi ≥ 1, 1 ≤ j ≤ n

xi ∈ {0, 1}, 1 ≤ i ≤ m

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 9 / 29

Page 23: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Задача линейного программирования

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

Пусть xi = 1, если xi ∈ C , и xi = 0 в противном случае.Тогда задача запишется так:

minm∑︁

i=1

xi

∑︁i∈Sj

xi ≥ 1, 1 ≤ j ≤ n

xi ∈ {0, 1}, 1 ≤ i ≤ m

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 9 / 29

Page 24: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Задача линейного программирования

Задача линейного программированияЗадача о минимальном множестве представителей легкозаписывается в виде задачи целочисленного линейногопрограммирования.Пусть xi = 1, если xi ∈ C , и xi = 0 в противном случае.

Тогда задача запишется так:

minm∑︁

i=1

xi

∑︁i∈Sj

xi ≥ 1, 1 ≤ j ≤ n

xi ∈ {0, 1}, 1 ≤ i ≤ m

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 9 / 29

Page 25: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Задача линейного программирования

Задача линейного программированияЗадача о минимальном множестве представителей легкозаписывается в виде задачи целочисленного линейногопрограммирования.Пусть xi = 1, если xi ∈ C , и xi = 0 в противном случае.Тогда задача запишется так:

minm∑︁

i=1

xi

∑︁i∈Sj

xi ≥ 1, 1 ≤ j ≤ n

xi ∈ {0, 1}, 1 ≤ i ≤ m

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 9 / 29

Page 26: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Релаксация

Релаксация

Итак, если x1, . . . , xm — оптимальное решение для полученнойзадачи, то C = {i | xi = 1} является минимальным множествомпредставителей.Заменим условие xi ∈ {0, 1} на условие 0 ≤ xi ≤ 1 и решимполученную задачу линейного программирования.Пусть x̂1, . . . , x̂m — найденное оптимальное решение.Ясно, что

∑︀mi=1 x̂i является нижней оценкой на размер

минимального множества представителей Copt.Рассмотрим теперь такой целочисленный набор: присваиваем xiзначение 1 с вероятностью x̂i .Положим C = {i |xi = 1}.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 10 / 29

Page 27: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Релаксация

РелаксацияИтак, если x1, . . . , xm — оптимальное решение для полученнойзадачи, то C = {i | xi = 1} является минимальным множествомпредставителей.

Заменим условие xi ∈ {0, 1} на условие 0 ≤ xi ≤ 1 и решимполученную задачу линейного программирования.Пусть x̂1, . . . , x̂m — найденное оптимальное решение.Ясно, что

∑︀mi=1 x̂i является нижней оценкой на размер

минимального множества представителей Copt.Рассмотрим теперь такой целочисленный набор: присваиваем xiзначение 1 с вероятностью x̂i .Положим C = {i |xi = 1}.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 10 / 29

Page 28: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Релаксация

РелаксацияИтак, если x1, . . . , xm — оптимальное решение для полученнойзадачи, то C = {i | xi = 1} является минимальным множествомпредставителей.Заменим условие xi ∈ {0, 1} на условие 0 ≤ xi ≤ 1 и решимполученную задачу линейного программирования.

Пусть x̂1, . . . , x̂m — найденное оптимальное решение.Ясно, что

∑︀mi=1 x̂i является нижней оценкой на размер

минимального множества представителей Copt.Рассмотрим теперь такой целочисленный набор: присваиваем xiзначение 1 с вероятностью x̂i .Положим C = {i |xi = 1}.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 10 / 29

Page 29: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Релаксация

РелаксацияИтак, если x1, . . . , xm — оптимальное решение для полученнойзадачи, то C = {i | xi = 1} является минимальным множествомпредставителей.Заменим условие xi ∈ {0, 1} на условие 0 ≤ xi ≤ 1 и решимполученную задачу линейного программирования.Пусть x̂1, . . . , x̂m — найденное оптимальное решение.

Ясно, что∑︀m

i=1 x̂i является нижней оценкой на размерминимального множества представителей Copt.Рассмотрим теперь такой целочисленный набор: присваиваем xiзначение 1 с вероятностью x̂i .Положим C = {i |xi = 1}.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 10 / 29

Page 30: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Релаксация

РелаксацияИтак, если x1, . . . , xm — оптимальное решение для полученнойзадачи, то C = {i | xi = 1} является минимальным множествомпредставителей.Заменим условие xi ∈ {0, 1} на условие 0 ≤ xi ≤ 1 и решимполученную задачу линейного программирования.Пусть x̂1, . . . , x̂m — найденное оптимальное решение.Ясно, что

∑︀mi=1 x̂i является нижней оценкой на размер

минимального множества представителей Copt.

Рассмотрим теперь такой целочисленный набор: присваиваем xiзначение 1 с вероятностью x̂i .Положим C = {i |xi = 1}.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 10 / 29

Page 31: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Релаксация

РелаксацияИтак, если x1, . . . , xm — оптимальное решение для полученнойзадачи, то C = {i | xi = 1} является минимальным множествомпредставителей.Заменим условие xi ∈ {0, 1} на условие 0 ≤ xi ≤ 1 и решимполученную задачу линейного программирования.Пусть x̂1, . . . , x̂m — найденное оптимальное решение.Ясно, что

∑︀mi=1 x̂i является нижней оценкой на размер

минимального множества представителей Copt.Рассмотрим теперь такой целочисленный набор: присваиваем xiзначение 1 с вероятностью x̂i .

Положим C = {i |xi = 1}.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 10 / 29

Page 32: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Релаксация

РелаксацияИтак, если x1, . . . , xm — оптимальное решение для полученнойзадачи, то C = {i | xi = 1} является минимальным множествомпредставителей.Заменим условие xi ∈ {0, 1} на условие 0 ≤ xi ≤ 1 и решимполученную задачу линейного программирования.Пусть x̂1, . . . , x̂m — найденное оптимальное решение.Ясно, что

∑︀mi=1 x̂i является нижней оценкой на размер

минимального множества представителей Copt.Рассмотрим теперь такой целочисленный набор: присваиваем xiзначение 1 с вероятностью x̂i .Положим C = {i |xi = 1}.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 10 / 29

Page 33: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Оценка вероятности

Оценка вероятности

Конечно, C может и не быть допустимым решением (то есть несодержать ни одного представителя какого-то множества Sj).Мы хотим оценить сверху вероятность того, что C ∩ Sj = ∅.Пусть |Sj | = k .Мы знаем, что

∑︀i∈Sj

x̂i ≥ 1.

Pr(C∩Sj = ∅) =∏︁i∈Sj

(1−x̂i ) ≤

(︃∑︀i∈Sj

(1− x̂i )

k

)︃k

≤ (1−1/k)k < e−1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 11 / 29

Page 34: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Оценка вероятности

Оценка вероятности

Конечно, C может и не быть допустимым решением (то есть несодержать ни одного представителя какого-то множества Sj).

Мы хотим оценить сверху вероятность того, что C ∩ Sj = ∅.Пусть |Sj | = k .Мы знаем, что

∑︀i∈Sj

x̂i ≥ 1.

Pr(C∩Sj = ∅) =∏︁i∈Sj

(1−x̂i ) ≤

(︃∑︀i∈Sj

(1− x̂i )

k

)︃k

≤ (1−1/k)k < e−1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 11 / 29

Page 35: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Оценка вероятности

Оценка вероятности

Конечно, C может и не быть допустимым решением (то есть несодержать ни одного представителя какого-то множества Sj).Мы хотим оценить сверху вероятность того, что C ∩ Sj = ∅.

Пусть |Sj | = k .Мы знаем, что

∑︀i∈Sj

x̂i ≥ 1.

Pr(C∩Sj = ∅) =∏︁i∈Sj

(1−x̂i ) ≤

(︃∑︀i∈Sj

(1− x̂i )

k

)︃k

≤ (1−1/k)k < e−1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 11 / 29

Page 36: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Оценка вероятности

Оценка вероятности

Конечно, C может и не быть допустимым решением (то есть несодержать ни одного представителя какого-то множества Sj).Мы хотим оценить сверху вероятность того, что C ∩ Sj = ∅.Пусть |Sj | = k .

Мы знаем, что∑︀

i∈Sjx̂i ≥ 1.

Pr(C∩Sj = ∅) =∏︁i∈Sj

(1−x̂i ) ≤

(︃∑︀i∈Sj

(1− x̂i )

k

)︃k

≤ (1−1/k)k < e−1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 11 / 29

Page 37: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Оценка вероятности

Оценка вероятности

Конечно, C может и не быть допустимым решением (то есть несодержать ни одного представителя какого-то множества Sj).Мы хотим оценить сверху вероятность того, что C ∩ Sj = ∅.Пусть |Sj | = k .Мы знаем, что

∑︀i∈Sj

x̂i ≥ 1.

Pr(C∩Sj = ∅) =∏︁i∈Sj

(1−x̂i ) ≤

(︃∑︀i∈Sj

(1− x̂i )

k

)︃k

≤ (1−1/k)k < e−1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 11 / 29

Page 38: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Оценка вероятности

Оценка вероятности

Конечно, C может и не быть допустимым решением (то есть несодержать ни одного представителя какого-то множества Sj).Мы хотим оценить сверху вероятность того, что C ∩ Sj = ∅.Пусть |Sj | = k .Мы знаем, что

∑︀i∈Sj

x̂i ≥ 1.

Pr(C∩Sj = ∅) =∏︁i∈Sj

(1−x̂i ) ≤

(︃∑︀i∈Sj

(1− x̂i )

k

)︃k

≤ (1−1/k)k < e−1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 11 / 29

Page 39: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Повторение эксперимента

Повторение эксперимента

Если взять объединение t = log(2n) таких множеств C , товероятность того, что объединение не будет содержать ни одногопредставителя множества Sj , будет не более (e−1)log(2n) = 1/2n.Значит, такое объединение с вероятностью хотя бы 1/2 являетсямножеством представителей.Выбор t = log(2n) таких множеств C равносилен присваиванию xiзначения 1 с вероятностью 1− (1− x̂i )

t .Мат. ожидание размера C равно

∑︀mi=1 x̂i ≤ Copt.

Таким образом, мат. ожидание размера построенного множествапредставителей не более чем в log(2n) раз хуже оптимального.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 12 / 29

Page 40: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Повторение эксперимента

Повторение эксперимента

Если взять объединение t = log(2n) таких множеств C , товероятность того, что объединение не будет содержать ни одногопредставителя множества Sj , будет не более (e−1)log(2n) = 1/2n.

Значит, такое объединение с вероятностью хотя бы 1/2 являетсямножеством представителей.Выбор t = log(2n) таких множеств C равносилен присваиванию xiзначения 1 с вероятностью 1− (1− x̂i )

t .Мат. ожидание размера C равно

∑︀mi=1 x̂i ≤ Copt.

Таким образом, мат. ожидание размера построенного множествапредставителей не более чем в log(2n) раз хуже оптимального.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 12 / 29

Page 41: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Повторение эксперимента

Повторение эксперимента

Если взять объединение t = log(2n) таких множеств C , товероятность того, что объединение не будет содержать ни одногопредставителя множества Sj , будет не более (e−1)log(2n) = 1/2n.Значит, такое объединение с вероятностью хотя бы 1/2 являетсямножеством представителей.

Выбор t = log(2n) таких множеств C равносилен присваиванию xiзначения 1 с вероятностью 1− (1− x̂i )

t .Мат. ожидание размера C равно

∑︀mi=1 x̂i ≤ Copt.

Таким образом, мат. ожидание размера построенного множествапредставителей не более чем в log(2n) раз хуже оптимального.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 12 / 29

Page 42: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Повторение эксперимента

Повторение эксперимента

Если взять объединение t = log(2n) таких множеств C , товероятность того, что объединение не будет содержать ни одногопредставителя множества Sj , будет не более (e−1)log(2n) = 1/2n.Значит, такое объединение с вероятностью хотя бы 1/2 являетсямножеством представителей.Выбор t = log(2n) таких множеств C равносилен присваиванию xiзначения 1 с вероятностью 1− (1− x̂i )

t .

Мат. ожидание размера C равно∑︀m

i=1 x̂i ≤ Copt.Таким образом, мат. ожидание размера построенного множествапредставителей не более чем в log(2n) раз хуже оптимального.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 12 / 29

Page 43: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Повторение эксперимента

Повторение эксперимента

Если взять объединение t = log(2n) таких множеств C , товероятность того, что объединение не будет содержать ни одногопредставителя множества Sj , будет не более (e−1)log(2n) = 1/2n.Значит, такое объединение с вероятностью хотя бы 1/2 являетсямножеством представителей.Выбор t = log(2n) таких множеств C равносилен присваиванию xiзначения 1 с вероятностью 1− (1− x̂i )

t .Мат. ожидание размера C равно

∑︀mi=1 x̂i ≤ Copt.

Таким образом, мат. ожидание размера построенного множествапредставителей не более чем в log(2n) раз хуже оптимального.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 12 / 29

Page 44: 20091025 algorithmsfornphardproblems kulikov_lecture04

Задача о минимальном множестве представителей

Повторение эксперимента

Повторение эксперимента

Если взять объединение t = log(2n) таких множеств C , товероятность того, что объединение не будет содержать ни одногопредставителя множества Sj , будет не более (e−1)log(2n) = 1/2n.Значит, такое объединение с вероятностью хотя бы 1/2 являетсямножеством представителей.Выбор t = log(2n) таких множеств C равносилен присваиванию xiзначения 1 с вероятностью 1− (1− x̂i )

t .Мат. ожидание размера C равно

∑︀mi=1 x̂i ≤ Copt.

Таким образом, мат. ожидание размера построенного множествапредставителей не более чем в log(2n) раз хуже оптимального.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 12 / 29

Page 45: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

План лекции

1 1.5n алгоритм для задачи о 3-раскрашиваемости графа

2 log(2n)-приближенный алгоритм для задачи о минимальноммножестве представителей

3 FPT-алгоритм для задачи о пути длины k

4 22n/3 алгоритм для 3-SAT

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 13 / 29

Page 46: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

Задача о пути длины k

Определение

Задачи о пути длины k (k-path problem) заключается в нахождении поданному графу G с двумя выделенными вершинами s и t и числу kпростого пути между s и t, содержащего ровно k промежуточныхвершин.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 14 / 29

Page 47: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

Color coding

Color coding

Присвоим равновероятно и независимо всем вершинам, кроме s иt, цвета от 1 до k .Проверим, есть ли полноцветный s–t путь, то есть путь, вкотором промежуточные вершины покрашены во все k цветов.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 15 / 29

Page 48: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

Color coding

Color codingПрисвоим равновероятно и независимо всем вершинам, кроме s иt, цвета от 1 до k .

Проверим, есть ли полноцветный s–t путь, то есть путь, вкотором промежуточные вершины покрашены во все k цветов.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 15 / 29

Page 49: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

Color coding

Color codingПрисвоим равновероятно и независимо всем вершинам, кроме s иt, цвета от 1 до k .Проверим, есть ли полноцветный s–t путь, то есть путь, вкотором промежуточные вершины покрашены во все k цветов.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 15 / 29

Page 50: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

Оценка вероятности ошибки

Оценка вероятности ошибки

Если путь длины k есть, то вероятность того, что он полноцветен,равна

k!

kk >

(︀ke

)︀kkk = e−k .

Вероятность того, что путь не найдётся (если он есть) после ek

повторений, не превосходит

(1− e−k)ek

<(︁e−e−k

)︁ek

= e−1 .

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 16 / 29

Page 51: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

Оценка вероятности ошибки

Оценка вероятности ошибкиЕсли путь длины k есть, то вероятность того, что он полноцветен,равна

k!

kk >

(︀ke

)︀kkk = e−k .

Вероятность того, что путь не найдётся (если он есть) после ek

повторений, не превосходит

(1− e−k)ek

<(︁e−e−k

)︁ek

= e−1 .

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 16 / 29

Page 52: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

Оценка вероятности ошибки

Оценка вероятности ошибкиЕсли путь длины k есть, то вероятность того, что он полноцветен,равна

k!

kk >

(︀ke

)︀kkk = e−k .

Вероятность того, что путь не найдётся (если он есть) после ek

повторений, не превосходит

(1− e−k)ek

<(︁e−e−k

)︁ek

= e−1 .

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 16 / 29

Page 53: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

Как же проверять наличие полноцветного пути?

Как же проверять наличие полноцветного пути?

Мы знаем, что в полноцветном пути должны встречатьсявершины всех k цветов, но не знаем, в каком порядке.Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.

Итого

Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 17 / 29

Page 54: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

Как же проверять наличие полноцветного пути?

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

Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.

Итого

Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 17 / 29

Page 55: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

Как же проверять наличие полноцветного пути?

Как же проверять наличие полноцветного пути?Мы знаем, что в полноцветном пути должны встречатьсявершины всех k цветов, но не знаем, в каком порядке.Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.

Итого

Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 17 / 29

Page 56: 20091025 algorithmsfornphardproblems kulikov_lecture04

FPT-алгоритм для задачи о пути длины k

Как же проверять наличие полноцветного пути?

Как же проверять наличие полноцветного пути?Мы знаем, что в полноцветном пути должны встречатьсявершины всех k цветов, но не знаем, в каком порядке.Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.

Итого

Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 17 / 29

Page 57: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

План лекции

1 1.5n алгоритм для задачи о 3-раскрашиваемости графа

2 log(2n)-приближенный алгоритм для задачи о минимальноммножестве представителей

3 FPT-алгоритм для задачи о пути длины k

4 22n/3 алгоритм для 3-SAT

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 18 / 29

Page 58: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Пример работы алгоритма расщепления

(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 19 / 29

Page 59: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Пример работы алгоритма расщепления

(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 19 / 29

Page 60: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Пример работы алгоритма расщепления

(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 1

(z) ∧ (¬z)

y = 1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 19 / 29

Page 61: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Пример работы алгоритма расщепления

(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 1

(z) ∧ (¬z)

y = 1

(y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 0

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 19 / 29

Page 62: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Пример работы алгоритма расщепления

(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 1

(z) ∧ (¬z)

y = 1

(y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 0

(z) ∧ (¬z)

y = 1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 19 / 29

Page 63: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Пример работы алгоритма расщепления

(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 1

(z) ∧ (¬z)

y = 1

(y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 0

(z) ∧ (¬z)

y = 1

(z)

y = 0

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 19 / 29

Page 64: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Пример работы алгоритма расщепления

(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 1

(z) ∧ (¬z)

y = 1

(y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 0

(z) ∧ (¬z)

y = 1

(z)

y = 0

пустая формула

z = 1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 19 / 29

Page 65: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Пример работы алгоритма расщепления

(x ∨ y ∨ z) ∧ (¬x ∨ y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

(y) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 1

(z) ∧ (¬z)

y = 1

(y ∨ z) ∧ (¬y ∨ z) ∧ (¬y ∨ ¬z)

x = 0

(z) ∧ (¬z)

y = 1

(z)

y = 0

пустая формула

z = 1

{x = 0, y = 0, z = 1} — выполняющий набор

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 19 / 29

Page 66: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Основные идеи алгоритма

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

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 20 / 29

Page 67: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Основные идеи алгоритма

выберем случайную перестановку переменных и будемрасщеплять по переменным в соответствующем порядке

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

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 20 / 29

Page 68: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Основные идеи алгоритма

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

для оценки времени работы будем считать, по сколькимпеременным нам расщеплять не пришлось

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 20 / 29

Page 69: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Основные идеи алгоритма

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

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 20 / 29

Page 70: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Алгоритм

PPSZ-SAT(F )

выбрать случайным образом перестановку 𝜋 из множества всехперестановок {1, . . . , n}построить дерево рекурсии глубины не более 2n/3, где на каждомшаге

сначала применяем правило удаления единичных клозов,а потом выбираем первую переменную из перестановки, все ещевходяющую в формулу, и расщепляемся по ней

если на каком-то шаге высянилось, что формула выполнима,выдать “выполнима”в противном случае выдать “невыполнима”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 21 / 29

Page 71: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Алгоритм

PPSZ-SAT(F )выбрать случайным образом перестановку 𝜋 из множества всехперестановок {1, . . . , n}

построить дерево рекурсии глубины не более 2n/3, где на каждомшаге

сначала применяем правило удаления единичных клозов,а потом выбираем первую переменную из перестановки, все ещевходяющую в формулу, и расщепляемся по ней

если на каком-то шаге высянилось, что формула выполнима,выдать “выполнима”в противном случае выдать “невыполнима”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 21 / 29

Page 72: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Алгоритм

PPSZ-SAT(F )выбрать случайным образом перестановку 𝜋 из множества всехперестановок {1, . . . , n}построить дерево рекурсии глубины не более 2n/3, где на каждомшаге

сначала применяем правило удаления единичных клозов,а потом выбираем первую переменную из перестановки, все ещевходяющую в формулу, и расщепляемся по ней

если на каком-то шаге высянилось, что формула выполнима,выдать “выполнима”в противном случае выдать “невыполнима”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 21 / 29

Page 73: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Алгоритм

PPSZ-SAT(F )выбрать случайным образом перестановку 𝜋 из множества всехперестановок {1, . . . , n}построить дерево рекурсии глубины не более 2n/3, где на каждомшаге

сначала применяем правило удаления единичных клозов,

а потом выбираем первую переменную из перестановки, все ещевходяющую в формулу, и расщепляемся по ней

если на каком-то шаге высянилось, что формула выполнима,выдать “выполнима”в противном случае выдать “невыполнима”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 21 / 29

Page 74: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Алгоритм

PPSZ-SAT(F )выбрать случайным образом перестановку 𝜋 из множества всехперестановок {1, . . . , n}построить дерево рекурсии глубины не более 2n/3, где на каждомшаге

сначала применяем правило удаления единичных клозов,а потом выбираем первую переменную из перестановки, все ещевходяющую в формулу, и расщепляемся по ней

если на каком-то шаге высянилось, что формула выполнима,выдать “выполнима”в противном случае выдать “невыполнима”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 21 / 29

Page 75: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Алгоритм

PPSZ-SAT(F )выбрать случайным образом перестановку 𝜋 из множества всехперестановок {1, . . . , n}построить дерево рекурсии глубины не более 2n/3, где на каждомшаге

сначала применяем правило удаления единичных клозов,а потом выбираем первую переменную из перестановки, все ещевходяющую в формулу, и расщепляемся по ней

если на каком-то шаге высянилось, что формула выполнима,выдать “выполнима”

в противном случае выдать “невыполнима”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 21 / 29

Page 76: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Алгоритм

PPSZ-SAT(F )выбрать случайным образом перестановку 𝜋 из множества всехперестановок {1, . . . , n}построить дерево рекурсии глубины не более 2n/3, где на каждомшаге

сначала применяем правило удаления единичных клозов,а потом выбираем первую переменную из перестановки, все ещевходяющую в формулу, и расщепляемся по ней

если на каком-то шаге высянилось, что формула выполнима,выдать “выполнима”в противном случае выдать “невыполнима”

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 21 / 29

Page 77: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма

очевидно, время работы этого алгоритма равно poly(|F |) · 22n/3

мы покажем, что PPSZ-SAT с достаточно большойвероятностью находит правильное решение для формулы, укоторой не более одного выполняющего наборарассмотрим дерево расщепления алгоритма, однако безораничения 2n/3 на его глубинуесли S — выполняющий набор для F , то это дерево содержитветвь, ведущую в Sкаждое расщепление вдоль этой ветви присваивает значениепеременнойнекоторым переменным значения также присваиваютсяправилами упрощения

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 22 / 29

Page 78: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма

очевидно, время работы этого алгоритма равно poly(|F |) · 22n/3

мы покажем, что PPSZ-SAT с достаточно большойвероятностью находит правильное решение для формулы, укоторой не более одного выполняющего наборарассмотрим дерево расщепления алгоритма, однако безораничения 2n/3 на его глубинуесли S — выполняющий набор для F , то это дерево содержитветвь, ведущую в Sкаждое расщепление вдоль этой ветви присваивает значениепеременнойнекоторым переменным значения также присваиваютсяправилами упрощения

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 22 / 29

Page 79: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма

очевидно, время работы этого алгоритма равно poly(|F |) · 22n/3

мы покажем, что PPSZ-SAT с достаточно большойвероятностью находит правильное решение для формулы, укоторой не более одного выполняющего набора

рассмотрим дерево расщепления алгоритма, однако безораничения 2n/3 на его глубинуесли S — выполняющий набор для F , то это дерево содержитветвь, ведущую в Sкаждое расщепление вдоль этой ветви присваивает значениепеременнойнекоторым переменным значения также присваиваютсяправилами упрощения

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 22 / 29

Page 80: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма

очевидно, время работы этого алгоритма равно poly(|F |) · 22n/3

мы покажем, что PPSZ-SAT с достаточно большойвероятностью находит правильное решение для формулы, укоторой не более одного выполняющего наборарассмотрим дерево расщепления алгоритма, однако безораничения 2n/3 на его глубину

если S — выполняющий набор для F , то это дерево содержитветвь, ведущую в Sкаждое расщепление вдоль этой ветви присваивает значениепеременнойнекоторым переменным значения также присваиваютсяправилами упрощения

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 22 / 29

Page 81: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма

очевидно, время работы этого алгоритма равно poly(|F |) · 22n/3

мы покажем, что PPSZ-SAT с достаточно большойвероятностью находит правильное решение для формулы, укоторой не более одного выполняющего наборарассмотрим дерево расщепления алгоритма, однако безораничения 2n/3 на его глубинуесли S — выполняющий набор для F , то это дерево содержитветвь, ведущую в S

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

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 22 / 29

Page 82: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма

очевидно, время работы этого алгоритма равно poly(|F |) · 22n/3

мы покажем, что PPSZ-SAT с достаточно большойвероятностью находит правильное решение для формулы, укоторой не более одного выполняющего наборарассмотрим дерево расщепления алгоритма, однако безораничения 2n/3 на его глубинуесли S — выполняющий набор для F , то это дерево содержитветвь, ведущую в Sкаждое расщепление вдоль этой ветви присваивает значениепеременной

некоторым переменным значения также присваиваютсяправилами упрощения

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 22 / 29

Page 83: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма

очевидно, время работы этого алгоритма равно poly(|F |) · 22n/3

мы покажем, что PPSZ-SAT с достаточно большойвероятностью находит правильное решение для формулы, укоторой не более одного выполняющего наборарассмотрим дерево расщепления алгоритма, однако безораничения 2n/3 на его глубинуесли S — выполняющий набор для F , то это дерево содержитветвь, ведущую в Sкаждое расщепление вдоль этой ветви присваивает значениепеременнойнекоторым переменным значения также присваиваютсяправилами упрощения

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 22 / 29

Page 84: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

под описанием набора S будем понимать набор, отвечающий всемприсваиваниям во время расщеплений, а под длиной описания —кол-во переменных в описанииясно, что по описанию выполняющего набора легко восстановитьи сам выполняющий набор: присваиваем переменным значения изописания, при появлении единичных клозов — присваиваемзначения их литералам

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 23 / 29

Page 85: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

под описанием набора S будем понимать набор, отвечающий всемприсваиваниям во время расщеплений, а под длиной описания —кол-во переменных в описании

ясно, что по описанию выполняющего набора легко восстановитьи сам выполняющий набор: присваиваем переменным значения изописания, при появлении единичных клозов — присваиваемзначения их литералам

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 23 / 29

Page 86: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

под описанием набора S будем понимать набор, отвечающий всемприсваиваниям во время расщеплений, а под длиной описания —кол-во переменных в описанииясно, что по описанию выполняющего набора легко восстановитьи сам выполняющий набор: присваиваем переменным значения изописания, при появлении единичных клозов — присваиваемзначения их литералам

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 23 / 29

Page 87: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Лемма о кодировании выполняющего набора

ЛеммаПусть F — одновыполнимая формула в 3-КНФ, а S — ее выполняющийнабор. Рассмотрим описание относительно перестановки, случайно иравновероятно выбранной из множества всех перестановок. Тогдаматематическое ожидание длины описания S не превосходит 2n/3.

Доказательство

заметим, что для каждой переменной x из F найдется хотя быодин клоз, в котором S выполняет только литерал,соответствующий x : если бы такого клоза не нашлось, то, изменивзначение x в S , мы получили бы другой выполняющий наборклоз, удовлетворяющий такому условию, назовем критическимдля переменной x

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 24 / 29

Page 88: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Лемма о кодировании выполняющего набора

ЛеммаПусть F — одновыполнимая формула в 3-КНФ, а S — ее выполняющийнабор. Рассмотрим описание относительно перестановки, случайно иравновероятно выбранной из множества всех перестановок. Тогдаматематическое ожидание длины описания S не превосходит 2n/3.

Доказательствозаметим, что для каждой переменной x из F найдется хотя быодин клоз, в котором S выполняет только литерал,соответствующий x :

если бы такого клоза не нашлось, то, изменивзначение x в S , мы получили бы другой выполняющий наборклоз, удовлетворяющий такому условию, назовем критическимдля переменной x

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 24 / 29

Page 89: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Лемма о кодировании выполняющего набора

ЛеммаПусть F — одновыполнимая формула в 3-КНФ, а S — ее выполняющийнабор. Рассмотрим описание относительно перестановки, случайно иравновероятно выбранной из множества всех перестановок. Тогдаматематическое ожидание длины описания S не превосходит 2n/3.

Доказательствозаметим, что для каждой переменной x из F найдется хотя быодин клоз, в котором S выполняет только литерал,соответствующий x : если бы такого клоза не нашлось, то, изменивзначение x в S , мы получили бы другой выполняющий набор

клоз, удовлетворяющий такому условию, назовем критическимдля переменной x

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 24 / 29

Page 90: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Лемма о кодировании выполняющего набора

ЛеммаПусть F — одновыполнимая формула в 3-КНФ, а S — ее выполняющийнабор. Рассмотрим описание относительно перестановки, случайно иравновероятно выбранной из множества всех перестановок. Тогдаматематическое ожидание длины описания S не превосходит 2n/3.

Доказательствозаметим, что для каждой переменной x из F найдется хотя быодин клоз, в котором S выполняет только литерал,соответствующий x : если бы такого клоза не нашлось, то, изменивзначение x в S , мы получили бы другой выполняющий наборклоз, удовлетворяющий такому условию, назовем критическимдля переменной x

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 24 / 29

Page 91: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Доказательство (продолжение)

Доказательство

поскольку 𝜋 выбирается случайно и равновероятно, переменная xокажется в этой перестановке последней переменной критическогоклоза для x с вероятностью не менее 1/3ясно, что в таком случае x не появится в описании Sтаким образом, с вероятностью хотя бы 1/3 x не попадет вописание Sосталось воспользоваться линейностью математическогоожидания

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 25 / 29

Page 92: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Доказательство (продолжение)

Доказательствопоскольку 𝜋 выбирается случайно и равновероятно, переменная xокажется в этой перестановке последней переменной критическогоклоза для x с вероятностью не менее 1/3

ясно, что в таком случае x не появится в описании Sтаким образом, с вероятностью хотя бы 1/3 x не попадет вописание Sосталось воспользоваться линейностью математическогоожидания

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 25 / 29

Page 93: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Доказательство (продолжение)

Доказательствопоскольку 𝜋 выбирается случайно и равновероятно, переменная xокажется в этой перестановке последней переменной критическогоклоза для x с вероятностью не менее 1/3ясно, что в таком случае x не появится в описании S

таким образом, с вероятностью хотя бы 1/3 x не попадет вописание Sосталось воспользоваться линейностью математическогоожидания

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 25 / 29

Page 94: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Доказательство (продолжение)

Доказательствопоскольку 𝜋 выбирается случайно и равновероятно, переменная xокажется в этой перестановке последней переменной критическогоклоза для x с вероятностью не менее 1/3ясно, что в таком случае x не появится в описании Sтаким образом, с вероятностью хотя бы 1/3 x не попадет вописание S

осталось воспользоваться линейностью математическогоожидания

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 25 / 29

Page 95: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Доказательство (продолжение)

Доказательствопоскольку 𝜋 выбирается случайно и равновероятно, переменная xокажется в этой перестановке последней переменной критическогоклоза для x с вероятностью не менее 1/3ясно, что в таком случае x не появится в описании Sтаким образом, с вероятностью хотя бы 1/3 x не попадет вописание Sосталось воспользоваться линейностью математическогоожидания

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 25 / 29

Page 96: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

пусть pl — вероятность того, что длина описания выполняющегонабора в точности равна lпо только что доказанной лемме

2n3≥

n∑︁l=0

pl l ≥(︂⌊︂

2n3

⌋︂+ 1)︂ n∑︁

l=⌊ 2n3 ⌋+1

pl

следовательно,

n∑︁l=⌊ 2n

3 ⌋+1

pl ≤2n3

(︂⌊︂2n3

⌋︂+ 1)︂−1

≤ 2n3· 32n + 1

= 1− 12n + 1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 26 / 29

Page 97: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

пусть pl — вероятность того, что длина описания выполняющегонабора в точности равна l

по только что доказанной лемме

2n3≥

n∑︁l=0

pl l ≥(︂⌊︂

2n3

⌋︂+ 1)︂ n∑︁

l=⌊ 2n3 ⌋+1

pl

следовательно,

n∑︁l=⌊ 2n

3 ⌋+1

pl ≤2n3

(︂⌊︂2n3

⌋︂+ 1)︂−1

≤ 2n3· 32n + 1

= 1− 12n + 1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 26 / 29

Page 98: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

пусть pl — вероятность того, что длина описания выполняющегонабора в точности равна lпо только что доказанной лемме

2n3≥

n∑︁l=0

pl l ≥(︂⌊︂

2n3

⌋︂+ 1)︂ n∑︁

l=⌊ 2n3 ⌋+1

pl

следовательно,

n∑︁l=⌊ 2n

3 ⌋+1

pl ≤2n3

(︂⌊︂2n3

⌋︂+ 1)︂−1

≤ 2n3· 32n + 1

= 1− 12n + 1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 26 / 29

Page 99: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

пусть pl — вероятность того, что длина описания выполняющегонабора в точности равна lпо только что доказанной лемме

2n3≥

n∑︁l=0

pl l ≥(︂⌊︂

2n3

⌋︂+ 1)︂ n∑︁

l=⌊ 2n3 ⌋+1

pl

следовательно,

n∑︁l=⌊ 2n

3 ⌋+1

pl ≤2n3

(︂⌊︂2n3

⌋︂+ 1)︂−1

≤ 2n3· 32n + 1

= 1− 12n + 1

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 26 / 29

Page 100: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

⌊ 2n3 ⌋+1∑︁l=0

pl ≥1

2n + 1

итак, для случайной перестановки длина описания не превосходит2n/3 с вероятностью хотя бы 1/(2n + 1)если запустить алгоритм (2n + 1) раз, то алгоритм не найдетнабор с вероятностью не более (1− 1

2n+1)2n+1 < 1e

а если запустить c(2n + 1) раз, то вероятность ошибки будет неболее 1

ec

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 27 / 29

Page 101: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

⌊ 2n3 ⌋+1∑︁l=0

pl ≥1

2n + 1

итак, для случайной перестановки длина описания не превосходит2n/3 с вероятностью хотя бы 1/(2n + 1)если запустить алгоритм (2n + 1) раз, то алгоритм не найдетнабор с вероятностью не более (1− 1

2n+1)2n+1 < 1e

а если запустить c(2n + 1) раз, то вероятность ошибки будет неболее 1

ec

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 27 / 29

Page 102: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

⌊ 2n3 ⌋+1∑︁l=0

pl ≥1

2n + 1

итак, для случайной перестановки длина описания не превосходит2n/3 с вероятностью хотя бы 1/(2n + 1)

если запустить алгоритм (2n + 1) раз, то алгоритм не найдетнабор с вероятностью не более (1− 1

2n+1)2n+1 < 1e

а если запустить c(2n + 1) раз, то вероятность ошибки будет неболее 1

ec

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 27 / 29

Page 103: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

⌊ 2n3 ⌋+1∑︁l=0

pl ≥1

2n + 1

итак, для случайной перестановки длина описания не превосходит2n/3 с вероятностью хотя бы 1/(2n + 1)если запустить алгоритм (2n + 1) раз, то алгоритм не найдетнабор с вероятностью не более (1− 1

2n+1)2n+1 < 1e

а если запустить c(2n + 1) раз, то вероятность ошибки будет неболее 1

ec

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 27 / 29

Page 104: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Анализ алгоритма (продолжение)

⌊ 2n3 ⌋+1∑︁l=0

pl ≥1

2n + 1

итак, для случайной перестановки длина описания не превосходит2n/3 с вероятностью хотя бы 1/(2n + 1)если запустить алгоритм (2n + 1) раз, то алгоритм не найдетнабор с вероятностью не более (1− 1

2n+1)2n+1 < 1e

а если запустить c(2n + 1) раз, то вероятность ошибки будет неболее 1

ec

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 27 / 29

Page 105: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Основные идеи алгоритма еще раз

случайно выбираем порядок переменных и расщепляем,периодически удаляя единичные клозыесли у F есть ровно один выполняющий набор S , то для любойпеременной x найдется клоз (x ∨ y ∨ z), такой что S выполняеттолько литерал x в этом клозе (то есть S присваивает x , y , zзначения 1, 0, 0, соответственно)если в перестановке 𝜋 x идет после y и z , то в описание S она непопадетв среднем, примерно треть всех переменных не попадет в описаниетаким образом, если мы переберем все описания длины не более2n/3, то с хорошей вероятностью мы найдем описаниевыполняющего набора

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 28 / 29

Page 106: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Основные идеи алгоритма еще раз

случайно выбираем порядок переменных и расщепляем,периодически удаляя единичные клозы

если у F есть ровно один выполняющий набор S , то для любойпеременной x найдется клоз (x ∨ y ∨ z), такой что S выполняеттолько литерал x в этом клозе (то есть S присваивает x , y , zзначения 1, 0, 0, соответственно)если в перестановке 𝜋 x идет после y и z , то в описание S она непопадетв среднем, примерно треть всех переменных не попадет в описаниетаким образом, если мы переберем все описания длины не более2n/3, то с хорошей вероятностью мы найдем описаниевыполняющего набора

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 28 / 29

Page 107: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Основные идеи алгоритма еще раз

случайно выбираем порядок переменных и расщепляем,периодически удаляя единичные клозыесли у F есть ровно один выполняющий набор S , то для любойпеременной x найдется клоз (x ∨ y ∨ z), такой что S выполняеттолько литерал x в этом клозе (то есть S присваивает x , y , zзначения 1, 0, 0, соответственно)

если в перестановке 𝜋 x идет после y и z , то в описание S она непопадетв среднем, примерно треть всех переменных не попадет в описаниетаким образом, если мы переберем все описания длины не более2n/3, то с хорошей вероятностью мы найдем описаниевыполняющего набора

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 28 / 29

Page 108: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Основные идеи алгоритма еще раз

случайно выбираем порядок переменных и расщепляем,периодически удаляя единичные клозыесли у F есть ровно один выполняющий набор S , то для любойпеременной x найдется клоз (x ∨ y ∨ z), такой что S выполняеттолько литерал x в этом клозе (то есть S присваивает x , y , zзначения 1, 0, 0, соответственно)если в перестановке 𝜋 x идет после y и z , то в описание S она непопадет

в среднем, примерно треть всех переменных не попадет в описаниетаким образом, если мы переберем все описания длины не более2n/3, то с хорошей вероятностью мы найдем описаниевыполняющего набора

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 28 / 29

Page 109: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Основные идеи алгоритма еще раз

случайно выбираем порядок переменных и расщепляем,периодически удаляя единичные клозыесли у F есть ровно один выполняющий набор S , то для любойпеременной x найдется клоз (x ∨ y ∨ z), такой что S выполняеттолько литерал x в этом клозе (то есть S присваивает x , y , zзначения 1, 0, 0, соответственно)если в перестановке 𝜋 x идет после y и z , то в описание S она непопадетв среднем, примерно треть всех переменных не попадет в описание

таким образом, если мы переберем все описания длины не более2n/3, то с хорошей вероятностью мы найдем описаниевыполняющего набора

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 28 / 29

Page 110: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Основные идеи алгоритма еще раз

случайно выбираем порядок переменных и расщепляем,периодически удаляя единичные клозыесли у F есть ровно один выполняющий набор S , то для любойпеременной x найдется клоз (x ∨ y ∨ z), такой что S выполняеттолько литерал x в этом клозе (то есть S присваивает x , y , zзначения 1, 0, 0, соответственно)если в перестановке 𝜋 x идет после y и z , то в описание S она непопадетв среднем, примерно треть всех переменных не попадет в описаниетаким образом, если мы переберем все описания длины не более2n/3, то с хорошей вероятностью мы найдем описаниевыполняющего набора

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 28 / 29

Page 111: 20091025 algorithmsfornphardproblems kulikov_lecture04

22n/3 алгоритм для 3-SAT

Спасибо за внимание!

А. Куликов (Computer Science клуб) 4. Вероятностные алгоритмы 29 / 29