20080323 efficientalgorithms kulikov_lecture19

71
с/к “Эффективные алгоритмы” Лекция 19: Потоки в сетях с несколькими веществами А. Куликов Computer Science клуб при ПОМИ http://logic.pdmi.ras.ru/infclub/ А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 1 / 24

Transcript of 20080323 efficientalgorithms kulikov_lecture19

Page 1: 20080323 efficientalgorithms kulikov_lecture19

с/к “Эффективные алгоритмы”Лекция 19: Потоки в сетях с несколькими веществами

А. Куликов

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

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 1 / 24

Page 2: 20080323 efficientalgorithms kulikov_lecture19

План лекции

1 Постановка задачи

2 Алгоритм

3 Анализ алгоритмаОценки ЧерноваОценка оптимальности

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 2 / 24

Page 3: 20080323 efficientalgorithms kulikov_lecture19

План лекции

1 Постановка задачи

2 Алгоритм

3 Анализ алгоритмаОценки ЧерноваОценка оптимальности

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 2 / 24

Page 4: 20080323 efficientalgorithms kulikov_lecture19

План лекции

1 Постановка задачи

2 Алгоритм

3 Анализ алгоритмаОценки ЧерноваОценка оптимальности

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 2 / 24

Page 5: 20080323 efficientalgorithms kulikov_lecture19

План лекции

1 Постановка задачи

2 Алгоритм

3 Анализ алгоритмаОценки ЧерноваОценка оптимальности

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 3 / 24

Page 6: 20080323 efficientalgorithms kulikov_lecture19

Постановка задачи

Определение

Дан ориентированный граф G = (V , E ) без весов на рёбрах и kпар истоков-стоков (s1, t1), . . . , (sk , tk) ∈ V 2.Задача о потоке в сети с несколькими веществами(multicommodity flow problem) заключается в нахождении такогомножества путей Pi из si в ti для всех i = 1, . . . , k , при котороммаксимальная ширина (congestion) рёбер была бы минимальна,где под шириной понимается количество путей, проходящих черезэто ребро:

c(e) = |{Pi | e ∈ Pi}|.

ФактЗадача является NP-трудной.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 4 / 24

Page 7: 20080323 efficientalgorithms kulikov_lecture19

Постановка задачи

ОпределениеДан ориентированный граф G = (V , E ) без весов на рёбрах и kпар истоков-стоков (s1, t1), . . . , (sk , tk) ∈ V 2.

Задача о потоке в сети с несколькими веществами(multicommodity flow problem) заключается в нахождении такогомножества путей Pi из si в ti для всех i = 1, . . . , k , при котороммаксимальная ширина (congestion) рёбер была бы минимальна,где под шириной понимается количество путей, проходящих черезэто ребро:

c(e) = |{Pi | e ∈ Pi}|.

ФактЗадача является NP-трудной.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 4 / 24

Page 8: 20080323 efficientalgorithms kulikov_lecture19

Постановка задачи

ОпределениеДан ориентированный граф G = (V , E ) без весов на рёбрах и kпар истоков-стоков (s1, t1), . . . , (sk , tk) ∈ V 2.Задача о потоке в сети с несколькими веществами(multicommodity flow problem) заключается в нахождении такогомножества путей Pi из si в ti для всех i = 1, . . . , k , при котороммаксимальная ширина (congestion) рёбер была бы минимальна,где под шириной понимается количество путей, проходящих черезэто ребро:

c(e) = |{Pi | e ∈ Pi}|.

ФактЗадача является NP-трудной.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 4 / 24

Page 9: 20080323 efficientalgorithms kulikov_lecture19

Постановка задачи

ОпределениеДан ориентированный граф G = (V , E ) без весов на рёбрах и kпар истоков-стоков (s1, t1), . . . , (sk , tk) ∈ V 2.Задача о потоке в сети с несколькими веществами(multicommodity flow problem) заключается в нахождении такогомножества путей Pi из si в ti для всех i = 1, . . . , k , при котороммаксимальная ширина (congestion) рёбер была бы минимальна,где под шириной понимается количество путей, проходящих черезэто ребро:

c(e) = |{Pi | e ∈ Pi}|.

ФактЗадача является NP-трудной.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 4 / 24

Page 10: 20080323 efficientalgorithms kulikov_lecture19

План лекции

