Изменения

Перейти к: навигация, поиск
Нет описания правки
Не существует алгоритма, определяющего по произвольной грамматике, является ли она однозначной.
|proof=
Будем доказывать от противного. Для этого произведем [[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>L</tex> следующими правилами:
Пусть у грамматики <tex>L</tex> есть правила: <tex>S \Rightarrow x_iAz_i</tex> <tex>S \Rightarrow y_iBz_iA | B </tex>
<tex>A \Rightarrow x_iAz_i</tex>
Заметим, что любое слово <tex>w</tex>, выводимое в этой грамматике, может быть представлено в виде <tex>w=x_{i1}x_{i2}...x_{ik}z_{ik}z_{ik-1}...z_{i1}=</tex> или <tex>w=y_{i1}y_{i2}...y_{ik}z_{ik}z_{ik-1}...z_{i1}</tex>, причем если <tex>L</tex> неоднозначна, то слово можно вывести двумя способами, и тогда <tex>w=x_{i1}x_{i2}...x_{ik}z_{ik}z_{ik-1}...z_{i1}=</tex><tex>y_{i1}y_{i2}...y_{ik}z_{ik}z_{ik-1}...z_{i1}</tex>. Поскольку Так как это одно и тоже слово, то все <tex>\forall z_{i, j : i \ne j} </tex> в этом слове равны. А каждое <tex>z_{i} \ne z_{j}</tex>, хвост последовательности однозначно задает ееправило, по которому мы выводили слово. Значит, если бы мы умели решать сформулированную нами ПСП, то могли бы сказать однозначна грамматика или нет. То есть, если ПСП имеет решение, то мы можем восстановить два вывода слова. Если ПСП не имеет решения, то значит грамматика однозначна и не существует два вывода одного и того же слова. Таким образом, мы получили [[M-сводимость|m-сведение]] множества решений ПСП к множеству решений нашей задачи, так как если существует решение ПСП, то существует такой поднабор индексов. А это значит, что слово <tex>w</tex> выводится двумя способами, то есть грамматика неоднозначназадача об однозначности грамматики неразрешима.
Таким образом, не существует алгоритма, определяющего по произвольной грамматике, является ли она однозначной.
Анонимный участник

Навигация