Неразрешимость задачи об эквивалентности КС-грамматик — различия между версиями
Warrior (обсуждение | вклад) м |
Warrior (обсуждение | вклад) м |
||
Строка 27: | Строка 27: | ||
Предположим, что данная задача разрешима. Тогда покажем, как с помощью нее разрешить язык [[Примеры неразрешимых задач: проблема соответствий Поста|ПСП]]. | Предположим, что данная задача разрешима. Тогда покажем, как с помощью нее разрешить язык [[Примеры неразрешимых задач: проблема соответствий Поста|ПСП]]. | ||
− | Пусть <tex>(x_1, x_2, ..., x_n)</tex> и <tex>(y_1, y_2, ..., y_n) </tex> входные последовательности для ПСП. Пусть <tex> L_1 = List(x_1, x_2, ..., x_n), L_2 = List(y_1, y_2, ..., y_n) </tex>. Тогда решение ПСП для последовательностей <tex>(x_1, x_2, ..., x_n)</tex> и <tex>(y_1, y_2, ..., y_n) </tex> существует только в том случае, когда <tex> L_1 \cap L_2 \ne \varnothing </tex>. Перейдя к дополнению и применив закон де Моргана, мы получим, что решения для заданных последовательностей существует, только когда <tex> \overline{L_1} \cup \overline{L_2} \ne \Sigma^* </tex>, где <tex> \Sigma </tex> {{---}} алфавит для языков <tex> L_1 </tex> и <tex> L_2 </tex>. Но по [[#Лемма|лемме]] <tex> \overline{L_1} </tex> и <tex> \overline{L_2} </tex> {{---}} контекстно-свободные. Так как КС-языки замкнуты относительно объединения, то язык <tex> \overline{L_1} \cup \overline{L_2} </tex> | + | Пусть <tex>(x_1, x_2, ..., x_n)</tex> и <tex>(y_1, y_2, ..., y_n) </tex> входные последовательности для ПСП. Пусть <tex> L_1 = List(x_1, x_2, ..., x_n), L_2 = List(y_1, y_2, ..., y_n) </tex>. Тогда решение ПСП для последовательностей <tex>(x_1, x_2, ..., x_n)</tex> и <tex>(y_1, y_2, ..., y_n) </tex> существует только в том случае, когда <tex> L_1 \cap L_2 \ne \varnothing </tex>. Перейдя к дополнению и применив закон де Моргана, мы получим, что решения для заданных последовательностей существует, только когда <tex> \overline{L_1} \cup \overline{L_2} \ne \Sigma^* </tex>, где <tex> \Sigma </tex> {{---}} алфавит для языков <tex> L_1 </tex> и <tex> L_2 </tex>. Но по [[#Лемма|лемме]] <tex> \overline{L_1} </tex> и <tex> \overline{L_2} </tex> {{---}} контекстно-свободные. Так как КС-языки замкнуты относительно объединения, то язык <tex> \overline{L_1} \cup \overline{L_2} </tex> тоже контекстно-свободный. Построив КС-грамматики для языков <tex> \overline{L_1} \cup \overline{L_2} </tex> и <tex>\Sigma^*</tex> и воспользовавшись предположением, что задача об эквивалентности КС-грамматик разрешима, мы разрешим и язык ПСП. Но язык ПСП неразрешим. Следовательно, мы пришли к противоречию, и наше предположение неверно. |
}} | }} | ||
[[Категория: Теория вычислимости]] | [[Категория: Теория вычислимости]] |
Версия 04:02, 3 января 2014
Лемма: |
Пусть для набора слов контекстно-свободный. — язык над алфавитом (для простоты будем считать, что ), каждое слово которого имеет вид , где . Тогда — |
Доказательство: |
Для доказательства построим МП-автомат с допуском по допускающему состоянию:
Переходы определим следующим образом:
|
Теорема: |
Задача об эквивалентности двух КС-грамматик неразрешима |
Доказательство: |
Будем доказывать от противного. Предположим, что данная задача разрешима. Тогда покажем, как с помощью нее разрешить язык ПСП. Пусть и входные последовательности для ПСП. Пусть . Тогда решение ПСП для последовательностей и существует только в том случае, когда . Перейдя к дополнению и применив закон де Моргана, мы получим, что решения для заданных последовательностей существует, только когда , где — алфавит для языков и . Но по лемме и — контекстно-свободные. Так как КС-языки замкнуты относительно объединения, то язык тоже контекстно-свободный. Построив КС-грамматики для языков и и воспользовавшись предположением, что задача об эквивалентности КС-грамматик разрешима, мы разрешим и язык ПСП. Но язык ПСП неразрешим. Следовательно, мы пришли к противоречию, и наше предположение неверно. |