1 Постановка задачи

2 Алгоритм

3 Анализ алгоритмаОценки ЧерноваОценка оптимальности

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 5 / 24

Page 11: 20080323 efficientalgorithms kulikov_lecture19

Формулировка в виде задачи линейногопрограммирования

Формулировка в виде задачи линейного программированияМинимизировать WLP при следующих ограничениях:

1 Переменные xi (u, v) определяют поток: ∀v ∈ V , ∀i = 1, . . . , k ,

∑w : (v ,w)∈E

xi (v , w)−∑

u : (u,v)∈E

xi (u, v) =

⎧⎪⎨⎪⎩1, v = si ,−1, v = ti ,0, в противном случае.

2 Ширина каждого ребра ограничена числом WLP :∀(u, v) ∈ E ,

∑1≤i≤k xi (u, v) ≤ WLP .

3 Поток является 0− 1 потоком:∀(u, v) ∈ E ,∀i = 1, . . . , k , xi (u, v) ∈ {0, 1}.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 6 / 24

Page 12: 20080323 efficientalgorithms kulikov_lecture19

Формулировка в виде задачи линейногопрограммирования

Формулировка в виде задачи линейного программированияМинимизировать WLP при следующих ограничениях:

1 Переменные xi (u, v) определяют поток: ∀v ∈ V , ∀i = 1, . . . , k ,

∑w : (v ,w)∈E

xi (v , w)−∑

u : (u,v)∈E

xi (u, v) =

⎧⎪⎨⎪⎩1, v = si ,−1, v = ti ,0, в противном случае.

2 Ширина каждого ребра ограничена числом WLP :∀(u, v) ∈ E ,

∑1≤i≤k xi (u, v) ≤ WLP .

3 Поток является 0− 1 потоком:∀(u, v) ∈ E ,∀i = 1, . . . , k , xi (u, v) ∈ {0, 1}.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 6 / 24

Page 13: 20080323 efficientalgorithms kulikov_lecture19

Формулировка в виде задачи линейногопрограммирования

Формулировка в виде задачи линейного программированияМинимизировать WLP при следующих ограничениях:

1 Переменные xi (u, v) определяют поток: ∀v ∈ V , ∀i = 1, . . . , k ,

∑w : (v ,w)∈E

xi (v , w)−∑

u : (u,v)∈E

xi (u, v) =

⎧⎪⎨⎪⎩1, v = si ,−1, v = ti ,0, в противном случае.

2 Ширина каждого ребра ограничена числом WLP :∀(u, v) ∈ E ,

∑1≤i≤k xi (u, v) ≤ WLP .

3 Поток является 0− 1 потоком:∀(u, v) ∈ E ,∀i = 1, . . . , k , xi (u, v) ∈ {0, 1}.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 6 / 24

Page 14: 20080323 efficientalgorithms kulikov_lecture19

Формулировка в виде задачи линейногопрограммирования

Формулировка в виде задачи линейного программированияМинимизировать WLP при следующих ограничениях:

1 Переменные xi (u, v) определяют поток: ∀v ∈ V , ∀i = 1, . . . , k ,

∑w : (v ,w)∈E

xi (v , w)−∑

u : (u,v)∈E

xi (u, v) =

⎧⎪⎨⎪⎩1, v = si ,−1, v = ti ,0, в противном случае.

2 Ширина каждого ребра ограничена числом WLP :∀(u, v) ∈ E ,

∑1≤i≤k xi (u, v) ≤ WLP .

3 Поток является 0− 1 потоком:∀(u, v) ∈ E ,∀i = 1, . . . , k , xi (u, v) ∈ {0, 1}.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 6 / 24

Page 15: 20080323 efficientalgorithms kulikov_lecture19

Релаксация

РелаксацияЗаменим теперь условие xi (u, v) ∈ {0, 1} на xi (u, v) ≥ 0 и решимполученную задачу. Полученный поток может не быть целочисленным.

s1

t1

1

0

12

13

16

23

12

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 7 / 24

Page 16: 20080323 efficientalgorithms kulikov_lecture19

Релаксация

РелаксацияЗаменим теперь условие xi (u, v) ∈ {0, 1} на xi (u, v) ≥ 0 и решимполученную задачу. Полученный поток может не быть целочисленным.

s1

t1

1

0

12

13

16

23

12

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 7 / 24

Page 17: 20080323 efficientalgorithms kulikov_lecture19

Переход к целочисленному потокуПереход к целочисленному потоку

Будем обрабатывать каждый из k потоков отдельно.Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть

𝛼i1 = min(v ,w)∈P1

xi (v , w).

Вычтем 𝛼i1 из всех рёбер данного пути:

x ′(v , w) =

{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,

x(v , w), в противном случае,

найдем новый путь и т.д.На каждом шаге хотя бы одно ребро удаляется из Gi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24

Page 18: 20080323 efficientalgorithms kulikov_lecture19

Переход к целочисленному потокуПереход к целочисленному потоку

Будем обрабатывать каждый из k потоков отдельно.

Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть

𝛼i1 = min(v ,w)∈P1

xi (v , w).

Вычтем 𝛼i1 из всех рёбер данного пути:

x ′(v , w) =

{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,

x(v , w), в противном случае,

найдем новый путь и т.д.На каждом шаге хотя бы одно ребро удаляется из Gi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24

Page 19: 20080323 efficientalgorithms kulikov_lecture19

Переход к целочисленному потокуПереход к целочисленному потоку

Будем обрабатывать каждый из k потоков отдельно.Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.

Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть

𝛼i1 = min(v ,w)∈P1

xi (v , w).

Вычтем 𝛼i1 из всех рёбер данного пути:

x ′(v , w) =

{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,

x(v , w), в противном случае,

найдем новый путь и т.д.На каждом шаге хотя бы одно ребро удаляется из Gi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24

Page 20: 20080323 efficientalgorithms kulikov_lecture19

Переход к целочисленному потокуПереход к целочисленному потоку

Будем обрабатывать каждый из k потоков отдельно.Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть

𝛼i1 = min(v ,w)∈P1

xi (v , w).

Вычтем 𝛼i1 из всех рёбер данного пути:

x ′(v , w) =

{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,

x(v , w), в противном случае,

найдем новый путь и т.д.На каждом шаге хотя бы одно ребро удаляется из Gi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24

Page 21: 20080323 efficientalgorithms kulikov_lecture19

Переход к целочисленному потокуПереход к целочисленному потоку

Будем обрабатывать каждый из k потоков отдельно.Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть

𝛼i1 = min(v ,w)∈P1

xi (v , w).

Вычтем 𝛼i1 из всех рёбер данного пути:

x ′(v , w) =

{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,

x(v , w), в противном случае,

найдем новый путь и т.д.

На каждом шаге хотя бы одно ребро удаляется из Gi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24

Page 22: 20080323 efficientalgorithms kulikov_lecture19

Переход к целочисленному потокуПереход к целочисленному потоку

Будем обрабатывать каждый из k потоков отдельно.Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть

𝛼i1 = min(v ,w)∈P1

xi (v , w).

Вычтем 𝛼i1 из всех рёбер данного пути:

x ′(v , w) =

{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,

x(v , w), в противном случае,

найдем новый путь и т.д.На каждом шаге хотя бы одно ребро удаляется из Gi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24

Page 23: 20080323 efficientalgorithms kulikov_lecture19

Переход к целочисленному потоку

Переход к целочисленному потоку

В итоге, поток i-го вещества разбивается на ji путей Pi1, . . . , Pijiиз si в ti , где вдоль пути Pij идёт 𝛼ij вещества, так что

∀(u, v) ∈ E ,∀i = 1, . . . , k ,∑

j :(u,v)∈Pij

𝛼ij = xi (u, v),

∀i = 1, . . . , k ,

ji∑j=1

𝛼ij = 1.

В качестве пути Pi из si в ti алгоритм выбирает путь Pij свероятностью 𝛼ij .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 9 / 24

Page 24: 20080323 efficientalgorithms kulikov_lecture19

Переход к целочисленному потоку

Переход к целочисленному потокуВ итоге, поток i-го вещества разбивается на ji путей Pi1, . . . , Pijiиз si в ti , где вдоль пути Pij идёт 𝛼ij вещества, так что

∀(u, v) ∈ E ,∀i = 1, . . . , k ,∑

j :(u,v)∈Pij

𝛼ij = xi (u, v),

∀i = 1, . . . , k ,

ji∑j=1

𝛼ij = 1.

В качестве пути Pi из si в ti алгоритм выбирает путь Pij свероятностью 𝛼ij .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 9 / 24

Page 25: 20080323 efficientalgorithms kulikov_lecture19

Переход к целочисленному потоку

Переход к целочисленному потокуВ итоге, поток i-го вещества разбивается на ji путей Pi1, . . . , Pijiиз si в ti , где вдоль пути Pij идёт 𝛼ij вещества, так что

∀(u, v) ∈ E ,∀i = 1, . . . , k ,∑

j :(u,v)∈Pij

𝛼ij = xi (u, v),

∀i = 1, . . . , k ,

ji∑j=1

𝛼ij = 1.

В качестве пути Pi из si в ti алгоритм выбирает путь Pij свероятностью 𝛼ij .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 9 / 24

Page 26: 20080323 efficientalgorithms kulikov_lecture19

Общая схема алгоритма

Общая схема алгоритма

Решить релаксированную задачу линейного программирования,получив минимальную ширину WLP .Разбить полученные потоки на пути Pij для i = 1, . . . , k ,j = 1, . . . , ji (где Pij — путь из si в ti ), поток по каждому изкоторых равен 𝛼ij > 0, так что

∑j 𝛼ij = 1 и∑

i

∑j : (v ,w)∈Pi,j

≤ WLP .

Для каждого i подбросить монетку с ji гранями, где j-ая граньвыпадает с вероятностью 𝛼ij , и при выпадении грани f выбрать вкачестве пути из si в ti путь Pif .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 10 / 24

Page 27: 20080323 efficientalgorithms kulikov_lecture19

Общая схема алгоритма

Общая схема алгоритмаРешить релаксированную задачу линейного программирования,получив минимальную ширину WLP .

Разбить полученные потоки на пути Pij для i = 1, . . . , k ,j = 1, . . . , ji (где Pij — путь из si в ti ), поток по каждому изкоторых равен 𝛼ij > 0, так что

∑j 𝛼ij = 1 и∑

i

∑j : (v ,w)∈Pi,j

≤ WLP .

Для каждого i подбросить монетку с ji гранями, где j-ая граньвыпадает с вероятностью 𝛼ij , и при выпадении грани f выбрать вкачестве пути из si в ti путь Pif .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 10 / 24

Page 28: 20080323 efficientalgorithms kulikov_lecture19

Общая схема алгоритма

Общая схема алгоритмаРешить релаксированную задачу линейного программирования,получив минимальную ширину WLP .Разбить полученные потоки на пути Pij для i = 1, . . . , k ,j = 1, . . . , ji (где Pij — путь из si в ti ), поток по каждому изкоторых равен 𝛼ij > 0, так что

∑j 𝛼ij = 1 и∑

i

∑j : (v ,w)∈Pi,j

≤ WLP .

Для каждого i подбросить монетку с ji гранями, где j-ая граньвыпадает с вероятностью 𝛼ij , и при выпадении грани f выбрать вкачестве пути из si в ti путь Pif .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 10 / 24

Page 29: 20080323 efficientalgorithms kulikov_lecture19

Общая схема алгоритма

Общая схема алгоритмаРешить релаксированную задачу линейного программирования,получив минимальную ширину WLP .Разбить полученные потоки на пути Pij для i = 1, . . . , k ,j = 1, . . . , ji (где Pij — путь из si в ti ), поток по каждому изкоторых равен 𝛼ij > 0, так что

∑j 𝛼ij = 1 и∑

i

∑j : (v ,w)∈Pi,j

≤ WLP .

Для каждого i подбросить монетку с ji гранями, где j-ая граньвыпадает с вероятностью 𝛼ij , и при выпадении грани f выбрать вкачестве пути из si в ti путь Pif .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 10 / 24

Page 30: 20080323 efficientalgorithms kulikov_lecture19

План лекции

1 Постановка задачи

2 Алгоритм

3 Анализ алгоритмаОценки ЧерноваОценка оптимальности

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 11 / 24

Page 31: 20080323 efficientalgorithms kulikov_lecture19

План лекции

1 Постановка задачи

2 Алгоритм

3 Анализ алгоритмаОценки ЧерноваОценка оптимальности

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 12 / 24

Page 32: 20080323 efficientalgorithms kulikov_lecture19

Оценки Чернова

ТеоремаПусть Xi суть независимые случайные переменные, принимаюащиезначение 1 с вероятностью pi и значение 0 с вероятностью (1− pi ).Тогда для всех 𝛼 > 0 и t > 0

Prob

(k∑

i=1

Xi > t

)≤ e−𝛼t

k∏i=1

E(e𝛼Xi

)= e−𝛼t

k∏i=1

(pie𝛼 + (1− pi )) .

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

Prob

(k∑

i=1

Xi > t

)= Prob

(e𝛼∑k

i=1 Xi > e𝛼t)

.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 13 / 24

Page 33: 20080323 efficientalgorithms kulikov_lecture19

Оценки Чернова

ТеоремаПусть Xi суть независимые случайные переменные, принимаюащиезначение 1 с вероятностью pi и значение 0 с вероятностью (1− pi ).Тогда для всех 𝛼 > 0 и t > 0

Prob

(k∑

i=1

Xi > t

)≤ e−𝛼t

k∏i=1

E(e𝛼Xi

)= e−𝛼t

k∏i=1

(pie𝛼 + (1− pi )) .

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

Prob

(k∑

i=1

Xi > t

)= Prob

(e𝛼∑k

i=1 Xi > e𝛼t)

.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 13 / 24

Page 34: 20080323 efficientalgorithms kulikov_lecture19

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

ДоказательствоНеравенство Маркова: для любой неотрицательной случайнойвеличины Y

Prob (Y > a) ≤ E (Y )

a.

Таким образом,

Prob

(k∑

i=1

Xi > t

)≤ e−𝛼tE

(e𝛼∑k

i=1 Xi)

= e−𝛼tk∏

i=1

E(e𝛼Xi

).

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 14 / 24

Page 35: 20080323 efficientalgorithms kulikov_lecture19

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

ДоказательствоНеравенство Маркова: для любой неотрицательной случайнойвеличины Y

Prob (Y > a) ≤ E (Y )

a.

Таким образом,

Prob

(k∑

i=1

Xi > t

)≤ e−𝛼tE

(e𝛼∑k

i=1 Xi)

= e−𝛼tk∏

i=1

E(e𝛼Xi

).

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 14 / 24

Page 36: 20080323 efficientalgorithms kulikov_lecture19

СледствиеСледствие

Пусть M = E(∑k

i=1 Xi

)=∑k

i=1 pi . Тогда для любого 𝛽 > 0

Prob

(k∑

i=1

Xi > (1 + 𝛽)M

)≤ (1 + 𝛽)−(1+𝛽)M ∏k

i=1 E((1 + 𝛽)Xi

)≤(

e𝛽

(1+𝛽)(1+𝛽)

)M.

ДоказательствоПервое неравенство следует из только что доказанной теоремыпри t = (1 + 𝛽)M, 𝛼 = ln(1 + 𝛽).

Второе — из следующего неравенства:E((1 + 𝛽)Xi

)= pi (1 + 𝛽) + (1− pi ) = 1 + 𝛽pi = 1 + 𝛽pi ≤ e𝛽pi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 15 / 24

Page 37: 20080323 efficientalgorithms kulikov_lecture19

СледствиеСледствие

Пусть M = E(∑k

i=1 Xi

)=∑k

i=1 pi . Тогда для любого 𝛽 > 0

Prob

(k∑

i=1

Xi > (1 + 𝛽)M

)≤ (1 + 𝛽)−(1+𝛽)M ∏k

i=1 E((1 + 𝛽)Xi

)≤(

e𝛽

(1+𝛽)(1+𝛽)

)M.

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

Первое неравенство следует из только что доказанной теоремыпри t = (1 + 𝛽)M, 𝛼 = ln(1 + 𝛽).

Второе — из следующего неравенства:E((1 + 𝛽)Xi

)= pi (1 + 𝛽) + (1− pi ) = 1 + 𝛽pi = 1 + 𝛽pi ≤ e𝛽pi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 15 / 24

Page 38: 20080323 efficientalgorithms kulikov_lecture19

СледствиеСледствие

Пусть M = E(∑k

i=1 Xi

)=∑k

i=1 pi . Тогда для любого 𝛽 > 0

Prob

(k∑

i=1

Xi > (1 + 𝛽)M

)≤ (1 + 𝛽)−(1+𝛽)M ∏k

i=1 E((1 + 𝛽)Xi

)≤(

e𝛽

(1+𝛽)(1+𝛽)

)M.

ДоказательствоПервое неравенство следует из только что доказанной теоремыпри t = (1 + 𝛽)M, 𝛼 = ln(1 + 𝛽).

Второе — из следующего неравенства:E((1 + 𝛽)Xi

)= pi (1 + 𝛽) + (1− pi ) = 1 + 𝛽pi = 1 + 𝛽pi ≤ e𝛽pi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 15 / 24

Page 39: 20080323 efficientalgorithms kulikov_lecture19

СледствиеСледствие

Пусть M = E(∑k

i=1 Xi

)=∑k

i=1 pi . Тогда для любого 𝛽 > 0

Prob

(k∑

i=1

Xi > (1 + 𝛽)M

)≤ (1 + 𝛽)−(1+𝛽)M ∏k

i=1 E((1 + 𝛽)Xi

)≤(

e𝛽

(1+𝛽)(1+𝛽)

)M.

ДоказательствоПервое неравенство следует из только что доказанной теоремыпри t = (1 + 𝛽)M, 𝛼 = ln(1 + 𝛽).

Второе — из следующего неравенства:E((1 + 𝛽)Xi

)= pi (1 + 𝛽) + (1− pi ) = 1 + 𝛽pi = 1 + 𝛽pi ≤ e𝛽pi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 15 / 24

Page 40: 20080323 efficientalgorithms kulikov_lecture19

План лекции

1 Постановка задачи

2 Алгоритм

3 Анализ алгоритмаОценки ЧерноваОценка оптимальности

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 16 / 24

Page 41: 20080323 efficientalgorithms kulikov_lecture19

Основная теорема

ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)

√W * ln n, с вероятностью 1− 𝜖 (c1, c2

суть константы, зависящие от 𝜖).

ДоказательствоЗафиксируем ребро (v , w) ∈ E .Ребро (v , w) используется i-м потоком с вероятностьюpi =

∑j : (v ,w)∈Pij

𝛼ij .

Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .Тогда W (v , w) =

∑ki=1 Xi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24

Page 42: 20080323 efficientalgorithms kulikov_lecture19

Основная теорема

ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)

√W * ln n, с вероятностью 1− 𝜖 (c1, c2

суть константы, зависящие от 𝜖).

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

Зафиксируем ребро (v , w) ∈ E .Ребро (v , w) используется i-м потоком с вероятностьюpi =

∑j : (v ,w)∈Pij

𝛼ij .

Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .Тогда W (v , w) =

∑ki=1 Xi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24

Page 43: 20080323 efficientalgorithms kulikov_lecture19

Основная теорема

ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)

√W * ln n, с вероятностью 1− 𝜖 (c1, c2

суть константы, зависящие от 𝜖).

ДоказательствоЗафиксируем ребро (v , w) ∈ E .

Ребро (v , w) используется i-м потоком с вероятностьюpi =

∑j : (v ,w)∈Pij

𝛼ij .

Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .Тогда W (v , w) =

∑ki=1 Xi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24

Page 44: 20080323 efficientalgorithms kulikov_lecture19

Основная теорема

ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)

√W * ln n, с вероятностью 1− 𝜖 (c1, c2

суть константы, зависящие от 𝜖).

ДоказательствоЗафиксируем ребро (v , w) ∈ E .Ребро (v , w) используется i-м потоком с вероятностьюpi =

∑j : (v ,w)∈Pij

𝛼ij .

Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .Тогда W (v , w) =

∑ki=1 Xi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24

Page 45: 20080323 efficientalgorithms kulikov_lecture19

Основная теорема

ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)

√W * ln n, с вероятностью 1− 𝜖 (c1, c2

суть константы, зависящие от 𝜖).

ДоказательствоЗафиксируем ребро (v , w) ∈ E .Ребро (v , w) используется i-м потоком с вероятностьюpi =

∑j : (v ,w)∈Pij

𝛼ij .

Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .

Тогда W (v , w) =∑k

i=1 Xi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24

Page 46: 20080323 efficientalgorithms kulikov_lecture19

Основная теорема

ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)

