<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andrey.Eremeev&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andrey.Eremeev&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Andrey.Eremeev"/>
		<updated>2026-06-11T14:02:10Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=23951</id>
		<title>Теория сложности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=23951"/>
				<updated>2012-06-04T20:50:46Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Вероятностные сложностные классы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория сложности]]&lt;br /&gt;
&lt;br /&gt;
== Детерминированные и недетерминированные вычисления, сложность по времени и по памяти ==&lt;br /&gt;
*[[Сложностные классы. Вычисления с оракулом]]&lt;br /&gt;
&lt;br /&gt;
=== Классы P и NP, NP-полнота ===&lt;br /&gt;
*[[Класс P]]&lt;br /&gt;
*[[Недетерминированные вычисления]]&lt;br /&gt;
*[[Классы NP и Σ₁]]&lt;br /&gt;
*[[Сведение относительно класса функций. Сведение по Карпу. Трудные и полные задачи]]&lt;br /&gt;
*[[Примеры NP-полных языков. Теорема Кука]]&lt;br /&gt;
*[[Теоремы о временной и емкостной иерархиях]]&lt;br /&gt;
*[[Теорема Бейкера — Гилла — Соловэя]]&lt;br /&gt;
*[[Теорема Ладнера]]&lt;br /&gt;
*[[Теорема Левина]]&lt;br /&gt;
*[[Теорема Бермана — Форчуна]]&lt;br /&gt;
*[[Теорема Махэни]]&lt;br /&gt;
&lt;br /&gt;
=== Сложность по памяти, классы PS, L, NL, coNL ===&lt;br /&gt;
*[[Класс PS. Связь класса PS с другими классами теории сложности]]&lt;br /&gt;
*[[Теорема Сэвича. Совпадение классов NPS и PS]]&lt;br /&gt;
*[[PS-полнота языка верных булевых формул с кванторами (TQBF)]]&lt;br /&gt;
*[[Классы L, NL, coNL]]&lt;br /&gt;
*[[NL-полнота задачи о достижимости]]&lt;br /&gt;
*[[Теорема Иммермана]]&lt;br /&gt;
&lt;br /&gt;
=== Полиномиальная иерархия ===&lt;br /&gt;
*[[Классы PH, Σ и Π]]&lt;br /&gt;
*[[Теоремы о коллапсе полиномиальной иерархии]]&lt;br /&gt;
&lt;br /&gt;
== Схемная сложность ==&lt;br /&gt;
*[[Схемная сложность и класс P/poly]]&lt;br /&gt;
*[[Теорема Карпа — Липтона]]&lt;br /&gt;
*[[Классы NC и AC]]&lt;br /&gt;
*[[Теорема о непринадлежности XOR классу AC⁰]]&lt;br /&gt;
&lt;br /&gt;
== Вероятностные сложностные классы ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;br /&gt;
*[[Классы RP и coRP]]&lt;br /&gt;
*[[Класс ZPP]]&lt;br /&gt;
*[[Класс BPP и PP]]&lt;br /&gt;
*[[Соотношение вероятностных классов]]&lt;br /&gt;
*[[Теорема Лаутемана]]&lt;br /&gt;
&lt;br /&gt;
=== Интерактивные протоколы ===&lt;br /&gt;
*[[Интерактивные протоколы. Класс IP. Класс AM]]&lt;br /&gt;
*[[Связь классов IP и AM друг с другом и с другими классами языков]]&lt;br /&gt;
*[[Арифметизация булевых формул с кванторами]]&lt;br /&gt;
*[[Лемма о соотношении coNP и IP]]&lt;br /&gt;
*[[Теорема Шамира]]&lt;br /&gt;
*[[Семейство универсальных попарно независимых хеш-функций]]&lt;br /&gt;
*[[Протокол Голдвассера-Сипсера для оценки размера множества]]&lt;br /&gt;
&lt;br /&gt;
=== Probabilistically checkable proofs ===&lt;br /&gt;
*[[PCP-система]]&lt;br /&gt;
*[[PCP-теорема]]&lt;br /&gt;
*[[PCP-теорема, альтернативное доказательство | PCP-теорема, альтернативная формулировка]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Теория сложности (старая трешовая версия)|Вот сюда]] можно подсматривать, но злоупотреблять не рекомендуется.&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_BPP_%D0%B8_PP&amp;diff=23949</id>
		<title>Классы BPP и PP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_BPP_%D0%B8_PP&amp;diff=23949"/>
				<updated>2012-06-04T20:50:24Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Класс BPP в Классы BPP и PP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; (от ''bounded probabilistic polynomial'') — множество языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая [[Вероятностные вычисления. Вероятностная машина Тьюринга |ВМТ]] &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;P(p(x) = [x \in L]) \ge 2/3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой [[Вероятностные вычисления. Вероятностная машина Тьюринга |вероятностной ленты]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt; (от ''probabilistic polynomial'') — множество языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых &amp;lt;tex&amp;gt;\exists p \forall x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;\operatorname{P}(p(x) = [x \in L]) &amp;gt; 1/2&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\forall r \operatorname{T}(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt; также допускает двусторонние ошибки, но является более широким по сравнению с &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; — сложностный класс, допускающий двусторонние ошибки.&lt;br /&gt;
Константу &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; можно заменить на любое число из промежутка &amp;lt;tex&amp;gt;(1/2, 1)&amp;lt;/tex&amp;gt;, так как требуемой вероятности можно добиться множественным запуском &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;. Замена константы на &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; сделала бы данный класс равным &amp;lt;tex&amp;gt;\Sigma^*&amp;lt;/tex&amp;gt; (программа, возвращающая результат функции ''random''(), подошла бы для любого языка).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt; — класс языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая ВМТ &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
#&amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;-полином и &amp;lt;tex&amp;gt;q(|x|) \ge 3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
#&amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt; — класс языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая ВМТ &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
#&amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge 1 - \frac {1} {2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;-полином и &amp;lt;tex&amp;gt;q(|x|) \ge 3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
#&amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement= &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{weak}} = \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
В  доказательстве будет использоваться ''неравенство Чернова'': &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall p :  \frac {1} {2} \le p \le 1: \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i} \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Докажем, что &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP} \subseteq \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Это следует из определений &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Пусть &amp;lt;tex&amp;gt;L \in \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;\exists p : P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Построим ВМТ &amp;lt;tex&amp;gt;p_1&amp;lt;/tex&amp;gt;, которая для входа &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; запускает &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; раз, и принимает &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, если больше половины запусков принимают его. &amp;lt;br&amp;gt; Подберем &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, такое, что &amp;lt;tex&amp;gt;P(p_1(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Вероятность &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; того, что &amp;lt;tex&amp;gt;p_1(x)&amp;lt;/tex&amp;gt; даст правильный результат равна вероятности, что больше половины запусков &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; дадут правильный результат. Тогда по схеме Бернулли &amp;lt;tex&amp;gt;P = \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p=\frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt; — вероятность, что запуск &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; даст правильный ответ. По неравенству Чернова : &amp;lt;tex&amp;gt; P  \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} &amp;lt;/tex&amp;gt;. То есть для того, чтобы &amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt; достаточно подобрать такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge \frac {2}{3}&amp;lt;/tex&amp;gt;. Получаем, что &amp;lt;tex&amp;gt;n \ge \frac {\ln 3} {2(p - \frac {1} {2})^2} = \frac {{q(|x|)}^2 \ln 3}{2} &amp;lt;/tex&amp;gt;. Возьмем &amp;lt;tex&amp;gt;n = \lceil \frac {{q(|x|)}^2 \ln 3}{2} \rceil &amp;lt;/tex&amp;gt;, тогда неравенство &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt; будет выполнено.&lt;br /&gt;
&lt;br /&gt;
* Докажем, что &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP_{strong}} \subseteq \mathrm{BPP} &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Это следует из определений &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP} \subseteq \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Пусть &amp;lt;tex&amp;gt;L \in \mathrm{BPP}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;\exists p : P(p(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Построим ВМТ &amp;lt;tex&amp;gt;p_1&amp;lt;/tex&amp;gt;, которая для входа &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; запускает &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; раз, и принимает &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, если больше половины запусков принимают его. &amp;lt;br&amp;gt; Подберем &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, такое, что &amp;lt;tex&amp;gt;P(p_1(x)=[x \in L]) \ge 1 - \frac {1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Проводя рассуждения, аналогичные изложенным в доказательстве &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}&amp;lt;/tex&amp;gt;, получаем, что &amp;lt;tex&amp;gt;1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge 1 - \frac {1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p = \frac {2} {3}&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;n \ge \frac {{q(|x|)} \ln 2}{2({\frac {2}{3} - \frac {1}{2}})^2} &amp;lt;/tex&amp;gt;. Возьмем &amp;lt;tex&amp;gt;n = \lceil 18 {q(|x|)} \ln 2 \rceil &amp;lt;/tex&amp;gt;, тогда неравенство &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt; будет выполнено.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Вероятностные вычисления. Вероятностная машина Тьюринга]] &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Chernoff_bound Неравенство Чернова]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория сложности]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81_BPP&amp;diff=23950</id>
		<title>Класс BPP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81_BPP&amp;diff=23950"/>
				<updated>2012-06-04T20:50:24Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Класс BPP в Классы BPP и PP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Классы BPP и PP]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F._%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0&amp;diff=23934</id>
		<title>Вероятностные вычисления. Вероятностная машина Тьюринга</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F._%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0&amp;diff=23934"/>
				<updated>2012-06-04T20:32:23Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Вероятностные классы сложности */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Теория сложности]]&lt;br /&gt;
