Upload
yandex
View
1.792
Download
2
Embed Size (px)
Citation preview
Помогают ли в вычислениях подбрасывания монетки?
М. Вялый
Вычислительный центрим. А.А.Дородницына
Российской Академии наук
малый ШАД, 08.02.2014
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 1 / 47
О чем пойдет речь
a× b a + b
a− b a/b
2 + 3
5× 2
8− 2
5
10
6
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 2 / 47
Детерминированные алгоритмы
Вместо определенияАлгоритм — настолько точно определенная инструкция, что она можетбыть исполнена механически.
Основное свойство детерминированных алгоритмовКаждое следующее состояние однозначно определяется текущимсостоянием.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 3 / 47
Детерминированные алгоритмы
Вместо определенияАлгоритм — настолько точно определенная инструкция, что она можетбыть исполнена механически.
Основное свойство детерминированных алгоритмовКаждое следующее состояние однозначно определяется текущимсостоянием.
a× b a + b
a− b a/b
2 + 3
5× 2
8− 2
5
10
6
a× b a + b
a− b a/b
2 + 3
5× 2
8− 2
5
10
6
a× b a + b
a− b a/b
2 + 3
5× 2
8− 2
5
10
6
a× b a + b
a− b a/b
2 + 3
5× 2
8− 2
5
10
6
a× b a + b
a− b a/b
2 + 3
5× 2
8− 2
5
10
6
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 3 / 47
Вероятностные алгоритмы
Подбрасывание монеткиРезультат с равной вероятностью равен 0 или 1. Разныеподбрасывания независимы.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 4 / 47
Вероятностные алгоритмы
Подбрасывание монеткиРезультат с равной вероятностью равен 0 или 1. Разныеподбрасывания независимы.
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
:)
:):)
:(М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 4 / 47
Несущественные обобщения
1 У монетки может быть много сторон — исходов. Например, уигральных костей их 6.
2 Вероятности исходов не обязательно равны. Сумма вероятностейвсех возможных исходов равна 1.
Разные испытания по-прежнему независимы.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 5 / 47
Несущественные обобщения
1 У монетки может быть много сторон — исходов. Например, уигральных костей их 6.
2 Вероятности исходов не обязательно равны. Сумма вероятностейвсех возможных исходов равна 1.
Разные испытания по-прежнему независимы.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 5 / 47
Несущественные обобщения
1 У монетки может быть много сторон — исходов. Например, уигральных костей их 6.
2 Вероятности исходов не обязательно равны. Сумма вероятностейвсех возможных исходов равна 1.
Разные испытания по-прежнему независимы.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 5 / 47
Подсчет вероятности ошибки
Два основных правилаВероятности независимых событий перемножаются.Вероятности несовместных событий складываются.
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
1/3
2/3
1/2
1/2
1/4
3/4
13 ·
12 = 1
6
13 ·
12 = 1
6
23 ·
14 = 1
6
23 ·
34 = 1
2
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 6 / 47
Велика ли вероятность ошибки 9/10?
Если ошибку можно обнаружить и алгоритм допускает повторноеисполнение, то не очень.
Повторения вероятностного алгоритма
Количество повторений Вероятность ошибки во всех попытках
1 9/102 81/1003 729/1000
. . . . . .
10(
910
)10
≈ 1e≈ 0.37
. . . . . .
100(
910
)100
≈ 0.00003
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 7 / 47
Если правильный ответ неизвестен
Пусть алгоритм дает ответ «да» или «нет».Если вероятность ошибки меньше ε < 1/2, то повторения алгоритмапозволяют быстро уменьшать вероятность ошибки.
Правило голосованияПовтори алгоритм k раз и выдай тот ответ, который встретился чаще.
Вероятность ошибки для алгоритма голосованияПусть вероятность ошибки .
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 8 / 47
Если правильный ответ неизвестен
Пусть алгоритм дает ответ «да» или «нет».Если вероятность ошибки меньше ε < 1/2, то повторения алгоритмапозволяют быстро уменьшать вероятность ошибки.
Правило голосованияПовтори алгоритм k раз и выдай тот ответ, который встретился чаще.
Вероятность ошибки для алгоритма голосованияПусть вероятность ошибки .
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 8 / 47
Если правильный ответ неизвестен
Пусть алгоритм дает ответ «да» или «нет».Если вероятность ошибки меньше ε < 1/2, то повторения алгоритмапозволяют быстро уменьшать вероятность ошибки.
Правило голосованияПовтори алгоритм k раз и выдай тот ответ, который встретился чаще.
Вероятность ошибки для алгоритма голосованияПусть вероятность ошибки 1/3.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 8 / 47
Если правильный ответ неизвестен
Пусть алгоритм дает ответ «да» или «нет».Если вероятность ошибки меньше ε < 1/2, то повторения алгоритмапозволяют быстро уменьшать вероятность ошибки.
Правило голосованияПовтори алгоритм k раз и выдай тот ответ, который встретился чаще.
Вероятность ошибки для алгоритма голосованияПусть вероятность ошибки 1/3.Вероятность ошибки при голосовании k независимых исполнений алго-ритма
k∑i=k/2
(ki
) (13
)i (23
)k−i
=k∑
i=k/2
k!
i !(k − i)!
(13
)i (23
)k−i
.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 8 / 47
Если правильный ответ неизвестен
Пусть алгоритм дает ответ «да» или «нет».Если вероятность ошибки меньше ε < 1/2, то повторения алгоритмапозволяют быстро уменьшать вероятность ошибки.
Правило голосованияПовтори алгоритм k раз и выдай тот ответ, который встретился чаще.
Вероятность ошибки для алгоритма голосованияПусть вероятность ошибки 1/3.Вероятность ошибки при голосовании 100 независимых исполнений ал-горитма
100∑i=50
(100i
) (13
)i (23
)100−i
≈ 0.0004 .
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 8 / 47
Если правильный ответ неизвестен
Пусть алгоритм дает ответ «да» или «нет».Если вероятность ошибки меньше ε < 1/2, то повторения алгоритмапозволяют быстро уменьшать вероятность ошибки.
Правило голосованияПовтори алгоритм k раз и выдай тот ответ, который встретился чаще.
Вероятность ошибки для алгоритма голосованияПусть вероятность ошибки ε.Вероятность ошибки при голосовании k независимых исполнений алго-ритма меньше
1− ε
1− 2ε
(2√
ε(1− ε))k
.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 8 / 47
План дальнейшего рассказа
1 Кооперативные вычисления
2 Ускорение работы алгоритмов
3 Фальшивая случайность
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 9 / 47
Задача об установлении контакта
a× b a + b
a− b a/b
2 + 3
5× 2
8− 2
5
10
6
a× b a + b
a− b a/b
2 + 3
5× 2
8− 2
5
10
6
УсловияКаждый участник ничего не знает о партнере.Время дискретно.В каждый момент участник выбирает место (верхнее или нижнее).Контакт установлен, если в какой-то момент времени обаучастника выбрали одно и то же место.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 10 / 47
Алгоритмы для задачи о контакте
ЗадачаДокажите, что не существует детерминированного алгоритма, которыйустанавливает контакт с любым партнером.
Вероятностный алгоритмНа каждом шаге выбирай место случайно, равновероятно инезависимо от предыдущих шагов.
Анализ алгоритмаВероятность ошибки на каждом шаге 1/2.После t шагов вероятность ошибки 2−t .
ЗамечаниеВероятность ошибки алгоритма контакта не зависит от действийпартнера.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 11 / 47
Алгоритмы для задачи о контакте
ЗадачаДокажите, что не существует детерминированного алгоритма, которыйустанавливает контакт с любым партнером.
Вероятностный алгоритмНа каждом шаге выбирай место случайно, равновероятно инезависимо от предыдущих шагов.
Анализ алгоритмаВероятность ошибки на каждом шаге 1/2.После t шагов вероятность ошибки 2−t .
ЗамечаниеВероятность ошибки алгоритма контакта не зависит от действийпартнера.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 11 / 47
Алгоритмы для задачи о контакте
ЗадачаДокажите, что не существует детерминированного алгоритма, которыйустанавливает контакт с любым партнером.
Вероятностный алгоритмНа каждом шаге выбирай место случайно, равновероятно инезависимо от предыдущих шагов.
Анализ алгоритмаВероятность ошибки на каждом шаге 1/2.После t шагов вероятность ошибки 2−t .
ЗамечаниеВероятность ошибки алгоритма контакта не зависит от действийпартнера.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 11 / 47
Алгоритмы для задачи о контакте
ЗадачаДокажите, что не существует детерминированного алгоритма, которыйустанавливает контакт с любым партнером.
Вероятностный алгоритмНа каждом шаге выбирай место случайно, равновероятно инезависимо от предыдущих шагов.
Анализ алгоритмаВероятность ошибки на каждом шаге 1/2.После t шагов вероятность ошибки 2−t .
ЗамечаниеВероятность ошибки алгоритма контакта не зависит от действийпартнера.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 11 / 47
Задача проверки равенства третейским судьей
Условия
x y
u, v ⇒ x = y?
u v
Алиса знает двоичное слово x длины n. Боб знает слово y той жедлины. Они имеют возможность передать Чарли некоторуюинформацию (слова u и v), по которой Чарли должен решить, равныли слова x и y .Цель: передать как можно меньше битов при условии, что Чарлиправильно отвечает на любых x , y .
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 12 / 47
Детерминированные протоколы
УтверждениеДокажите, что если u и v определяются по x и y детерминированно,т.е. u = f (x), v = g(y), то для решения задачи равенства нужнопередать не меньше 2n битов.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 13 / 47
Детерминированные протоколы
УтверждениеДокажите, что если u и v определяются по x и y детерминированно,т.е. u = f (x), v = g(y), то для решения задачи равенства нужнопередать не меньше 2n битов.
Пусть длина u меньше n. Тогда возможных значений u меньше 2n, т.е.меньше количества возможных значений x .
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 13 / 47
Детерминированные протоколы
УтверждениеДокажите, что если u и v определяются по x и y детерминированно,т.е. u = f (x), v = g(y), то для решения задачи равенства нужнопередать не меньше 2n битов.
Пусть длина u меньше n. Тогда возможных значений u меньше 2n, т.е.меньше количества возможных значений x .
x1
x2u
fX U
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 13 / 47
Детерминированные протоколы
УтверждениеДокажите, что если u и v определяются по x и y детерминированно,т.е. u = f (x), v = g(y), то для решения задачи равенства нужнопередать не меньше 2n битов.
Пусть длина u меньше n. Тогда возможных значений u меньше 2n, т.е.меньше количества возможных значений x .
x1
x2u
fX U Для Чарли x1 и x2 неразличимы.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 13 / 47
Случайность как «канал связи»
Задача проверки равенства третейским судьей при наличииобщих случайных битов
x y
u, v ⇒ x = y?
u v
1 1 1 10 0 0 0 . . .
Алиса и Боб имеют доступ к общему источнику случайности. (Скажемк одному и тому же изданию книги «Таблица случайных чисел».)Цель: передать как можно меньше битов при условии, что вероятностьошибки Чарли мала на любых x , y .
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 14 / 47
Решение задачи проверки равенства с общимисточником случайности
1 Алиса и Боб выбирают случайное простое число p (одно и тоже — случайность общая!) в интервале от n до 2n.
2 Алиса вычисляет U = X mod p, где X — число, двоичная записькоторого совпадает со словом Алисы x . Боб поступаетаналогично и вычисляет V = Y mod p.
3 Алиса и Боб передают двоичные записи чисел U, V Чарли.4 Чарли говорит, что слова x и y равны, если u = v .
Оценка длины сообщенийПоскольку 0 6 U, V < p 6 2n, то длина сообщений 6 2 + log n.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 15 / 47
Решение задачи проверки равенства с общимисточником случайности
1 Алиса и Боб выбирают случайное простое число p (одно и тоже — случайность общая!) в интервале от n до 2n.
2 Алиса вычисляет U = X mod p, где X — число, двоичная записькоторого совпадает со словом Алисы x . Боб поступаетаналогично и вычисляет V = Y mod p.
3 Алиса и Боб передают двоичные записи чисел U, V Чарли.4 Чарли говорит, что слова x и y равны, если u = v .
Оценка длины сообщенийПоскольку 0 6 U, V < p 6 2n, то длина сообщений 6 2 + log n.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 15 / 47
Решение задачи проверки равенства с общимисточником случайности
1 Алиса и Боб выбирают случайное простое число p (одно и тоже — случайность общая!) в интервале от n до 2n.
2 Алиса вычисляет U = X mod p, где X — число, двоичная записькоторого совпадает со словом Алисы x . Боб поступаетаналогично и вычисляет V = Y mod p.
3 Алиса и Боб передают двоичные записи чисел U, V Чарли.4 Чарли говорит, что слова x и y равны, если u = v .
Оценка длины сообщенийПоскольку 0 6 U, V < p 6 2n, то длина сообщений 6 2 + log n.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 15 / 47
Решение задачи проверки равенства с общимисточником случайности
1 Алиса и Боб выбирают случайное простое число p (одно и тоже — случайность общая!) в интервале от n до 2n.
2 Алиса вычисляет U = X mod p, где X — число, двоичная записькоторого совпадает со словом Алисы x . Боб поступаетаналогично и вычисляет V = Y mod p.
3 Алиса и Боб передают двоичные записи чисел U, V Чарли.4 Чарли говорит, что слова x и y равны, если u = v .
Оценка длины сообщенийПоскольку 0 6 U, V < p 6 2n, то длина сообщений 6 2 + log n.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 15 / 47
Решение задачи проверки равенства с общимисточником случайности
1 Алиса и Боб выбирают случайное простое число p (одно и тоже — случайность общая!) в интервале от n до 2n.
2 Алиса вычисляет U = X mod p, где X — число, двоичная записькоторого совпадает со словом Алисы x . Боб поступаетаналогично и вычисляет V = Y mod p.
3 Алиса и Боб передают двоичные записи чисел U, V Чарли.4 Чарли говорит, что слова x и y равны, если u = v .
Оценка длины сообщенийПоскольку 0 6 U, V < p 6 2n, то длина сообщений 6 2 + log n.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 15 / 47
Оценка вероятности ошибки
УтверждениеВ случае x = y Чарли всегда дает правильный ответ.Если x 6= y , вероятность ошибки Чарли не больше 3/4.
В доказательстве используйте теоремы из теории чисел.
Простых чисел довольно многоДля всех достаточно больших n количество π(n) простых чисел от 1до n удовлетворяет неравенствам
0.99 · nln n
< π(n) < 1.01 · nln n
Свойство делимостиЕсли X − Y 6= 0 делится на простые n 6 p1 < · · · < pk 6 2n, то
|X − Y | > p1p2 · . . . · pk > nk .
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 16 / 47
Оценка вероятности ошибки
УтверждениеВ случае x = y Чарли всегда дает правильный ответ.Если x 6= y , вероятность ошибки Чарли не больше 3/4.
В доказательстве используйте теоремы из теории чисел.
Простых чисел довольно многоДля всех достаточно больших n количество π(n) простых чисел от 1до n удовлетворяет неравенствам
0.99 · nln n
< π(n) < 1.01 · nln n
Свойство делимостиЕсли X − Y 6= 0 делится на простые n 6 p1 < · · · < pk 6 2n, то
|X − Y | > p1p2 · . . . · pk > nk .
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 16 / 47
Оценка вероятности ошибки
УтверждениеВ случае x = y Чарли всегда дает правильный ответ.Если x 6= y , вероятность ошибки Чарли не больше 3/4.
В доказательстве используйте теоремы из теории чисел.
Простых чисел довольно многоДля всех достаточно больших n количество π(n) простых чисел от 1до n удовлетворяет неравенствам
0.99 · nln n
< π(n) < 1.01 · nln n
Свойство делимостиЕсли X − Y 6= 0 делится на простые n 6 p1 < · · · < pk 6 2n, то
|X − Y | > p1p2 · . . . · pk > nk .
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 16 / 47
Уменьшение вероятности ошибки
Ошибка предложенного протокола — односторонняя. Это позволяетуменьшать вероятность ошибки путем многократного выполненияпротокола.Если Алиса и Боб выбирают s простых модулей (случайно инезависимо), вероятность ошибки становится меньше (3/4)s .Взяв достаточно большое s, вероятность ошибки можно сделать скольугодно малой.
ТеоремаПри наличии общей случайности для любого ε > 0 существует такойспособ выбора сообщений, который гарантирует решение задачиравенства с вероятностью ошибки меньше ε и передает O(log n) битов.
Запись g(n) = O(f (n)) означает, что есть такие числа C и n0, что длявсех n > n0 выполняется g(n) < Cf (n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 17 / 47
Уменьшение вероятности ошибки
Ошибка предложенного протокола — односторонняя. Это позволяетуменьшать вероятность ошибки путем многократного выполненияпротокола.Если Алиса и Боб выбирают s простых модулей (случайно инезависимо), вероятность ошибки становится меньше (3/4)s .Взяв достаточно большое s, вероятность ошибки можно сделать скольугодно малой.
ТеоремаПри наличии общей случайности для любого ε > 0 существует такойспособ выбора сообщений, который гарантирует решение задачиравенства с вероятностью ошибки меньше ε и передает O(log n) битов.
Запись g(n) = O(f (n)) означает, что есть такие числа C и n0, что длявсех n > n0 выполняется g(n) < Cf (n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 17 / 47
Уменьшение вероятности ошибки
Ошибка предложенного протокола — односторонняя. Это позволяетуменьшать вероятность ошибки путем многократного выполненияпротокола.Если Алиса и Боб выбирают s простых модулей (случайно инезависимо), вероятность ошибки становится меньше (3/4)s .Взяв достаточно большое s, вероятность ошибки можно сделать скольугодно малой.
ТеоремаПри наличии общей случайности для любого ε > 0 существует такойспособ выбора сообщений, который гарантирует решение задачиравенства с вероятностью ошибки меньше ε и передает O(log n) битов.
Запись g(n) = O(f (n)) означает, что есть такие числа C и n0, что длявсех n > n0 выполняется g(n) < Cf (n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 17 / 47
Протоколы при отсутствии общей случайности
ЗадачаДокажите, что есть способ выбора сообщений u, v в задаче равенства,при котором Алиса и Боб не знают случайных битов друг друга,передается O(
√n log n) битов, а вероятность ошибки меньше 1/3.
ПодсказкаДва случайных подмножества размера 2
√n в n-элементном множестве
пересекаются с вероятностью > 4/5 (примерно 1− 1/e2).
Теорема Бабаи – Киммеля (частный случай)При любом способе вероятностного выбора сообщений в задачеравенства, гарантирующем вероятность ошибки меньше 1/3, длинапереданных сообщений Ω(
√n).
Запись g(n) = Ω(f (n)) означает, что есть такие числа C и n0, что длявсех n > n0 выполняется g(n) > Cf (n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 18 / 47
Протоколы при отсутствии общей случайности
ЗадачаДокажите, что есть способ выбора сообщений u, v в задаче равенства,при котором Алиса и Боб не знают случайных битов друг друга,передается O(
√n log n) битов, а вероятность ошибки меньше 1/3.
ПодсказкаДва случайных подмножества размера 2
√n в n-элементном множестве
пересекаются с вероятностью > 4/5 (примерно 1− 1/e2).
Теорема Бабаи – Киммеля (частный случай)При любом способе вероятностного выбора сообщений в задачеравенства, гарантирующем вероятность ошибки меньше 1/3, длинапереданных сообщений Ω(
√n).
Запись g(n) = Ω(f (n)) означает, что есть такие числа C и n0, что длявсех n > n0 выполняется g(n) > Cf (n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 18 / 47
Протоколы при отсутствии общей случайности
ЗадачаДокажите, что есть способ выбора сообщений u, v в задаче равенства,при котором Алиса и Боб не знают случайных битов друг друга,передается O(
√n log n) битов, а вероятность ошибки меньше 1/3.
ПодсказкаДва случайных подмножества размера 2
√n в n-элементном множестве
пересекаются с вероятностью > 4/5 (примерно 1− 1/e2).
Теорема Бабаи – Киммеля (частный случай)При любом способе вероятностного выбора сообщений в задачеравенства, гарантирующем вероятность ошибки меньше 1/3, длинапереданных сообщений Ω(
√n).
Запись g(n) = Ω(f (n)) означает, что есть такие числа C и n0, что длявсех n > n0 выполняется g(n) > Cf (n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 18 / 47
План дальнейшего рассказа
1 Кооперативные вычисления
2 Ускорение работы алгоритмов
3 Фальшивая случайность
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 19 / 47
Белые мыши теоретической информатики
Задача разрешенияПо входным данным алгоритм должен ответить, обладают ли онинекоторым свойством.Вход: описание данных.Результат работы: ответ «да» или «нет».
Пример: проверка простоты числаВход: описание числа N (двоичная запись).Результат работы: ответ «да», если N — простое и «нет» впротивном случае.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 20 / 47
Белые мыши теоретической информатики
Задача разрешенияПо входным данным алгоритм должен ответить, обладают ли онинекоторым свойством.Вход: описание данных.Результат работы: ответ «да» или «нет».
Пример: проверка простоты числаВход: описание числа N (двоичная запись).Результат работы: ответ «да», если N — простое и «нет» впротивном случае.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 20 / 47
Трудоемкость алгоритма
Время работы в худшем случаеt(n) — наибольшее количество элементарных шагов алгоритма приработе на входных данных размера n.
Определение эффективного алгоритма
Время работы в худшем случае растет полиномиально: t(n) = nO(1).
Одно из оправданий такого определенияДля алгоритма с временем работы n3 увеличение быстродействиякомпьютера в 1000 раз увеличивает в 10 раз размер данных, длякоторых можно решить задачу за то же время.Для алгоритма с временем работы 1.1n увеличение быстродействиякомпьютера в 1000 раз увеличивает на 72 размер данных, для которыхможно решить задачу за то же время.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 21 / 47
Трудоемкость алгоритма
Время работы в худшем случаеt(n) — наибольшее количество элементарных шагов алгоритма приработе на входных данных размера n.
Определение эффективного алгоритма
Время работы в худшем случае растет полиномиально: t(n) = nO(1).
Одно из оправданий такого определенияДля алгоритма с временем работы n3 увеличение быстродействиякомпьютера в 1000 раз увеличивает в 10 раз размер данных, длякоторых можно решить задачу за то же время.Для алгоритма с временем работы 1.1n увеличение быстродействиякомпьютера в 1000 раз увеличивает на 72 размер данных, для которыхможно решить задачу за то же время.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 21 / 47
Трудоемкость алгоритма
Время работы в худшем случаеt(n) — наибольшее количество элементарных шагов алгоритма приработе на входных данных размера n.
Определение эффективного алгоритма
Время работы в худшем случае растет полиномиально: t(n) = nO(1).
Одно из оправданий такого определенияДля алгоритма с временем работы n3 увеличение быстродействиякомпьютера в 1000 раз увеличивает в 10 раз размер данных, длякоторых можно решить задачу за то же время.Для алгоритма с временем работы 1.1n увеличение быстродействиякомпьютера в 1000 раз увеличивает на 72 размер данных, для которыхможно решить задачу за то же время.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 21 / 47
Уточнение исходного вопроса
Открытая проблемаЕсть ли такая задача разрешения, для решения которой существуютэффективные вероятностные алгоритмы с вероятностью ошибки< 1/3, но не существует эффективных детерминированныхалгоритмов?
a× b a + b
a− b a/b
2 + 3
5× 2
8− 2
5
10
6
a× b a + b
a− b a/b
random
2 + 3
5× 2
8− 2
random
5
10
6
0
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 22 / 47
Ускорение работы случайным выбором
Удачные и неудачные варианты.Детерминированный алгоритм вынужден перебирать варианты вопределенном порядке
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 23 / 47
Ускорение работы случайным выбором
Удачные и неудачные варианты.Детерминированный алгоритм вынужден перебирать варианты вопределенном порядке
Вероятностный алгоритм выбирает вариант случайно
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 23 / 47
Оценка времени работы
Пусть всего вариантов N, из них удачных K .Детерминированный алгоритм в худшем случае переберет
N − K + 1
вариантов.Вероятностный алгоритм находит удачный вариант за один шаг свероятностью K
N
Вероятность ошибки (удачный вариант не найден) после t шагов(1− K
N
)t
При t ≈ 10N/K вероятность ошибки примерно равна
e−10 ≈ 0.00005
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 24 / 47
Оценка времени работы
Пусть всего вариантов N, из них удачных K .Детерминированный алгоритм в худшем случае переберет
N − K + 1
вариантов.Вероятностный алгоритм находит удачный вариант за один шаг свероятностью K
N
Вероятность ошибки (удачный вариант не найден) после t шагов(1− K
N
)t
При t ≈ 10N/K вероятность ошибки примерно равна
e−10 ≈ 0.00005
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 24 / 47
Оценка времени работы
Пусть всего вариантов N, из них удачных K .Детерминированный алгоритм в худшем случае переберет
N − K + 1
вариантов.Вероятностный алгоритм находит удачный вариант за один шаг свероятностью K
N
Вероятность ошибки (удачный вариант не найден) после t шагов(1− K
N
)t
При t ≈ 10N/K вероятность ошибки примерно равна
e−10 ≈ 0.00005
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 24 / 47
Оценка времени работы
Пусть всего вариантов N, из них удачных K .Детерминированный алгоритм в худшем случае переберет
N − K + 1
вариантов.Вероятностный алгоритм находит удачный вариант за один шаг свероятностью K
N
Вероятность ошибки (удачный вариант не найден) после t шагов(1− K
N
)t
При t ≈ 10N/K вероятность ошибки примерно равна
e−10 ≈ 0.00005
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 24 / 47
Проверка тождеств
Пример тождества: разность квадратовx2 − y2 = (x + y)(x − y)
Тождества, про которые пойдет речь
P(x1, . . . , xn) = 0,где P — целое алгебраическое выражение с переменными xi и числами.
Еще один пример
x4(x4 + x1 + x2)(x4 + x2 + x3)(x4 + x3 + x1)−−(x4 + x1)(x4 + x2)(x4 + x3)(x4 + x1 + x2 + x3)+
+x1x2x3(2x4 + x1 + x2 + x3)
Равно ли это выражение нулю при всех значениях переменных?
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 25 / 47
Проверка тождеств
Пример тождества: разность квадратовx2 − y2 = (x + y)(x − y)
Тождества, про которые пойдет речь
P(x1, . . . , xn) = 0,где P — целое алгебраическое выражение с переменными xi и числами.
Еще один пример
x4(x4 + x1 + x2)(x4 + x2 + x3)(x4 + x3 + x1)−−(x4 + x1)(x4 + x2)(x4 + x3)(x4 + x1 + x2 + x3)+
+x1x2x3(2x4 + x1 + x2 + x3)
Равно ли это выражение нулю при всех значениях переменных?
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 25 / 47
Проверка тождеств
Пример тождества: разность квадратовx2 − y2 = (x + y)(x − y)
Тождества, про которые пойдет речь
P(x1, . . . , xn) = 0,где P — целое алгебраическое выражение с переменными xi и числами.
Еще один пример
x4(x4 + x1 + x2)(x4 + x2 + x3)(x4 + x3 + x1)−−(x4 + x1)(x4 + x2)(x4 + x3)(x4 + x1 + x2 + x3)+
+x1x2x3(2x4 + x1 + x2 + x3)
Равно ли это выражение нулю при всех значениях переменных?
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 25 / 47
Что говорит алгебра
ОпределенияОдночлен — это произведение числа и какого-то количествапеременных. Число называется коэффициентом.Пример: 2x1x2x3.Многочлен — это сумма одночленов.Пример: x2 − y2.
Теорема 1Любое целое алгебраическое выражение тождественно равнонекоторому многочлену.
Теорема 2Многочлен тождественно равен нулю тогда и только тогда, когда всеего коэффициенты равны нулю.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 26 / 47
Что говорит алгебра
ОпределенияОдночлен — это произведение числа и какого-то количествапеременных. Число называется коэффициентом.Пример: 2x1x2x3.Многочлен — это сумма одночленов.Пример: x2 − y2.
Теорема 1Любое целое алгебраическое выражение тождественно равнонекоторому многочлену.
Теорема 2Многочлен тождественно равен нулю тогда и только тогда, когда всеего коэффициенты равны нулю.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 26 / 47
Что говорит алгебра
ОпределенияОдночлен — это произведение числа и какого-то количествапеременных. Число называется коэффициентом.Пример: 2x1x2x3.Многочлен — это сумма одночленов.Пример: x2 − y2.
Теорема 1Любое целое алгебраическое выражение тождественно равнонекоторому многочлену.
Теорема 2Многочлен тождественно равен нулю тогда и только тогда, когда всеего коэффициенты равны нулю.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 26 / 47
Простейший алгоритм проверки тождества
Задача проверки тождества (PIT)Дано: целое алгебраическое выражение (формула с числами ипеременными, использующая операции сложения, вычитания иумножения).Спрашивается: является ли это выражение тождеством? (То естьравно ли его значение нулю при любых значениях переменных.)
Простейший алгоритм для PIT:1 Раскрыть скобки.2 Привести подобные.3 Если нашелся хотя бы один ненулевой коэффициент, то ответ
«нет» (не тождество). В противном случае ответ «да»(тождество).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 27 / 47
Простейший алгоритм проверки тождества
Задача проверки тождества (PIT)Дано: целое алгебраическое выражение (формула с числами ипеременными, использующая операции сложения, вычитания иумножения).Спрашивается: является ли это выражение тождеством? (То естьравно ли его значение нулю при любых значениях переменных.)
Простейший алгоритм для PIT:1 Раскрыть скобки.2 Привести подобные.3 Если нашелся хотя бы один ненулевой коэффициент, то ответ
«нет» (не тождество). В противном случае ответ «да»(тождество).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 27 / 47
Простейший алгоритм проверки тождества
Задача проверки тождества (PIT)Дано: целое алгебраическое выражение (формула с числами ипеременными, использующая операции сложения, вычитания иумножения).Спрашивается: является ли это выражение тождеством? (То естьравно ли его значение нулю при любых значениях переменных.)
Простейший алгоритм для PIT:1 Раскрыть скобки.2 Привести подобные.3 Если нашелся хотя бы один ненулевой коэффициент, то ответ
«нет» (не тождество). В противном случае ответ «да»(тождество).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 27 / 47
Простейший алгоритм проверки тождества
Задача проверки тождества (PIT)Дано: целое алгебраическое выражение (формула с числами ипеременными, использующая операции сложения, вычитания иумножения).Спрашивается: является ли это выражение тождеством? (То естьравно ли его значение нулю при любых значениях переменных.)
Простейший алгоритм для PIT:1 Раскрыть скобки.2 Привести подобные.3 Если нашелся хотя бы один ненулевой коэффициент, то ответ
«нет» (не тождество). В противном случае ответ «да»(тождество).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 27 / 47
Является ли простейший алгоритм эффективным?
Напомним, что время работы оценивается в худшем случае.Ответ: нет.
Неформальное объяснениеКоличество разных (неподобных) одночленов в разложении формулыразмера L может оказаться велико: 2Ω(
√L).
Функция 2Ω(√
L) растет быстрее любого многочлена, а время работыпростейшего алгоритма не меньше количества неподобных одночленов.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 28 / 47
Является ли простейший алгоритм эффективным?
Напомним, что время работы оценивается в худшем случае.Ответ: нет.
Неформальное объяснениеКоличество разных (неподобных) одночленов в разложении формулыразмера L может оказаться велико: 2Ω(
√L).
Функция 2Ω(√
L) растет быстрее любого многочлена, а время работыпростейшего алгоритма не меньше количества неподобных одночленов.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 28 / 47
Является ли простейший алгоритм эффективным?
Напомним, что время работы оценивается в худшем случае.Ответ: нет.
Неформальное объяснениеКоличество разных (неподобных) одночленов в разложении формулыразмера L может оказаться велико: 2Ω(
√L).
Функция 2Ω(√
L) растет быстрее любого многочлена, а время работыпростейшего алгоритма не меньше количества неподобных одночленов.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 28 / 47
Вероятностный алгоритм проверки тождества
Пусть дано целое алгебраическое выражение F от n переменных.Длина записи выражения равна L.
1 Для каждой переменной xi выбрать назависимо и равновероятноее значение ai из промежутка целых чисел от 0 до 2L − 1.
2 Вычислить F (a1, . . . , an).3 Если F (a1, . . . , an) 6= 0, то ответ «нет» (не тождество).
В противном случае ответ «да» (тождество).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 29 / 47
Вероятностный алгоритм проверки тождества
Пусть дано целое алгебраическое выражение F от n переменных.Длина записи выражения равна L.
1 Для каждой переменной xi выбрать назависимо и равновероятноее значение ai из промежутка целых чисел от 0 до 2L − 1.
2 Вычислить F (a1, . . . , an).3 Если F (a1, . . . , an) 6= 0, то ответ «нет» (не тождество).
В противном случае ответ «да» (тождество).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 29 / 47
Вероятностный алгоритм проверки тождества
Пусть дано целое алгебраическое выражение F от n переменных.Длина записи выражения равна L.
1 Для каждой переменной xi выбрать назависимо и равновероятноее значение ai из промежутка целых чисел от 0 до 2L − 1.
2 Вычислить F (a1, . . . , an).3 Если F (a1, . . . , an) 6= 0, то ответ «нет» (не тождество).
В противном случае ответ «да» (тождество).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 29 / 47
Оценка времени работы
Легко видеть, что n 6 L (каждую переменную, входящую ввыражение, нужно записать).На шаге 2 выбирается nL 6 L2 случайных битов.Есть эффективный алгоритм вычисления значения выражения назаданном наборе переменных: выражение задает порядокдействий, каждую арифметическую операцию выполняемшкольными алгоритмами, они работают за время O(`2), где ` —длина записи операндов. При этом ` 6 L и нужно выполнить 6 Lопераций.
УтверждениеВероятностный алгоритм работает за время, которое растет не болеечем кубически от размера входного выражения.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 30 / 47
Оценка времени работы
Легко видеть, что n 6 L (каждую переменную, входящую ввыражение, нужно записать).На шаге 2 выбирается nL 6 L2 случайных битов.Есть эффективный алгоритм вычисления значения выражения назаданном наборе переменных: выражение задает порядокдействий, каждую арифметическую операцию выполняемшкольными алгоритмами, они работают за время O(`2), где ` —длина записи операндов. При этом ` 6 L и нужно выполнить 6 Lопераций.
УтверждениеВероятностный алгоритм работает за время, которое растет не болеечем кубически от размера входного выражения.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 30 / 47
Оценка времени работы
Легко видеть, что n 6 L (каждую переменную, входящую ввыражение, нужно записать).На шаге 2 выбирается nL 6 L2 случайных битов.Есть эффективный алгоритм вычисления значения выражения назаданном наборе переменных: выражение задает порядокдействий, каждую арифметическую операцию выполняемшкольными алгоритмами, они работают за время O(`2), где ` —длина записи операндов. При этом ` 6 L и нужно выполнить 6 Lопераций.
УтверждениеВероятностный алгоритм работает за время, которое растет не болеечем кубически от размера входного выражения.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 30 / 47
Оценка времени работы
Легко видеть, что n 6 L (каждую переменную, входящую ввыражение, нужно записать).На шаге 2 выбирается nL 6 L2 случайных битов.Есть эффективный алгоритм вычисления значения выражения назаданном наборе переменных: выражение задает порядокдействий, каждую арифметическую операцию выполняемшкольными алгоритмами, они работают за время O(`2), где ` —длина записи операндов. При этом ` 6 L и нужно выполнить 6 Lопераций.
УтверждениеВероятностный алгоритм работает за время, которое растет не болеечем кубически от размера входного выражения.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 30 / 47
Вероятность ошибки
ТеоремаВероятность ошибки предложенного алгоритма проверки равенства неболее
L2L .
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 31 / 47
Ненулевой многочлен редко обращается в ноль
НаблюдениеЕсли целое алгебраическое выражение длины L задает ненулевоймногочлен, то его степень d 6 L.
Теорема прямо следует из этого наблюдения и такой леммы.
Лемма Шварца – ЗиппеляПусть f — не равный тождественно нулю многочлен степени 6 d от nпеременных.Обозначим через Ns количество таких наборов (x1, . . . , xn), что
f (x1, . . . , xn) = 0; 0 6 xi < s.
ТогдаNs
sn 6ds
.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 32 / 47
Ненулевой многочлен редко обращается в ноль
НаблюдениеЕсли целое алгебраическое выражение длины L задает ненулевоймногочлен, то его степень d 6 L.
Теорема прямо следует из этого наблюдения и такой леммы.
Лемма Шварца – ЗиппеляПусть f — не равный тождественно нулю многочлен степени 6 d от nпеременных.Обозначим через Ns количество таких наборов (x1, . . . , xn), что
f (x1, . . . , xn) = 0; 0 6 xi < s.
ТогдаNs
sn 6ds
.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 32 / 47
Случай одной переменной
Лемма Шварца – Зиппеля для одной переменнойПусть f — не равный тождественно нулю многочлен степени 6 d от nпеременных. Тогда количество корней f не больше d .
Теорема БезуМногочлен f (x) делится без остатка на x − a в том и только томслучае, когда f (a) = 0.
Логарифмическое свойство степени многочленаЕсли f 6= 0, g 6= 0, то deg(fg) = deg f + deg g .
СледствиеКоличество корней многочлена одной переменной не превосходит егостепени.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 33 / 47
Случай одной переменной
Лемма Шварца – Зиппеля для одной переменнойПусть f — не равный тождественно нулю многочлен степени 6 d от nпеременных. Тогда количество корней f не больше d .
Теорема БезуМногочлен f (x) делится без остатка на x − a в том и только томслучае, когда f (a) = 0.
Логарифмическое свойство степени многочленаЕсли f 6= 0, g 6= 0, то deg(fg) = deg f + deg g .
СледствиеКоличество корней многочлена одной переменной не превосходит егостепени.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 33 / 47
Случай одной переменной
Лемма Шварца – Зиппеля для одной переменнойПусть f — не равный тождественно нулю многочлен степени 6 d от nпеременных. Тогда количество корней f не больше d .
Теорема БезуМногочлен f (x) делится без остатка на x − a в том и только томслучае, когда f (a) = 0.
Логарифмическое свойство степени многочленаЕсли f 6= 0, g 6= 0, то deg(fg) = deg f + deg g .
СледствиеКоличество корней многочлена одной переменной не превосходит егостепени.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 33 / 47
Случай одной переменной
Лемма Шварца – Зиппеля для одной переменнойПусть f — не равный тождественно нулю многочлен степени 6 d от nпеременных. Тогда количество корней f не больше d .
Теорема БезуМногочлен f (x) делится без остатка на x − a в том и только томслучае, когда f (a) = 0.
Логарифмическое свойство степени многочленаЕсли f 6= 0, g 6= 0, то deg(fg) = deg f + deg g .
СледствиеКоличество корней многочлена одной переменной не превосходит егостепени.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 33 / 47
Индукция по числу переменных
Разложим многочлен f (x1, . . . , xn) 6= 0, deg f = d , по n-й переменной:
f (x1, . . . , xn) =k∑
i=0
fi (x1, . . . , xn−1)x in, fk 6= 0, deg fk 6 d − k .
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 34 / 47
Индукция по числу переменных
Разложим многочлен f (x1, . . . , xn) 6= 0, deg f = d , по n-й переменной:
f (x1, . . . , xn) =k∑
i=0
fi (x1, . . . , xn−1)x in, fk 6= 0, deg fk 6 d − k .
Степень f по переменной xn не вышеk при любых значениях остальныхпеременных.
xn
s
x1s
0
0
0
≤ (d− k)sn−2
≤ k
000000000000
000000000000
000000000000
000000000000
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 34 / 47
Индукция по числу переменных
Разложим многочлен f (x1, . . . , xn) 6= 0, deg f = d , по n-й переменной:
f (x1, . . . , xn) =k∑
i=0
fi (x1, . . . , xn−1)x in, fk 6= 0, deg fk 6 d − k .
Степень f по переменной xn не вышеk при любых значениях остальныхпеременных.Всего наборов, обращающих f в 0,не более чем
(d − k)sn−2 · s +
+ (sn−1 − (d − k)sn−2) · k =
= dsn−1 − k(d − k)sn−2 6
6 dsn−1.
xn
s
x1s
0
0
0
≤ (d− k)sn−2
≤ k
000000000000
000000000000
000000000000
000000000000
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 34 / 47
Детерминированные алгоритмы для PIT
Открытый вопросЕсть ли эффективные алгоритмы проверки тождества?
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 35 / 47
План дальнейшего рассказа
1 Кооперативные вычисления
2 Ускорение работы алгоритмов
3 Фальшивая случайность
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 36 / 47
Источники случайности в реальных программах
1 Специальные устройства
Sun SSL Crypto Acceleratorиспользует физический источникслучайности для генерациикриптографических ключей,используемых в сетевых протоколах.
(http://en.wikipedia.org/wiki/Hardware_random_number_generator)2 Таблицы случайных чисел (скажем, сайт random.org)
3 Программная эмуляция случайности — псевдослучайные числа:
101101011110001001111010001100 /x = random.randint(0,1)/
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 37 / 47
Источники случайности в реальных программах
1 Специальные устройства
Sun SSL Crypto Acceleratorиспользует физический источникслучайности для генерациикриптографических ключей,используемых в сетевых протоколах.
(http://en.wikipedia.org/wiki/Hardware_random_number_generator)2 Таблицы случайных чисел (скажем, сайт random.org)
3 Программная эмуляция случайности — псевдослучайные числа:
101101011110001001111010001100 /x = random.randint(0,1)/
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 37 / 47
Источники случайности в реальных программах
1 Специальные устройства
Sun SSL Crypto Acceleratorиспользует физический источникслучайности для генерациикриптографических ключей,используемых в сетевых протоколах.
(http://en.wikipedia.org/wiki/Hardware_random_number_generator)2 Таблицы случайных чисел (скажем, сайт random.org)
3 Программная эмуляция случайности — псевдослучайные числа:
101101011110001001111010001100 /x = random.randint(0,1)/
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 37 / 47
Сравнение «истинной» и «фальшивой» случайности
истинные случайные биты сrandom.org
фальшивые случайные битыот Microsoft Windows
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 38 / 47
Дерандомизация: избавление от случайности
Предположим, что алгоритм A использует в работе m случайныхбитов и дает один из двух возможных ответов.
1 Выберем псевдослучайный генератор (PRG): функцию
G : 0, 1` → 0, 1m.
2 Для каждой затравки z = z1z2 . . . z` вычислим функцию
G (z) = r1r2 . . . rm
и запустим алгоритм A, подменяя i-й случайный бит битом ri .3 Выберем тот ответ, который встретился чаще. Он и будет ответом
дерандомизированного алгоритма.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 39 / 47
Дерандомизация: избавление от случайности
Предположим, что алгоритм A использует в работе m случайныхбитов и дает один из двух возможных ответов.
1 Выберем псевдослучайный генератор (PRG): функцию
G : 0, 1` → 0, 1m.
2 Для каждой затравки z = z1z2 . . . z` вычислим функцию
G (z) = r1r2 . . . rm
и запустим алгоритм A, подменяя i-й случайный бит битом ri .3 Выберем тот ответ, который встретился чаще. Он и будет ответом
дерандомизированного алгоритма.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 39 / 47
Дерандомизация: избавление от случайности
Предположим, что алгоритм A использует в работе m случайныхбитов и дает один из двух возможных ответов.
1 Выберем псевдослучайный генератор (PRG): функцию
G : 0, 1` → 0, 1m.
2 Для каждой затравки z = z1z2 . . . z` вычислим функцию
G (z) = r1r2 . . . rm
и запустим алгоритм A, подменяя i-й случайный бит битом ri .3 Выберем тот ответ, который встретился чаще. Он и будет ответом
дерандомизированного алгоритма.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 39 / 47
Цена дерандомизации
Дерандомизированный алгоритм исполняет алгоритм A длякаждой затравки, т. е. 2` раз.Столько же раз вычисляется значение PRG.Пусть алгоритм A работает за время T1 = poly(n), а вычислениезначения генератора занимает время T2.Тогда время работы дерандомизированного алгоритма
2`(T1 + T2)
Чтобы не потерять эффективность, нужно использовать оченькороткие затравки и достаточно быстрое вычисление значениягенератора:
` = O(log n); T2 = poly(n) = 2O(`) ⇒ 2`(T1 + T2) = poly(n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 40 / 47
Цена дерандомизации
Дерандомизированный алгоритм исполняет алгоритм A длякаждой затравки, т. е. 2` раз.Столько же раз вычисляется значение PRG.Пусть алгоритм A работает за время T1 = poly(n), а вычислениезначения генератора занимает время T2.Тогда время работы дерандомизированного алгоритма
2`(T1 + T2)
Чтобы не потерять эффективность, нужно использовать оченькороткие затравки и достаточно быстрое вычисление значениягенератора:
` = O(log n); T2 = poly(n) = 2O(`) ⇒ 2`(T1 + T2) = poly(n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 40 / 47
Цена дерандомизации
Дерандомизированный алгоритм исполняет алгоритм A длякаждой затравки, т. е. 2` раз.Столько же раз вычисляется значение PRG.Пусть алгоритм A работает за время T1 = poly(n), а вычислениезначения генератора занимает время T2.Тогда время работы дерандомизированного алгоритма
2`(T1 + T2)
Чтобы не потерять эффективность, нужно использовать оченькороткие затравки и достаточно быстрое вычисление значениягенератора:
` = O(log n); T2 = poly(n) = 2O(`) ⇒ 2`(T1 + T2) = poly(n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 40 / 47
Цена дерандомизации
Дерандомизированный алгоритм исполняет алгоритм A длякаждой затравки, т. е. 2` раз.Столько же раз вычисляется значение PRG.Пусть алгоритм A работает за время T1 = poly(n), а вычислениезначения генератора занимает время T2.Тогда время работы дерандомизированного алгоритма
2`(T1 + T2)
Чтобы не потерять эффективность, нужно использовать оченькороткие затравки и достаточно быстрое вычисление значениягенератора:
` = O(log n); T2 = poly(n) = 2O(`) ⇒ 2`(T1 + T2) = poly(n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 40 / 47
Цель
Построить один псевдослучайный генератор для всех алгоритмов,работающих за заданное время t.Когда время работы фиксировано, алгоритмы несущественноотличаются от схем вычисления, т. е. последовательностейприсваиваний.
Булева схема вычисления
y1 := x1 ∨ x2, (допустима дизъюнкция);y2 := x2 ∧ x3, (допустима конъюнкция);y3 := ¬x1, (допустимо отрицание);y4 := y2 ∨ x4, (допустимы предыдущие значения);. . .
ys := T (x1, . . . , xm), ys — значение схемы.
Размер схемы — количество присваиваний s.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 41 / 47
Цель
Построить один псевдослучайный генератор для всех алгоритмов,работающих за заданное время t.Когда время работы фиксировано, алгоритмы несущественноотличаются от схем вычисления, т. е. последовательностейприсваиваний.
Булева схема вычисления
y1 := x1 ∨ x2, (допустима дизъюнкция);y2 := x2 ∧ x3, (допустима конъюнкция);y3 := ¬x1, (допустимо отрицание);y4 := y2 ∨ x4, (допустимы предыдущие значения);. . .
ys := T (x1, . . . , xm), ys — значение схемы.
Размер схемы — количество присваиваний s.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 41 / 47
Тестирование случайности
TESTERT T (x1, . . . , xm)
x1x2
x3x4
x5
xm
Количество входов тестера — количество случайных битов,использованных в алгоритме. Без ограничения общности считаем, чтоалгоритм, работающий за время t, использует m = t случайных битов.(Некоторые останутся фактически неиспользованными.)
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 42 / 47
Требования к хорошему псевдослучайному генератору
TESTERT T (z1, . . . , z`)PRGG
z1
z2
z`
TESTERT T (x1, . . . , xm)
x1x2
x3x4
x5
xm
Техническое определение псевдослучайного генератораДля любого тестера (схемы) T размера m3 выполняется
|Prz
[T (G (z1, . . . , z`)) = 1]− Prx
[T (x1, . . . , xm) = 1]| < 110
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 43 / 47
Существуют ли хорошие псевдослучайные генераторы?
Частичный ответДа, существуют в предположении, что существуют семейства явнозаданных, но сложных функций.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 44 / 47
Схемная сложность
ОпределениеСхемная сложность C (f ) — это наименьший размер схемы,вычисляющей f .
Утверждение (here be dragons!)Существуют булевы функции от n переменных, имеющие схемнуюсложность > 2n/3n.
Идея доказательстваПодсчет количества схем размера s с n входными переменными иколичества функций от n переменных.При s < 2n/3n схем меньше, чем функций.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 45 / 47
Схемная сложность
ОпределениеСхемная сложность C (f ) — это наименьший размер схемы,вычисляющей f .
Утверждение (here be dragons!)Существуют булевы функции от n переменных, имеющие схемнуюсложность > 2n/3n.
Идея доказательстваПодсчет количества схем размера s с n входными переменными иколичества функций от n переменных.При s < 2n/3n схем меньше, чем функций.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 45 / 47
Схемная сложность
ОпределениеСхемная сложность C (f ) — это наименьший размер схемы,вычисляющей f .
Утверждение (here be dragons!)Существуют булевы функции от n переменных, имеющие схемнуюсложность > 2n/3n.
Идея доказательстваПодсчет количества схем размера s с n входными переменными иколичества функций от n переменных.При s < 2n/3n схем меньше, чем функций.
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 45 / 47
Что такое «явно» заданная функция?
Описание семейства функцийСемейство функций: для каждого n задана функция fn(x1, . . . , xn).Описание: алгоритм A, который по входным переменным x1, . . . , xn,возвращает значение fn(x1, . . . , xn).Чем меньше времени работает алгоритм, тем более «явным» являетсяописание.
Требования к функциям для построения PRG
Алгоритм должен работать за время 2O(n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 46 / 47
Что такое «явно» заданная функция?
Описание семейства функцийСемейство функций: для каждого n задана функция fn(x1, . . . , xn).Описание: алгоритм A, который по входным переменным x1, . . . , xn,возвращает значение fn(x1, . . . , xn).Чем меньше времени работает алгоритм, тем более «явным» являетсяописание.
Требования к функциям для построения PRG
Алгоритм должен работать за время 2O(n).
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 46 / 47
Теорема Вигдерсона – Импальяццо
Теорема (в такой форме впервые доказана Умансом)Если существует семейство функций fn от n переменных, которое
порождается алгоритмом, работающим за время 2O(n);имеет схемную сложность 2Ω(n);
то работу любого эффективного вероятностного алгоритма можномоделировать работой эффективного детерминированного алгоритма.
Avi Wigderson Russel Impagliazzo Christopher Umans
М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 47 / 47