√W * ln n, с вероятностью 1− 𝜖 (c1, c2

суть константы, зависящие от 𝜖).

ДоказательствоЗафиксируем ребро (v , w) ∈ E .Ребро (v , w) используется i-м потоком с вероятностьюpi =

∑j : (v ,w)∈Pij

𝛼ij .

Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .Тогда W (v , w) =

∑ki=1 Xi .

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24

Page 47: 20080323 efficientalgorithms kulikov_lecture19

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

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

E (W (v , w)) =∑

i

pi =∑

i

∑j : (v ,w)∈Pij

𝛼ij ≤ WLP ≤ W *

Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤(

e𝛽

(1 + 𝛽)(1+𝛽)

)W *

= e(𝛽−(1+𝛽) ln(1+𝛽))W *

при 𝛽 ≤ 1 выполнено неравенство 𝛽 − (1 + 𝛽) ln(1 + 𝛽) ≤ −𝛽2/3

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 18 / 24

Page 48: 20080323 efficientalgorithms kulikov_lecture19

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

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

E (W (v , w)) =∑

i

pi =∑

i

∑j : (v ,w)∈Pij

𝛼ij ≤ WLP ≤ W *

Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤(

e𝛽

(1 + 𝛽)(1+𝛽)

)W *

= e(𝛽−(1+𝛽) ln(1+𝛽))W *

при 𝛽 ≤ 1 выполнено неравенство 𝛽 − (1 + 𝛽) ln(1 + 𝛽) ≤ −𝛽2/3

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 18 / 24

Page 49: 20080323 efficientalgorithms kulikov_lecture19

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

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

E (W (v , w)) =∑

i

pi =∑

i

∑j : (v ,w)∈Pij

𝛼ij ≤ WLP ≤ W *

Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤(

e𝛽

(1 + 𝛽)(1+𝛽)

)W *

= e(𝛽−(1+𝛽) ln(1+𝛽))W *

при 𝛽 ≤ 1 выполнено неравенство 𝛽 − (1 + 𝛽) ln(1 + 𝛽) ≤ −𝛽2/3

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 18 / 24

Page 50: 20080323 efficientalgorithms kulikov_lecture19

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

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

Поэтому при 𝛽 =

√3 ln n2

𝜖W * имеем Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤ 𝜖

n2 .

Неравенство 𝛽 ≤ 1 выполнено при W * ≥ 6 ln n − 3 ln 𝜖. При таком 𝛽

(1 + 𝛽)W * = W * +

√3W * ln

n2

𝜖.

Теперь оценим вероятность:

Prob(

max(v ,w)∈E

W (v , w) ≥ (1 + 𝛽)W *)

