Примеры неразрешимых задач: проблема соответствий Поста — различия между версиями
Shevchen (обсуждение | вклад) м |
Shevchen (обсуждение | вклад) м |
||
| Строка 146: | Строка 146: | ||
Решение МПСП будет иметь следующий вид: | Решение МПСП будет иметь следующий вид: | ||
| − | {|class="wikitable | + | {|class="wikitable" |
|- | |- | ||
! Шаг | ! Шаг | ||
| Строка 153: | Строка 153: | ||
! Вторая строка | ! Вторая строка | ||
|- | |- | ||
| − | |1 | + | |align="center" | 1 |
| − | |1 | + | |align="center" | 1 |
|<tex>\$ \#_{start} ab \$</tex> | |<tex>\$ \#_{start} ab \$</tex> | ||
|<tex>\$</tex> | |<tex>\$</tex> | ||
|- | |- | ||
| − | |2 | + | |align="center" | 2 |
| − | |5 | + | |align="center" | 5 |
|<tex>\$ \#_{start} ab \$ b \#_{start}</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start}</tex> | ||
|<tex>\$ \#_{start} a</tex> | |<tex>\$ \#_{start} a</tex> | ||
|- | |- | ||
| − | |3 | + | |align="center" | 3 |
| − | |3 | + | |align="center" | 3 |
|<tex>\$ \#_{start} ab \$ b \#_{start} b</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b</tex> | ||
|<tex>\$ \#_{start} ab</tex> | |<tex>\$ \#_{start} ab</tex> | ||
|- | |- | ||
| − | |4 | + | |align="center" | 4 |
| − | |4 | + | |align="center" | 4 |
|<tex>\$ \#_{start} ab \$ b \#_{start} b\$</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b\$</tex> | ||
|<tex>\$ \#_{start} ab \$</tex> | |<tex>\$ \#_{start} ab \$</tex> | ||
|- | |- | ||
| − | |5 | + | |align="center" | 5 |
| − | |3 | + | |align="center" | 3 |
|<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b</tex> | ||
|<tex>\$ \#_{start} ab \$ b</tex> | |<tex>\$ \#_{start} ab \$ b</tex> | ||
|- | |- | ||
| − | |6 | + | |align="center" | 6 |
| − | |6 | + | |align="center" | 6 |
|<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b</tex> | ||
|<tex>\$ \#_{start} ab \$ b \#_{start} b</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b</tex> | ||
|- | |- | ||
| − | |7 | + | |align="center" | 7 |
| − | |4 | + | |align="center" | 4 |
|<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$</tex> | ||
|<tex>\$ \#_{start} ab \$ b \#_{start} b \$</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b \$</tex> | ||
|- | |- | ||
| − | |8 | + | |align="center" | 8 |
| − | |8 | + | |align="center" | 8 |
|<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes}</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes}</tex> | ||
|<tex>\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes}</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes}</tex> | ||
|- | |- | ||
| − | |9 | + | |align="center" | 9 |
| − | |3 | + | |align="center" | 3 |
|<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b</tex> | ||
|<tex>\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b</tex> | ||
|- | |- | ||
| − | |10 | + | |align="center" | 10 |
| − | |4 | + | |align="center" | 4 |
|<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b \$</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b\$ b \#_{yes} b \$ \#_{yes} b \$</tex> | ||
|<tex>\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$</tex> | ||
|- | |- | ||
| − | |11 | + | |align="center" | 11 |
| − | |10 | + | |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 \$ \#_{yes}</tex> | ||
|<tex>\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$ \#_{yes} b</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$ \#_{yes} b</tex> | ||
|- | |- | ||
| − | |12 | + | |align="center" | 12 |
| − | |4 | + | |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 \$ \#_{yes} \$</tex> | ||
|<tex>\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$ \#_{yes} b \$</tex> | |<tex>\$ \#_{start} ab \$ b \#_{start} b \$ b \#_{yes} b \$ \#_{yes} b \$</tex> | ||
|- | |- | ||
| − | |13 | + | |align="center" | 13 |
| − | |11 | + | |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> | ||
|<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> | ||
Версия 20:21, 21 января 2012
| Определение: |
| Дана упорядоченная пара конечных последовательностей , где и для всех . Вопрос существования непустой последовательности индексов , удовлетворяющей условию , где для каждого j, называется проблемой соответствий Поста (ПСП). Такую последовательность индексов, в случае её существования, называют решением проблемы соответствий Поста. |
| Определение: |
| Проблема соответствий Поста, для которой фиксирован элемент последовательности индексов , называется модифицированной проблемой соответствий Поста (МПСП). |
| Теорема: |
Язык пар последовательностей, для которых существует решение ПСП, перечислим. |
| Доказательство: |
|
Пусть даны последовательности и размера из условия ПСП. Построим программу-полуразрешитель , проверяющую все возможные решения: for for all if return trueТаким образом, язык пар последовательностей, для которых существует решение ПСП, полуразрешим, а значит, перечислим. |
Для МПСП доказательство перечислимости имеющих решение пар аналогично, но перебор индексов ведётся с .
| Теорема: |
МПСП неразрешима. |
| Доказательство: |
|
Выполним m-сведение множества пар из машины Тьюринга (МТ) и строки , где не зависает, к множеству решений МПСП. Назовём снимком состояния МТ строку вида , где — строка на ленте без учёта пробелов, — текущее состояние автомата МТ, соответствует положению головки. Построим последовательности таким образом, чтобы решение МПСП образовывало строку , где — снимки последовательных состояний МТ от стартового до конечного, — последний снимок с удалёнными символами строки. Оговоримся, что состояния в автомате МТ не существует (его роль может выполнять сток), допуск происходит при попадании в состояние . Сформируем последовательности и по МТ и строке . , ; для всех символов алфавита ленты (за исключением пробела): , , а также , ; для всех правил вида и для всех символов алфавита : , ; для всех правил вида : , ; для всех правил вида : , . Такие последовательности позволяют сформировать строки (из ) и (из ) и только их, но решения МПСП быть не может, так как все члены последовательностей, кроме первого, имеют равную длину, и строка, составленная из элементов , всегда оказывается длиннее. Задача — получить равные строки, если состояние достижимо. Для этого добавим в уже имеющиеся последовательности следующие элементы: для всех символов алфавита ленты (за исключением пробела): , , , , а также , . С помощью новых элементов можно привести обе строки к виду , но только тогда, когда в содержится ; другими словами, только тогда, когда автомат, принадлежащий , допускает . Таким образом, выполнено успешное m-сведение множества пар из машины Тьюринга (МТ) и строки , где не зависает, к множеству решений МПСП. |
Пример
Пусть автомат МТ состоит из двух состояний и , алфавит ленты содержит символы и . Переходы автомата устроены следующим образом:
;
;
из переходов нет.
Последовательности для строки будут сформированы следующим образом:
| Номер элемента | Последовательность a | Последовательность b |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | ||
| 8 | ||
| 9 | ||
| 10 | ||
| 11 |
Решение МПСП будет иметь следующий вид:
| Шаг | Индекс элемента | Первая строка | Вторая строка |
|---|---|---|---|
| 1 | 1 | ||
| 2 | 5 | ||
| 3 | 3 | ||
| 4 | 4 | ||
| 5 | 3 | ||
| 6 | 6 | ||
| 7 | 4 | ||
| 8 | 8 | ||
| 9 | 3 | ||
| 10 | 4 | ||
| 11 | 10 | ||
| 12 | 4 | ||
| 13 | 11 |
| Теорема: | |||||
ПСП неразрешима. | |||||
| Доказательство: | |||||
|
Выполним m-сведение множества решений МПСП к множеству решений ПСП. Пусть даны последовательности из условия МПСП. Обозначим как и строки, состоящие из символов , разделённых : , . Построим две новые последовательности :
где , — символы, не встречающиеся в словах исходных последовательностей.
| |||||
Литература
- Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений.