Опубликован: 09.07.2007 | Уровень: профессионал | Доступ: свободно | ВУЗ: Московский государственный университет имени М.В.Ломоносова
Лекция 8:

Неоднозначность в контекстно-свободных грамматиках

< Лекция 7 || Лекция 8: 1234 || Лекция 9 >

7.4. Языки Дика и Лукасевича

Определение 7.4.1. Языком Дика (Dyck language) над 2n буквами называется контекстно-свободный язык над алфавитом {a1,b1,a2,b2,...,an,bn}, порождаемый грамматикой

\begin{align*}
S \; & {\to} \; \varepsilon \\
S \; & {\to} \; a_1 S b_1 S \\
& \vdots \\
S \; & {\to} \; a_n S b_n S .
\end{align*}

Замечание 7.4.2. Словами этого языка являются последовательности правильно вложенных скобок n типов (если считать символ ai левой скобкой, а символ bi соответствующей правой скобкой).

Теорема 7.4.3. Слово w над алфавитом {a,b} выводится в грамматике

\begin{align*}
S \; & {\to} \; \varepsilon , \\
S \; & {\to} \; a S b S 
\end{align*}
тогда и только тогда, когда
| w |_{a} = | w |_{b}
и для всех слов x \prefix w выполняется неравенство
| x |_{a} \geq | x |_{b} .

Теорема 7.4.4. При любом положительном целом n грамматика из определения 7.4.1 является однозначной.

Определение 7.4.5. Языком Лукасевича (Lukasiewicz language) над n + 1 буквами называется контекстно-свободный язык над алфавитом {a0,a1,...,an}, порождаемый грамматикой

\begin{align*}
S \; & {\to} \; a_0 , \\
S \; & {\to} \; a_1 S , \\
S \; & {\to} \; a_2 S S , \\
& \vdots \\
S \; & {\to} \; a_n S^n .
\end{align*}

Теорема 7.4.6. Слово w над алфавитом {a0,a1,...,an} принадлежит языку Лукасевича над n + 1 буквами тогда и только тогда, когда

\sum_{i=0}^n (i-1) | w |_{a_i} = -1
и для всех слов x \prefix w, кроме x = w, выполняется неравенство
\sum_{i=0}^n (i-1) | x |_{a_i} \geq 0 .

Теорема 7.4.7. При любом n \in \mathbb{N} грамматика из определения 7.4.5 является однозначной.

Упражнение 7.4.8. Принадлежит ли слово aababb языку, порождаемому грамматикой

\begin{align*}
S \; & {\to} \; a S b S , \\
S \; & {\to} \; \varepsilon ?
\end{align*}

Упражнение 7.4.9. Принадлежит ли слово cacbcbbacacccaaaacabcaa языку, порождаемому грамматикой

\begin{align*}
S \; & {\to} \; a , \\
S \; & {\to} \; b S , \\
S \; & {\to} \; c S S ?
\end{align*}

Упражнение 7.4.10. Эквивалентны ли грамматика

\begin{align*}
T \; & {\to} \; a , \\
T \; & {\to} \; T T , \\
T \; & {\to} \; T T b ?
\end{align*}
и грамматика
\begin{align*}
R \; & {\to} \; a , \\
R \; & {\to} \; R a , \\
R \; & {\to} \; R R b ?
\end{align*}

Упражнение 7.4.11. Описать язык, порождаемый грамматикой

\begin{align*}
F \; & {\to} \; a b , \\
F \; & {\to} \; a F b, \\
F \; & {\to} \; F F .
\end{align*}

Упражнение 7.4.12. Описать язык, порождаемый грамматикой

\begin{align*}
F \; & {\to} \; a , \\
F \; & {\to} \; b F, \\
F \; & {\to} \; c F F, \\
F \; & {\to} \; d F F F .
\end{align*}

Упражнение 7.4.13. Найти однозначную контекстно-свободную грамматику, порождающую язык \{ w \in \{a,b\}^* \mid | w |_a \geq | w |_b \}.

< Лекция 7 || Лекция 8: 1234 || Лекция 9 >
Юлия Маковецкая
Юлия Маковецкая

Упражнение 2.1.25

Евгения Гунченко
Евгения Гунченко

Сдавала тест экстерном, результат получен 74 после принятия данного результата и соответственно оплаты курса, будет ли выдано удостоверение о повышении квалификации?

Олег Гуреев
Олег Гуреев
Россия
Илья Константинов
Илья Константинов
Россия, Краснодар