≤∑

(v ,w)∈E Prob (W (v , w) ≥ (1 + 𝛽)W *)

≤ |E | 𝜖n2 ≤ 𝜖.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 19 / 24

Page 51: 20080323 efficientalgorithms kulikov_lecture19

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

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

Поэтому при 𝛽 =

√3 ln n2

𝜖W * имеем Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤ 𝜖

n2 .

Неравенство 𝛽 ≤ 1 выполнено при W * ≥ 6 ln n − 3 ln 𝜖.

При таком 𝛽

(1 + 𝛽)W * = W * +

√3W * ln

n2

𝜖.

Теперь оценим вероятность:

Prob(

max(v ,w)∈E

W (v , w) ≥ (1 + 𝛽)W *)

≤∑

(v ,w)∈E Prob (W (v , w) ≥ (1 + 𝛽)W *)

≤ |E | 𝜖n2 ≤ 𝜖.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 19 / 24

Page 52: 20080323 efficientalgorithms kulikov_lecture19

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

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

Поэтому при 𝛽 =

√3 ln n2

𝜖W * имеем Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤ 𝜖

n2 .

Неравенство 𝛽 ≤ 1 выполнено при W * ≥ 6 ln n − 3 ln 𝜖. При таком 𝛽

(1 + 𝛽)W * = W * +

√3W * ln

n2

𝜖.

Теперь оценим вероятность:

Prob(

max(v ,w)∈E

W (v , w) ≥ (1 + 𝛽)W *)

≤∑

(v ,w)∈E Prob (W (v , w) ≥ (1 + 𝛽)W *)

≤ |E | 𝜖n2 ≤ 𝜖.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 19 / 24

Page 53: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)

Алгоритм можно дерандомизировать методом условныхвероятностей.Для каждого вещества нам нужно выбрать один из путей.Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.Листья данного дерева представляют допустимые решения нашейзадачи.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24

Page 54: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Алгоритм можно дерандомизировать методом условныхвероятностей.

Для каждого вещества нам нужно выбрать один из путей.Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.Листья данного дерева представляют допустимые решения нашейзадачи.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24

Page 55: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Алгоритм можно дерандомизировать методом условныхвероятностей.Для каждого вещества нам нужно выбрать один из путей.

Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.Листья данного дерева представляют допустимые решения нашейзадачи.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24

Page 56: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Алгоритм можно дерандомизировать методом условныхвероятностей.Для каждого вещества нам нужно выбрать один из путей.Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.

На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.Листья данного дерева представляют допустимые решения нашейзадачи.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24

Page 57: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Алгоритм можно дерандомизировать методом условныхвероятностей.Для каждого вещества нам нужно выбрать один из путей.Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.

