110
Помогают ли в вычислениях подбрасывания монетки? М. Вялый Вычислительный центр им. А.А.Дородницына Российской Академии наук малый ШАД, 08.02.2014 М. Вялый ([email protected]) Вычисления и случайность малый ШАД, 08.02.2014 1 / 47

Михаил Вялый - помогает ли в вычислениях подбрасывание монетки

  • 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