<?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=91.122.24.175&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=91.122.24.175&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/91.122.24.175"/>
		<updated>2026-04-11T12:48:50Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=PS-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_%D0%B2%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D0%B1%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D1%85_%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%BB_%D1%81_%D0%BA%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D1%80%D0%B0%D0%BC%D0%B8_(TQBF)&amp;diff=23167</id>
		<title>PS-полнота языка верных булевых формул с кванторами (TQBF)</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=PS-%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%82%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_%D0%B2%D0%B5%D1%80%D0%BD%D1%8B%D1%85_%D0%B1%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D1%85_%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%BB_%D1%81_%D0%BA%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D1%80%D0%B0%D0%BC%D0%B8_(TQBF)&amp;diff=23167"/>
				<updated>2012-06-01T16:40:25Z</updated>
		
		<summary type="html">&lt;p&gt;91.122.24.175: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Определение&lt;br /&gt;
|definition=&amp;lt;tex&amp;gt;TQBF&amp;lt;/tex&amp;gt; расшифровывается как True Quantified Boolean Formula. Это язык верных булевых формул с кванторами.&lt;br /&gt;
&amp;lt;tex&amp;gt;TQBF=\{Q_1 x_1 Q_2 x_2 \cdots Q_n x_n \phi(x_1, x_2, \dots, x_n), Q_i \in \{\forall, \exists\}\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Чтобы доказать, что &amp;lt;tex&amp;gt;TQBF \in PSPACE-complete&amp;lt;/tex&amp;gt;, необходимо показать, что эта задача принадлежит &amp;lt;tex&amp;gt;PSPACE&amp;lt;/tex&amp;gt; и что она &amp;lt;tex&amp;gt;PSPACE&amp;lt;/tex&amp;gt;-трудная.&lt;br /&gt;
{{Лемма&lt;br /&gt;
|about=1&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt;TQBF \in PSPASE&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=Чтобы доказать это, просто приведём программу &amp;lt;tex&amp;gt;solve&amp;lt;/tex&amp;gt;, решающую булеву формулу с кванторами на &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt; дополнительной памяти и работающую за конечное время.&lt;br /&gt;
 &amp;lt;tex&amp;gt;solve(Q_1 x_1 Q_2 x_2 \cdots Q_n x_n \phi(x_1, x_2, \dots, x_n))&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' &amp;lt;tex&amp;gt;Q_1 == \forall&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''return''' &amp;lt;tex&amp;gt;solve(Q_2 x_2 \cdots Q_n x_n \phi(0, x_2, \dots, x_n)) \land solve(Q_2 x_2 \cdots Q_n x_n \phi(1, x_2, \dots, x_n))&amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''if''' &amp;lt;tex&amp;gt;Q_1 == \exists&amp;lt;/tex&amp;gt;&lt;br /&gt;
         '''return''' &amp;lt;tex&amp;gt;solve(Q_2 x_2 \cdots Q_n x_n \phi(0, x_2, \dots, x_n)) \lor solve(Q_2 x_2 \cdots Q_n x_n \phi(1, x_2, \dots, x_n))&amp;lt;/tex&amp;gt;&lt;br /&gt;
Эта программа требует &amp;lt;tex&amp;gt;O(n)&amp;lt;/tex&amp;gt; дополнительной памяти для хранения стека рекурсивных вызовов. Максимальная глубина стека — &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|about=2&lt;br /&gt;
|statement=&amp;lt;tex&amp;gt; \forall L \in PS , L \leq_p TQBF&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=Рассмотрим какой-то язык &amp;lt;tex&amp;gt;L \in PSPACE&amp;lt;/tex&amp;gt;. &lt;br /&gt;
Построим функцию &amp;lt;tex&amp;gt;f \colon \forall x \in L \Leftrightarrow f(x) \in TQBF&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Так как &amp;lt;tex&amp;gt;L \in PSPACE&amp;lt;/tex&amp;gt;, то существует какая-то детерминированная машина Тьюринга &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, которая его распознаёт за полиномиальное от размера входа время.&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; — мгновенное описание &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, тогда выражение &amp;lt;tex&amp;gt;\exists I&amp;lt;/tex&amp;gt; обозначает &amp;lt;tex&amp;gt; (\exists x_1) (\exists x_2)\cdots(\exists x_n)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\{x_i\}&amp;lt;/tex&amp;gt; — все переменные мгновенного описания &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;. Аналогично выражение &amp;lt;tex&amp;gt; \forall I&amp;lt;/tex&amp;gt; обозначает &amp;lt;tex&amp;gt; (\forall x_1) (\forall x_2)\dots(\forall x_n)&amp;lt;/tex&amp;gt;. Теперь рассмотрим два мгновенных описание &amp;lt;tex&amp;gt;M: A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Напишем рекурсивную функцию &amp;lt;tex&amp;gt;\phi(A, B, t)&amp;lt;/tex&amp;gt;, которая будет переводить утверждение &amp;lt;tex&amp;gt;A\vdash^tB&amp;lt;/tex&amp;gt; в TQBF за полиномиальное относительно длины входа время. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\phi(A, B, t) = \\ (\exists R) (\forall U) (\forall V) \ \{\phi(U, V, t/2) \lor [\neg(A = U \land R = V) \land \neg(R = U \land B = V)]\}&amp;lt;/tex&amp;gt; &lt;br /&gt;
:Переменые &amp;lt;tex&amp;gt; U &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;V&amp;lt;/tex&amp;gt; важно рассмотреть только в двух случаях: когда первое из них стартовое, второе — промежуточное, или первое — промежуточное, а второе — финишное. Поэтому для всех остальных вариантов выражение &amp;lt;tex&amp;gt;[\neg(A = U \land R = V) \land \neg(R = U \land B = V)]&amp;lt;/tex&amp;gt; будет истинно. Если &amp;lt;tex&amp;gt;A = U \land R = V&amp;lt;/tex&amp;gt; то, чтобы &amp;lt;tex&amp;gt;\phi(A, B, t)&amp;lt;/tex&amp;gt; было истинно, необходимо наличие такого мгновенного описания &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;, чтобы было выполненно утверждение: &amp;lt;tex&amp;gt;A\vdash^{t/2}R&amp;lt;/tex&amp;gt;. Если &amp;lt;tex&amp;gt;R = U \land B = V&amp;lt;/tex&amp;gt; то, нас интересует мгновенное описание &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt; такое, что &amp;lt;tex&amp;gt;R\vdash^{t/2}B&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Заметим, что размер функции &amp;lt;tex&amp;gt;\phi(A, B, t)&amp;lt;/tex&amp;gt; равен размеру &amp;lt;tex&amp;gt;\phi(A, B, t/2)&amp;lt;/tex&amp;gt; с константной добавкой &amp;lt;tex&amp;gt;(\exists R) (\forall U) (\forall V) \ \{\ * \lor [\neg(A = U \land B = R) \land \neg(A = R \land B = V)]\}&amp;lt;/tex&amp;gt; .&lt;br /&gt;
Теперь мы можем записать функцию &amp;lt;tex&amp;gt;f(M, w)&amp;lt;/tex&amp;gt;, которая будет переводить ДМТ &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и слово на ленте &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;TQBF&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;f(M, w) = (\exists I_s) (\exists I_f) (x_{I_s, 0} = start \land x_{I_s, 1} = w[1] \land \dots \land x_{I_s, |w|} = w[|w|]) \land ((\exists i) x_{I_f, i} = finish) \land \phi(Start, Finish, 2^{log_2(c^{1+p(n)}})&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Докажем, что получившаяся булева формула с кванторами удовлетворима тогда и только тогда, когда &amp;lt;tex&amp;gt;w \in L&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;w \in L&amp;lt;/tex&amp;gt;, то стартовое и финишное состояние заданы корректно. Также из стартового состояния можно попасть в финишное за полиномиальное время. &lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;w \not\in L&amp;lt;/tex&amp;gt;, то если мы зададим корректное стартовое состояние, то пути до корректного финишного состояния существовать не может.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория сложности]]&lt;/div&gt;</summary>
		<author><name>91.122.24.175</name></author>	</entry>

	</feed>