Язык Дика — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Метки: правка с мобильного устройства, правка из мобильной версии)
(Метки: правка с мобильного устройства, правка из мобильной версии)
Строка 1: Строка 1:
 +
== Определения ==
 +
 
{{Определение
 
{{Определение
 
|id=def1
 
|id=def1
Строка 12: Строка 14:
 
|definition='''Язык Дика''' (англ. ''Dyck language'') — множество [[Правильные скобочные последовательности#Определения |правильных скобочных структур]] вместе с пустой структурой, образующее язык над алфавитом <tex>\{a, b\}</tex>.
 
|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>.
 +
}}
 +
 +
== Правила вывода в языке Дика ==
 +
 +
Рассмотрим два ''правила вывода в языке Дика:''
 +
:1)  <tex>r \longrightarrow \lambda</tex>
 +
:2)  <tex>r \longrightarrow arbr,</tex>
 +
где <tex>r</tex> — буква, не входящая в алфавит <tex>\{a, b\}</tex>,
 +
 +
стрелка <tex>\longrightarrow</tex> заменяет фразу: ''если в слове есть буква <tex>r</tex>, то эту букву можно заменить на слово, стоящее справа от стрелки.''

Версия 11:45, 14 мая 2018

Определения

Определение:
Пусть [math]A = \{a_1, a_2, \ldots , a_k\}[/math] — произвольный конечный набор различных букв. Словом в алфавите [math]A[/math] называется произвольная конечная последовательность буквa [math]a_1 a_2 \ldots a_m,[/math] где [math]a_i \in A , i = 1, \ldots , m[/math]. Число [math]m[/math] называется длиной слова. Языком над алфавитом [math]A[/math] называется произвольное (конечное или бесконечное) множество слов в алфавите [math]A[/math].


Пустое слово [math]\lambda[/math] имеет длину [math]0[/math] и может входить или не входить в язык.


Определение:
Язык Дика (англ. Dyck language) — множество правильных скобочных структур вместе с пустой структурой, образующее язык над алфавитом [math]\{a, b\}[/math].


Определение:
Производящей функцией (англ. generating function) языка [math]L[/math] называется производящая функция [math]L(s) = l_0 + l_1 s + l_2 s^2 + \ldots,[/math] где [math]l_k[/math] есть число слов длины [math]k[/math] в языке [math]L[/math].


Правила вывода в языке Дика

Рассмотрим два правила вывода в языке Дика:

1) [math]r \longrightarrow \lambda[/math]
2) [math]r \longrightarrow arbr,[/math]

где [math]r[/math] — буква, не входящая в алфавит [math]\{a, b\}[/math],

стрелка [math]\longrightarrow[/math] заменяет фразу: если в слове есть буква [math]r[/math], то эту букву можно заменить на слово, стоящее справа от стрелки.