Существенно неоднозначные языки — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 17: Строка 17:
  
 
Лемма:
 
Лемма:
<tex>\forall \Gamma \exists k \ge 1: z \in L(\Gamma), |z| \ge k</tex> и в z выбраны хотябы k позиций, то z представимо в виде <tex>z = uvwxy</tex>, где <tex>uvw</tex> или <tex>wxy</tex> содержат хотя бы по одной выбранной позиции.
+
<tex>\forall \Gamma \exists k \ge 1: z \in L(\Gamma), |z| \ge k</tex> и в z выбраны хотябы k позиций, то z представимо в виде <tex>z = uvwxy</tex>, где <tex>uvw</tex> или <tex>wxy</tex> содержат хотя бы по одной выбранной позиции и <tex>vwx</tex> содержит не более k выбраных позиций и <tex>\exists A</tex> - нетерминал, такой, что <tex>\forall i: S \Rightarrow^* uAy \Rightarrow^* uvAxy \Rightarrow^* uv^i Ax^i y \Rightarrow^* uv^i wx^i y</tex>.
 +
 
  
  

Версия 22:47, 15 января 2011

Неоднозначные грамматики

Неоднозначной грамматикой называется грамматика, по которой для одной цепочки существует более одного дерева разбора.

Пример:

Рассмотрим грамматику [math]E \rightarrow E + E | E * E[/math] и выводимую цепочку[math]E + E * E[/math]. Ее можно вывести двумя способами:

[math]E \Rightarrow E + E \Rightarrow E + E * E[/math]

[math]E \Rightarrow E * E \Rightarrow E + E * E[/math]

Эта граматика неоднозначна.

Существенно неоднозначные языки

Язык называется существенно неоднозначным, если любая его грамматика неоднозначна. Пример такого языка: [math]0^a 1^b 2^c[/math], где [math]a=b \vee b=c[/math] Докажем, что [math]\forall \Gamma \exists k: 0^k 1^k 2^k[/math] имеет хотя бы 2 дерева разбора.

Лемма: [math]\forall \Gamma \exists k \ge 1: z \in L(\Gamma), |z| \ge k[/math] и в z выбраны хотябы k позиций, то z представимо в виде [math]z = uvwxy[/math], где [math]uvw[/math] или [math]wxy[/math] содержат хотя бы по одной выбранной позиции и [math]vwx[/math] содержит не более k выбраных позиций и [math]\exists A[/math] - нетерминал, такой, что [math]\forall i: S \Rightarrow^* uAy \Rightarrow^* uvAxy \Rightarrow^* uv^i Ax^i y \Rightarrow^* uv^i wx^i y[/math].



Теорема:
Для языка принимаемого ДМП-автоматом существует однозначная КС-грамматика