Примеры неразрешимых задач: однозначность грамматики — различия между версиями
Sementry (обсуждение | вклад) м |
AReunov (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
{{Теорема | {{Теорема | ||
|statement= | |statement= | ||
− | Не существует алгоритма, определяющего по произвольной грамматике, является ли она неоднозначной (''ambiguous grammar''). | + | Не существует алгоритма, определяющего по произвольной грамматике, является ли она неоднозначной (англ. ''ambiguous grammar''). |
|proof= | |proof= | ||
− | Будем доказывать от противного. Для этого произведем [[M-сводимость|m-сведение]] множества решений [[Примеры неразрешимых задач: проблема соответствий Поста|проблемы соответствий | + | Будем доказывать от противного. Для этого произведем [[M-сводимость|m-сведение]] множества решений [[Примеры неразрешимых задач: проблема соответствий Поста|проблемы соответствий Поста]] к множеству решений нашей задачи. А так как множество решений ПСП неразрешимо, то из m-сведения будет следовать неразрешимость нашей задачи. |
Пусть <tex> \Sigma </tex> {{---}} алфавит для экземпляра ПСП <tex>(x_1,\,x_2,\,...,\,x_n)</tex>, <tex>(y_1,\,y_2,\,...,\,y_n)</tex>. Рассмотрим грамматику <tex>L=\{\Sigma^{*}, N, P, S\}</tex>, где <tex> \Sigma^{*}= \Sigma+\{z_i\}</tex> и <tex>\{z_i\}=\{z_1,\,z_2,\,...,\,z_n\}</tex> {{---}} множество символов, не встречающихся в алфавите <tex> \Sigma</tex>. Символы <tex> \{z_i\} </tex> можно воспринимать как номера правил, по которым мы будем выводить слова в нашей грамматике. | Пусть <tex> \Sigma </tex> {{---}} алфавит для экземпляра ПСП <tex>(x_1,\,x_2,\,...,\,x_n)</tex>, <tex>(y_1,\,y_2,\,...,\,y_n)</tex>. Рассмотрим грамматику <tex>L=\{\Sigma^{*}, N, P, S\}</tex>, где <tex> \Sigma^{*}= \Sigma+\{z_i\}</tex> и <tex>\{z_i\}=\{z_1,\,z_2,\,...,\,z_n\}</tex> {{---}} множество символов, не встречающихся в алфавите <tex> \Sigma</tex>. Символы <tex> \{z_i\} </tex> можно воспринимать как номера правил, по которым мы будем выводить слова в нашей грамматике. | ||
Строка 28: | Строка 28: | ||
}} | }} | ||
− | == | + | == См. также == |
+ | * [http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE-%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8,_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%BB%D0%B5%D0%B2%D0%BE-_%D0%B8_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4,_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80%D0%B0 Контекстно-свободные грамматики] | ||
+ | * [http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B8 Формальные грамматики] | ||
+ | * [http://neerc.ifmo.ru/wiki/index.php?title=%D0%98%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D1%8F_%D0%A5%D0%BE%D0%BC%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%B8%D0%BA Иерархия Хомского формальных грамматик] | ||
+ | * [http://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D0%BC%D1%8B%D0%B5_(%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B5)_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8 Разрешимые языки] | ||
+ | |||
+ | == Источники информации == | ||
* А. Маслов, Д. Стоцкий — Языки и автоматы. Издательство Мир, 1975, -361 с. | * А. Маслов, Д. Стоцкий — Языки и автоматы. Издательство Мир, 1975, -361 с. | ||
* [http://en.wikipedia.org/wiki/Ambiguous_grammar ambiguous grammar - Wikipedia] | * [http://en.wikipedia.org/wiki/Ambiguous_grammar ambiguous grammar - Wikipedia] |
Версия 02:16, 14 января 2016
Теорема: |
Не существует алгоритма, определяющего по произвольной грамматике, является ли она неоднозначной (англ. ambiguous grammar). |
Доказательство: |
Будем доказывать от противного. Для этого произведем m-сведение множества решений проблемы соответствий Поста к множеству решений нашей задачи. А так как множество решений ПСП неразрешимо, то из m-сведения будет следовать неразрешимость нашей задачи. Пусть — алфавит для экземпляра ПСП , . Рассмотрим грамматику , где и — множество символов, не встречающихся в алфавите . Символы можно воспринимать как номера правил, по которым мы будем выводить слова в нашей грамматике.Зададим грамматику следующими правилами:
Поэтому, если бы мы умели решать сформулированную нами ПСП, то могли бы сказать, однозначна грамматика или нет. То есть, если ПСП имеет решение, то мы можем восстановить два вывода слова. Если ПСП не имеет решения, то грамматика однозначна, и не существует двух выводов одного и того же слова. Таким образом, мы получили m-сведение множества решений ПСП к множеству решений нашей задачи. А это значит, что задача об однозначности грамматики неразрешима. Получили, что не существует алгоритма, определяющего по произвольной грамматике, является ли она однозначной. |
См. также
- Контекстно-свободные грамматики
- Формальные грамматики
- Иерархия Хомского формальных грамматик
- Разрешимые языки
Источники информации
- А. Маслов, Д. Стоцкий — Языки и автоматы. Издательство Мир, 1975, -361 с.
- ambiguous grammar - Wikipedia