'''Вероятностные вычисления''' — один из подходов в теории вычислительной сложности, в котором программы получают доступ, говоря неформально, к генератору случайных чисел. Мы рассмотрим классы сложности, для которых программы могут работать за полиномиальное время и делать односторонние, двусторонние ошибки или работать за полиномиальное время лишь в среднем случае.&lt;br /&gt;
&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
'''Вероятностная лента''' — бесконечная в одну сторону последовательность битов, распределение которых подчиняется некоторому вероятностному закону (обычно считают, что биты в различных позициях независимы и вероятность нахождения &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; в каждой позиции равна &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt;).&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
'''Вероятностная машина Тьюринга''' (ВМТ) — детерминированная машина Тьюринга, имеющая вероятностную ленту. Переходы в ВМТ могут осуществляться с учетом информации, считанной с вероятностной ленты.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Используя тезис Черча-Тьюринга, ВМТ можно сопоставить программы, имеющие доступ к случайным битам. Обращение к очередному биту можно трактовать как вызов специальной функции ''random''(). При этом также будем предполагать, что вероятностная лента является неявным аргументом программы или ВМТ, т.е. &amp;lt;tex&amp;gt;p(x) = p(x, r)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; — вероятностная лента.&lt;br /&gt;
&lt;br /&gt;
Введем [http://ru.wikipedia.org/wiki/Вероятностное_пространство вероятностное пространство] &amp;lt;tex&amp;gt;(\Omega, \Sigma, \operatorname{P})&amp;lt;/tex&amp;gt;, где пространство элементарных исходов &amp;lt;tex&amp;gt;\Omega&amp;lt;/tex&amp;gt; — множество всех вероятностных лент, &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt; — сигма-алгебра подмножеств &amp;lt;tex&amp;gt;\Omega&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\operatorname{P}&amp;lt;/tex&amp;gt; — вероятностная мера, заданная на &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt;. Будем считать, что &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt; порождена событиями, зависящими лишь от конечного числа бит вероятностной ленты (то есть существующими в дискретных вероятностных пространствах). Покажем, что любой предикат от ВМТ является событием.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement= Пусть &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; — ВМТ. Тогда для любых &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; — предиката от &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt;R = \{r \bigm| A(m(x, r))\} \in \Sigma&amp;lt;/tex&amp;gt;, т.е. &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; измеримо.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;R = \bigcup\limits_{i = 0}^\infty R_i&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;R_i = \{r \bigm| A(m(x, r)), m&amp;lt;/tex&amp;gt; прочитала ровно &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; первых символов с &amp;lt;tex&amp;gt;r\}&amp;lt;/tex&amp;gt;. Это верно, поскольку мы рассматриваем только завершающиеся ВМТ. Кроме того, из определения &amp;lt;tex&amp;gt;R_i&amp;lt;/tex&amp;gt; следует, что они дизъюнктны.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;R_i \in \Sigma&amp;lt;/tex&amp;gt; как зависящие от &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; первых битов вероятностной ленты, &amp;lt;tex&amp;gt;\operatorname{P}(R_i) = \frac{1}{2^i} \cdot |\{s \bigm| |s| = i, s&amp;lt;/tex&amp;gt; — префикс &amp;lt;tex&amp;gt;r \in R_i\}|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;R \in \Sigma&amp;lt;/tex&amp;gt; как счетное объединение событий, при этом из их дизъюнктности следует, что &amp;lt;tex&amp;gt;\operatorname{P}(R) = \sum\limits_{i = 0}^{\infty} \operatorname{P}(R_i)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Соотношение вероятностных классов ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = &amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{NP} \subset \mathrm{PP} \subset \mathrm{PS}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof =&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{NP}&amp;lt;/tex&amp;gt;. Если в программе для &amp;lt;tex&amp;gt;L \in \mathrm{RP}&amp;lt;/tex&amp;gt; заменить все вызовы ''random''() на недетерминированный выбор, то получим программу для &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; с ограничениями &amp;lt;tex&amp;gt;\mathrm{NP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. &amp;lt;tex&amp;gt;\mathrm{NP} \subset \mathrm{PP}&amp;lt;/tex&amp;gt;. Приведем программу &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; с ограничениями класса &amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt;, которая разрешает &amp;lt;tex&amp;gt;L \in \mathrm{NP}&amp;lt;/tex&amp;gt;. Пусть функция ''infair_coin''() моделирует нечестную монету, а именно возвращает единицу с вероятностью &amp;lt;tex&amp;gt;1/2 - \varepsilon&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\varepsilon&amp;lt;/tex&amp;gt; мы определим позже, и ноль с вероятностью &amp;lt;tex&amp;gt;1/2 + \varepsilon&amp;lt;/tex&amp;gt;. Пусть также &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — верификатор сертификатов для &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; будет выглядеть следующим образом:&lt;br /&gt;
  &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    c &amp;lt;- случайный сертификат&lt;br /&gt;
    '''if''' &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;(x, c)&lt;br /&gt;
      '''return''' 1&lt;br /&gt;
    '''return''' infair_coin()&lt;br /&gt;
Необходимо удовлетворить условию &amp;lt;tex&amp;gt;\operatorname{P}(q(x) = [x \in L]) &amp;gt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. В этом случае &amp;lt;tex&amp;gt;V(x, c)&amp;lt;/tex&amp;gt; вернет &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; и результат работы программы будет зависеть от нечестной монеты. Она вернет &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1/2 + \varepsilon &amp;gt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Тогда [[Формула полной вероятности|по формуле полной вероятности]] &amp;lt;tex&amp;gt;\operatorname{P}(q(x) = 1) = p_0 + (1 - p_0) (1/2 - \varepsilon)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p_0&amp;lt;/tex&amp;gt; — вероятность угадать правильный сертификат. Заметим, что поскольку  длина всех сертификатов ограничена некоторым полиномом &amp;lt;tex&amp;gt;s(n), n = |x|&amp;lt;/tex&amp;gt; и существует хотя бы один правильный сертификат, &amp;lt;tex&amp;gt;p_0 \ge 2^{-s(n)}&amp;lt;/tex&amp;gt;. Найдем &amp;lt;tex&amp;gt;\varepsilon&amp;lt;/tex&amp;gt; из неравенства &amp;lt;tex&amp;gt;\operatorname{P}(q(x) = 1) &amp;gt; 1/2&amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_0 + 1/2 - \varepsilon - p_0 / 2 + p_0 \varepsilon &amp;gt; 1/2&amp;lt;/tex&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_0 / 2 + (p_0 - 1)\varepsilon &amp;gt; 0&amp;lt;/tex&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\varepsilon &amp;lt; \frac{p_0}{2 (1 - p_0)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Достаточно взять &amp;lt;tex&amp;gt;\varepsilon \le p_0 / 2&amp;lt;/tex&amp;gt;. Из сделанного выше замечания следует, что работу функции ''infair_coin''() можно смоделировать с помощью не более чем &amp;lt;tex&amp;gt;s(n) + 1&amp;lt;/tex&amp;gt; вызовов ''random''(). Также учтем, что длина сертификата и время работы &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; полиномиальны относительно &amp;lt;tex&amp;gt;|x|&amp;lt;/tex&amp;gt;. Таким образом, мы построили программу &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;, удовлетворяющую ограничениям класса &amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3. &amp;lt;tex&amp;gt;\mathrm{PP} \subset \mathrm{PS}&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; — программа для языка &amp;lt;tex&amp;gt;L \in \mathrm{PP}&amp;lt;/tex&amp;gt;. Она используют не более чем полиномиальное количество вероятностных бит, так как сама работает за полиномиальное время. Тогда программа для &amp;lt;tex&amp;gt;\mathrm{PS}&amp;lt;/tex&amp;gt; будет перебирать все участки вероятностных лент нужной полиномиальной длины и запускать на них &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;. Ответом будет &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; в зависимости от того, каких ответов &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; оказалось больше.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Класс BPP]]&lt;br /&gt;
* [[Классы RP и coRP]]&lt;br /&gt;
* [[Теорема Лаутемана]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* [http://www.cs.princeton.edu/theory/complexity/ Sanjeev Arora, Boaz Barak. Computational Complexity: A Modern Approach]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_BPP_%D0%B8_PP&amp;diff=23933</id>
		<title>Классы BPP и PP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_BPP_%D0%B8_PP&amp;diff=23933"/>
				<updated>2012-06-04T20:32:12Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; (от ''bounded probabilistic polynomial'') — множество языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая [[Вероятностные вычисления. Вероятностная машина Тьюринга |ВМТ]] &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;P(p(x) = [x \in L]) \ge 2/3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой [[Вероятностные вычисления. Вероятностная машина Тьюринга |вероятностной ленты]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt; (от ''probabilistic polynomial'') — множество языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых &amp;lt;tex&amp;gt;\exists p \forall x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;\operatorname{P}(p(x) = [x \in L]) &amp;gt; 1/2&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\forall r \operatorname{T}(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt; также допускает двусторонние ошибки, но является более широким по сравнению с &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; — сложностный класс, допускающий двусторонние ошибки.&lt;br /&gt;
Константу &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; можно заменить на любое число из промежутка &amp;lt;tex&amp;gt;(1/2, 1)&amp;lt;/tex&amp;gt;, так как требуемой вероятности можно добиться множественным запуском &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;. Замена константы на &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; сделала бы данный класс равным &amp;lt;tex&amp;gt;\Sigma^*&amp;lt;/tex&amp;gt; (программа, возвращающая результат функции ''random''(), подошла бы для любого языка).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt; — класс языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая ВМТ &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
#&amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;-полином и &amp;lt;tex&amp;gt;q(|x|) \ge 3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
#&amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt; — класс языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая ВМТ &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
#&amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge 1 - \frac {1} {2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;-полином и &amp;lt;tex&amp;gt;q(|x|) \ge 3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
#&amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement= &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{weak}} = \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
В  доказательстве будет использоваться ''неравенство Чернова'': &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall p :  \frac {1} {2} \le p \le 1: \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i} \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Докажем, что &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP} \subseteq \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Это следует из определений &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Пусть &amp;lt;tex&amp;gt;L \in \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;\exists p : P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Построим ВМТ &amp;lt;tex&amp;gt;p_1&amp;lt;/tex&amp;gt;, которая для входа &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; запускает &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; раз, и принимает &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, если больше половины запусков принимают его. &amp;lt;br&amp;gt; Подберем &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, такое, что &amp;lt;tex&amp;gt;P(p_1(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Вероятность &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; того, что &amp;lt;tex&amp;gt;p_1(x)&amp;lt;/tex&amp;gt; даст правильный результат равна вероятности, что больше половины запусков &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; дадут правильный результат. Тогда по схеме Бернулли &amp;lt;tex&amp;gt;P = \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p=\frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt; — вероятность, что запуск &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; даст правильный ответ. По неравенству Чернова : &amp;lt;tex&amp;gt; P  \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} &amp;lt;/tex&amp;gt;. То есть для того, чтобы &amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt; достаточно подобрать такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge \frac {2}{3}&amp;lt;/tex&amp;gt;. Получаем, что &amp;lt;tex&amp;gt;n \ge \frac {\ln 3} {2(p - \frac {1} {2})^2} = \frac {{q(|x|)}^2 \ln 3}{2} &amp;lt;/tex&amp;gt;. Возьмем &amp;lt;tex&amp;gt;n = \lceil \frac {{q(|x|)}^2 \ln 3}{2} \rceil &amp;lt;/tex&amp;gt;, тогда неравенство &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt; будет выполнено.&lt;br /&gt;
&lt;br /&gt;
* Докажем, что &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP_{strong}} \subseteq \mathrm{BPP} &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Это следует из определений &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP} \subseteq \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Пусть &amp;lt;tex&amp;gt;L \in \mathrm{BPP}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;\exists p : P(p(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Построим ВМТ &amp;lt;tex&amp;gt;p_1&amp;lt;/tex&amp;gt;, которая для входа &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; запускает &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; раз, и принимает &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, если больше половины запусков принимают его. &amp;lt;br&amp;gt; Подберем &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, такое, что &amp;lt;tex&amp;gt;P(p_1(x)=[x \in L]) \ge 1 - \frac {1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Проводя рассуждения, аналогичные изложенным в доказательстве &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}&amp;lt;/tex&amp;gt;, получаем, что &amp;lt;tex&amp;gt;1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge 1 - \frac {1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p = \frac {2} {3}&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;n \ge \frac {{q(|x|)} \ln 2}{2({\frac {2}{3} - \frac {1}{2}})^2} &amp;lt;/tex&amp;gt;. Возьмем &amp;lt;tex&amp;gt;n = \lceil 18 {q(|x|)} \ln 2 \rceil &amp;lt;/tex&amp;gt;, тогда неравенство &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt; будет выполнено.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \cup \mathrm{coRP} \subset \mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof =&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; — программа для &amp;lt;tex&amp;gt;L \in \mathrm{RP}&amp;lt;/tex&amp;gt;. Программу &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; определим следующим образом:&lt;br /&gt;
  &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    u &amp;lt;- &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    v &amp;lt;- &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    '''return''' u '''or''' v&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. В этом случае вероятность ошибки равна &amp;lt;tex&amp;gt;\operatorname{P}(u = 0, v = 0) = \operatorname{P}(u = 0) \cdot \operatorname{P}(v = 0) \le 1/4&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Тогда с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; будет верно &amp;lt;tex&amp;gt;u = 0, v = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; вернет правильный ответ.&lt;br /&gt;
&lt;br /&gt;
Аналогично доказывается, что &amp;lt;tex&amp;gt;\mathrm{coRP} \subset \mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Вероятностные вычисления. Вероятностная машина Тьюринга]] &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Chernoff_bound Неравенство Чернова]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория сложности]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F._%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0&amp;diff=23925</id>
		<title>Вероятностные вычисления. Вероятностная машина Тьюринга</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F._%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0&amp;diff=23925"/>
				<updated>2012-06-04T20:17:10Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* См. также */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Теория сложности]]&lt;br /&gt;
'''Вероятностные вычисления''' — один из подходов в теории вычислительной сложности, в котором программы получают доступ, говоря неформально, к генератору случайных чисел. Мы рассмотрим классы сложности, для которых программы могут работать за полиномиальное время и делать односторонние, двусторонние ошибки или работать за полиномиальное время лишь в среднем случае.&lt;br /&gt;
&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
'''Вероятностная лента''' — бесконечная в одну сторону последовательность битов, распределение которых подчиняется некоторому вероятностному закону (обычно считают, что биты в различных позициях независимы и вероятность нахождения &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; в каждой позиции равна &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt;).&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
'''Вероятностная машина Тьюринга''' (ВМТ) — детерминированная машина Тьюринга, имеющая вероятностную ленту. Переходы в ВМТ могут осуществляться с учетом информации, считанной с вероятностной ленты.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Используя тезис Черча-Тьюринга, ВМТ можно сопоставить программы, имеющие доступ к случайным битам. Обращение к очередному биту можно трактовать как вызов специальной функции ''random''(). При этом также будем предполагать, что вероятностная лента является неявным аргументом программы или ВМТ, т.е. &amp;lt;tex&amp;gt;p(x) = p(x, r)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; — вероятностная лента.&lt;br /&gt;
&lt;br /&gt;
Введем [http://ru.wikipedia.org/wiki/Вероятностное_пространство вероятностное пространство] &amp;lt;tex&amp;gt;(\Omega, \Sigma, \operatorname{P})&amp;lt;/tex&amp;gt;, где пространство элементарных исходов &amp;lt;tex&amp;gt;\Omega&amp;lt;/tex&amp;gt; — множество всех вероятностных лент, &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt; — сигма-алгебра подмножеств &amp;lt;tex&amp;gt;\Omega&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\operatorname{P}&amp;lt;/tex&amp;gt; — вероятностная мера, заданная на &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt;. Будем считать, что &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt; порождена событиями, зависящими лишь от конечного числа бит вероятностной ленты (то есть существующими в дискретных вероятностных пространствах). Покажем, что любой предикат от ВМТ является событием.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement= Пусть &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; — ВМТ. Тогда для любых &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; — предиката от &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt;R = \{r \bigm| A(m(x, r))\} \in \Sigma&amp;lt;/tex&amp;gt;, т.е. &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; измеримо.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;R = \bigcup\limits_{i = 0}^\infty R_i&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;R_i = \{r \bigm| A(m(x, r)), m&amp;lt;/tex&amp;gt; прочитала ровно &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; первых символов с &amp;lt;tex&amp;gt;r\}&amp;lt;/tex&amp;gt;. Это верно, поскольку мы рассматриваем только завершающиеся ВМТ. Кроме того, из определения &amp;lt;tex&amp;gt;R_i&amp;lt;/tex&amp;gt; следует, что они дизъюнктны.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;R_i \in \Sigma&amp;lt;/tex&amp;gt; как зависящие от &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; первых битов вероятностной ленты, &amp;lt;tex&amp;gt;\operatorname{P}(R_i) = \frac{1}{2^i} \cdot |\{s \bigm| |s| = i, s&amp;lt;/tex&amp;gt; — префикс &amp;lt;tex&amp;gt;r \in R_i\}|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;R \in \Sigma&amp;lt;/tex&amp;gt; как счетное объединение событий, при этом из их дизъюнктности следует, что &amp;lt;tex&amp;gt;\operatorname{P}(R) = \sum\limits_{i = 0}^{\infty} \operatorname{P}(R_i)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Вероятностные классы сложности ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; (от ''randomized polynomial'') — множество языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых &amp;lt;tex&amp;gt;\exists p \forall x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow \operatorname{P}(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&amp;lt;br&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow \operatorname{P}(p(x) = 1) \ge 1/2&amp;lt;/tex&amp;gt;;&amp;lt;br&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\forall r \operatorname{T}(p, x) \le poly(|x|).&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; — сложностный класс, допускающий ошибки программ на словах из &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Заметим, что константа &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; в пункте 2 определения &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; может быть заменена на любую другую из промежутка &amp;lt;tex&amp;gt;(0, 1)&amp;lt;/tex&amp;gt;, поскольку требуемой вероятности можно добиться множественным запуском программы.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; можно рассматривать как вероятностный аналог класса &amp;lt;tex&amp;gt;\mathrm{NP}&amp;lt;/tex&amp;gt;, предполагая, что вероятность угадать сертификат в случае его существования не менее &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{coRP} = \{L \bigm| \overline L \in \mathrm{RP}\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Класс &amp;lt;tex&amp;gt;\mathrm{coRP}&amp;lt;/tex&amp;gt; допускает ошибки программ на словах, не принадлежащих &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt; (от ''probabilistic polynomial'') — множество языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых &amp;lt;tex&amp;gt;\exists p \forall x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;\operatorname{P}(p(x) = [x \in L]) &amp;gt; 1/2&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\forall r \operatorname{T}(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt; также допускает двусторонние ошибки, но является более широким по сравнению с &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Соотношение вероятностных классов ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = &amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{NP} \subset \mathrm{PP} \subset \mathrm{PS}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof =&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{NP}&amp;lt;/tex&amp;gt;. Если в программе для &amp;lt;tex&amp;gt;L \in \mathrm{RP}&amp;lt;/tex&amp;gt; заменить все вызовы ''random''() на недетерминированный выбор, то получим программу для &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; с ограничениями &amp;lt;tex&amp;gt;\mathrm{NP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. &amp;lt;tex&amp;gt;\mathrm{NP} \subset \mathrm{PP}&amp;lt;/tex&amp;gt;. Приведем программу &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; с ограничениями класса &amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt;, которая разрешает &amp;lt;tex&amp;gt;L \in \mathrm{NP}&amp;lt;/tex&amp;gt;. Пусть функция ''infair_coin''() моделирует нечестную монету, а именно возвращает единицу с вероятностью &amp;lt;tex&amp;gt;1/2 - \varepsilon&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\varepsilon&amp;lt;/tex&amp;gt; мы определим позже, и ноль с вероятностью &amp;lt;tex&amp;gt;1/2 + \varepsilon&amp;lt;/tex&amp;gt;. Пусть также &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — верификатор сертификатов для &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; будет выглядеть следующим образом:&lt;br /&gt;
  &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    c &amp;lt;- случайный сертификат&lt;br /&gt;
    '''if''' &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;(x, c)&lt;br /&gt;
      '''return''' 1&lt;br /&gt;
    '''return''' infair_coin()&lt;br /&gt;
Необходимо удовлетворить условию &amp;lt;tex&amp;gt;\operatorname{P}(q(x) = [x \in L]) &amp;gt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. В этом случае &amp;lt;tex&amp;gt;V(x, c)&amp;lt;/tex&amp;gt; вернет &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; и результат работы программы будет зависеть от нечестной монеты. Она вернет &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1/2 + \varepsilon &amp;gt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Тогда [[Формула полной вероятности|по формуле полной вероятности]] &amp;lt;tex&amp;gt;\operatorname{P}(q(x) = 1) = p_0 + (1 - p_0) (1/2 - \varepsilon)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p_0&amp;lt;/tex&amp;gt; — вероятность угадать правильный сертификат. Заметим, что поскольку  длина всех сертификатов ограничена некоторым полиномом &amp;lt;tex&amp;gt;s(n), n = |x|&amp;lt;/tex&amp;gt; и существует хотя бы один правильный сертификат, &amp;lt;tex&amp;gt;p_0 \ge 2^{-s(n)}&amp;lt;/tex&amp;gt;. Найдем &amp;lt;tex&amp;gt;\varepsilon&amp;lt;/tex&amp;gt; из неравенства &amp;lt;tex&amp;gt;\operatorname{P}(q(x) = 1) &amp;gt; 1/2&amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_0 + 1/2 - \varepsilon - p_0 / 2 + p_0 \varepsilon &amp;gt; 1/2&amp;lt;/tex&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_0 / 2 + (p_0 - 1)\varepsilon &amp;gt; 0&amp;lt;/tex&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\varepsilon &amp;lt; \frac{p_0}{2 (1 - p_0)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Достаточно взять &amp;lt;tex&amp;gt;\varepsilon \le p_0 / 2&amp;lt;/tex&amp;gt;. Из сделанного выше замечания следует, что работу функции ''infair_coin''() можно смоделировать с помощью не более чем &amp;lt;tex&amp;gt;s(n) + 1&amp;lt;/tex&amp;gt; вызовов ''random''(). Также учтем, что длина сертификата и время работы &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; полиномиальны относительно &amp;lt;tex&amp;gt;|x|&amp;lt;/tex&amp;gt;. Таким образом, мы построили программу &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;, удовлетворяющую ограничениям класса &amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3. &amp;lt;tex&amp;gt;\mathrm{PP} \subset \mathrm{PS}&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; — программа для языка &amp;lt;tex&amp;gt;L \in \mathrm{PP}&amp;lt;/tex&amp;gt;. Она используют не более чем полиномиальное количество вероятностных бит, так как сама работает за полиномиальное время. Тогда программа для &amp;lt;tex&amp;gt;\mathrm{PS}&amp;lt;/tex&amp;gt; будет перебирать все участки вероятностных лент нужной полиномиальной длины и запускать на них &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;. Ответом будет &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; в зависимости от того, каких ответов &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; оказалось больше.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Класс BPP]]&lt;br /&gt;
* [[Классы RP и coRP]]&lt;br /&gt;
* [[Теорема Лаутемана]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* [http://www.cs.princeton.edu/theory/complexity/ Sanjeev Arora, Boaz Barak. Computational Complexity: A Modern Approach]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_BPP_%D0%B8_PP&amp;diff=23923</id>
		<title>Классы BPP и PP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_BPP_%D0%B8_PP&amp;diff=23923"/>
				<updated>2012-06-04T20:14:02Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; (от ''bounded probabilistic polynomial'') — множество языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая [[Вероятностные вычисления. Вероятностная машина Тьюринга |ВМТ]] &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;P(p(x) = [x \in L]) \ge 2/3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой [[Вероятностные вычисления. Вероятностная машина Тьюринга |вероятностной ленты]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; — сложностный класс, допускающий двусторонние ошибки.&lt;br /&gt;
Константу &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; можно заменить на любое число из промежутка &amp;lt;tex&amp;gt;(1/2, 1)&amp;lt;/tex&amp;gt;, так как требуемой вероятности можно добиться множественным запуском &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;. Замена константы на &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; сделала бы данный класс равным &amp;lt;tex&amp;gt;\Sigma^*&amp;lt;/tex&amp;gt; (программа, возвращающая результат функции ''random''(), подошла бы для любого языка).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt; — класс языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая ВМТ &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
#&amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;-полином и &amp;lt;tex&amp;gt;q(|x|) \ge 3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
#&amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt; — класс языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая ВМТ &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
#&amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge 1 - \frac {1} {2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;-полином и &amp;lt;tex&amp;gt;q(|x|) \ge 3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
#&amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement= &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{weak}} = \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
В  доказательстве будет использоваться ''неравенство Чернова'': &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall p :  \frac {1} {2} \le p \le 1: \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i} \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Докажем, что &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP} \subseteq \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Это следует из определений &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Пусть &amp;lt;tex&amp;gt;L \in \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;\exists p : P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Построим ВМТ &amp;lt;tex&amp;gt;p_1&amp;lt;/tex&amp;gt;, которая для входа &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; запускает &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; раз, и принимает &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, если больше половины запусков принимают его. &amp;lt;br&amp;gt; Подберем &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, такое, что &amp;lt;tex&amp;gt;P(p_1(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Вероятность &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; того, что &amp;lt;tex&amp;gt;p_1(x)&amp;lt;/tex&amp;gt; даст правильный результат равна вероятности, что больше половины запусков &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; дадут правильный результат. Тогда по схеме Бернулли &amp;lt;tex&amp;gt;P = \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p=\frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt; — вероятность, что запуск &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; даст правильный ответ. По неравенству Чернова : &amp;lt;tex&amp;gt; P  \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} &amp;lt;/tex&amp;gt;. То есть для того, чтобы &amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt; достаточно подобрать такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge \frac {2}{3}&amp;lt;/tex&amp;gt;. Получаем, что &amp;lt;tex&amp;gt;n \ge \frac {\ln 3} {2(p - \frac {1} {2})^2} = \frac {{q(|x|)}^2 \ln 3}{2} &amp;lt;/tex&amp;gt;. Возьмем &amp;lt;tex&amp;gt;n = \lceil \frac {{q(|x|)}^2 \ln 3}{2} \rceil &amp;lt;/tex&amp;gt;, тогда неравенство &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt; будет выполнено.&lt;br /&gt;
&lt;br /&gt;
* Докажем, что &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP_{strong}} \subseteq \mathrm{BPP} &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Это следует из определений &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP} \subseteq \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Пусть &amp;lt;tex&amp;gt;L \in \mathrm{BPP}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;\exists p : P(p(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Построим ВМТ &amp;lt;tex&amp;gt;p_1&amp;lt;/tex&amp;gt;, которая для входа &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; запускает &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; раз, и принимает &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, если больше половины запусков принимают его. &amp;lt;br&amp;gt; Подберем &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, такое, что &amp;lt;tex&amp;gt;P(p_1(x)=[x \in L]) \ge 1 - \frac {1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Проводя рассуждения, аналогичные изложенным в доказательстве &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}&amp;lt;/tex&amp;gt;, получаем, что &amp;lt;tex&amp;gt;1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge 1 - \frac {1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p = \frac {2} {3}&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;n \ge \frac {{q(|x|)} \ln 2}{2({\frac {2}{3} - \frac {1}{2}})^2} &amp;lt;/tex&amp;gt;. Возьмем &amp;lt;tex&amp;gt;n = \lceil 18 {q(|x|)} \ln 2 \rceil &amp;lt;/tex&amp;gt;, тогда неравенство &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt; будет выполнено.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \cup \mathrm{coRP} \subset \mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof =&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; — программа для &amp;lt;tex&amp;gt;L \in \mathrm{RP}&amp;lt;/tex&amp;gt;. Программу &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; определим следующим образом:&lt;br /&gt;
  &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    u &amp;lt;- &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    v &amp;lt;- &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    '''return''' u '''or''' v&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. В этом случае вероятность ошибки равна &amp;lt;tex&amp;gt;\operatorname{P}(u = 0, v = 0) = \operatorname{P}(u = 0) \cdot \operatorname{P}(v = 0) \le 1/4&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Тогда с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; будет верно &amp;lt;tex&amp;gt;u = 0, v = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; вернет правильный ответ.&lt;br /&gt;
&lt;br /&gt;
Аналогично доказывается, что &amp;lt;tex&amp;gt;\mathrm{coRP} \subset \mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Вероятностные вычисления. Вероятностная машина Тьюринга]] &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Chernoff_bound Неравенство Чернова]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория сложности]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=23922</id>
		<title>Теория сложности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=23922"/>
				<updated>2012-06-04T20:13:38Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Вероятностные сложностные классы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория сложности]]&lt;br /&gt;
&lt;br /&gt;
== Детерминированные и недетерминированные вычисления, сложность по времени и по памяти ==&lt;br /&gt;
*[[Сложностные классы. Вычисления с оракулом]]&lt;br /&gt;
&lt;br /&gt;
=== Классы P и NP, NP-полнота ===&lt;br /&gt;
*[[Класс P]]&lt;br /&gt;
*[[Недетерминированные вычисления]]&lt;br /&gt;
*[[Классы NP и Σ₁]]&lt;br /&gt;
*[[Сведение относительно класса функций. Сведение по Карпу. Трудные и полные задачи]]&lt;br /&gt;
*[[Примеры NP-полных языков. Теорема Кука]]&lt;br /&gt;
*[[Теоремы о временной и емкостной иерархиях]]&lt;br /&gt;
*[[Теорема Бейкера — Гилла — Соловэя]]&lt;br /&gt;
*[[Теорема Ладнера]]&lt;br /&gt;
*[[Теорема Левина]]&lt;br /&gt;
*[[Теорема Бермана — Форчуна]]&lt;br /&gt;
*[[Теорема Махэни]]&lt;br /&gt;
&lt;br /&gt;
=== Сложность по памяти, классы PS, L, NL, coNL ===&lt;br /&gt;
*[[Класс PS. Связь класса PS с другими классами теории сложности]]&lt;br /&gt;
*[[Теорема Сэвича. Совпадение классов NPS и PS]]&lt;br /&gt;
*[[PS-полнота языка верных булевых формул с кванторами (TQBF)]]&lt;br /&gt;
*[[Классы L, NL, coNL]]&lt;br /&gt;
*[[NL-полнота задачи о достижимости]]&lt;br /&gt;
*[[Теорема Иммермана]]&lt;br /&gt;
&lt;br /&gt;
=== Полиномиальная иерархия ===&lt;br /&gt;
*[[Классы PH, Σ и Π]]&lt;br /&gt;
*[[Теоремы о коллапсе полиномиальной иерархии]]&lt;br /&gt;
&lt;br /&gt;
== Схемная сложность ==&lt;br /&gt;
*[[Схемная сложность и класс P/poly]]&lt;br /&gt;
*[[Теорема Карпа — Липтона]]&lt;br /&gt;
*[[Классы NC и AC]]&lt;br /&gt;
*[[Теорема о непринадлежности XOR классу AC⁰]]&lt;br /&gt;
&lt;br /&gt;
== Вероятностные сложностные классы ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;br /&gt;
*[[Классы RP и coRP]]&lt;br /&gt;
*[[Класс ZPP]]&lt;br /&gt;
*[[Класс BPP]]&lt;br /&gt;
*[[Теорема Лаутемана]]&lt;br /&gt;
&lt;br /&gt;
=== Интерактивные протоколы ===&lt;br /&gt;
*[[Интерактивные протоколы. Класс IP. Класс AM]]&lt;br /&gt;
*[[Связь классов IP и AM друг с другом и с другими классами языков]]&lt;br /&gt;
*[[Арифметизация булевых формул с кванторами]]&lt;br /&gt;
*[[Лемма о соотношении coNP и IP]]&lt;br /&gt;
*[[Теорема Шамира]]&lt;br /&gt;
*[[Семейство универсальных попарно независимых хеш-функций]]&lt;br /&gt;
*[[Протокол Голдвассера-Сипсера для оценки размера множества]]&lt;br /&gt;
&lt;br /&gt;
=== Probabilistically checkable proofs ===&lt;br /&gt;
*[[PCP-система]]&lt;br /&gt;
*[[PCP-теорема]]&lt;br /&gt;
*[[PCP-теорема, альтернативное доказательство | PCP-теорема, альтернативная формулировка]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Теория сложности (старая трешовая версия)|Вот сюда]] можно подсматривать, но злоупотреблять не рекомендуется.&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_BPP,_BPPweak_%D0%B8_BPPstrong&amp;diff=23920</id>
		<title>Классы BPP, BPPweak и BPPstrong</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_BPP,_BPPweak_%D0%B8_BPPstrong&amp;diff=23920"/>
				<updated>2012-06-04T20:09:00Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Классы BPP, BPPweak и BPPstrong в Классы BPP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Классы BPP]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_BPP&amp;diff=23919</id>
		<title>Классы BPP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_BPP&amp;diff=23919"/>
				<updated>2012-06-04T20:09:00Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Классы BPP, BPPweak и BPPstrong в Классы BPP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определения==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; (от ''bounded probabilistic polynomial'') — множество языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая [[Вероятностные вычисления. Вероятностная машина Тьюринга |ВМТ]] &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;P(p(x) = [x \in L]) \ge 2/3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой [[Вероятностные вычисления. Вероятностная машина Тьюринга |вероятностной ленты]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; — сложностный класс, допускающий двусторонние ошибки.&lt;br /&gt;
Константу &amp;lt;tex&amp;gt;2/3&amp;lt;/tex&amp;gt; можно заменить на любое число из промежутка &amp;lt;tex&amp;gt;(1/2, 1)&amp;lt;/tex&amp;gt;, так как требуемой вероятности можно добиться множественным запуском &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;. Замена константы на &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; сделала бы данный класс равным &amp;lt;tex&amp;gt;\Sigma^*&amp;lt;/tex&amp;gt; (программа, возвращающая результат функции ''random''(), подошла бы для любого языка).&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt; — класс языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая ВМТ &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
#&amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;-полином и &amp;lt;tex&amp;gt;q(|x|) \ge 3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
#&amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt; — класс языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых существует такая ВМТ &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
#&amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge 1 - \frac {1} {2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;-полином и &amp;lt;tex&amp;gt;q(|x|) \ge 3&amp;lt;/tex&amp;gt;;&lt;br /&gt;
#&amp;lt;tex&amp;gt;T(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Теорема==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement= &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{weak}} = \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
В  доказательстве будет использоваться ''неравенство Чернова'': &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\forall p :  \frac {1} {2} \le p \le 1: \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i} \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Докажем, что &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP} \subseteq \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Это следует из определений &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Пусть &amp;lt;tex&amp;gt;L \in \mathrm{BPP_{weak}}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;\exists p : P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Построим ВМТ &amp;lt;tex&amp;gt;p_1&amp;lt;/tex&amp;gt;, которая для входа &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; запускает &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; раз, и принимает &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, если больше половины запусков принимают его. &amp;lt;br&amp;gt; Подберем &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, такое, что &amp;lt;tex&amp;gt;P(p_1(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Вероятность &amp;lt;tex&amp;gt;P&amp;lt;/tex&amp;gt; того, что &amp;lt;tex&amp;gt;p_1(x)&amp;lt;/tex&amp;gt; даст правильный результат равна вероятности, что больше половины запусков &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; дадут правильный результат. Тогда по схеме Бернулли &amp;lt;tex&amp;gt;P = \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p=\frac {1}{2} + \frac {1} {q(|x|)}&amp;lt;/tex&amp;gt; — вероятность, что запуск &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; даст правильный ответ. По неравенству Чернова : &amp;lt;tex&amp;gt; P  \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} &amp;lt;/tex&amp;gt;. То есть для того, чтобы &amp;lt;tex&amp;gt;P(p(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt; достаточно подобрать такое &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, что &amp;lt;tex&amp;gt;1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge \frac {2}{3}&amp;lt;/tex&amp;gt;. Получаем, что &amp;lt;tex&amp;gt;n \ge \frac {\ln 3} {2(p - \frac {1} {2})^2} = \frac {{q(|x|)}^2 \ln 3}{2} &amp;lt;/tex&amp;gt;. Возьмем &amp;lt;tex&amp;gt;n = \lceil \frac {{q(|x|)}^2 \ln 3}{2} \rceil &amp;lt;/tex&amp;gt;, тогда неравенство &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt; будет выполнено.&lt;br /&gt;
&lt;br /&gt;
* Докажем, что &amp;lt;tex&amp;gt;\mathrm{BPP} = \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP_{strong}} \subseteq \mathrm{BPP} &amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Это следует из определений &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
# &amp;lt;tex&amp;gt;\mathrm{BPP} \subseteq \mathrm{BPP_{strong}}&amp;lt;/tex&amp;gt; &amp;lt;br&amp;gt; Пусть &amp;lt;tex&amp;gt;L \in \mathrm{BPP}&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;\exists p : P(p(x)=[x \in L]) \ge \frac {2}{3}&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Построим ВМТ &amp;lt;tex&amp;gt;p_1&amp;lt;/tex&amp;gt;, которая для входа &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; запускает &amp;lt;tex&amp;gt;p(x)&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; раз, и принимает &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, если больше половины запусков принимают его. &amp;lt;br&amp;gt; Подберем &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, такое, что &amp;lt;tex&amp;gt;P(p_1(x)=[x \in L]) \ge 1 - \frac {1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt;. &amp;lt;br&amp;gt; Проводя рассуждения, аналогичные изложенным в доказательстве &amp;lt;tex&amp;gt;\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}&amp;lt;/tex&amp;gt;, получаем, что &amp;lt;tex&amp;gt;1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge 1 - \frac {1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p = \frac {2} {3}&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;n \ge \frac {{q(|x|)} \ln 2}{2({\frac {2}{3} - \frac {1}{2}})^2} &amp;lt;/tex&amp;gt;. Возьмем &amp;lt;tex&amp;gt;n = \lceil 18 {q(|x|)} \ln 2 \rceil &amp;lt;/tex&amp;gt;, тогда неравенство &amp;lt;tex&amp;gt;T(p_1(x)) \le poly(|x|)&amp;lt;/tex&amp;gt; будет выполнено.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \cup \mathrm{coRP} \subset \mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof =&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; — программа для &amp;lt;tex&amp;gt;L \in \mathrm{RP}&amp;lt;/tex&amp;gt;. Программу &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; определим следующим образом:&lt;br /&gt;
  &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    u &amp;lt;- &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    v &amp;lt;- &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    '''return''' u '''or''' v&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. В этом случае вероятность ошибки равна &amp;lt;tex&amp;gt;\operatorname{P}(u = 0, v = 0) = \operatorname{P}(u = 0) \cdot \operatorname{P}(v = 0) \le 1/4&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Тогда с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; будет верно &amp;lt;tex&amp;gt;u = 0, v = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; вернет правильный ответ.&lt;br /&gt;
&lt;br /&gt;
Аналогично доказывается, что &amp;lt;tex&amp;gt;\mathrm{coRP} \subset \mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Вероятностные вычисления. Вероятностная машина Тьюринга]] &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Chernoff_bound Неравенство Чернова]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория сложности]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F._%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0&amp;diff=23911</id>
		<title>Вероятностные вычисления. Вероятностная машина Тьюринга</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F._%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0&amp;diff=23911"/>
				<updated>2012-06-04T19:58:24Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* См. также */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Теория сложности]]&lt;br /&gt;
