Язык Дика — различия между версиями
Senya (обсуждение | вклад) (→Правила вывода в языке Дика) (Метки: правка с мобильного устройства, правка из мобильной версии) |
Senya (обсуждение | вклад) (→Правила вывода в языке Дика) (Метки: правка с мобильного устройства, правка из мобильной версии) |
||
Строка 47: | Строка 47: | ||
Ряд <tex>D(a, b) = \lambda + ab + aabb + abab + aaabbb + aababb + \ldots</tex> удовлетворяет уравнению <tex>D(a, b) = \lambda + aD(a, b)bD(a, b)</tex>. | Ряд <tex>D(a, b) = \lambda + ab + aabb + abab + aaabbb + aababb + \ldots</tex> удовлетворяет уравнению <tex>D(a, b) = \lambda + aD(a, b)bD(a, b)</tex>. | ||
|proof= | |proof= | ||
− | Действительно, в левой части равенства <tex>D(a, b) = \lambda + aD(a, b)bD(a, b)</tex> записана сумма всех слов языка Дика. Равенство означает справедливость утверждения | + | Действительно, в левой части равенства <tex>D(a, b) = \lambda + aD(a, b)bD(a, b)</tex> записана сумма всех слов языка Дика. Равенство означает справедливость утверждения: |
− | |||
Всякое слово в языке Дика есть либо | Всякое слово в языке Дика есть либо | ||
:1) пустое слово, | :1) пустое слово, |
Версия 13:12, 14 мая 2018
Определение: |
Пусть | — произвольный конечный набор различных букв. Словом в алфавите называется произвольная конечная последовательность буквa где . Число называется длиной слова. Языком над алфавитом называется произвольное (конечное или бесконечное) множество слов в алфавите .
Пустое слово имеет длину и может входить или не входить в язык.
Определение: |
Язык Дика (англ. Dyck language) — множество правильных скобочных структур вместе с пустой структурой, образующее язык над алфавитом . |
Определение: |
Производящей функцией (англ. generating function) языка | называется производящая функция где есть число слов длины в языке .
Содержание
Правила вывода в языке Дика
Рассмотрим два правила вывода в языке Дика:
- 1)
- 2)
где
— буква, не входящая в алфавит ,стрелка
заменяет фразу: если в слове есть буква , то эту букву можно заменить на слово, стоящее справа от стрелки.Правила вывода можно понимать следующим образом:
Всякое слово в языке Дика есть либо
- 1) пустое слово,
- 2) слово, в котором внутри самой левой пары соответственных скобок стоит некоторое слово языка Дика и после этой пары стоит слово языка Дика.
Ясно, что для каждого слова такое представление единственно.
Вычислим с помощью правил вывода производящую функцию для языка Дика. Для этой цели выпишем некоммутативный производящий ряд, перечисляющий слова языка. Этот ряд представляет собой формальную сумму всех слов языка, выписанных в порядке возрастания длины:
Теорема: |
Ряд удовлетворяет уравнению . |
Доказательство: |
Действительно, в левой части равенства записана сумма всех слов языка Дика. Равенство означает справедливость утверждения: Всякое слово в языке Дика есть либо
|