Изменения

Перейти к: навигация, поиск

Контексты и синтаксические моноиды

186 байт добавлено, 15:43, 14 января 2014
м
Нет описания правки
'''Двухсторонним контекстом''' (англ. ''two-sided context'') <tex>C_L(y)</tex> слова <tex>y</tex> в языке <tex>L</tex> называется множество <tex>\{\langle x,z\rangle \mid xyz \in L\}</tex>.
}}
Заметим, что <tex>C_L(\varepsilon)</tex> состоит из всех пар строк, которые при конкатенации дают слово из языка.
{{Лемма
'''2'''. Язык <tex>L</tex> над алфавитом <tex>\Sigma = \{0,1\}</tex> задан регулярным выражением <tex>1(0|1)^*</tex>. Его синтаксический моноид <tex>M(L)</tex> содержит три элемента:
<tex>[[\varepsilon]]</tex> {{---}} нейтральный элемент. Включает в себя только пустую строку. <tex>C_L(\varepsilon)</tex> состоит из всех пар строк, которые при конкатенации дают слово из языка.
<tex>[[10]]</tex> содержит все строки, распознаваемые регулярным выражением <tex>0(0|1)^*]]</tex>. <tex>\forall x \in [[0]]: C_L(x) = C_L(\varepsilon) {\cup langle u, v \{rangle \langle mid u \varepsilonin L, v \rangle in \Sigma^* \}</tex>, где <tex>x</tex> {{---}} слово из данного класса эквивалентности.
<tex>[[01]]</tex> содержит все строки, принадлежащие языку, то есть, распознаваемые регулярным выражением <tex>1(0|1)^*]]</tex>. <tex>\forall x \in [[1]]: C_L(x) = C_L(\varepsilon) \cup \{\langle u\varepsilon, v \rangle \mid u v \in L \Sigma^* \}</tex>, где x {{---}} слово из данного класса эквивалентности.
Заметим, что <tex>[[0(0|1)^*]]</tex> и <tex>[[1(0|1)^*]]</tex> не имеют обратных элементов в данном моноиде, так как нейтральный элемент содержит только пустую строку, а её невозможно получить из непустой с помощью конкатенации. Следовательно <tex>L</tex> не является групповым языком.
'''3'''. Язык <tex>L = 0^n1^n</tex> задан над алфавитом <tex>\Sigma = \{0,1\}^*</tex>. Балансом слова <tex>|\omega|_b</tex> назовём число, равное разности между количеством нулей и единиц, встречающихся в данном слове. Если слово <tex>\omega = uxv</tex> принадлежит языку <tex>L</tex>, то <tex>|x|_b = -(|u|_b + |v|_b)</tex>. Но <tex>|x|_b</tex> может принимать любое целое значение, при том, что <tex>x</tex> имеет непустой двухсторонний контекст. Значит, синтаксический моноид <tex>M(L)</tex> имеет бесконечное количество элементов, что значит, что данный язык не является регулярным.
== Ссылки ==
64
правки

Навигация