Изменения

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

Язык Дика

616 байт добавлено, 12:17, 14 мая 2018
Нет описания правки
== Определения ==
{{Определение
|id=def1
|neat = 1
|definition=Пусть <tex>A = \{a_1, a_2, \ldots , a_k\}</tex> — произвольный конечный набор различных букв. '''Словом''' в алфавите <tex>A</tex> называется произвольная конечная последовательность буквa <tex>a_1 a_2 \ldots a_m,</tex> где <tex>a_i \in A , i = 1, \ldots , m</tex>. Число <tex>m</tex> называется '''длиной слова'''. '''Языком''' над алфавитом <tex>A</tex> называется произвольное (конечное или бесконечное) множество слов в алфавите <tex>A</tex>.
}}
{{Определение
|id=def2
|neat = 1
|definition='''Язык Дика''' (англ. ''Dyck language'') — множество [[Правильные скобочные последовательности#Определения |правильных скобочных структур]] вместе с пустой структурой, образующее язык над алфавитом <tex>\{a, b\}</tex>.
}}
 
{{Определение
|id=def3
|neat = 1
|definition='''Производящей функцией''' (англ. generating function) '''языка''' <tex>L</tex> называется производящая функция <tex>L(s) = l_0 + l_1 s + l_2 s^2 + \ldots,</tex> где <tex>l_k</tex> есть число слов длины <tex>k</tex> в языке <tex>L</tex>.
}}
 
__TOC__
== Правила вывода в языке Дика ==
:1) пустое слово,
:2) слово, в котором внутри самой левой пары соответственных скобок стоит некоторое слово языка Дика и после этой пары стоит слово языка Дика.
 
Ясно, что для каждого слова такое представление единственно.
 
Вычислим с помощью правил вывода производящую функцию для языка Дика. Для этой цели выпишем '''некоммутативный производящий ряд''', перечисляющий слова языка. Этот ряд представляет собой формальную сумму всех слов языка, выписанных в порядке возрастания длины:
 
<tex>D(a, b) = \lambda + ab + aabb + abab + aaabbb + aababb + \ldots</tex>
344
правки

Навигация