ЛЕКЦИЯ 11 ВЕРОЯТНОСТНЫЕ ВЫЧИСЛЕНИЯ. КЛАСС BPP Многие задачи решаются быстрее, если есть источник случайной величины. Например, существует метод Монте – Карло, суть которого состоит в случайном размещении точек внутри некоторого объема, который в свою очередь содержит малый объем. Отношение точек, которые попали в малый объем, к отношению точек внутри всего объема приближает отношение самих объемов. 1. Вероятностная машина Тьюринга Существует два эквивалентных определения вероятностной машины Тьюринга. Определение 37: Вероятностная машина Тьюринга — это машина, имеющая специальное состояние «получить случайный бит». Придя в это состояние, машина получает случайный бит. Она может его запомнить (или обработать). ♣ Определение 38: Вероятностная машина Тьюринга — это машина, использующая дополнительный случайный аргумент. ♣ На ответах «0» и «1» возникает какое-то распределение. Также иногда возникают ошибки (0 → 1, 1 → 0). 2. Класс BPP Сначала рассмотрим класс BPTIME. Определение 39: BPTIME = BPTIME (𝑇 (|𝑥|)) — это класс таких языков 𝐿, что существует вероятностная машина Тьюринга 𝑀 , такая что 2 𝑥 ∈ 𝐿 ⇒ Pr{𝑀 (𝑥) = 1} > , 3 1 𝑥 ∉ 𝐿 ⇒ Pr{𝑀 (𝑥) = 1} < . 3 ! Конспект не проходил проф. редактуру, создан студентами и, возможно, содержит смысловые ошибки. Следите за обновлениями на lectoriy.mipt.ru. 2 Число шагов, на протяжении которых работает 𝑀 (𝑥), оценивается следующим образом: timeu� < O((𝑇 (|𝑥|)). Определение 40: Класс BPP: ∞ BPP = ⋃ BPTIME (𝑛u� ). u�=1 Детерминированное вычисление — подмножество вероятностного (случайный бит можно и не использовать). Поскольку машина 𝑀 работает в течение полиномиального времени, то она может считать не более чем полиномиальное число битов. Поэтому можно перебирать все комбинации случайных битов, и этих комбинаций будет экспоненциальное число. Перебирая эти комбинации, можно посчтитать вероятности Pr{𝑀 (𝑥) = 1}. Значит, верно следующее соотношение: P ⊂ BPP ⊂ EXP. Многие находят основания верить, что P = BPP (т. е. все вероятностные алгоритмы можно рандомизировать). Принцип Hardness vs Randomness устанавливает, что это утверждение можно доказать, отталкиваясь от рассмотрения сложной NP-полной задачи. Теорема 21 (О вложенности BPP в P/poly) BPP ⊂ P/poly. ∗ Док-во: Приведем идею доказательства: допустим, вероятности Pr{𝑀 (𝑥) = 1}, 𝑥 ∈ 𝐿 и Pr{𝑀 (𝑥) = 1}, 𝑥 ∉ 𝐿 различаются на 2 𝜖: 𝑥∈𝐿 ⇒ Pr{𝑀 (𝑥) = 1} = 1 + 𝜖, 2 1 − 𝜖. 2 Тогда для любого конкретного 𝑥 подходят почти все выпадения случайных битов. Значит, существует такое выпадение 𝑟, что оно подходит для всех 𝑥. Это значение 𝑟 можно включить в схему и запустить с ним алгоритм. 𝑥∉𝐿 ⇒ Pr{𝑀 (𝑥) = 1} = u� u� Позже докажем утверждение, что BPP ⊂ ∑2 ⋂ ∏2 . 3. Классы с односторонней ошибкой Определение 41: RPTIME = RPTIME (𝑇 (𝑛)) — это класс языков, распознаваемых на вероятностной машине Тьюринга с односторонней ошибкой, т. е. ∃𝑀 ∶ ! 𝑥∈𝐿 ⇒ 𝑥∉𝐿 ⇒ 1 Pr{𝑀 (𝑥) = 1} > , 2 Pr{𝑀 (𝑥) = 1} = 0. Для подготовки к экзаменам пользуйтесь учебной литературой. Об обнаруженных неточностях и замечаниях просьба писать на pulsar@ phystech. edu 3 ! Конспект не проходил проф. редактуру, создан студентами и, возможно, содержит смысловые ошибки. Следите за обновлениями на lectoriy.mipt.ru. Определение 42: Класс RP: ∞ RP = ⋃ RPTIME (𝑛u� ). u�=1 Определение 43: Класс coRP: coRP = {𝐿 ∶ 𝐿 ∈ RP} ∶ 𝑥∈𝐿 ⇒ Pr{𝑀 (𝑥) = 1} = 1, 𝑥∉𝐿 ⇒ 1 Pr{𝑀 (𝑥) = 1} < . 2 Определение 44: ZPTIME = ZPTIME (𝑇 (𝑛)) — это класс языков, распознаваемых на вероятностной машине Тьюринга с ожидаемым временем работы O((𝑇 (|𝑥|)). ♣ Также существует класс языков ZPP с полиномиальным временем работы. Поскольку любая последовательность битов, на которой получается «1», будет сертификатом (сертификат — это цепочка случайных битов, приводящих к ответу «1»), то справедливо следующее соотношение: RP ⊂ NP. Очевидно, что P ⊂ RP ⊂ BPP, P ⊂ coRP ⊂ BPP. Теорема 22 BPP = RP ⋂ coRP. ∗ Док-во: ⊂ Запустим программу на ZP-классе на достаточно долгое время. При неполучении ответа выдадим 1 (если используем RP) или 0 (если используем coRP). ⊃ Рассмотрим программы 𝑀1 и 𝑀2 , которые работают по следующим правилам: 𝑀1 ∶ 𝑥∈𝐿 ⇒ скорее всего 1, 𝑥∉𝐿 ⇒ точно 0; 𝑥∈𝐿 ⇒ точно 1, 𝑥∉𝐿 ⇒ скорее всего 0. 𝑀2 ∶ После запуска этих программ невозможно будет определить ответ в случае, если 𝑀1 выдала бы ответ «0», а 𝑀2 — «1». Такое событие наступит с малой вероятностью. Проводя итерации, за некоторое число запусков можно будет узнать правильный ответ (аккуратный расчет математического ожидания количества запусков дает ответ «2»). ! Для подготовки к экзаменам пользуйтесь учебной литературой. Об обнаруженных неточностях и замечаниях просьба писать на pulsar@ phystech. edu ! Конспект не проходил проф. редактуру, создан студентами и, возможно, содержит смысловые ошибки. Следите за обновлениями на lectoriy.mipt.ru. 4 4. Независимость определения BPP и RP от значения констант Определение 45: BPPu�(|u�|) — это класс таких языков 𝐿, что существует вероятностная машина Тьюринга 𝑀 , такая что ! 𝑥∈𝐿 ⇒ Pr{𝑀 (𝑥) = 1} > 1 + 𝛼(|𝑥|), 2 𝑥∉𝐿 ⇒ Pr{𝑀 (𝑥) = 1} < 1 − 𝛼(|𝑥|). 2 Для подготовки к экзаменам пользуйтесь учебной литературой. Об обнаруженных неточностях и замечаниях просьба писать на pulsar@ phystech. edu 5 ! Конспект не проходил проф. редактуру, создан студентами и, возможно, содержит смысловые ошибки. Следите за обновлениями на lectoriy.mipt.ru. Теорема 23 BPP u�1u� = BPP 12 − 1 u� 2u� ∗ . Док-во: Приведем идею доказательства. Будем множество раз подряд проводить запуск и выбирать варианты, которых боль1 шинство. Пусть было проведено 𝑁 запусков с исходной вероятностью 𝑝 > + 𝛼. Тогда 2 для вероятности ошибки верно следующее соотношение: Pr{ошибка} ⩽ Pr { 1 1 (𝜉1 + ⋯ + 𝜉u� ) < } . 𝑁 2 Здесь 𝜉u� — независимые случайные величины, имеющие распределение Бернулли. 1 + 𝛼, 2 1 Pr{𝜉u� = 0} = − 𝛼. 2 Pr{𝜉u� = 1} = Как следует из центральной предельной теоремы, распределение { стремится к нормальному распределению. 1 1 (𝜉1 + ⋯ + 𝜉u� ) < } 𝑁 2 Рис. 11.1 1 𝛼 есть обратный полином. Если взять 𝑁 как 2 , то ширина «колокола» будет при𝛼 мерно достаточной для покрытия нужного диапазона. Для класа RP существует аналогичная теорема. Для вероятности Pr{𝑀 (𝑥) = 1} берется следующая оценка: 𝑥∈𝐿 ⇒ Pr{𝑀 (𝑥) = 1} > 1 . poly 1 1 получить 1 − poly . poly 2 Так как можно сделать ошибку экспоненциально малой, то существует выбор случайных битов, который подойдет для любого значения 𝑘. Значит, верно следующее соотношение: BPP ⊂ P/poly. Проводя испытания, можно вместо ! Для подготовки к экзаменам пользуйтесь учебной литературой. Об обнаруженных неточностях и замечаниях просьба писать на pulsar@ phystech. edu