'''Вероятностные вычисления''' — один из подходов в теории вычислительной сложности, в котором программы получают доступ, говоря неформально, к генератору случайных чисел. Мы рассмотрим классы сложности, для которых программы могут работать за полиномиальное время и делать односторонние, двусторонние ошибки или работать за полиномиальное время лишь в среднем случае.&lt;br /&gt;
&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
'''Вероятностная лента''' — бесконечная в одну сторону последовательность битов, распределение которых подчиняется некоторому вероятностному закону (обычно считают, что биты в различных позициях независимы и вероятность нахождения &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; в каждой позиции равна &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt;).&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
'''Вероятностная машина Тьюринга''' (ВМТ) — детерминированная машина Тьюринга, имеющая вероятностную ленту. Переходы в ВМТ могут осуществляться с учетом информации, считанной с вероятностной ленты.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Используя тезис Черча-Тьюринга, ВМТ можно сопоставить программы, имеющие доступ к случайным битам. Обращение к очередному биту можно трактовать как вызов специальной функции ''random''(). При этом также будем предполагать, что вероятностная лента является неявным аргументом программы или ВМТ, т.е. &amp;lt;tex&amp;gt;p(x) = p(x, r)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; — вероятностная лента.&lt;br /&gt;
&lt;br /&gt;
Введем [http://ru.wikipedia.org/wiki/Вероятностное_пространство вероятностное пространство] &amp;lt;tex&amp;gt;(\Omega, \Sigma, \operatorname{P})&amp;lt;/tex&amp;gt;, где пространство элементарных исходов &amp;lt;tex&amp;gt;\Omega&amp;lt;/tex&amp;gt; — множество всех вероятностных лент, &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt; — сигма-алгебра подмножеств &amp;lt;tex&amp;gt;\Omega&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;\operatorname{P}&amp;lt;/tex&amp;gt; — вероятностная мера, заданная на &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt;. Будем считать, что &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt; порождена событиями, зависящими лишь от конечного числа бит вероятностной ленты (то есть существующими в дискретных вероятностных пространствах). Покажем, что любой предикат от ВМТ является событием.&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement= Пусть &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; — ВМТ. Тогда для любых &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; — предиката от &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; выполняется &amp;lt;tex&amp;gt;R = \{r \bigm| A(m(x, r))\} \in \Sigma&amp;lt;/tex&amp;gt;, т.е. &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; измеримо.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;R = \bigcup\limits_{i = 0}^\infty R_i&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;R_i = \{r \bigm| A(m(x, r)), m&amp;lt;/tex&amp;gt; прочитала ровно &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; первых символов с &amp;lt;tex&amp;gt;r\}&amp;lt;/tex&amp;gt;. Это верно, поскольку мы рассматриваем только завершающиеся ВМТ. Кроме того, из определения &amp;lt;tex&amp;gt;R_i&amp;lt;/tex&amp;gt; следует, что они дизъюнктны.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;R_i \in \Sigma&amp;lt;/tex&amp;gt; как зависящие от &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; первых битов вероятностной ленты, &amp;lt;tex&amp;gt;\operatorname{P}(R_i) = \frac{1}{2^i} \cdot |\{s \bigm| |s| = i, s&amp;lt;/tex&amp;gt; — префикс &amp;lt;tex&amp;gt;r \in R_i\}|&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;R \in \Sigma&amp;lt;/tex&amp;gt; как счетное объединение событий, при этом из их дизъюнктности следует, что &amp;lt;tex&amp;gt;\operatorname{P}(R) = \sum\limits_{i = 0}^{\infty} \operatorname{P}(R_i)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Вероятностные классы сложности ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; (от ''randomized polynomial'') — множество языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых &amp;lt;tex&amp;gt;\exists p \forall x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow \operatorname{P}(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&amp;lt;br&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow \operatorname{P}(p(x) = 1) \ge 1/2&amp;lt;/tex&amp;gt;;&amp;lt;br&amp;gt;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\forall r \operatorname{T}(p, x) \le poly(|x|).&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; — сложностный класс, допускающий ошибки программ на словах из &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Заметим, что константа &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt; в пункте 2 определения &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; может быть заменена на любую другую из промежутка &amp;lt;tex&amp;gt;(0, 1)&amp;lt;/tex&amp;gt;, поскольку требуемой вероятности можно добиться множественным запуском программы.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; можно рассматривать как вероятностный аналог класса &amp;lt;tex&amp;gt;\mathrm{NP}&amp;lt;/tex&amp;gt;, предполагая, что вероятность угадать сертификат в случае его существования не менее &amp;lt;tex&amp;gt;1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{coRP} = \{L \bigm| \overline L \in \mathrm{RP}\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Класс &amp;lt;tex&amp;gt;\mathrm{coRP}&amp;lt;/tex&amp;gt; допускает ошибки программ на словах, не принадлежащих &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt; (от ''probabilistic polynomial'') — множество языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;, для которых &amp;lt;tex&amp;gt;\exists p \forall x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;\operatorname{P}(p(x) = [x \in L]) &amp;gt; 1/2&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;\forall r \operatorname{T}(p, x) \le poly(|x|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt; также допускает двусторонние ошибки, но является более широким по сравнению с &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Соотношение вероятностных классов ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = &amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{NP} \subset \mathrm{PP} \subset \mathrm{PS}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof =&lt;br /&gt;
1. &amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{NP}&amp;lt;/tex&amp;gt;. Если в программе для &amp;lt;tex&amp;gt;L \in \mathrm{RP}&amp;lt;/tex&amp;gt; заменить все вызовы ''random''() на недетерминированный выбор, то получим программу для &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; с ограничениями &amp;lt;tex&amp;gt;\mathrm{NP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. &amp;lt;tex&amp;gt;\mathrm{NP} \subset \mathrm{PP}&amp;lt;/tex&amp;gt;. Приведем программу &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; с ограничениями класса &amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt;, которая разрешает &amp;lt;tex&amp;gt;L \in \mathrm{NP}&amp;lt;/tex&amp;gt;. Пусть функция ''infair_coin''() моделирует нечестную монету, а именно возвращает единицу с вероятностью &amp;lt;tex&amp;gt;1/2 - \varepsilon&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\varepsilon&amp;lt;/tex&amp;gt; мы определим позже, и ноль с вероятностью &amp;lt;tex&amp;gt;1/2 + \varepsilon&amp;lt;/tex&amp;gt;. Пусть также &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; — верификатор сертификатов для &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; будет выглядеть следующим образом:&lt;br /&gt;
  &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    c &amp;lt;- случайный сертификат&lt;br /&gt;
    '''if''' &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt;(x, c)&lt;br /&gt;
      '''return''' 1&lt;br /&gt;
    '''return''' infair_coin()&lt;br /&gt;
Необходимо удовлетворить условию &amp;lt;tex&amp;gt;\operatorname{P}(q(x) = [x \in L]) &amp;gt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. В этом случае &amp;lt;tex&amp;gt;V(x, c)&amp;lt;/tex&amp;gt; вернет &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; и результат работы программы будет зависеть от нечестной монеты. Она вернет &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; с вероятностью &amp;lt;tex&amp;gt;1/2 + \varepsilon &amp;gt; 1/2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Тогда [[Формула полной вероятности|по формуле полной вероятности]] &amp;lt;tex&amp;gt;\operatorname{P}(q(x) = 1) = p_0 + (1 - p_0) (1/2 - \varepsilon)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;p_0&amp;lt;/tex&amp;gt; — вероятность угадать правильный сертификат. Заметим, что поскольку  длина всех сертификатов ограничена некоторым полиномом &amp;lt;tex&amp;gt;s(n), n = |x|&amp;lt;/tex&amp;gt; и существует хотя бы один правильный сертификат, &amp;lt;tex&amp;gt;p_0 \ge 2^{-s(n)}&amp;lt;/tex&amp;gt;. Найдем &amp;lt;tex&amp;gt;\varepsilon&amp;lt;/tex&amp;gt; из неравенства &amp;lt;tex&amp;gt;\operatorname{P}(q(x) = 1) &amp;gt; 1/2&amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_0 + 1/2 - \varepsilon - p_0 / 2 + p_0 \varepsilon &amp;gt; 1/2&amp;lt;/tex&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p_0 / 2 + (p_0 - 1)\varepsilon &amp;gt; 0&amp;lt;/tex&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\varepsilon &amp;lt; \frac{p_0}{2 (1 - p_0)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Достаточно взять &amp;lt;tex&amp;gt;\varepsilon \le p_0 / 2&amp;lt;/tex&amp;gt;. Из сделанного выше замечания следует, что работу функции ''infair_coin''() можно смоделировать с помощью не более чем &amp;lt;tex&amp;gt;s(n) + 1&amp;lt;/tex&amp;gt; вызовов ''random''(). Также учтем, что длина сертификата и время работы &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; полиномиальны относительно &amp;lt;tex&amp;gt;|x|&amp;lt;/tex&amp;gt;. Таким образом, мы построили программу &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;, удовлетворяющую ограничениям класса &amp;lt;tex&amp;gt;\mathrm{PP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3. &amp;lt;tex&amp;gt;\mathrm{PP} \subset \mathrm{PS}&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; — программа для языка &amp;lt;tex&amp;gt;L \in \mathrm{PP}&amp;lt;/tex&amp;gt;. Она используют не более чем полиномиальное количество вероятностных бит, так как сама работает за полиномиальное время. Тогда программа для &amp;lt;tex&amp;gt;\mathrm{PS}&amp;lt;/tex&amp;gt; будет перебирать все участки вероятностных лент нужной полиномиальной длины и запускать на них &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;. Ответом будет &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; в зависимости от того, каких ответов &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; оказалось больше.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \cup \mathrm{coRP} \subset \mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof =&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; — программа для &amp;lt;tex&amp;gt;L \in \mathrm{RP}&amp;lt;/tex&amp;gt;. Программу &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;\mathrm{BPP}&amp;lt;/tex&amp;gt; определим следующим образом:&lt;br /&gt;
  &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    u &amp;lt;- &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    v &amp;lt;- &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;(x)&lt;br /&gt;
    '''return''' u '''or''' v&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. В этом случае вероятность ошибки равна &amp;lt;tex&amp;gt;\operatorname{P}(u = 0, v = 0) = \operatorname{P}(u = 0) \cdot \operatorname{P}(v = 0) \le 1/4&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Тогда с вероятностью &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; будет верно &amp;lt;tex&amp;gt;u = 0, v = 0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; вернет правильный ответ.&lt;br /&gt;
&lt;br /&gt;
Аналогично доказывается, что &amp;lt;tex&amp;gt;\mathrm{coRP} \subset \mathrm{BPP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Теоремы о BPP, BPPweak и BPPstrong]]&lt;br /&gt;
* [[Классы RP и coRP]]&lt;br /&gt;
* [[Теорема Лаутемана]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* [http://www.cs.princeton.edu/theory/complexity/ Sanjeev Arora, Boaz Barak. Computational Complexity: A Modern Approach]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=23904</id>
		<title>Теория сложности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=23904"/>
				<updated>2012-06-04T19:48:36Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Вероятностные сложностные классы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория сложности]]&lt;br /&gt;
&lt;br /&gt;
== Детерминированные и недетерминированные вычисления, сложность по времени и по памяти ==&lt;br /&gt;
*[[Сложностные классы. Вычисления с оракулом]]&lt;br /&gt;
&lt;br /&gt;
=== Классы P и NP, NP-полнота ===&lt;br /&gt;
*[[Класс P]]&lt;br /&gt;
*[[Недетерминированные вычисления]]&lt;br /&gt;
*[[Классы NP и Σ₁]]&lt;br /&gt;
*[[Сведение относительно класса функций. Сведение по Карпу. Трудные и полные задачи]]&lt;br /&gt;
*[[Примеры NP-полных языков. Теорема Кука]]&lt;br /&gt;
*[[Теоремы о временной и емкостной иерархиях]]&lt;br /&gt;
*[[Теорема Бейкера — Гилла — Соловэя]]&lt;br /&gt;
*[[Теорема Ладнера]]&lt;br /&gt;
*[[Теорема Левина]]&lt;br /&gt;
*[[Теорема Бермана — Форчуна]]&lt;br /&gt;
*[[Теорема Махэни]]&lt;br /&gt;
&lt;br /&gt;
=== Сложность по памяти, классы PS, L, NL, coNL ===&lt;br /&gt;
*[[Класс PS. Связь класса PS с другими классами теории сложности]]&lt;br /&gt;
*[[Теорема Сэвича. Совпадение классов NPS и PS]]&lt;br /&gt;
*[[PS-полнота языка верных булевых формул с кванторами (TQBF)]]&lt;br /&gt;
*[[Классы L, NL, coNL]]&lt;br /&gt;
*[[NL-полнота задачи о достижимости]]&lt;br /&gt;
*[[Теорема Иммермана]]&lt;br /&gt;
&lt;br /&gt;
=== Полиномиальная иерархия ===&lt;br /&gt;
*[[Классы PH, Σ и Π]]&lt;br /&gt;
*[[Теоремы о коллапсе полиномиальной иерархии]]&lt;br /&gt;
&lt;br /&gt;
== Схемная сложность ==&lt;br /&gt;
*[[Схемная сложность и класс P/poly]]&lt;br /&gt;
*[[Теорема Карпа — Липтона]]&lt;br /&gt;
*[[Классы NC и AC]]&lt;br /&gt;
*[[Теорема о непринадлежности XOR классу AC⁰]]&lt;br /&gt;
&lt;br /&gt;
== Вероятностные сложностные классы ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;br /&gt;
*[[Классы RP и coRP]]&lt;br /&gt;
*[[Класс ZPP]]&lt;br /&gt;
*[[Класс BPP]]&lt;br /&gt;
*[[Классы BPPweak и BPPstrong]]&lt;br /&gt;
*[[Теорема Лаутемана]]&lt;br /&gt;
&lt;br /&gt;
=== Интерактивные протоколы ===&lt;br /&gt;
*[[Интерактивные протоколы. Класс IP. Класс AM]]&lt;br /&gt;
*[[Связь классов IP и AM друг с другом и с другими классами языков]]&lt;br /&gt;
*[[Арифметизация булевых формул с кванторами]]&lt;br /&gt;
*[[Лемма о соотношении coNP и IP]]&lt;br /&gt;
*[[Теорема Шамира]]&lt;br /&gt;
*[[Семейство универсальных попарно независимых хеш-функций]]&lt;br /&gt;
*[[Протокол Голдвассера-Сипсера для оценки размера множества]]&lt;br /&gt;
&lt;br /&gt;
=== Probabilistically checkable proofs ===&lt;br /&gt;
*[[PCP-система]]&lt;br /&gt;
*[[PCP-теорема]]&lt;br /&gt;
*[[PCP-теорема, альтернативное доказательство | PCP-теорема, альтернативная формулировка]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Теория сложности (старая трешовая версия)|Вот сюда]] можно подсматривать, но злоупотреблять не рекомендуется.&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23900</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23900"/>
				<updated>2012-06-04T19:48:08Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Уменьшение ошибки в классе RP в Классы RP и coRP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует [[Вероятностные вычисления. Вероятностная машина Тьюринга|ВМТ]] &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{coRP} = \{L \bigm| \overline L \in \mathrm{RP}\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Класс &amp;lt;tex&amp;gt;\mathrm{coRP}&amp;lt;/tex&amp;gt; допускает ошибки программ на словах, не принадлежащих &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* S.Arora, B.Barak. Randomized computation. Cambridge University, January 2007. [http://www.cs.princeton.edu/theory/complexity/bppchap.pdf]&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A3%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8_%D0%B2_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B5_RP&amp;diff=23901</id>
		<title>Уменьшение ошибки в классе RP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A3%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8_%D0%B2_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B5_RP&amp;diff=23901"/>
				<updated>2012-06-04T19:48:08Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Уменьшение ошибки в классе RP в Классы RP и coRP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Классы RP и coRP]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23902</id>
		<title>Обсуждение:Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23902"/>
				<updated>2012-06-04T19:48:08Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Обсуждение:Уменьшение ошибки в классе RP в Обсуждение:Классы RP и coRP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обозначение &amp;quot;программа m&amp;quot; меня убивает. Если программа, то все-таки р, m - это МТ.&lt;br /&gt;
'''then''' на следующей строке в псевдокоде добивает контрольным выстрелом...&lt;br /&gt;
Алгебраически выкладки не стоит делать в середине текста, вынеси в отдельные строки, пожалуйста.&lt;br /&gt;
Точка, которая переносится на следующую строку в отрыве от формулы, меня печалит.&lt;br /&gt;
&lt;br /&gt;
Самое интересное, по сути претензий вроде как и нет.&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A3%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8_%D0%B2_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B5_RP&amp;diff=23903</id>
		<title>Обсуждение:Уменьшение ошибки в классе RP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A3%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8_%D0%B2_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B5_RP&amp;diff=23903"/>
				<updated>2012-06-04T19:48:08Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Обсуждение:Уменьшение ошибки в классе RP в Обсуждение:Классы RP и coRP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Обсуждение:Классы RP и coRP]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23882</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23882"/>
				<updated>2012-06-04T19:22:29Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует [[Вероятностные вычисления. Вероятностная машина Тьюринга|ВМТ]] &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{coRP} = \{L \bigm| \overline L \in \mathrm{RP}\}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Класс &amp;lt;tex&amp;gt;\mathrm{coRP}&amp;lt;/tex&amp;gt; допускает ошибки программ на словах, не принадлежащих &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* S.Arora, B.Barak. Randomized computation. Cambridge University, January 2007. [http://www.cs.princeton.edu/theory/complexity/bppchap.pdf]&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D1%8B_%D0%BE_%D0%BA%D0%BE%D0%BB%D0%BB%D0%B0%D0%BF%D1%81%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B8%D0%BD%D0%BE%D0%BC%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8&amp;diff=23867</id>
		<title>Теоремы о коллапсе полиномиальной иерархии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D1%8B_%D0%BE_%D0%BA%D0%BE%D0%BB%D0%BB%D0%B0%D0%BF%D1%81%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B8%D0%BD%D0%BE%D0%BC%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8&amp;diff=23867"/>
				<updated>2012-06-04T18:31:52Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Лемма&lt;br /&gt;
|statement = Если &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Pi_i = \Pi_{i+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &amp;lt;tex&amp;gt;L \in \Pi_{i+1} \Leftrightarrow \overline{L} \in \Sigma_{i+1} \Leftrightarrow \overline{L} \in \Sigma_i \Leftrightarrow L \in \Pi_i&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о коллапсе полиномиальной иерархии при совпадении &amp;lt;tex&amp;gt;\Sigma_i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\Sigma_{i+1}&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = Если существует &amp;lt;tex&amp;gt;i \colon \Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_i = \mathrm{PH}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = Для доказательства теоремы достаточно показать, что если такое &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; существует, то &amp;lt;tex&amp;gt;\forall j &amp;gt; i&amp;lt;/tex&amp;gt; верно, что &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_j&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Докажем по индукции.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''База'''. &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt; из условия.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Индукционный переход'''. Докажем, что если &amp;lt;tex&amp;gt;\Sigma_n = \Sigma_{n+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_{n+1} = \Sigma_{n+2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \Sigma_{n+2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;L = \{x \bigm| \exists y_1 \forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2})\}&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;\forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2}) = f(x, y_1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда получим язык &amp;lt;tex&amp;gt;L_f = \{\langle x, y_1\rangle \bigm| f(x, y_1) = 1\}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;L_f \in \Pi_{n+1}&amp;lt;/tex&amp;gt; и из вышедоказанной леммы следует, что &amp;lt;tex&amp;gt;L_f \in \Pi_n&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Из определения сложностного класса &amp;lt;tex&amp;gt;\Pi_n&amp;lt;/tex&amp;gt; получаем, что &amp;lt;tex&amp;gt;\exists R_{L_f}^{n} \colon \langle x, y_1 \rangle \in L_f \Leftrightarrow \forall y_2 \exists y_3 \ldots Q y_{n+1} R_{L_f}^{n}(\langle x, y_1\rangle, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;. Следовательно, &amp;lt;tex&amp;gt;x \in L \Leftrightarrow \exists y_1 \forall y_2 \ldots Q y_{n+1} R_L^{n+1}(x, y_1, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;R_L^{n+1}(x, y_1, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;R_{L_f}^n(\langle x, y_1\rangle, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть язык &amp;lt;tex&amp;gt;L \in \Sigma_{n+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о коллапсе полиномиальной иерархии при совпадении &amp;lt;tex&amp;gt;\Sigma_i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\Pi_i&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = Если существует &amp;lt;tex&amp;gt;i &amp;gt; 0\colon \Sigma_i = \Pi_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_i = \mathrm{PH}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &lt;br /&gt;
Для доказательства покажем, что &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, и воспользуемся предыдущей теоремой.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \Sigma_{i+1}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;L =\{x \bigm| \exists y_1 \forall y_2 \ldots Q y_{i+1} R_L^{i+1}(x, y_1 \ldots y_{i+1})\}&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;\forall y_2 \exists y_3 \ldots Q y_{i+1} R_L^{i+1}(x, y_1 \ldots y_{i+1}) = f(x, y_1)&amp;lt;/tex&amp;gt;. Получим язык &amp;lt;tex&amp;gt;L_f = \{ \langle x, y_1 \rangle \bigm| f(x, y_1) = 1\}&amp;lt;/tex&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;L_f \in \Pi_i&amp;lt;/tex&amp;gt;, и из условия теоремы &amp;lt;tex&amp;gt;L_f \in \Sigma_i&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
По определению сложностного класса &amp;lt;tex&amp;gt;\Sigma_i \; \exists R_{L_f}^i \colon \langle x, y_1 \rangle \in L_f \Leftrightarrow \exists y_2 \forall y_3 \ldots Q y_{i+1} R_{L_f}^i(\langle x, y_1 \rangle, y_2 \ldots y_{i+1})&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;x \in L \Leftrightarrow \exists \langle y_1, y_2 \rangle \forall y_3 \ldots Q y_{i+1} R_L^i(x, \langle y_1, y_2\rangle \ldots y_{i+1})&amp;lt;/tex&amp;gt;. &amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;lt;tex&amp;gt;R_L^i(x, \langle y_1, y_2\rangle, y_3 \ldots, y_{i+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;R_{L_f}^i(\langle x, y_1\rangle, y_2, y_3 \ldots y_{i+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;L \in \Sigma_i&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;\Sigma_0 = \Pi_0 = \mathrm{P}&amp;lt;/tex&amp;gt;, а потому формулировка теоремы не имеет смысла при &amp;lt;tex&amp;gt;i = 0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* S.Arora, B.Barak. The polynomial hierarchy and alternations. Cambridge University, January 2007. [http://www.cs.princeton.edu/theory/complexity/phchap.pdf]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория сложности]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=23658</id>
		<title>Теория сложности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=23658"/>
				<updated>2012-06-04T07:50:04Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория сложности]]&lt;br /&gt;
&lt;br /&gt;
*[[Сложностные классы. Вычисления с оракулом]]&lt;br /&gt;
*[[Класс P]]&lt;br /&gt;
*[[Недетерминированные вычисления. Классы NP и Σ₁]]&lt;br /&gt;
*[[Сведение относительно класса функций. Сведение по Карпу. Трудные и полные задачи]]&lt;br /&gt;
*[[Примеры NP-полных языков. Теорема Кука]]&lt;br /&gt;
*[[Теоремы о временной и емкостной иерархиях]]&lt;br /&gt;
*[[Теорема Бейкера — Гилла — Соловэя]]&lt;br /&gt;
*[[Теорема Ладнера]]&lt;br /&gt;
*[[Теорема Левина]]&lt;br /&gt;
*[[Теорема Бермана — Форчуна]]&lt;br /&gt;
*[[Теорема Махэни]]&lt;br /&gt;
*[[Класс PS. Теорема Сэвича. Совпадение классов NPS и PS]]&lt;br /&gt;
*[[PS-полнота языка верных булевых формул с кванторами (TQBF)]]&lt;br /&gt;
*[[Классы L, NL, coNL. NL-полнота задачи о достижимости]]&lt;br /&gt;
*[[Классы PH, Σ и Π]]&lt;br /&gt;
*[[Теоремы о коллапсе полиномиальной иерархии]]&lt;br /&gt;
*[[Схемная сложность и класс P/poly]]&lt;br /&gt;
*[[Теорема Карпа — Липтона]]&lt;br /&gt;
*[[Классы NC и AC]]&lt;br /&gt;
*[[Теорема о непринадлежности XOR классу AC⁰]]&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;br /&gt;
*[[Классы BPPweak и BPPstrong]]&lt;br /&gt;
*[[Уменьшение ошибки в классе RP]]&lt;br /&gt;
*[[Теорема Лаутемана]]&lt;br /&gt;
*[[Интерактивные протоколы. Класс IP. Класс AM]]&lt;br /&gt;
*[[Связь классов IP и AM друг с другом и с другими классами языков]]&lt;br /&gt;
*[[Арифметизация булевых формул с кванторами]]&lt;br /&gt;
*[[Лемма о соотношении coNP и IP]]&lt;br /&gt;
*[[Теорема Шамира]]&lt;br /&gt;
*[[Семейство универсальных попарно независимых хеш-функций]]&lt;br /&gt;
*[[Протокол Голдвассера-Сипсера для оценки размера множества]]&lt;br /&gt;
*[[PCP-система]]&lt;br /&gt;
*[[PCP-теорема]]&lt;br /&gt;
*[[PCP-теорема, альтернативное доказательство]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Теория сложности (старая трешовая версия)|Вот сюда]] можно подсматривать, но злоупотреблять не рекомендуется.&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23654</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23654"/>
				<updated>2012-06-04T07:49:00Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Уменьшение ошибки в классе RP. Теорема о соотношении классов coRP и coNP в Уменьшение ошибки в классе RP поверх перенаправления&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует [[Вероятностные вычисления. Вероятностная машина Тьюринга|ВМТ]] &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A3%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8_%D0%B2_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B5_RP._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%BE_%D1%81%D0%BE%D0%BE%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2_coRP_%D0%B8_coNP&amp;diff=23655</id>
		<title>Уменьшение ошибки в классе RP. Теорема о соотношении классов coRP и coNP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A3%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8_%D0%B2_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B5_RP._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%BE_%D1%81%D0%BE%D0%BE%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2_coRP_%D0%B8_coNP&amp;diff=23655"/>
				<updated>2012-06-04T07:49:00Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Уменьшение ошибки в классе RP. Теорема о соотношении классов coRP и coNP в Уменьшение ошибки в классе RP поверх перенаправления&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Уменьшение ошибки в классе RP]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23656</id>
		<title>Обсуждение:Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23656"/>
				<updated>2012-06-04T07:49:00Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Обсуждение:Уменьшение ошибки в классе RP. Теорема о соотношении классов coRP и coNP в [[Обсуждение:Уменьшение ошибки в классе RP]...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обозначение &amp;quot;программа m&amp;quot; меня убивает. Если программа, то все-таки р, m - это МТ.&lt;br /&gt;
'''then''' на следующей строке в псевдокоде добивает контрольным выстрелом...&lt;br /&gt;
Алгебраически выкладки не стоит делать в середине текста, вынеси в отдельные строки, пожалуйста.&lt;br /&gt;
Точка, которая переносится на следующую строку в отрыве от формулы, меня печалит.&lt;br /&gt;
&lt;br /&gt;
Самое интересное, по сути претензий вроде как и нет.&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A3%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8_%D0%B2_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B5_RP._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%BE_%D1%81%D0%BE%D0%BE%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2_coRP_%D0%B8_coNP&amp;diff=23657</id>
		<title>Обсуждение:Уменьшение ошибки в классе RP. Теорема о соотношении классов coRP и coNP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A3%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8_%D0%B2_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B5_RP._%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%BE_%D1%81%D0%BE%D0%BE%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B8_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2_coRP_%D0%B8_coNP&amp;diff=23657"/>
				<updated>2012-06-04T07:49:00Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Обсуждение:Уменьшение ошибки в классе RP. Теорема о соотношении классов coRP и coNP в [[Обсуждение:Уменьшение ошибки в классе RP]...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Обсуждение:Уменьшение ошибки в классе RP]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23410</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23410"/>
				<updated>2012-06-03T11:33:48Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема о соотношении классов \mathrm{coRP} и \Pi_1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует [[Вероятностные вычисления. Вероятностная машина Тьюринга|ВМТ]] &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Теорема о соотношении классов coRP и coNP ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = &amp;lt;tex&amp;gt;\mathrm{coRP} \subset \mathrm{coNP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{coRP} \Leftrightarrow \overline{L} \in \mathrm{RP} \Rightarrow \overline{L} \in \mathrm{NP} \Leftrightarrow L \in \mathrm{coNP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=23409</id>
		<title>Теория сложности</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8&amp;diff=23409"/>
				<updated>2012-06-03T11:32:32Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{В разработке}}&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория сложности]]&lt;br /&gt;
&lt;br /&gt;
*[[Сложностные классы. Вычисления с оракулом]]&lt;br /&gt;
*[[Класс P]]&lt;br /&gt;
*[[Недетерминированные вычисления. Классы NP и Σ₁]]&lt;br /&gt;
*[[Сведение относительно класса функций. Сведение по Карпу. Трудные и полные задачи]]&lt;br /&gt;
*[[Примеры NP-полных языков. Теорема Кука]]&lt;br /&gt;
*[[Теоремы о временной и емкостной иерархиях]]&lt;br /&gt;
*[[Теорема Бейкера — Гилла — Соловэя]]&lt;br /&gt;
*[[Теорема Ладнера]]&lt;br /&gt;
*[[Теорема Левина]]&lt;br /&gt;
*[[Теорема Бермана — Форчуна]]&lt;br /&gt;
*[[Теорема Махэни]]&lt;br /&gt;
*[[Класс PS. Теорема Сэвича. Совпадение классов NPS и PS]]&lt;br /&gt;
*[[PS-полнота языка верных булевых формул с кванторами (TQBF)]]&lt;br /&gt;
*[[Классы L, NL, coNL. NL-полнота задачи о достижимости]]&lt;br /&gt;
*[[Классы PH, Σ и Π]]&lt;br /&gt;
*[[Теоремы о коллапсе полиномиальной иерархии]]&lt;br /&gt;
*[[Схемная сложность и класс P/poly]]&lt;br /&gt;
*[[Теорема Карпа — Липтона]]&lt;br /&gt;
*[[Классы NC и AC]]&lt;br /&gt;
*[[Теорема о не принадлежности XOR классу AC⁰]]&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;br /&gt;
*[[Классы BPPweak и BPPstrong]]&lt;br /&gt;
*[[Уменьшение ошибки в классе RP. Теорема о соотношении классов coRP и coNP]]&lt;br /&gt;
*[[Теорема Лаутемана]]&lt;br /&gt;
*[[Интерактивные протоколы. Класс IP. Класс AM]]&lt;br /&gt;
*[[Связь классов IP и AM друг с другом и с другими классами языков]]&lt;br /&gt;
*[[Арифметизация булевых формул с кванторами]]&lt;br /&gt;
*[[Лемма о соотношении coNP и IP]]&lt;br /&gt;
*[[Теорема Шамира]]&lt;br /&gt;
*[[Семейство универсальных попарно независимых хеш-функций]]&lt;br /&gt;
*[[Протокол Голдвассера-Сипсера для оценки размера множества]]&lt;br /&gt;
*[[PCP-система]]&lt;br /&gt;
*[[PCP-теорема, альтернативное доказательство]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Теория сложности (старая трешовая версия)|Вот сюда]] можно подсматривать, но злоупотреблять не рекомендуется.&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23403</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23403"/>
				<updated>2012-06-03T11:29:05Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Уменьшение ошибки в классе RP в Уменьшение ошибки в классе RP. Теорема о соотношении классов coRP и coNP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует [[Вероятностные вычисления. Вероятностная машина Тьюринга|ВМТ]] &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Теорема о соотношении классов &amp;lt;tex&amp;gt;\mathrm{coRP}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\Pi_1&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = &amp;lt;tex&amp;gt;\mathrm{coRP} \subset \Pi_1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{coRP} \Leftrightarrow \overline{L} \in \mathrm{RP} \Rightarrow \overline{L} \in \mathrm{NP} \Leftrightarrow L \in \mathrm{coNP} = \Pi_1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23405</id>
		<title>Обсуждение:Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23405"/>
				<updated>2012-06-03T11:29:05Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: переименовал Обсуждение:Уменьшение ошибки в классе RP в Обсуждение:Уменьшение ошибки в классе RP. Теорема о соотношении классов coRP и coNP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обозначение &amp;quot;программа m&amp;quot; меня убивает. Если программа, то все-таки р, m - это МТ.&lt;br /&gt;
'''then''' на следующей строке в псевдокоде добивает контрольным выстрелом...&lt;br /&gt;
Алгебраически выкладки не стоит делать в середине текста, вынеси в отдельные строки, пожалуйста.&lt;br /&gt;
Точка, которая переносится на следующую строку в отрыве от формулы, меня печалит.&lt;br /&gt;
&lt;br /&gt;
Самое интересное, по сути претензий вроде как и нет.&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23383</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23383"/>
				<updated>2012-06-03T10:38:37Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема о соотношении классов \mathrm{coRP} и \Pi_1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует [[Вероятностные вычисления. Вероятностная машина Тьюринга|ВМТ]] &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Теорема о соотношении классов &amp;lt;tex&amp;gt;\mathrm{coRP}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\Pi_1&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = &amp;lt;tex&amp;gt;\mathrm{coRP} \subset \Pi_1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{coRP} \Leftrightarrow \overline{L} \in \mathrm{RP} \Rightarrow \overline{L} \in \mathrm{NP} \Leftrightarrow L \in \mathrm{coNP} = \Pi_1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23381</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23381"/>
				<updated>2012-06-03T10:34:09Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует [[Вероятностные вычисления. Вероятностная машина Тьюринга|ВМТ]] &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Теорема о соотношении классов &amp;lt;tex&amp;gt;\mathrm{coRP}&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\Pi_1&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = &amp;lt;tex&amp;gt;\mathrm{coRP} \subset \Pi_1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &amp;lt;tex&amp;gt;L \in \mathrm{coRP} \Leftrightarrow \overline{L} \in \mathrm{RP} \Rightarrow \overline{L} \in \mathrm{NP} \Leftrightarrow L \in \mathrm{coNP} = \Pi_1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23348</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23348"/>
				<updated>2012-06-03T09:35:34Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует [[Вероятностные вычисления. Вероятностная машина Тьюринга|ВМТ]] &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt; такая, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23347</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23347"/>
				<updated>2012-06-03T09:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема об эквивалентности определений */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует [[Вероятностные вычисления. Вероятностная машина Тьюринга|ВМТ]] &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23337</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23337"/>
				<updated>2012-06-03T08:27:36Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует [[Вероятностные вычисления. Вероятностная машина Тьюринга|ВМТ]] &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует ВМТ &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, что для любого &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином;&lt;br /&gt;
# &amp;lt;tex&amp;gt;T(m(x, r)) \le poly(|x|)&amp;lt;/tex&amp;gt; для любой вероятностной ленты &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23334</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23334"/>
				<updated>2012-06-03T08:14:29Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема об эквивалентности определений */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время для любой вероятностной ленты, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время для любой вероятностной ленты, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время для любой вероятностной ленты, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; &lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23333</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23333"/>
				<updated>2012-06-03T08:10:54Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время для любой вероятностной ленты, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время для любой вероятностной ленты, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время для любой вероятностной ленты, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; '''then'''&lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; '''then'''&lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; '''then'''&lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; '''then'''&lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23331</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23331"/>
				<updated>2012-06-03T07:54:38Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема об эквивалентности определений */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; '''then'''&lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Логарифмируя, получаем &amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; '''then'''&lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
То есть &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; '''then'''&lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;. То есть&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;Разложив в ряд Тейлора получаем, что&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt; '''then'''&lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство&amp;lt;br/&amp;gt;&amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23328</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23328"/>
				<updated>2012-06-03T07:07:59Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема об эквивалентности определений */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; '''then'''&lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(p_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;p_{\mathrm{RP}}&amp;lt;/tex&amp;gt; меньше, чем &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;. Логарифмируя, получаем:&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt; Разложив логарифм в ряд Тейлора, получаем&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;p_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; '''then'''&lt;br /&gt;
             '''return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство&amp;lt;br/&amp;gt; &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)} \Leftrightarrow k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}} \Leftrightarrow k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;. Разложив в ряд Тейлора получаем, что &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;. То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство &amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23327</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=23327"/>
				<updated>2012-06-03T06:59:30Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(p(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(p(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(m_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; равна &amp;lt;tex&amp;gt;1-\frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, то есть вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; равна &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;. Логарифмируя, получаем: &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;. Разложив логарифм в ряд Тейлора, получаем &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Но здесь &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; выбирается так, чтобы выполнялось неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;. Из него получается, что &amp;lt;tex&amp;gt;k &amp;gt; log_2(q(|x|))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Напишем программу &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, удолетворяющую ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}} \Leftrightarrow k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;. Разложив в ряд Тейлора получаем, что &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;. То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, чтобы выполнялось неравенство &amp;lt;tex&amp;gt;(\frac{1}{2^{q(|x|)}})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;k &amp;gt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22952</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22952"/>
				<updated>2012-05-30T17:08:57Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;. В качестве программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; можно взять программу &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;1 - \frac{1}{2^p} \geq \frac{1}{2} \Leftrightarrow p \geq 1&amp;lt;/tex&amp;gt;. То есть программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt; удолетворяет ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство такое же, как в предыдущем пункте.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(m_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; равна &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;, то есть программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; ошиблась на всех вызовах. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;. Логарифмируя, получаем: &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;. Разложив логарифм в ряд Тейлора, получаем &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту. В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}} \Leftrightarrow k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;. Разложив в ряд Тейлора получаем, что &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;. То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22667</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22667"/>
				<updated>2012-05-23T20:01:31Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема об эквивалентности определений */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;. В качестве программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; можно взять программу &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;1 - \frac{1}{2^p} \geq \frac{1}{2} \Leftrightarrow p \geq 1&amp;lt;/tex&amp;gt;. То есть программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt; удолетворяет ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство такое же, как в предыдущем пункте.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(m_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; равна &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;, то есть программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; ошиблась на всех вызовах. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;. Логарифмируя, получаем: &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;. Разложив логарифм в ряд Тейлора, получаем &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту. В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}} \Leftrightarrow k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;. Разложив в ряд Тейлора получаем, что &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{2^{-q(|x|)}}{ln(2)} + o(2^{-q(|x|)}) = \frac{(1+q(|x|)+o(q(|x|)))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;. То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22666</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22666"/>
				<updated>2012-05-23T19:45:13Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема об эквивалентности определений */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;. В качестве программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; можно взять программу &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;1 - \frac{1}{2^p} \geq \frac{1}{2} \Leftrightarrow p \geq 1&amp;lt;/tex&amp;gt;. То есть программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt; удолетворяет ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство такое же, как в предыдущем пункте.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(m_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; равна &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;, то есть программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; ошиблась на всех вызовах. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;. Логарифмируя, получаем: &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;. Разложив логарифм в ряд Тейлора, получаем &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту. В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; 1 - \frac{1}{2^{q(|x|)}} \Leftrightarrow k &amp;gt; -log_{2}(1-\frac{1}{2^{q(|x|)}})&amp;lt;/tex&amp;gt;. Разложив в ряд Тейлора получаем, что &amp;lt;tex&amp;gt;-log_{2}(1-\frac{1}{2^{q(|x|)}}) = \frac{1}{ln(2)2^{q(|x|)}} = \frac{(1+q(|x|))^{ln(\frac{1}{2})}}{ln(2)} &amp;lt; \frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;. То есть &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо взять больше, чем &amp;lt;tex&amp;gt;\frac{1+q(|x|)}{ln(2)}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22665</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22665"/>
				<updated>2012-05-23T19:18:21Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема об эквивалентности определений */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;. В качестве программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; можно взять программу &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;1 - \frac{1}{2^p} \geq \frac{1}{2} \Leftrightarrow p \geq 1&amp;lt;/tex&amp;gt;. То есть программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt; удолетворяет ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство такое же, как в предыдущем пункте.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then return''' &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(m_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. Если хотя бы один вызов программы &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; вернёт &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, то слово &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt;. Вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; равна &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;, то есть программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; ошиблась на всех вызовах. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;. Логарифмируя, получаем: &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;. Разложив логарифм в ряд Тейлора, получаем &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту. В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;. Прологарифмировав и сократив на &amp;lt;tex&amp;gt;ln(\frac{1}{2})&amp;lt;/tex&amp;gt;, получаем, что &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22664</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22664"/>
				<updated>2012-05-23T17:18:17Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема об эквивалентности определений */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;. В качестве программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; можно взять программу &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;1 - \frac{1}{2^p} \geq \frac{1}{2} \Leftrightarrow p \geq 1&amp;lt;/tex&amp;gt;. То есть программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt; удолетворяет ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство такое же, как в предыдущем пункте.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;f = 0&amp;lt;/tex&amp;gt; // столько раз программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; вернула &amp;lt;tex&amp;gt;false&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;t = 0&amp;lt;/tex&amp;gt; // столько раз программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; вернула &amp;lt;tex&amp;gt;true&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt; // &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; будет определено позже&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then''' &amp;lt;tex&amp;gt;f = f + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''else''' &amp;lt;tex&amp;gt;t = t + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;f &amp;gt; t \ ? \ false : true&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;false&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(m_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Вероятность ошибки программы равна &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;. Логарифмируя, получаем: &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;. Разложив логарифм в ряд Тейлора, получаем &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство аналогично предыдущему пункту. В этом случае &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; необходимо выбрать таким, что должно выполняться неравенство &amp;lt;tex&amp;gt;(\frac{1}{2})^k &amp;lt; \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;. Прологарифмировав и сократив на &amp;lt;tex&amp;gt;ln(\frac{1}{2})&amp;lt;/tex&amp;gt;, получаем, что &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22663</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22663"/>
				<updated>2012-05-23T16:59:31Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема об эквивалентности определений */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;. В качестве программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; можно взять программу &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;1 - \frac{1}{2^p} \geq \frac{1}{2} \Leftrightarrow p \geq 1&amp;lt;/tex&amp;gt;. То есть программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt; удолетворяет ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{weak}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Доказательство такое же, как в предыдущем пункте.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{weak}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{weak}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;f = 0&amp;lt;/tex&amp;gt; // столько раз программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; вернула &amp;lt;tex&amp;gt;false&amp;lt;/tex&amp;gt;&lt;br /&gt;
     &amp;lt;tex&amp;gt;t = 0&amp;lt;/tex&amp;gt; // столько раз программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}&amp;lt;/tex&amp;gt; вернула &amp;lt;tex&amp;gt;true&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''for''' &amp;lt;tex&amp;gt;i = 1 \ldots k&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''if''' &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''then''' &amp;lt;tex&amp;gt;f = f + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''else''' &amp;lt;tex&amp;gt;t = t + 1&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;f &amp;gt; t \ ? \ false : true&amp;lt;/tex&amp;gt;&lt;br /&gt;
Если слово &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;m_{\mathrm{RP_{weak}}}(x)&amp;lt;/tex&amp;gt; всегда возвращает &amp;lt;tex&amp;gt;false&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;P(m_{\mathrm{RP}}(x) = 0) = 1&amp;lt;/tex&amp;gt;, при &amp;lt;tex&amp;gt;x \notin L&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; надо выбрать таким, что вероятность ошибки программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}(x)&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;x \in L&amp;lt;/tex&amp;gt; была меньше &amp;lt;tex&amp;gt;\frac {1}{2}&amp;lt;/tex&amp;gt;. Вероятность ошибки программы равна &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k&amp;lt;/tex&amp;gt;. Получается неравенство &amp;lt;tex&amp;gt;(1-\frac{1}{q(|x|)})^k &amp;lt; \frac{1}{2}&amp;lt;/tex&amp;gt;. Логарифмируя, получаем: &amp;lt;tex&amp;gt;k\ ln(1-\frac{1}{q(|x|)}) &amp;lt; ln(\frac{1}{2})&amp;lt;/tex&amp;gt;. Разложив логарифм в ряд Тейлора, получаем &amp;lt;tex&amp;gt;k(-\frac{1}{q(|x|)} + o(\frac{1}{q(|x|)})) &amp;lt; -ln(2)&amp;lt;/tex&amp;gt;. Отсюда &amp;lt;tex&amp;gt;k &amp;gt; q(|x|)ln(2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP} \subset \mathrm{RP_{strong}}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22662</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22662"/>
				<updated>2012-05-23T16:05:54Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема об эквивалентности определений */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;. Этому языку соответсвует программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;. Для доказательства утверждения необходимо написать программу &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt;, которая будет удолетворять ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;. В качестве программы &amp;lt;tex&amp;gt;m_{\mathrm{RP}}&amp;lt;/tex&amp;gt; можно взять программу &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt;, так как &amp;lt;tex&amp;gt;1 - \frac{1}{2^p} \geq \frac{1}{2} \Leftrightarrow p \geq 1&amp;lt;/tex&amp;gt;. То есть программа &amp;lt;tex&amp;gt;m_{\mathrm{RP_{strong}}}&amp;lt;/tex&amp;gt; удолетворяет ограничениям сложностного класса &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22661</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22661"/>
				<updated>2012-05-23T15:20:31Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q(|x|)&amp;lt;/tex&amp;gt; — некоторый полином, &amp;lt;tex&amp;gt;q(|x|) \geq 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
== Теорема об эквивалентности определений ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
&amp;lt;tex&amp;gt;\mathrm{RP_{strong}} \subset \mathrm{RP}\colon&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22660</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22660"/>
				<updated>2012-05-23T14:46:46Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Определения */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; — некоторый полином.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; — некоторый полином.&lt;br /&gt;
}}&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22658</id>
		<title>Классы RP и coRP</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B_RP_%D0%B8_coRP&amp;diff=22658"/>
				<updated>2012-05-23T14:21:15Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: Новая страница: «== Определения == {{Определение |definition= Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Определения ==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{weak}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; — некоторый полином.&lt;br /&gt;
}}&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Сложностный класс &amp;lt;tex&amp;gt;\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt; состоит из языков &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; таких, что существует программа &amp;lt;tex&amp;gt;m&amp;lt;/tex&amp;gt;, которая работает за полиномиальное время, и:&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \notin L \Rightarrow P(m(x) = 0) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
# &amp;lt;tex&amp;gt;x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2^{q(|x|)}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;q&amp;lt;/tex&amp;gt; — некоторый полином.&lt;br /&gt;
}}&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D1%8B_%D0%BE_%D0%BA%D0%BE%D0%BB%D0%BB%D0%B0%D0%BF%D1%81%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B8%D0%BD%D0%BE%D0%BC%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8&amp;diff=22182</id>
		<title>Теоремы о коллапсе полиномиальной иерархии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D1%8B_%D0%BE_%D0%BA%D0%BE%D0%BB%D0%BB%D0%B0%D0%BF%D1%81%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B8%D0%BD%D0%BE%D0%BC%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8&amp;diff=22182"/>
				<updated>2012-05-10T16:27:22Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема о коллапсе полиномиальной иерархии при совпадении \Sigma_i и \Pi_i */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Лемма&lt;br /&gt;
|statement = Если &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Pi_i = \Pi_{i+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &amp;lt;tex&amp;gt;L \in \Pi_{i+1} \Leftrightarrow \overline{L} \in \Sigma_{i+1} \Leftrightarrow \overline{L} \in \Sigma_i \Leftrightarrow L \in \Pi_i&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о коллапсе полиномиальной иерархии при совпадении &amp;lt;tex&amp;gt;\Sigma_i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\Sigma_{i+1}&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = Если существует &amp;lt;tex&amp;gt;i \colon \Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_i = PH&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = Для доказательства теоремы достаточно показать, что если такое &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; существует, то &amp;lt;tex&amp;gt;\forall j &amp;gt; i&amp;lt;/tex&amp;gt; верно, что &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_j&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Докажем по индукции.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''База'''. &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt; из условия.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Индукционный переход'''. Докажем, что если &amp;lt;tex&amp;gt;\Sigma_n = \Sigma_{n+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_{n+1} = \Sigma_{n+2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \Sigma_{n+2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;L = \{x \colon \exists y_1 \forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2})\}&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;\forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2}) = f(x, y_1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда получим язык &amp;lt;tex&amp;gt;L_f = \{\langle x, y_1\rangle \colon f(x, y_1) = 1\}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;L_f \in \Pi_{n+1}&amp;lt;/tex&amp;gt; и из вышедоказанной леммы следует, что &amp;lt;tex&amp;gt;L_f \in \Pi_n&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Из определения сложностного класса &amp;lt;tex&amp;gt;\Pi_n&amp;lt;/tex&amp;gt; получаем, что &amp;lt;tex&amp;gt;\exists R_{L_f}^{n} \colon \langle x, y_1 \rangle \in L_f \Leftrightarrow \forall y_2 \exists y_3 \ldots Q y_{n+1} R_{L_f}^{n}(\langle x, y_1\rangle, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;. Следовательно, &amp;lt;tex&amp;gt;x \in L \Leftrightarrow \exists y_1 \forall y_2 \ldots Q y_{n+1} R_L^{n+1}(x, y_1, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;R_L^{n+1}(x, y_1, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;R_{L_f}^n(\langle x, y_1\rangle, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть язык &amp;lt;tex&amp;gt;L \in \Sigma_{n+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о коллапсе полиномиальной иерархии при совпадении &amp;lt;tex&amp;gt;\Sigma_i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\Pi_i&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = Если существует &amp;lt;tex&amp;gt;i &amp;gt; 0\colon \Sigma_i = \Pi_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_i = PH&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &lt;br /&gt;
Для доказательства покажем, что &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, и воспользуемся предыдущей теоремой.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \Sigma_{i+1}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;L =\{x \colon \exists y_1 \forall y_2 \ldots Q y_{i+1} R_L^{i+1}(x, y_1 \ldots y_{i+1})\}&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;\forall y_2 \exists y_3 \ldots Q y_{i+1} R_L^{i+1}(x, y_1 \ldots y_{i+1}) = f(x, y_1)&amp;lt;/tex&amp;gt;. Получим язык &amp;lt;tex&amp;gt;L_f = \{ \langle x, y_1 \rangle \colon f(x, y_1) = 1\}&amp;lt;/tex&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;L_f \in \Pi_i&amp;lt;/tex&amp;gt;, и из условия теоремы &amp;lt;tex&amp;gt;L_f \in \Sigma_i&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
По определению сложностного класса &amp;lt;tex&amp;gt;\Sigma_i \; \exists R_{L_f}^i \colon \langle x, y_1 \rangle \in L_f \Leftrightarrow \exists y_2 \forall y_3 \ldots Q y_{i+1} R_{L_f}^i(\langle x, y_1 \rangle, y_2 \ldots y_{i+1})&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;x \in L \Leftrightarrow \exists \langle y_1, y_2 \rangle \forall y_3 \ldots Q y_{i+1} R_L^i(x, \langle y_1, y_2\rangle \ldots y_{i+1})&amp;lt;/tex&amp;gt;. &amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;lt;tex&amp;gt;R_L^i(x, \langle y_1, y_2\rangle, y_3 \ldots, y_{i+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;R_{L_f}^i(\langle x, y_1\rangle, y_2, y_3 \ldots y_{i+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;L \in \Sigma_i&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Заметим, что при &amp;lt;tex&amp;gt;i = 0&amp;lt;/tex&amp;gt; теорема, скорее всего, неверна. Так как если взять язык &amp;lt;tex&amp;gt;L \in \Sigma_1&amp;lt;/tex&amp;gt; и выполнить все шаги доказательства, то на выходе получится язык из &amp;lt;tex&amp;gt;\Sigma_1&amp;lt;/tex&amp;gt;, а не из &amp;lt;tex&amp;gt;\Sigma_0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Классы PH, Σ и Π]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D1%8B_%D0%BE_%D0%BA%D0%BE%D0%BB%D0%BB%D0%B0%D0%BF%D1%81%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B8%D0%BD%D0%BE%D0%BC%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8&amp;diff=22181</id>
		<title>Теоремы о коллапсе полиномиальной иерархии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D1%8B_%D0%BE_%D0%BA%D0%BE%D0%BB%D0%BB%D0%B0%D0%BF%D1%81%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B8%D0%BD%D0%BE%D0%BC%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8&amp;diff=22181"/>
				<updated>2012-05-10T16:26:15Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема о коллапсе полиномиальной иерархии при совпадении \Sigma_i и \Sigma_{i+1} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Лемма&lt;br /&gt;
|statement = Если &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Pi_i = \Pi_{i+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &amp;lt;tex&amp;gt;L \in \Pi_{i+1} \Leftrightarrow \overline{L} \in \Sigma_{i+1} \Leftrightarrow \overline{L} \in \Sigma_i \Leftrightarrow L \in \Pi_i&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о коллапсе полиномиальной иерархии при совпадении &amp;lt;tex&amp;gt;\Sigma_i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\Sigma_{i+1}&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = Если существует &amp;lt;tex&amp;gt;i \colon \Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_i = PH&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = Для доказательства теоремы достаточно показать, что если такое &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; существует, то &amp;lt;tex&amp;gt;\forall j &amp;gt; i&amp;lt;/tex&amp;gt; верно, что &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_j&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Докажем по индукции.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''База'''. &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt; из условия.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Индукционный переход'''. Докажем, что если &amp;lt;tex&amp;gt;\Sigma_n = \Sigma_{n+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_{n+1} = \Sigma_{n+2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \Sigma_{n+2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;L = \{x \colon \exists y_1 \forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2})\}&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;\forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2}) = f(x, y_1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда получим язык &amp;lt;tex&amp;gt;L_f = \{\langle x, y_1\rangle \colon f(x, y_1) = 1\}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;L_f \in \Pi_{n+1}&amp;lt;/tex&amp;gt; и из вышедоказанной леммы следует, что &amp;lt;tex&amp;gt;L_f \in \Pi_n&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Из определения сложностного класса &amp;lt;tex&amp;gt;\Pi_n&amp;lt;/tex&amp;gt; получаем, что &amp;lt;tex&amp;gt;\exists R_{L_f}^{n} \colon \langle x, y_1 \rangle \in L_f \Leftrightarrow \forall y_2 \exists y_3 \ldots Q y_{n+1} R_{L_f}^{n}(\langle x, y_1\rangle, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;. Следовательно, &amp;lt;tex&amp;gt;x \in L \Leftrightarrow \exists y_1 \forall y_2 \ldots Q y_{n+1} R_L^{n+1}(x, y_1, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;.&lt;br /&gt;
 &amp;lt;tex&amp;gt;R_L^{n+1}(x, y_1, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;R_{L_f}^n(\langle x, y_1\rangle, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
То есть язык &amp;lt;tex&amp;gt;L \in \Sigma_{n+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о коллапсе полиномиальной иерархии при совпадении &amp;lt;tex&amp;gt;\Sigma_i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\Pi_i&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = Если существует &amp;lt;tex&amp;gt;i &amp;gt; 0\colon \Sigma_i = \Pi_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_i = PH&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &lt;br /&gt;
Для доказательства покажем, что &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, и воспользуемся предыдущей теоремой.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \Sigma_{i+1}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;L =\{x \colon \exists y_1 \forall y_2 \ldots Q y_{i+1} R_L^{i+1}(x, y_1 \ldots y_{i+1})\}&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;\forall y_2 \exists y_3 \ldots Q y_{i+1} R_L^{i+1}(x, y_1 \ldots y_{i+1}) = f(x, y_1)&amp;lt;/tex&amp;gt;. Получим язык &amp;lt;tex&amp;gt;L_f = \{ \langle x, y_1 \rangle \colon f(x, y_1) = 1\}&amp;lt;/tex&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;L_f \in \Pi_i&amp;lt;/tex&amp;gt;, и из условия теоремы &amp;lt;tex&amp;gt;L_f \in \Sigma_i&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
По определению сложностного класса &amp;lt;tex&amp;gt;\Sigma_i \; \exists R_{L_f}^i \colon \langle x, y_1 \rangle \in L_f \Leftrightarrow \exists y_2 \forall y_3 \ldots Q y_{i+1} R_{L_f}^i(\langle x, y_1 \rangle, y_2 \ldots y_{i+1})&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;x \in L \Leftrightarrow \exists \langle y_1, y_2 \rangle \forall y_3 \ldots Q y_{i+1} R_L^i(x, \langle y_1, y_2\rangle \ldots y_{i+1})&amp;lt;/tex&amp;gt;. &amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;lt;tex&amp;gt;R_L^i(x, \langle y_1, y_2\rangle, y_3, \ldots, y_{i+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;R_{L_f}^i(\langle x, y_1\rangle, y_2, y_3, \ldots y_{i+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;L \in \Sigma_i&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Заметим, что при &amp;lt;tex&amp;gt;i = 0&amp;lt;/tex&amp;gt; теорема, скорее всего, неверна. Так как если взять язык &amp;lt;tex&amp;gt;L \in \Sigma_1&amp;lt;/tex&amp;gt; и выполнить все шаги доказательства, то на выходе получится язык из &amp;lt;tex&amp;gt;\Sigma_1&amp;lt;/tex&amp;gt;, а не из &amp;lt;tex&amp;gt;\Sigma_0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Классы PH, Σ и Π]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D1%8B_%D0%BE_%D0%BA%D0%BE%D0%BB%D0%BB%D0%B0%D0%BF%D1%81%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B8%D0%BD%D0%BE%D0%BC%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8&amp;diff=22180</id>
		<title>Теоремы о коллапсе полиномиальной иерархии</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D1%8B_%D0%BE_%D0%BA%D0%BE%D0%BB%D0%BB%D0%B0%D0%BF%D1%81%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B8%D0%BD%D0%BE%D0%BC%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D0%B8&amp;diff=22180"/>
				<updated>2012-05-10T16:19:34Z</updated>
		
		<summary type="html">&lt;p&gt;Andrey.Eremeev: /* Теорема о коллапсе полиномиальной иерархии при совпадении \Sigma_i и \Sigma_{i+1} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Лемма&lt;br /&gt;
|statement = Если &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Pi_i = \Pi_{i+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &amp;lt;tex&amp;gt;L \in \Pi_{i+1} \Leftrightarrow \overline{L} \in \Sigma_{i+1} \Leftrightarrow \overline{L} \in \Sigma_i \Leftrightarrow L \in \Pi_i&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о коллапсе полиномиальной иерархии при совпадении &amp;lt;tex&amp;gt;\Sigma_i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\Sigma_{i+1}&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = Если существует &amp;lt;tex&amp;gt;i \colon \Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_i = PH&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = Для доказательства теоремы достаточно показать, что если такое &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; существует, то &amp;lt;tex&amp;gt;\forall j &amp;gt; i&amp;lt;/tex&amp;gt; верно, что &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_j&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Докажем по индукции.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''База'''. &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt; из условия.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Индукционный переход'''. Докажем, что если &amp;lt;tex&amp;gt;\Sigma_n = \Sigma_{n+1}&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_{n+1} = \Sigma_{n+2}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \Sigma_{n+2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;L = \{x \colon \exists y_1 \forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2})\}&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;\forall y_2 \ldots Q y_{n+2} R_L^{n+2}(x, y_1 \ldots y_{n+2}) = f(x, y_1)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Тогда получим язык &amp;lt;tex&amp;gt;L_f = \{\langle x, y_1\rangle \colon f(x, y_1) = 1\}&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Заметим, что &amp;lt;tex&amp;gt;L_f \in \Pi_{n+1}&amp;lt;/tex&amp;gt; и из вышедоказанной леммы следует, что &amp;lt;tex&amp;gt;L_f \in \Pi_n&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Из определения сложностного класса &amp;lt;tex&amp;gt;\Pi_n&amp;lt;/tex&amp;gt; получаем, что &amp;lt;tex&amp;gt;\exists R_{L_f}^{n} \colon \langle x, y_1 \rangle \in L_f \Leftrightarrow \forall y_2 \exists y_3 \ldots Q y_{n+1} R_{L_f}^{n}(\langle x, y_1\rangle, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;. Следовательно, &amp;lt;tex&amp;gt;x \in L \Leftrightarrow \exists y_1 \forall y_2 \ldots Q y_{n+1} R_{L_f}^{n}(\langle x, y_1\rangle, y_2 \ldots y_{n+1})&amp;lt;/tex&amp;gt;. То есть язык &amp;lt;tex&amp;gt;L \in \Sigma_{n+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Теорема о коллапсе полиномиальной иерархии при совпадении &amp;lt;tex&amp;gt;\Sigma_i&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\Pi_i&amp;lt;/tex&amp;gt; ==&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement = Если существует &amp;lt;tex&amp;gt;i &amp;gt; 0\colon \Sigma_i = \Pi_i&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;\Sigma_i = PH&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof = &lt;br /&gt;
Для доказательства покажем, что &amp;lt;tex&amp;gt;\Sigma_i = \Sigma_{i+1}&amp;lt;/tex&amp;gt;, и воспользуемся предыдущей теоремой.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим язык &amp;lt;tex&amp;gt;L \in \Sigma_{i+1}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;L =\{x \colon \exists y_1 \forall y_2 \ldots Q y_{i+1} R_L^{i+1}(x, y_1 \ldots y_{i+1})\}&amp;lt;/tex&amp;gt;. Обозначим &amp;lt;tex&amp;gt;\forall y_2 \exists y_3 \ldots Q y_{i+1} R_L^{i+1}(x, y_1 \ldots y_{i+1}) = f(x, y_1)&amp;lt;/tex&amp;gt;. Получим язык &amp;lt;tex&amp;gt;L_f = \{ \langle x, y_1 \rangle \colon f(x, y_1) = 1\}&amp;lt;/tex&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Тогда &amp;lt;tex&amp;gt;L_f \in \Pi_i&amp;lt;/tex&amp;gt;, и из условия теоремы &amp;lt;tex&amp;gt;L_f \in \Sigma_i&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
По определению сложностного класса &amp;lt;tex&amp;gt;\Sigma_i \; \exists R_{L_f}^i \colon \langle x, y_1 \rangle \in L_f \Leftrightarrow \exists y_2 \forall y_3 \ldots Q y_{i+1} R_{L_f}^i(\langle x, y_1 \rangle, y_2 \ldots y_{i+1})&amp;lt;/tex&amp;gt;. Тогда &amp;lt;tex&amp;gt;x \in L \Leftrightarrow \exists \langle y_1, y_2 \rangle \forall y_3 \ldots Q y_{i+1} R_L^i(x, \langle y_1, y_2\rangle \ldots y_{i+1})&amp;lt;/tex&amp;gt;. &amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;lt;tex&amp;gt;R_L^i(x, \langle y_1, y_2\rangle, y_3, \ldots, y_{i+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' &amp;lt;tex&amp;gt;R_{L_f}^i(\langle x, y_1\rangle, y_2, y_3, \ldots y_{i+1})&amp;lt;/tex&amp;gt;&lt;br /&gt;
Значит, &amp;lt;tex&amp;gt;L \in \Sigma_i&amp;lt;/tex&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Заметим, что при &amp;lt;tex&amp;gt;i = 0&amp;lt;/tex&amp;gt; теорема, скорее всего, неверна. Так как если взять язык &amp;lt;tex&amp;gt;L \in \Sigma_1&amp;lt;/tex&amp;gt; и выполнить все шаги доказательства, то на выходе получится язык из &amp;lt;tex&amp;gt;\Sigma_1&amp;lt;/tex&amp;gt;, а не из &amp;lt;tex&amp;gt;\Sigma_0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
*[[Классы PH, Σ и Π]]&lt;/div&gt;</summary>
		<author><name>Andrey.Eremeev</name></author>	</entry>

	</feed>