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