Примеры неразрешимых задач: проблема соответствий Поста — различия между версиями
Shevchen (обсуждение | вклад) м |
Shevchen (обсуждение | вклад) |
||
| Строка 27: | Строка 27: | ||
МПСП неразрешима. | МПСП неразрешима. | ||
|proof= | |proof= | ||
| − | Выполним [[M-сводимость|m-сведение]] множества | + | Выполним [[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> | + | где <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>\ | + | <tex>a_1 = \$ \#_{start} w \$ </tex>, <tex>b_1 = \$</tex>; |
| − | |||
| − | + | для всех символов <tex>c</tex> алфавита ленты (за исключением пробела): | |
| − | |||
| − | + | <tex>a_i = c</tex>, <tex>b_i = c</tex>, | |
| − | + | а также | |
| − | <tex> | + | <tex>a_i = \$</tex>, <tex>b_i = \$</tex>; |
| − | + | для всех правил <tex>M</tex> вида <tex>\delta (p, c) = \langle q, d, \leftarrow \rangle</tex>: | |
| − | + | ||
| − | + | <tex>a_i = \#_q d</tex>, <tex>b_i = c \#_p</tex>; | |
| − | + | ||
| + | для всех правил <tex>M</tex> вида <tex>\delta (p, c) = \langle q, d, \rightarrow \rangle</tex>: | ||
| + | |||
| + | <tex>a_i = d \#_q</tex>, <tex>b_i = \#_p c</tex>; | ||
| + | |||
| + | для всех правил <tex>M</tex> вида <tex>\delta (p, c) = \langle q, d, \downarrow \rangle</tex>: | ||
| + | |||
| + | <tex>a_i = \#_q d</tex>, <tex>b_i = \#_p c</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</tex>), но решения МПСП быть не может, так как все члены последовательностей, кроме первого, имеют равную длину, и строка, составленная из элементов <tex>a</tex>, всегда оказывается длиннее. | ||
| + | |||
| + | Задача — получить равные строки, если состояние <tex>\#_{yes}</tex> достижимо. Для этого добавим в уже имеющиеся последовательности следующие элементы: | ||
| + | |||
| + | для всех символов <tex>c</tex> алфавита ленты (за исключением пробела): | ||
| + | |||
| + | <tex>a_i = \#_{yes}</tex>, <tex>b_i = \#_{yes} c</tex>, | ||
| + | |||
| + | <tex>a_i = \#_{yes}</tex>, <tex>b_i = c \#_{yes}</tex>, | ||
| + | |||
| + | а также | ||
| + | |||
| + | <tex>a_i = \$ \$</tex>, <tex>b_i = <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> не зависает, к множеству решений МПСП. | ||
| − | |||
}} | }} | ||
Версия 08:04, 21 января 2012
| Определение: |
| Дана упорядоченная пара конечных последовательностей , где и для всех . Вопрос существования непустой последовательности индексов , удовлетворяющей условию , где для каждого j, называется проблемой соответствий Поста (ПСП). Такую последовательность индексов, в случае её существования, называют решением проблемы соответствий Поста. |
| Определение: |
| Проблема соответствий Поста, для которой фиксирован элемент последовательности индексов , называется модифицированной проблемой соответствий Поста (МПСП). |
| Утверждение: |
Язык пар последовательностей, для которых существует решение ПСП, перечислим. |
|
Пусть даны последовательности и размера из условия ПСП. Построим программу-полуразрешитель , проверяющую все возможные решения: for for all if return trueТаким образом, язык пар последовательностей, для которых существует решение ПСП, полуразрешим, а значит, перечислим. |
Для МПСП доказательство перечислимости имеющих решение пар аналогично, но перебор индексов ведётся с .
| Теорема: |
МПСП неразрешима. |
| Доказательство: |
|
Выполним m-сведение множества пар из машины Тьюринга (МТ) и строки , где не зависает, к множеству решений МПСП. Назовём снимком состояния МТ строку вида , где — строка на ленте без учёта пробелов, — текущее состояние автомата МТ, соответствует положению головки. Построим последовательности таким образом, чтобы решение МПСП образовывало строку , где — снимки последовательных состояний МТ от стартового до конечного, — последний снимок с удалёнными символами строки. Оговоримся, что состояния в автомате МТ не существует (его роль может выполнять сток), допуск происходит при попадании в состояние . Сформируем последовательности и по МТ и строке . , ; для всех символов алфавита ленты (за исключением пробела): , , а также , ; для всех правил вида : , ; для всех правил вида : , ; для всех правил вида : , . Такие последовательности позволяют сформировать строки (из ) и (из ), но решения МПСП быть не может, так как все члены последовательностей, кроме первого, имеют равную длину, и строка, составленная из элементов , всегда оказывается длиннее. Задача — получить равные строки, если состояние достижимо. Для этого добавим в уже имеющиеся последовательности следующие элементы: для всех символов алфавита ленты (за исключением пробела): , , , , а также , . С помощью новых элементов можно привести обе строки к виду , но только тогда, когда в содержится ; другими словами, только тогда, когда автомат, принадлежащий , допускает . Таким образом, выполнено успешное m-сведение множества пар из машины Тьюринга (МТ) и строки , где не зависает, к множеству решений МПСП. |
| Теорема: | |||||
ПСП неразрешима. | |||||
| Доказательство: | |||||
|
Выполним m-сведение множества решений МПСП к множеству решений ПСП. Пусть даны последовательности из условия МПСП. Обозначим как и строки, состоящие из символов , разделённых : , . Построим две новые последовательности :
где , — символы, не встречающиеся в словах исходных последовательностей.
| |||||
Литература
- Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений.