Примеры неразрешимых задач: проблема соответствий Поста — различия между версиями
Строка 28: | Строка 28: | ||
Получаем <tex>\$ A_0 \$ \ldots \$ A_k \$</tex>, <tex>\$ A_i \ldots</tex>. | Получаем <tex>\$ A_0 \$ \ldots \$ A_k \$</tex>, <tex>\$ A_i \ldots</tex>. | ||
− | Если <tex>MT</tex> остановится, | + | Если <tex>MT</tex> остановится, добьёмся того, что зак. Иначе строки будут расти до бесконечности, но никогда не закончатся. |
<tex>\forall c \in \Pi</tex> заведём пару <tex>(a_i=c b_i = c), (a_i = \$ b = \$)</tex>. | <tex>\forall c \in \Pi</tex> заведём пару <tex>(a_i=c b_i = c), (a_i = \$ b = \$)</tex>. | ||
Строка 35: | Строка 35: | ||
Аналогично поступаем и с переходом на месте, или считаем, что такого не бывает. | Аналогично поступаем и с переходом на месте, или считаем, что такого не бывает. | ||
+ | Как может быть устроен префикс решения '''МПСП''': | ||
+ | <tex>| \$ | \#_s \omega_1 \$ | d \#_p | w_2 \ldots | \$ | \#_y \$ | \$ |</tex> | ||
+ | <tex>| \$ | \omega_1 | \omega_2 \ldots | \$ | \#_y \$ \$ |</tex> | ||
+ | т.е. добавляем элементы и находим соответствующие переходы. | ||
+ | |||
+ | Добавим далее: | ||
+ | * <tex>a = \#_y, b = \#_y c</tex> | ||
+ | * или <tex>a = \#_y, b = c \#_y</tex> | ||
+ | * или <tex>a = \$, b = \#_y \$ \$</tex> | ||
}} | }} | ||
− | Теперь остаётся избавиться от требования фиксированного первого индекса: | + | Теперь остаётся избавиться от требования фиксированного первого индекса, т.е. перейти от '''МПСП''' к '''ПСП''': |
− | ''' | + | |
− | * | + | '''Известно''': |
− | * | + | * Существует решение '''МПСП''' <tex>\Rightarrow</tex> существует решение '''ПСП''' |
+ | * Не существует решения '''МПСП''' <tex>\Leftarrow</tex>не существует решения '''ПСП''' | ||
'''Необходимо''': | '''Необходимо''': | ||
− | * | + | * Не существует решения '''МПСП''' <tex>\Rightarrow</tex> не существует решения '''ПСП''' |
− | Возьмём экземпляр задачи | + | Возьмём экземпляр задачи МПСП: <tex>(( a_1 , \ldots , a_n ) , ( b_1 , \ldots , b_n ))</tex>. Вставим между каждой парой символов во всех строках символ <tex>*</tex>. |
+ | <tex>i = 1</tex> | ||
+ | * <tex>a_1 = * c_1 * c_2 \ldots c_l *</tex> | ||
+ | * <tex>b_1 = * c_1 * c_2 \ldots c_l</tex> | ||
<tex>i = 2 \ldots n </tex>: | <tex>i = 2 \ldots n </tex>: | ||
* <tex>a_i = c_1 c_2 \ldots c_l \rightarrow a_i = c_1 * c_2 * \ldots * c_l *</tex> | * <tex>a_i = c_1 c_2 \ldots c_l \rightarrow a_i = c_1 * c_2 * \ldots * c_l *</tex> | ||
* <tex>b_i = c_1 c_2 \ldots c_l \rightarrow b_i = c_1 * c_2 * \ldots * c_l</tex> | * <tex>b_i = c_1 c_2 \ldots c_l \rightarrow b_i = c_1 * c_2 * \ldots * c_l</tex> | ||
− | <tex>i = 1</tex> | + | <tex>i = n + 1</tex> |
− | |||
− | |||
− | |||
* <tex>a_{n+1} = \$</tex> | * <tex>a_{n+1} = \$</tex> | ||
* <tex>b_{n+1} = *\$</tex> | * <tex>b_{n+1} = *\$</tex> | ||
+ | |||
+ | Нужно начать с <tex>(a_1, b_1)</tex>, т.к. все остальные пары начинаются с различных символов. | ||
+ | |||
Возникающее однозначное соответствие может быть решением этой системы и решением исходной задачи, к которой всё начиналось с пары <tex>(a_1, b_1)</tex>. | Возникающее однозначное соответствие может быть решением этой системы и решением исходной задачи, к которой всё начиналось с пары <tex>(a_1, b_1)</tex>. | ||
+ | |||
== Литература == | == Литература == | ||
* Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений. | * Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений. |
Версия 20:25, 15 января 2011
Эта статья находится в разработке!
Определение: |
Существует упорядоченная пара конечных последовательностей | , где и для всех . Вопрос существования непустой последовательности индексов , удовлетворяющей условию , где для каждого j, называется проблемой соответствий Поста (ПСП).
Теорема: |
Не существует алгоритма, позволяющего по произвольной постовской системе соответствия над алфавитом узнать, имеет ли она решение. (Другими словами, проблема соответствий Поста неразрешима.) |
Определение: |
Модифицированной проблемой соответствий Поста (МПСП) называется вопрос существования последовательности индексов | , удовлетворяющих условию при для упорядоченной пары конечных последовательностей , где и .
Теорема: |
Язык имеющих решение проблем соответствий поста перечислим, но не разрешим.
(Не существует примера неразрешимого языка, который является языком программ) |
Доказательство: |
Докажем неразрешимость: Сначала докажем для случая, когда . Считаем, что Машина Тьюринка ( ) никогда не приходит в . . Задача не разрешима. Предположим, что мы умеем решать МПСП., . Получаем , . Если остановится, добьёмся того, что зак. Иначе строки будут расти до бесконечности, но никогда не закончатся.заведём пару . Соответственно, получаем , и , а также , и . Аналогично поступаем и с переходом на месте, или считаем, что такого не бывает.Как может быть устроен префикс решения МПСП: т.е. добавляем элементы и находим соответствующие переходы. Добавим далее:
|
Теперь остаётся избавиться от требования фиксированного первого индекса, т.е. перейти от МПСП к ПСП:
Известно:
- Существует решение МПСП существует решение ПСП
- Не существует решения МПСП не существует решения ПСП
Необходимо:
- Не существует решения МПСП не существует решения ПСП
Возьмём экземпляр задачи МПСП:
. Вставим между каждой парой символов во всех строках символ .
:
Нужно начать с
, т.к. все остальные пары начинаются с различных символов.Возникающее однозначное соответствие может быть решением этой системы и решением исходной задачи, к которой всё начиналось с пары
.Литература
- Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений.