<?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=5.175.93.46&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=5.175.93.46&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/5.175.93.46"/>
		<updated>2026-06-10T15:39:50Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BD%D0%B5%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D0%BC%D1%8B%D1%85_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87:_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_%D1%81%D0%BE%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B8%D0%B9_%D0%9F%D0%BE%D1%81%D1%82%D0%B0&amp;diff=42948</id>
		<title>Примеры неразрешимых задач: проблема соответствий Поста</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%BD%D0%B5%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D0%BC%D1%8B%D1%85_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87:_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_%D1%81%D0%BE%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B8%D0%B9_%D0%9F%D0%BE%D1%81%D1%82%D0%B0&amp;diff=42948"/>
				<updated>2014-12-28T11:48:59Z</updated>
		
		<summary type="html">&lt;p&gt;5.175.93.46: english term&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Проблема соответствий Поста''' (англ. ''Post correspondence problem'') - один из основных примеров неразрешимой задачи, использующийся для доказательства неразрешимости многих других задач.&lt;br /&gt;
&lt;br /&gt;
== Основные определения ==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Даны два конечных списка &amp;lt;tex&amp;gt;A = (a_1, \ldots, a_n)&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B = (b_1 ,\ldots ,b_n)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;a_i \in \Sigma ^*&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;b_i \in \Sigma ^*&amp;lt;/tex&amp;gt; для всех &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt;. Вопрос существования непустой последовательности индексов &amp;lt;tex&amp;gt;(i_1 , \ldots, i_k)&amp;lt;/tex&amp;gt;, удовлетворяющей условию &amp;lt;tex&amp;gt;a_{i_1} \ldots a_{i_k} = b_{i_1} \ldots b_{i_k}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;1 \leq i_j \leq n&amp;lt;/tex&amp;gt; для всех j, называется '''проблемой соответствий Поста (ПСП)'''. Такую последовательность индексов, в случае её существования, называют '''решением проблемы соответствий Поста'''.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
Проблема соответствий Поста, для которой фиксирован элемент последовательности индексов &amp;lt;tex&amp;gt;i_1 = 1&amp;lt;/tex&amp;gt;, называется '''модифицированной проблемой соответствий Поста (МПСП)'''.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Перечислимость языка ПСП ==&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
Язык пар последовательностей, для которых существует решение ПСП, перечислим.&lt;br /&gt;
|proof=&lt;br /&gt;
Для списков &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; размера &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; из условия ПСП построим программу-полуразрешитель &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt;, проверяющую все возможные решения:&lt;br /&gt;
  for &amp;lt;tex&amp;gt;m = 1 .. \infty&amp;lt;/tex&amp;gt;&lt;br /&gt;
    for all &amp;lt;tex&amp;gt;(i_1, i_2, \ldots, i_m): 1 \leq i_j \leq n&amp;lt;/tex&amp;gt;&lt;br /&gt;
      if &amp;lt;tex&amp;gt;a_{i_1} \ldots a_{i_m} = b_{i_1} \ldots b_{i_m}&amp;lt;/tex&amp;gt;&lt;br /&gt;
        return true&lt;br /&gt;
Таким образом, язык пар последовательностей, для которых существует решение ПСП, полуразрешим, а значит, перечислим.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Для МПСП доказательство перечислимости имеющих решение пар аналогично, но перебор индексов ведётся с &amp;lt;tex&amp;gt;i_2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Неразрешимость языка ПСП ==&lt;br /&gt;
&lt;br /&gt;
Докажем неразрешимость языка ПСП следующим образом. Докажем, что универсальный язык [[M-сводимость|сводится]] к языку МПСП, который в свою очередь сводится к языку ПСП. &lt;br /&gt;
&lt;br /&gt;
Для начала покажем как свести МПСП к ПСП.&lt;br /&gt;
&lt;br /&gt;
Пусть даны списки &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; из условия МПСП. Построим два новых списка &amp;lt;tex&amp;gt;C&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;D&amp;lt;/tex&amp;gt; и рассмотрим ПСП для них. Для этого введем два новых символа, которые не используются в словах из цепочек &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. Пусть для определенности это будут символы &amp;lt;tex&amp;gt;\#&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\$&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тогда сформируем два новых списка &amp;lt;tex&amp;gt;C, D&amp;lt;/tex&amp;gt; по следующим правилам:&lt;br /&gt;
* Для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; возьмем &amp;lt;tex&amp;gt;c_i&amp;lt;/tex&amp;gt; равное слову &amp;lt;tex&amp;gt;a_i&amp;lt;/tex&amp;gt; с символом &amp;lt;tex&amp;gt;\#&amp;lt;/tex&amp;gt; после каждого его символа. Например, для &amp;lt;tex&amp;gt;a_i = 10zx&amp;lt;/tex&amp;gt; положим &amp;lt;tex&amp;gt;c_i = 1\#0\#z\#x\#&amp;lt;/tex&amp;gt;;&lt;br /&gt;
* Для всех &amp;lt;tex&amp;gt;i = 1 \ldots n&amp;lt;/tex&amp;gt; возьмем &amp;lt;tex&amp;gt;d_i&amp;lt;/tex&amp;gt; равное слову &amp;lt;tex&amp;gt;b_i&amp;lt;/tex&amp;gt; с символом &amp;lt;tex&amp;gt;\#&amp;lt;/tex&amp;gt; перед каждым его символом. Например, для &amp;lt;tex&amp;gt;b_i = 10zx&amp;lt;/tex&amp;gt; положим &amp;lt;tex&amp;gt;d_i = \#1\#0\#z\#x&amp;lt;/tex&amp;gt;;&lt;br /&gt;
* &amp;lt;tex&amp;gt;c_0 = \#c_1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
* &amp;lt;tex&amp;gt;d_0 = d_1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
* &amp;lt;tex&amp;gt;c_{n+1} = \$&amp;lt;/tex&amp;gt;;&lt;br /&gt;
* &amp;lt;tex&amp;gt;d_{n+1} = \#\$&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|id=lemma-&lt;br /&gt;
|statement=&lt;br /&gt;
МПСП для пары списков &amp;lt;tex&amp;gt;(A, B)&amp;lt;/tex&amp;gt; сводится к ПСП для пары списков &amp;lt;tex&amp;gt;(C, D)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Из определения [[M-сводимость|m-сведения]] следует, что мы должны доказать равносильность наличия решения для построенных экземпляров МПСП и ПСП.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть набор индексов &amp;lt;tex&amp;gt;(1, i_2, \ldots, i_k)&amp;lt;/tex&amp;gt; - решение МПСП из условия леммы. То есть &amp;lt;tex&amp;gt;w_A = w_B&amp;lt;/tex&amp;gt;, где &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;w_A = a_1 a_{i_2} \ldots a_{i_k}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;w_B = b_1 b_{i_2} \ldots b_{i_k}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Рассмотрев цепочки &amp;lt;tex&amp;gt;w_C&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;w_D&amp;lt;/tex&amp;gt; c аналогичными индексами, заметим, что мы имеем почти равные цепочки с той лишь разницей, что первой не хватает символа &amp;lt;tex&amp;gt;\#&amp;lt;/tex&amp;gt; в начале, а второй - в конце. Конкретно,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\# c_1 c_{i_2} \ldots c_{i_k} = d_1 d_{i_2} \ldots d_{i_k} \# &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Изменив первый индекс с &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt; на &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;, решим проблему с символом &amp;lt;tex&amp;gt;\#&amp;lt;/tex&amp;gt; в начале. Добавив индекс &amp;lt;tex&amp;gt;n+1&amp;lt;/tex&amp;gt; к набору, решим проблему с символом &amp;lt;tex&amp;gt;\#&amp;lt;/tex&amp;gt; в конце.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; c_0 c_{i_2} \ldots c_{i_k} c_{n+1} = d_0 d_{i_2} \ldots d_{i_k} d_{n+1} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Итого, если &amp;lt;tex&amp;gt;(1, i_2, \ldots, i_k)&amp;lt;/tex&amp;gt; - решение исходной МПСП, то &amp;lt;tex&amp;gt;(0, i_2, \ldots, i_k, n+1)&amp;lt;/tex&amp;gt; - решение построенной по правилам выше ПСП.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В любом существующем решении ПСП для списков &amp;lt;tex&amp;gt;C, D&amp;lt;/tex&amp;gt; должны выполняться условия: &lt;br /&gt;
* &amp;lt;tex&amp;gt;i_1 = 0&amp;lt;/tex&amp;gt;, так как только в паре &amp;lt;tex&amp;gt;(c_1, d_1)&amp;lt;/tex&amp;gt; первые символы совпадают;&lt;br /&gt;
* последний индекс равен &amp;lt;tex&amp;gt;n+1&amp;lt;/tex&amp;gt;, так как только в паре &amp;lt;tex&amp;gt;(c_{n+1}, d_{n+1})&amp;lt;/tex&amp;gt; строки заканчиваются одинаковыми символами.&lt;br /&gt;
&lt;br /&gt;
Пусть последовательность &amp;lt;tex&amp;gt;(0, i_2, i_3, \ldots, i_k, n + 1)&amp;lt;/tex&amp;gt; является решением ПСП. Иными словами,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;c_0 c_{i_2} \ldots c_{i_k} c_{n+1} = d_0 d_{i_2} \ldots d_{i_k} d_{n+1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;i_f&amp;lt;/tex&amp;gt; — наименьший индекс, равный &amp;lt;tex&amp;gt;n+1&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;c_0 c_{i_2} \ldots c_{i_f}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;d_0 d_{i_2} \ldots d_{i_f}&amp;lt;/tex&amp;gt; — префиксы исходных конкатенаций до первого символа &amp;lt;tex&amp;gt;\$&amp;lt;/tex&amp;gt;, следовательно, равны между собой. Последовательность &amp;lt;tex&amp;gt;(0, i_{2} \ldots, i_f)&amp;lt;/tex&amp;gt; — также решение ПСП, причём первый индекс равен &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;i_f = n + 1&amp;lt;/tex&amp;gt;. Остальные индексы не превосходят &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, но и не равны &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;, иначе в левой части равенства образуется подстрока из двух &amp;lt;tex&amp;gt;\#&amp;lt;/tex&amp;gt; подряд, а в правой её не может быть. Учитывая эти ограничения, перепишем получившееся равенство:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\# c_1 c_{i_2} \ldots c_{i_{f-1}}\$&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;=&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt;d_1 d_{i_2} \ldots d_{i_{f-1}} \#\$&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Оставив из этих двух строк символы, стоящие на чётных позициях, и удалив с конца &amp;lt;tex&amp;gt;\$&amp;lt;/tex&amp;gt;, получим&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;a_1 a_{i_2} \ldots a_{i_{f-1}} = b_1 b_{i_2} \ldots b_{i_{f-1}}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Итого, если &amp;lt;tex&amp;gt;(0, i_2, \ldots, i_k, n+1)&amp;lt;/tex&amp;gt; - решение ПСП, то &amp;lt;tex&amp;gt;(1, i_2, \ldots, i_k)&amp;lt;/tex&amp;gt; - решение исходной МПСП.&lt;br /&gt;
}}&lt;br /&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;c_1 c_2 \ldots c_k \#_p c_{k+1} \ldots c_t&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;c_1 c_2 \ldots c_t&amp;lt;/tex&amp;gt; — строка на ленте, за исключением бесконечных последовательностей пробелов слева и справа, &amp;lt;tex&amp;gt;p&amp;lt;/tex&amp;gt; — текущее состояние автомата МТ, головка расположена справа от &amp;lt;tex&amp;gt;\#_p&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Построим списки &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; таким образом, чтобы решение МПСП образовывало строку&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\$ snap_1 \$ snap_2 \$ \ldots \$ snap_n \$ snap_{n_{-1}} \$ snap_{n_{-2}} \$ \ldots \$ \#_{yes} \$ \$&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt;snap_i&amp;lt;/tex&amp;gt; — снимки последовательных состояний МТ от стартового до конечного, &amp;lt;tex&amp;gt;snap_{n_{-t}}&amp;lt;/tex&amp;gt; — последний снимок с &amp;lt;tex&amp;gt;t&amp;lt;/tex&amp;gt; удалёнными символами, а &amp;lt;tex&amp;gt;\$&amp;lt;/tex&amp;gt; - символ, не принадлежащий алфавиту ленты и алфавиту входных слов. Оговоримся, что отвергающего состояния &amp;lt;tex&amp;gt;no&amp;lt;/tex&amp;gt; в автомате МТ не существует, а допуск происходит при попадании в состояние &amp;lt;tex&amp;gt;yes&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Сформируем списки &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&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;. Будем добавлять пары цепочек в эти списки по следующим правилам:&lt;br /&gt;
&lt;br /&gt;
:1. &amp;lt;tex&amp;gt;a_1 = \$ \#_{start} w \$ &amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;b_1 = \$&amp;lt;/tex&amp;gt;. По определению МПСП эта пара всегда будет первой в любом решении.&lt;br /&gt;
:2. &amp;lt;tex&amp;gt;a_i = c&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;b_i = c&amp;lt;/tex&amp;gt; для всех символов &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt; алфавита ленты.&lt;br /&gt;
:3. &amp;lt;tex&amp;gt;a_i = \$&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;b_i = \$&amp;lt;/tex&amp;gt;.&lt;br /&gt;
:4. &amp;lt;tex&amp;gt;a_i = \#_q e d&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;b_i = e \#_p c&amp;lt;/tex&amp;gt; для всех правил &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; вида &amp;lt;tex&amp;gt;\delta (p, c) = \langle q, d, \leftarrow \rangle&amp;lt;/tex&amp;gt; и для всех символов алфавита &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;.&lt;br /&gt;
:5. &amp;lt;tex&amp;gt;a_i = d \#_q&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;b_i = \#_p c&amp;lt;/tex&amp;gt; для всех правил &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; вида &amp;lt;tex&amp;gt;\delta (p, c) = \langle q, d, \rightarrow \rangle&amp;lt;/tex&amp;gt;.&lt;br /&gt;
:6. &amp;lt;tex&amp;gt;a_i = \#_q d&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;b_i = \#_p c&amp;lt;/tex&amp;gt; для всех правил &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; вида &amp;lt;tex&amp;gt;\delta (p, c) = \langle q, d, \downarrow \rangle&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Заметим, что все элементы &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;, кроме первых, имеют одинаковую длину. Значит, строка, составленная из элементов &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, всегда оказывается длиннее. Если представить процесс формирования решения МПСП как динамический, то строка из элементов &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; вынуждена постоянно &amp;quot;догонять&amp;quot; первую. Более того, можно заметить, что вторая строка всегда будет отставать ровно на один снимок. Действительно, первая пара из списков &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; задает это отставание. Затем при помощи элементов из правил &amp;lt;tex&amp;gt;4&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;5&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;6&amp;lt;/tex&amp;gt; мы имитируем переход машины Тьюринга, добавляя во вторую строку то состояние и положение головки, которые были до перехода, а в первую строку - то состояние, положение головки и новый ленточный символ, которые стали после перехода. Нетрудно заметить, что тем самым строка составленная из элементов списка &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; будет соответствовать строке из элементов списка &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt;, но с отставанием на один переход. Далее с помощью элементов из правил &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt; мы допишем в обе строки одинаковые суффиксы текущего снимка, разделитель &amp;lt;tex&amp;gt;\$&amp;lt;/tex&amp;gt; и префикс нового снимка до следующего перехода машины Тьюринга. Таким образом если первая строка равна &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\$ snap_1 \$ snap_2 \$ \ldots \$ snap_n \$&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
то вторая будет равна&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\$ snap_1 \$ snap_2 \$ \ldots \$ snap_{n-1} \$&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
а через несколько шагов они изменятся на&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\$ snap_1 \$ snap_2 \$ \ldots \$ snap_n \$ snap_{n+1} \$&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\$ snap_1 \$ snap_2 \$ \ldots \$ snap_{n-1} \$ snap_n \$&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
соответственно.&lt;br /&gt;
&lt;br /&gt;
Теперь стоит новая задача — получить равные строки, если состояние &amp;lt;tex&amp;gt;\#_{yes}&amp;lt;/tex&amp;gt; достижимо. Для этого добавим в уже имеющиеся последовательности элементы по следующим правилам:&lt;br /&gt;
&lt;br /&gt;
:7. &amp;lt;tex&amp;gt;a_i = \#_{yes}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;b_i = \#_{yes} c&amp;lt;/tex&amp;gt;, для всех символов &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt; алфавита ленты.&lt;br /&gt;
:8. &amp;lt;tex&amp;gt;a_i = \#_{yes}&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;b_i = c \#_{yes}&amp;lt;/tex&amp;gt;, для всех символов &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt; алфавита ленты.&lt;br /&gt;
:9. &amp;lt;tex&amp;gt;a_i = \$'&amp;lt;/tex&amp;gt;, &amp;lt;tex&amp;gt;b_i = \#_{yes} \$ \$'&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Если состояние &amp;lt;tex&amp;gt;yes&amp;lt;/tex&amp;gt; недостижимо, в первой строке никогда не будет символа &amp;lt;tex&amp;gt;\#_{yes}&amp;lt;/tex&amp;gt;, и ни одним из новых элементов воспользоваться не удастся. Значит, строки всегда будут иметь различную длину.&lt;br /&gt;
&lt;br /&gt;
Если же допускающее состояние встретится, то &amp;quot;съедая&amp;quot; по одному символу с помощью элементов правил &amp;lt;tex&amp;gt;7&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;8&amp;lt;/tex&amp;gt; и копируя все остальные с помощью элементов из правил &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;3&amp;lt;/tex&amp;gt; можно будет привести строки к виду &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\$ snap_1 \$ snap_2 \$ \ldots \$ snap_n \$ snap_{n_{-1}} \$ snap_{n_{-2}} \$ \ldots \$ \#_{yes} \$&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\$ snap_1 \$ snap_2 \$ \ldots \$ snap_n \$ snap_{n_{-1}} \$ snap_{n_{-2}} \$ \ldots \$ &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
И наконец, с помощью элементов из правила &amp;lt;tex&amp;gt;9&amp;lt;/tex&amp;gt; сравняем строки.&lt;br /&gt;
&lt;br /&gt;
=== Пример ===&lt;br /&gt;
&lt;br /&gt;
Пусть автомат МТ состоит из двух состояний &amp;lt;tex&amp;gt;start&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;yes&amp;lt;/tex&amp;gt;, алфавит ленты содержит символы &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt;. Переходы автомата устроены следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\delta (start, a) = \langle start, b, \rightarrow \rangle&amp;lt;/tex&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\delta (start, b) = \langle yes, b, \downarrow \rangle&amp;lt;/tex&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
из &amp;lt;tex&amp;gt;yes&amp;lt;/tex&amp;gt; переходов нет.&lt;br /&gt;
&lt;br /&gt;
Списки &amp;lt;tex&amp;gt;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt; для строки &amp;lt;tex&amp;gt;ab&amp;lt;/tex&amp;gt; будут сформированы следующим образом:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! Номер элемента&lt;br /&gt;
 ! Список A&lt;br /&gt;
 ! Список B&lt;br /&gt;
 |-&lt;br /&gt;
 |1&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |2&lt;br /&gt;
 |&amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |3&lt;br /&gt;
 |&amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |4&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |5&lt;br /&gt;
 |&amp;lt;tex&amp;gt;b \#_{start}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\#_{start} a&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |6&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\#_{yes} b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\#_{start} b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |7&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\#_{yes}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;a \#_{yes}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |8&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\#_{yes}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;b \#_{yes}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |9&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\#_{yes}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\#_{yes} a&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |10&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\#_{yes}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\#_{yes} b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |11&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$'&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\#_{yes} \$ \$'&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
Решение МПСП будет иметь следующий вид:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! Шаг&lt;br /&gt;
 ! Индекс элемента&lt;br /&gt;
 ! Первая строка&lt;br /&gt;
 ! Вторая строка&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} a&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b\$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b\$ b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b \$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 9&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 10&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b \$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 11&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 10&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b \$ \#_{yes}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$ \#_{yes} b&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b \$ \#_{yes} \$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$ \#_{yes} b \$&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 13&lt;br /&gt;
 |align=&amp;quot;center&amp;quot; | 11&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$ \#_{yes} b \$ \#_{yes} \$ \$'&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |&amp;lt;tex&amp;gt;\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$ \#_{yes} b \$ \#_{yes} \$ \$'&amp;lt;/tex&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Универсальный язык сводится к МПСП.&lt;br /&gt;
|proof=&lt;br /&gt;
Из определения [[M-сводимость|m-сведения]] следует, что мы должны доказать, что машина Тьюринга &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; допускает &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; тогда и только тогда, когда построенный экземпляр МПСП имеет решение.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Rightarrow&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt; допускается &amp;lt;tex&amp;gt;M&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;A&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;B&amp;lt;/tex&amp;gt;. То есть найти решение МПСП.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\Leftarrow&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поскольку все решения МПСП должны начинаться с первой пары, то длина соответствующих строк будет различаться, и, как было сказано выше, если в первой строке никогда не будет символа &amp;lt;tex&amp;gt;\#_{yes}&amp;lt;/tex&amp;gt;, то &amp;quot;сравнять&amp;quot; строки по длине не удастся. Значит, если МПСП имеет решение, то символ &amp;lt;tex&amp;gt;\#_{yes}&amp;lt;/tex&amp;gt; рано или поздно появится. А значит и машина Тьюринга допустит &amp;lt;tex&amp;gt;w&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=&lt;br /&gt;
ПСП не разрешима.&lt;br /&gt;
|proof=&lt;br /&gt;
Скомбинировав обе леммы, мы сведем универсальный язык к языку ПСП, а так как универсальный язык неразрешим, то и ПСП - неразрешима.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
* Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — М.:Издательский дом «Вильямс», 2008. — С. 528. — ISBN 5-8459-1347-0&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Post_correspondence_problem Post correspondence problem - Wikipedia]&lt;/div&gt;</summary>
		<author><name>5.175.93.46</name></author>	</entry>

	</feed>