Изменения

Перейти к: навигация, поиск
Нет описания правки
Выполним [[M-сводимость|m-сведение]] множества пар из машины Тьюринга (МТ) <tex>M</tex> и строки <tex>w</tex>, где <tex>M(w)</tex> не зависает, к множеству решений МПСП.
Назовём '''снимком''' состояния МТ строку вида <tex>c_1 c_2 \ldots c_k \#_p c_{k+1} \ldots c_t</tex>, где <tex>c_1 c_2 \ldots c_t</tex> — строка на ленте без учёта , за исключением бесконечных последовательностей пробеловслева и справа, <tex>p</tex> — текущее состояние автомата МТ, головка расположена справа от <tex>\#_p</tex> соответствует положению головки. Построим последовательности таким образом, чтобы решение МПСП образовывало строку
<tex>\$ snap_1 \$ snap_2 \$ \ldots \$ snap_n \$ snap_{n_{-1}} \$ snap_{n_{-2}} \$ \ldots \$ \#_{yes} \$ \$</tex>,
где <tex>snap_i</tex> — снимки последовательных состояний МТ от стартового до конечного, <tex>snap_{n_{-t}}</tex> — последний снимок с <tex>t</tex> удалёнными символами строки. Оговоримся, что состояния <tex>no</tex> в автомате МТ не существует (его роль может выполнять сток), допуск происходит при попадании в состояние <tex>yes</tex>.
Сформируем последовательности <tex>a</tex> и <tex>b</tex> по МТ <tex>M</tex> и строке <tex>w</tex>.
<tex>a_1 = \$ ' \#_{start} w \$ </tex>, <tex>b_1 = \$'</tex>;
для всех символов <tex>c</tex> алфавита ленты (за исключением пробела):
<tex>a_i = c</tex>, <tex>b_i = c</tex>,
<tex>a_i = \#_q d</tex>, <tex>b_i = \#_p c</tex>.
Такие последовательности позволяют сформировать строки Заметим, что все элементы <tex>a</tex> и <tex>b</tex>, кроме первых, имеют одинаковую длину. Значит, строка, составленная из элементов <tex>a</tex>, всегда оказывается длиннее. Если представить процесс формирования решения МПСП как динамический, вторая строка вынуждена постоянно «догонять» первую. Более того, можно доказать по индукции, что если первая строка имеет вид <tex>\$ ' snap_1 \$ snap_2 \$ \ldots \$ snap_n \$</tex> (из <tex>a</tex>) и , то вторая будет равна <tex>\$ ' snap_1 \$ snap_2 \$ \ldots \$ snap_{n-1} \$</tex> (из , а через несколько шагов они примут вид <tex>b\$' snap_1 \$ snap_2 \$ \ldots \$ snap_n \$ snap_{n+1} \$</tex>)  и только их, но решения МПСП быть не может, так как все члены последовательностей, кроме первого, имеют равную длину, и строка, составленная из элементов  <tex>a\$' snap_1 \$ snap_2 \$ \ldots \$ snap_n \$</tex>, всегда оказывается длиннее соответственно.
Задача — получить равные строки, если состояние <tex>\#_{yes}</tex> достижимо. Для этого добавим в уже имеющиеся последовательности следующие элементы:
для всех символов <tex>c</tex> алфавита ленты (за исключением пробела):
<tex>a_i = \#_{yes}</tex>, <tex>b_i = \#_{yes} c</tex>,
а также
<tex>a_i = \$'</tex>, <tex>b_i = \#_{yes} \$ \$'</tex>.
С помощью Если состояние <tex>yes</tex> недостижимо, в первой строке никогда не будет символа <tex>\#_{yes}</tex>, и ни одним из новых элементов можно привести обе воспользоваться не удастся. Значит, строки к виду всегда будут иметь различную длину.
Если же допускающее состояние встретится, с помощью новых элементов можно будет привести обе строки к виду  <tex>\$ snap_1 \$ snap_2 \$ \ldots \$ snap_n \$ snap_{n_{-1}} \$ snap_{n_{-2}} \$ \ldots \$ \#_{yes} \$ \$</tex>,.
но только тогда, когда в <tex>snap_n</tex> содержится <tex>\#_{yes}</tex>; другими Другими словами, «сравнять» строки возможно тогда и только тогда, когда автомат, принадлежащий <tex>M</tex>, допускает <tex>w</tex>. Таким образом, выполнено успешное m-сведение множества пар из машины Тьюринга (МТ) <tex>M</tex> и строки <tex>w</tex>, где <tex>M(w)</tex> не зависает, к множеству решений МПСП.
}}
|-
|1
|<tex>\$ ' \#_{start} ab \$</tex> |<tex>\$'</tex>
|-
|2
|-
|11
|<tex>\$'</tex> |<tex>\#_{yes} \$ \$'</tex>
|}
|align="center" | 1
|align="center" | 1
|<tex>\$ ' \#_{start} ab \$</tex> |<tex>\$'</tex>
|-
|align="center" | 2
|align="center" | 5
|<tex>\$ ' \#_{start} ab \$ b \#_{start}</tex> |<tex>\$ ' \#_{start} a</tex>
|-
|align="center" | 3
|align="center" | 3
|<tex>\$ ' \#_{start} ab \$ b \#_{start} b</tex> |<tex>\$ ' \#_{start} ab</tex>
|-
|align="center" | 4
|align="center" | 4
|<tex>\$ ' \#_{start} ab \$ b \#_{start} b\$</tex> |<tex>\$ ' \#_{start} ab \$</tex>
|-
|align="center" | 5
|align="center" | 3
|<tex>\$ ' \#_{start} ab \$ b \#_{start} b\$ b</tex> |<tex>\$ ' \#_{start} ab \$ b</tex>
|-
|align="center" | 6
|align="center" | 6
|<tex>\$ ' \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b</tex> |<tex>\$ ' \#_{start} ab \$ b \#_{start} b</tex>
|-
|align="center" | 7
|align="center" | 4
|<tex>\$ ' \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$</tex> |<tex>\$ ' \#_{start} ab \$ b \#_{start} b \$</tex>
|-
|align="center" | 8
|align="center" | 8
|<tex>\$ ' \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes}</tex> |<tex>\$ ' \#_{start} ab \$ b \#_{start} b \$ b \#_{yes}</tex>
|-
|align="center" | 9
|align="center" | 3
|<tex>\$ ' \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b</tex> |<tex>\$ ' \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b</tex>
|-
|align="center" | 10
|align="center" | 4
|<tex>\$ ' \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b \$</tex> |<tex>\$ ' \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$</tex>
|-
|align="center" | 11
|align="center" | 10
|<tex>\$ ' \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b \$ \#_{yes}</tex> |<tex>\$ ' \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$ \#_{yes} b</tex>
|-
|align="center" | 12
|align="center" | 4
|<tex>\$ ' \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b \$ \#_{yes} \$</tex> |<tex>\$ ' \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$ \#_{yes} b \$</tex>
|-
|align="center" | 13
|align="center" | 11
|<tex>\$ ' \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b \$ \#_{yes} \$ \$'</tex> |<tex>\$ ' \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$ \#_{yes} b \$ \#_{yes} \$ \$'</tex>
|}
171
правка

Навигация