Листья данного дерева представляют допустимые решения нашейзадачи.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24

Page 58: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Алгоритм можно дерандомизировать методом условныхвероятностей.Для каждого вещества нам нужно выбрать один из путей.Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.Листья данного дерева представляют допустимые решения нашейзадачи.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24

Page 59: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Определим

g(l1, . . . , li ) = Prob

⎛⎝ max(v ,w)∈E

W (v , w) ≥ (1 + 𝛽)W *

l1 для вещества 1l2 для вещества 2

...li для вещества i

⎞⎠

Ясно, что

g(l1, . . . , li−1) =

ji∑j=1

𝛼ijg(l1, . . . , li−1, j) ≥ minj

g(l1, . . . , li−1, j).

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 21 / 24

Page 60: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Определим

g(l1, . . . , li ) = Prob

⎛⎝ max(v ,w)∈E

W (v , w) ≥ (1 + 𝛽)W *

l1 для вещества 1l2 для вещества 2

...li для вещества i

⎞⎠Ясно, что

g(l1, . . . , li−1) =

ji∑j=1

𝛼ijg(l1, . . . , li−1, j) ≥ minj

g(l1, . . . , li−1, j).

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 21 / 24

Page 61: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)

Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).Однако непонятно, как именно вычислять такие вероятности.Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).Иэ этого следует, что g(l1, . . . , lk) = 0.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24

Page 62: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).

Однако непонятно, как именно вычислять такие вероятности.Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).Иэ этого следует, что g(l1, . . . , lk) = 0.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24

Page 63: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).Однако непонятно, как именно вычислять такие вероятности.

Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).Иэ этого следует, что g(l1, . . . , lk) = 0.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24

Page 64: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).Однако непонятно, как именно вычислять такие вероятности.Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.

После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).Иэ этого следует, что g(l1, . . . , lk) = 0.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24

Page 65: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).Однако непонятно, как именно вычислять такие вероятности.Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).

Иэ этого следует, что g(l1, . . . , lk) = 0.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24

Page 66: 20080323 efficientalgorithms kulikov_lecture19

Дерандомизация (основная идея)

Дерандомизация (основная идея)Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).Однако непонятно, как именно вычислять такие вероятности.Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).Иэ этого следует, что g(l1, . . . , lk) = 0.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24

Page 67: 20080323 efficientalgorithms kulikov_lecture19

Что мы узнали за сегодня?

Что мы узнали за сегодня?

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

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 23 / 24

Page 68: 20080323 efficientalgorithms kulikov_lecture19

Что мы узнали за сегодня?

Что мы узнали за сегодня?Задача о потоке в сети с несколькими веществами NP-трудна.

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

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 23 / 24

Page 69: 20080323 efficientalgorithms kulikov_lecture19

Что мы узнали за сегодня?

Что мы узнали за сегодня?Задача о потоке в сети с несколькими веществами NP-трудна.Может быть решена приближенно релаксацией целочисленнойзадачи линейного программирования с последующим случайнымвыбором путей.

Алгоритм можно дерандомизировать методом условныхвероятностей.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 23 / 24

Page 70: 20080323 efficientalgorithms kulikov_lecture19

Что мы узнали за сегодня?

Что мы узнали за сегодня?Задача о потоке в сети с несколькими веществами NP-трудна.Может быть решена приближенно релаксацией целочисленнойзадачи линейного программирования с последующим случайнымвыбором путей.Алгоритм можно дерандомизировать методом условныхвероятностей.

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 23 / 24

Page 71: 20080323 efficientalgorithms kulikov_lecture19

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

А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 24 / 24