28
Вестник Самарского университета. Естественнонаучная серия. 2017. № 1
УДК 519.713.34:519.171
В.П. Цветов1
АЛЬФА-МАТРИЦЫ И ГРАФ-ПОРОЖДЕННЫЕ ГРАММАТИКИ
В статье рассматривается обобщение граф-порожденных грамматик на основе их матричных представлений. Изучаются два класса граф-порожденных грамматик, связанные с вершинными и реберными разметками порождающих графов. Дается определение альфа-матрицы над полукольцом языков, заданных при помощи конечного алфавита А, и определяются соответствующие матричные алгебры. Введенные понятия в дальнейшем используются для конструктивного представления граф-порожденных языков и исследования вопросов, связанных с их эквивалентностью. Дается определение матрично порожденных грамматик как естественного надкласса граф-порожденных грамматик. Доказываемые утверждения иллюстрируются примерами.
Ключевые слова: полукольца языков, формальные грамматики, порождающие грамматики, теория графов, маршруты на размеченных графах, граф-порожденные грамматики, матрично порожденные грамматики.
1. Предварительные сведения
Статья развивает подход к представлению формальных грамматик предложенный в [1], который использует графы в качестве инструмента порождения языков. Любой маршрут в вершинной форме на графе является словом некоторого языка над алфавитом, который образован множеством вершин или связанными с ними метками. Задавая совокупности начальных и конечных вершин маршрутов, а также их метки и длины, можно конструктивно определять различные языки на основе имеющихся графовых алгоритмов. В [1] показано, что множество подобных языков, названных С-языками, является строгим надмножеством регулярных языков.
Аналогичный подход может быть применен к реберно размеченным графам и маршрутам в реберной форме. Возникающие при этом языки так же названы С-языками. Языки, связанные с вершинной разметкой названы языками вершинного типа, а с реберной— языками реберного типа.
Естественный класс алгоритмов нахождения маршрутов на размеченных графах образуют алгоритмы, использующие правило матричного произведения для матриц с элементами из полукольца языков, заданных над алфавитом А. Таким образом, С-языки допускают реализацию посредством матричных алгебр и стандартных типов данных. Помимо этого матричные представления являются удобным инструментом для исследования свойств С-языков, в частности, позволяют установить совпадение классов языков вершинного и реберного типов, или построить расширение класса граф-порожденных языков до класса матрично порожденных языков.
Различные виды полуколец и матричных алгебр над полукольцами традиционно используются в таких областях, как компьютерная алгебра [2-3], теория автоматов [4], оптимальное управление [5], формальные языки [6-8], теория бинарных отношений [9; 10] и др. Таким образом, применение аппарата матричных алгебр является естественным для моделирования генеративных грамматик.
Замечание 1.1. В [1] обнаружены следующие опечатки:
стр. 103, 17 строка снизу: вместо := е, тт+1 := тт о т следует читать := е, := о ж;
стр. 103, 12 строка снизу: вместо ) € Р и Ш1 ^ следует читать (те^, ж 2) € Р и те^ ^ Ж2, соответ-
ственно;
стр. 105, 2 строка сверху: вместо ■Ъ,11х^хМо (Од) следует читать хиО^); стр. 105, 12 строка сверху: вместо хМо(О^) следует читать Ьп1х 1хц(ОА); стр. 105, 20 строка сверху: вместо Ь'п1х1 -^¡(Од) следует читать Ь'п1х1 хМо(Од); стр. 105, 22 строка сверху: вместо следует читать | г € I};
Цветов В.П., 2017
Цветов Виктор Петрович ([email protected]), кафедра безопасности информационных систем, Самарский национальный исследовательский университет имени академика С.П. Королева, 443086, Российская Федерация, г. Самара, Московское шоссе, 34.
стр. 105, 25 строка сверху: вместо F := {Sj | j G J} следует читать F := {Sj | j G J} U | i G I}; стр. 106, 1 строка сверху: вместо {L a, (о)) следует читать (L+, (o)^.
Далее в статье используются обозначения и определения, введенные в [1].
2. Основные результаты
Рассмотрим конечный алфавит A := {a 1,..,an} и множество слов LД над этим алфавитом. Пусть, как и ранее, {Ь*Л, (о))—моноид слов над алфавитом A с операцией сцепления (конкатенации) слов, 2La — булеан над LД, а е—пустое слово.
Пусть L1,L2 С LД —языки, над алфавитом A. Стандартныи образом определим операции объединения и сцепления языков
Li U L2 := {w | w G Li V w G L2},
Li о L2 := {w := w1 о w1 | w1 G L1 A w2 G L2}.
Понятно, что для любых языков L1,Lf2,Li3 С LA выполняются равенства
L1 U$ = $U L1 = L1,
L1 o$ = $o L1 =
L1 о {е} = {е} о L1 = L1,
L1 о (L2 u L3) = (L1 о L2) U (L1 о L2),
(L2 u L3) о L1 = (L2 о L1) U (L3 о L1).
В дальнейшем будем рассматривать некоммутативное полукольцо с единицей (2La, (о, U^.
2.1. Альфа-матрицы
Пусть а : 1..n х 1..m ^ 2La —тотальная функция. Обозначим aij := a(i,j).
Определение 2.1. В предыдущих обозначениях будем называть альфа-матрицей или а-матрицей (размерности n х m над алфавитом A) матрицу (aij ).
Обозначим МП'т—множество а-матриц размерности n х m.
Пусть (а1 ), (a2j) G МП*т. Стандартныи образом определим операции их прямого произведения, объединения и транспонирования, полагая
nxm nxm
(а%) ® (ац) := Н ° ац) е М (а%) И (а%):= (а% и а%) е М^хт,
)т .= (а]г) е мтхп.
Пусть (а%) е М"хе, (а2%) е . Стандартныи образом определим операцию их произведения (по
правилу «строка на столбец»), полагая
(а\и) © (a2kj) := (aij) := ( J a\k о ) G Щ
к=1
Пусть (а%) е М"хп. Для любого т е N определим (а%)т+1 := (а%)т © (а%) е М"хп, где (а%)1 := (а%). Определим а-матрицы (епхт) е М"хт (5пхп) е М"хп, полагая
еП^т ':= М, для всех ',3 е 1..п; ¿пхп ,= \ Ы, если ' = 3 Л ' е 1..П г% | если ' = 3 Л е 1..п .
Понятно, что для любой а-матрицы (а%) е М"хт справедливы равенства
(а%) © (Пт) = (Пт) ® (а%) = (а%),
i j J v-ij K-"-i] ) VJ-iji
"¿Г) = (*ПП © (akj) = (aij)
В дальнейшем будем рассматривать некоммутативные полукольца с единицей (МПхт, (<8>, и
л
xn f^
л
(M^xn, (©, w)).
2.2. Представление граф-порожденных грамматик альфа-матрицами 2.2.1. Граф-порожденные грамматики вершинного типа
Напомним определение граф-порожденной грамматики [1].
Рассмотрим граф ОЕ, заданный множеством вершин V := 1..п := {1, 2, ..,п} и бинарным граф-отношением Е С 1..п х 1..п. Зададим конечный алфавит А := {а1,..,ап1} мощности П1 ^ п, возможно содержащий в себе пустое слово е, и тотальную сюръекцию шп : 1..п ^ А. Обозначим Ь+—множество непустых слов над алфавитом 1 ..п.
Рассмотрим моноид {ЬА, (о)) и определим тотальную функцию ш : Ь+ ^ ЬА правилом
и({го.лт)) = ш(гог1 ...гт) := шп (го) о шп(г1) о ... о шп(гт) = ж € Ь*А.
Обозначим Щ - т (ОЕ) С Ь+- множество маршрутов в вершинной форме длины т на графе ОЕ из вершины г в вершину ]. В случае т = 0 для любого ] € 1..п полагаем Ь%- оОЕ) := {г}. Рассмотрим функцию П : 2Ь+ ^ 2Ьа , индуцированную функцией ш:
0,(Ь) := {ж := ш(гог1 ...гт) | гог1 ... гт € Ь С Ь+} С Ь*А.
Определение 2.2. В предыдущих обозначениях будем называть граф-порожденными языками или С-языками (над алфавитом А) языки
ьм (ОЕ , А,шп):= у ОД,- т(ОЕ)),
(гт)еМ
где 0 = М С 1..п х 1..п х Мо. В случае одноэлементных множеств М = {(го]о,то)} соответствующие С-языки будем обозначать Цо-0 то (ОЕ, А,Шп).
Граф-порожденными грамматиками или С-грамматиками (над алфавитом А) будем называть четверки
{ОЕ, А, Шп,М).
Языки и грамматики, фигурирующие в определении 2.2. будем также называть С-языками и С-грамма-тиками вершинного типа или у-типа, а граф ОЕ — порождающим графом.
Рассмотрим граф-порожденную грамматику {ОЕ, А,шп ,М) и ее порождающий граф ОЕ.
Пусть (дп)—матрица смежности вершин графа ОЕ. Определим а-матрицу (а- ) € М"Пхп, полагая
а
:= { := 0,
шп(г)}, если дП = 1 А г,] € 1..п
г] ' 1 0- если дп =0 А г] € 1..п '
Определим а-матрицу (а]) € Мпхп, полагая
г3>
,Д -
а] := {шп(г)}, для всех г€ 1..п. Рассмотрим а-матрицу (а]) := (а] ) 0 (а])Т. Понятно, что
1 I {ш(г])}, если дгп = 1
I {ш(г])},
0,
а = .
а'г] 1 0, если дп = 0 '
Таким образом, элемент а-матрицы а1- содержит слово языка Щ- 1(ОпЕ, А,шп), соответствующее маршруту длины 1 на графе ОЕ из вершины г в вершину ], если такой маршрут существует, и пуст, в противном случае.
Рассмотрим а-матрицу (а2) := (а] )2 0 (а])Т. Понятно, что
а2 = У {ш(гкз)}-
у2-г]
Таким образом, элемент а-матрицы а2 содержит все слова языка Ь- 2(ОЕ, А,шп), соответствующие маршрутам длины 2 на графе ОЕ из вершины г в вершину ], если такие маршруты существуют, и пуст, в противном
случае.
Аналогичным образом рассматривая а-матрицу (а.т) := (а- )т 0 (а])Т, получаем, что ее элемент ат
содержит все слова языка Щ - т(ОЕ, А,шп), соответствующие маршрутам длины т из на графе ОЕ вершины г в вершину ], если такие маршруты существуют, и пуст, в противном случае.
В терминах С-языков вершинного типа сказанное означает то, что справедлива следующая
Лемма 2.1. С-язык вершинного типа допускает представление
ЬМ(СпЕ, Л,Шп):= У ^ЬтСЕ)) = У
%'
(г %, т)еМ
(г т)еМ
где
(а%) := {
= \ (а% )т © (а%)Т, если 0 = М С 1..п х 1..п х N
(аг%),
если 0 = М С 1..п х 1..п х {0}
Замечание 2.1. В определении 2.2 единственный маршрут нулевой длины из вершины ' в вершину 3 на графе ОтЕ полагается равным самой вершине ' для любого значения 3 е 1..п. В [1] показано, что определенный таким образом С-язык вершинного типа, является регулярным.
В действительности, С-язык вершинного типа остается регулярным и в том случае, если считать, что
ту (Пп\ — \ если 'У'3) е Е
Ьг%,с(СЕ) = 1 0,
если (',3) е Е
Распознающий такой язык конечный автомат можно определить следующим образом:
5 := {Б-г | г е IЛ 33 3 е 3 Л (г,з) е Е} и {Бс, Б1,...,Бп, Бп+1}-, X := Л; «с := Бо;
Б-г, если г е Iлзз3 е 3л (г,з) е Е Бп+1, если г е 1..п л г е I '
5(Йс,шп(г)) :
ё(Бишп(з)) :={ Б, если г,3е 1..п Л Н е Е ;
\ Бп+1, если г,з е 1..п Л (г,з) /Е ' 5(Б-г,Шп(3)) := 6(Бг,Шп(3)), если ' е I Л 333 е 3 Л (', 3) е Е; 6(Бп+1,Шп(г)) := Бп+1, если ' е 1..п; ^ := {Б% 13 е з}и {Б-г | г е IЛ 33 з е 3 Л (г,з) е Е}.
Для подобных языков справедлива
Лемма 2.2. Определенный в текущем замечании С-язык вершинного типа допускает представление
ЬМ(СЕ, Л,Шп):= и П'ЬЬ,т(СЕ))= и а™,
(г,],т)ем (г,],т)€М
где
(а™) ■= |
(а9% )т © (а%)Т, если 0 = М С 1..п х 1..п х N
(а% ),
если 0 = М С 1..п х 1..п х {0}
Пример 2.1.
Рассмотрим порождающий граф С4Е, заданный граф-отношением
Е := {(1, 2), (1, 3), (2,4), (3, 4)} С 1..4 х 1..4,
и его матрицу смежности вершин
0110 0 0 0 1 0 0 0 1 0000
Зададим алфавит Л := {а,Ь} и тотальную сюръекциию : 1..4 ^ Л, полагая
(4) -
ш4(1) := а, ш4(2) := Ь, Ш4(3) := а, Ш4(4) := а.
4
В данном случае порождающие матрицы (а% ), (а%), фигурирующие в формулировке леммы 2.1, будут
иметь вид
(а% ) :=
( 0 {а} {а} 0 \ {а} {а} {а} {а}
0 0 0 {Ь} , (а%):= {Ь} {Ь} {Ь} {Ь}
0 0 0 {а} {а} {а} {а} {а}
0 0 0 0 {а} {а} {а} {а}
Непустые множества маршрутов в вершинной форме длины т > 0 на графе СЕ и соответствующие им
т
языки имеют вид
где
ТУ
Ь1,2 ТУ
Ь1,3
ТУ
Ь2,4
ТУ
Ь3,4
ТУ
Ь1,4
ТУ
Ь1,2 ТУ
Ь1,3
ТУ
Ь2,4
ТУ
Ь3,4
ТУ
Ь1,4
1(ОЕ ) = {12},
1(О3Е ) = {13}, 1(ОЕ ) = {24}, 1(ОЕ ) = {34}, 2(ОЕ ) = {124,134},
1(ОЕ, А,Ш4) = {аЬ} = аХ12, 1(ОЕ, А,Ш4) = {аа} = а\3, 1(ОЕ, А,Ш4) = {Ьа} = а24, 1(О4Е, А, Ш4) = {аа} = а\4, 2(ОЕ, А, Ш4) = {ааа, аЬа} = а24,
(а- ):= (а-) 0 (а])Т
0 {аЬ} {аа} 0 0 0 {Ьа}
0 0 {аа} \ 0 0 0 0 )
(0 0 0 {ааа,аЬа} \
(а2]) := (а- ? 0 (а])Т
2.2.2. Лемма о прямом произведении
Пусть (а—), (в—) € Мпхп— а-матрицы размерности п х п над алфавитом А, причем Уг1,г2,з € 1..п ¡3^- = = , то есть все элементы, находящиеся в одном столбце матрицы (в—) совпадают. Рассмотрим а-матрицу (^г-) € М^х2п, элементы которой определены правилом
аг], если г,] € 1..п := \ ви, если г € 1..п А ] = п + г .
0, если (г € 1..п А ] = п + г) V (г,] € п +1..2п)
Обозначим
(ат) := (ацГ = (а- )Г-1 © (а-) = ( а^-1 о а-)
к=1 2п
Ю := Ы)т = Ы)т-1 © (Ъ]) = (и ^Гк-1 о 1к]),
к=1
(ПГ) := (ац)Г 0 (в-) = (аГ о вц)■
Понятно, что если г,] € 1..п и т> 1, то
1Г := и ^Гк-1 о 1к] к=1
Если же г € 1..п А ] € п + 1..2п, то
2п п
Г1
^1Гк-1 о 1к]
к=1
и
к=1
Г 1 Г
агк о ак] = аг] .
1Г := и ^Г-1 о 1к] = и 1Г-1 о 1к] = 1Г-1 о 3]] = аГ-1 о вг- = г,Г-1.
к=1
к=1
Положим 7Г := ^Гц+п), при г,] € 1..п, и рассмотрим а-матрицу (7Г) € М^хп, являющуюся подматрицей матрицы (уГ).
В силу ранее сказанного справедлива
Лемма 2.3. С учетом введенных обозначений при т ^ 1 имеет место равенство
(агц )Г 0 (вц ) = (%+Х)-
Из лемм 2.1-2.3 вытекают
Следствие 2.1. С-язык вершинного типа допускает представление ЬУМ(ОЕ, А,шп):= и П(ЬУ-т(ОпЕ))= и аГ
(г-Г^^м
г] :
(гц^^м (гц^^м'
и
где
ч
_ 1 (а9ц )™ © (ай)Т, если 0 = М С 1..п х 1..п х N
К)■= О
(а£), если 0 = М С 1.п х 1..п х {0}
а- , если г] £ 1..п 7п ■ = ^ аЦ, если г £ 1..п Л ] = п + г
0, если (г £ 1..п Л ] = п + г) V (г] £ п + 1..2п)
=
МI ■ I {(г,] + п,т + 1) I (г,], т) £ М}, если 0 = М С 1..п х 1..п х N ■ {(г, г + п,т + 1) | (г,],т) £ М}, если 0 = М С 1..п х 1..п х {0} '
Следствие 2.2. Определенный в замечании 3.1 О-язык вершинного типа допускает представление
ЬМ(СЕ, А,ип): = У ПЩ^СЪ))= У а™ = и ^,
{г,],т)еМ (г,],т)€М (г,],т)еМ'
где
(а™) ■ = |
I (Ы
т) ■ , аП)т © (а£), если 0 = М С 1..п х 1..п х N
М'
{
ю ' (а9- ), если 0 = М С 1..п х 1..п х {0}
{(г,] + п,т +1) I (г], т) £ М}, если 0 = М С 1..п х 1..п х N {(г,з,т + 1) | (г,з,т) £ М}, если 0 = М С 1..п х 1..п х {0} .
Следствие 2.3. Лемма 2.3 и следствия 2.1, 2.2 остаются справедливыми, если определять элементы а-матрицы (^) £ М'2П+кх2п+к при произвольном к £ N правилом
1гз ■ = \
агз, если г,] £ 1..п
а^г, если г £ 1..п Л ] = п + г
0, если (г £ 1..п Л ] = п + г) V (г,] £ п + 1..2п) .
0, если г £ 2п +1..2п + к Л ] £ 1..2п
0, если г £ 1..2п + к Л ] £ 2п +1..2п + к
Пример 2.2.
Рассмотрим порождающий граф СЕ, а-матрицу и С-языки вершинного типа, определенные в примере 2.1. Соответствующая им матрица ), фигурирующая в формулировке следствия 2.1, будет иметь вид
I 0 {а} {а}
Ы) ■=
\
{Ь}
{а}
{а}
{Ь}
\
{а}
{а}
При этом выполняются легко проверяемые равенства
Ь] 2 \(САЕ, А, ш4) = {аЬ} = а
г V
12
11Ъ
Ь1,3,1(СЕ, А,ш4) = {аа} = а]3 = 117,
Ь2АЛ(СЕ, А ш4)
{Ьа}
13 1
*24
2
728,
Ц,4,1 (СЕ, А,ш4) = {аа} = а34 = 738,
М,4,2(СЕ, А ш4)
{ааа, аЬа} = а
14
где
Ы ) ■ =
Ы )2
{аа, аЬ} 0 {аЬ} {аа}
{Ьа} {аа}
1
(1%) := Ы? =
{ааа, аЬа}
а матрицы (а1-), (а2-) определены в примере 2.1.
2.2.3. Граф-порожденные грамматики реберного типа
Наряду с маршрутами в вершинной форме на графе ОЕ рассмотрим маршруты в реберной форме. Маршрут в реберной форме на графе ОЕ из вершины го в вершину гГ будем обозначать {^^^..^„^^т]) := = (го, г1), (г1,г2), ., (гт-2,гт-1), (гт-1 ,гт) € Ь+
Обозначим Ц- Г(ОЕ) С Ь+- множество маршрутов в реберной форме длины т из вершины г в вершину ]. В отличие от предыдущего будем рассматривать только маршруты ненулевой длины.
Как и ранее, зададим конечный алфавит А := {а1,..,ап1} мощности п1 ^ Е1 возможно содержащий в себе пустое слово е, и тотальную сюръекцию Ше : Е ^ А. Определим тотальную функцию ш : Ь+ ^ Ь*А правилом
ш({[гог1]..[гт-1гт])) := Ше((го, г1)) о Ше((г1,г2)) о .. . о Ше((гт-1, гт)) = ж € ЬД.
Рассмотрим функцию П : 2Ь+ ^ 2Ьа , индуцированную функцией Ш.
Определение 2.3. В предыдущих обозначениях будем называть граф-порожденными языками реберного типа или С-языками е-типа (над алфавитом А) языки
ЬМ (ОЕ, А,ШЕ ):= и П(Ц-, Г(ОЕ )),
(г -, ш)ем
где 0 = М С 1..п х 1..п х N. В случае одноэлементных множеств М = {(го]о,то)} соответствующие С-языки будем обозначать Ц0ц0,т0 (ОЕ, А,Ше).
Граф-порожденными грамматиками реберного типа или С-грамматиками е-типа (над алфавитом А) будем называть четверки {ОЕ, А,Ше ,М).
Определим а-матрицу (а] ) € Мпхп, полагая
:=
{ше((г]))}, если дп = 1 А г] € 1..п
дп
если дп =0 А г,] € 1..п
Проводя рассуждения, аналогичные проведенным при обосновании справедливости леммы 2.1, легко показать, что справедлива
Лемма 2.4. С-язык реберного типа допускает представление
ьм (ОпЕ, А,Шп):= и П(ЬУ-т(ОпЕ ))= и аГ,
(гц,Г)ем (гц,Г)ем
где (аГ) := (а-)™. Пример 2.3.
Рассмотрим порождающий граф О4Е, определенный в примере 2.1. Зададим алфавит А := {а,Ь,с} и тотальную сюръекциию : Е ^ А, полагая
Ше((1, 2)) := а,ШЕ((1, 3)) := Ь,ШЕ((2,4)) := С,ШЕ((3,4)) := с. овке леммы 2.4, буде ( 0 {а} {Ь} 0 \
Матрица (а9г -), фигурирующая в формулировке леммы 2.4, будет иметь вид
(а- ) :=
0 0 0 {с}
0 0 0 {с} 0 0 0 0
Непустые множества маршрутов в реберной форме длины т > 0 на графе СЕ и соответствующие им языки имеют вид
Ье1,2,1(С3Е) = {(1, 2)},
Ь1,3,1(С3Е) = {(1, 3)},
Ье2,4,1(С3Е) = {(2, 4)},
ЬезЛЛ(С3Е) = {(3, 4)},
Ье1 , 4 ,2(С%)= {(1, 2)(2, 4); (^3), (3,4)},
Ье1 , 2 ,1(С4Е, А,ШЕ) = {а} = а12,
Ь1зА(С4Е, А,Ше) = {Ь} = а.1з,
ЬР2,4,1(С4Е, А,ШЕ ) = {с} = а.24,
Ь3,4,1(С4Е, А,Ше) = {с} = аз4,
Ьг,4,2(СЕ, А,Ше) = {ас, Ьс} = а214,
где
(а%) ■ = (агз? =
{ ас, Ьс}
0 0 0 0
2.3. Лемма о вершинном представлении
Определение 2.4. Будем назыаать а-матрицу (аг^) £ МП*™ матрицей вершинного типа, если
У г £ 1..п,]1,]2 £ 1..тагз! = аг^2.
п
Рассмотрим матрицу (а^) £ МП*п и определим алфавит А ■ = аг^.
г,з=1
Непустые элементы матрицы (а^) будем интерпретировать как метки соответствующих ребер (г]) £ Е ■= = {(г,]) I агз = 0} графа СЕ.
Если определить тотальную сюръекцию Ше ■ Е ^ А правилом Ше((г,])) ■ = а= 0, то в силу леммы 2.3 порожденные этим графом языки реберного типа будут иметь представление
ЬМ (СпЕ, А,Шп)■ = У ЩЬ1,т(СПЕ ))= У а™,
{г,],т)еМ (г,],т)еМ
где (а™) ■ = (аг^)т. п
Обозначим с!г—количество непустых элементов в г-ой строке матрицы (а^). Понятно, что Е1 = ^П=1 !г = = !. Занумеруем ребра графа СпЕ в порядке появления соответвующих им непустых элементов в строках матрицы (агу), начиная с первой строки. Таким образом, первые с!1 ребер будут иметь вид (1,]3) в £ 1..т1, следующие !2 ребер будут иметь вид (2,]3) в £ !1 + 1..!1 + !2, и т.д.
На множестве Е зададим бинарное отношение К С Е х Е, полагая, что ребра е3 ■ = (г3]3), вк ■ = (гк,]к) находятся в отношении К, если ]3 = гк, то есть, если ребро е3 входит в вершину ]3, а ребро исходит из нее.
На множестве вершин 1..! зададим граф-отношение Ед, полагая (в, к) £ Ед, если (е3,вк) £ К. Определим граф СЕН. Понятно, что к-ой вершине графа СЕН соответствует к-ое ребро графа СЕ. Зададим метки вершин графа С"та в соответствии с метками ребер графа СЕ, то есть определим тотальную сюръекцию ша ■ 1..! ^ А, полагая
ша(в) ■ = аг3з3 для всех в £ 1..!,
где (г3,]3) = в3— в-ое ребро графа СЕ.
Пусть (д3,к)—матрица смежности вершин графа СаЕя. Как и ранее, определим а-матрицу (а9вк), полагая
а
=
{ша(в)}, если д^к = 1 Л в, к £ 1..!
если д^к =0 Л в, к £ 1..!
дк ■ = I с^ил Узк
зк ■ 1(71 если да
Рассмотрим ребро е3 ■ = (г3]3) графа СпЕ, исходящее из вершины г3 и входящее в вершину ]3. В этом
п Т Е,
случае агвзв = Ше((3 ]3)) = 0. Если существует ребро ек ■ = (]3,]к) графа СЕ, исходящее из вершины ]3 и
У
входящее в вершину ]к, то ад3к = ша(в) = аг^в = ше((13,03)) = 0, в противном случае адк = 0.
дк _
Таким образом, элемент а-матрицы адк содержит слово языка 1 (СЕ, А,шп), соответствующее марш-
руту длины 1 в реберной форме на графе СЕ из вершины г3 в вершину ]3, если существует маршрут длины
2 из вершины гэ через вершину в некоторую вершину ]к, и пуст, в противном случае. Это слово также принадлежит языку ЬУ к о(О%н, А,што есть соответствует маршруту длины 0 в вершинной форме из вершины в в вершину к на графе ОЕн, если полагать, что этот путь равен в для любой вершины к € 1..й. Если, как и ранее при доказательстве леммы 2.1, определить а-матрицу (а^к) € полагая
и рассмотреть а-матрицу (а1к)
аук := {ш^(в)}, для всех в, к € 1..й,
„л
(<к) 0 )
А \Т
то
1 _ ( Мй^^ если д^к
хвк
0, если д^к = 0
Таким образом, элемент а-матрицы а^ содержит единственное слово языка ЬУ к 1(О%К, А,ш¡¡), соответствующее маршруту длины 1 в вершинной форме на графе ОЕн из вершины в в вершину к, если такой маршрут существует, и пуст, в противном случае. Этому маршруту соответствует маршрут длины 2 в реберной форме на графе ОЕ из вершины гэ через вершину в вершину ]к, и, как следствие, слово а^ также принадлежит языку Ц3, ]к, 2 (ОЕ, А,Шп ).
(аГ) :=(а93к)Г 0 (а&)Т.
Рассмотрим а-матрицы (аГ-) := (а— )г Обозначим (г) := {в | еэ = (г,])}—множество индексов ребер графа ОЕ, исходящих из вершины г, {к 1 ек = (г,])}—множество индексов ребер графа ОЕ, входящих в вершину ]. Понятно, что ^ (г)
={в 1 Егт=1 <в < ЕГ=1 Лг}.
Рассуждая аналогично предыдущему, можно показать, что при т > 1
аГ =
аг]
1
и
эе^ (г)лкеК (ц)
Из сказанного, а также из леммы 2.3 о прямом произведении и ее следствий вытекает
Лемма 2.5. С учетом введенных обозначений при т > 1 имеет место равенство
--ш I I
аг- = и 1ь(к+а), (г)АкеК (])
где элементы матрицы вершинного типа ) € М^+1х2Л+1 заданы правилом
аэк, если в, к € 1..й
Ък := <
если в € 1..й А к = й + в
если (в € 1..й А к = й + в) V (в, к € й + 1..2й)
если в = 2й +1 А к € 1..2й
если в € 1..2й + 1 А к = 2й +1
и ЬГк) := Ы)
Кроме того,
:=
:= Ъ(з+4),
если (г]) = еэ € Е
1(2й+1)(2й+1), если (г,]) € Е
Пример 2.4.
Рассмотрим порождающий граф ОЕ, а-матрицу и О-языки реберного типа, определенные в примере 2.3. Примем следующую нумерацию ребер графа О4Е:
е1 := (1, 2),е2 := (1, 3),е3 := (2, 4),е4 := (3,4).
Бинарные отношения К С Е х Е и Еп С 1..4 х 1..4, фигурирующие в предыдущих рассуждениях, будут иметь вид:
К := {(е1,е3), (е2,е3)}, Еп := {(1, 3), (2, 3)}.
В этом случае
(ак =
0 0 {а} 0 {а} {а} {а} {а} \
0 0 0 {Ь} , (а& ) = {Ь} {Ь} {Ь} {Ь}
0 0 0 0 {с} {с} {с} {с}
0 0 0 0 {с} {с} {с} {с} )
^(1) = {1, 2}, ^(2) = 13}, ^(3) = {4}, ^(4) = 0, К(1) = 0, К(2) = {1}, К(3) = {2}, К(4) = {3,4}.
и
Соответствующая им матрица (73к), фигурирующая в формулировке леммы 2.5, будет иметь вид
0 0 {а} 0 {а} 0
0 0 0 {Ь} 0 {Ь}
(13к) ■ =
\
{с}
{с}
0 0 0 0 0 При этом выполняются легко проверяемые равенства
Ь1,2,1(С%, А,ШЕ) = {а} = а.12 = 415,
Ье1 , 3 ,1(С4е, А,ШЕ) = {Ь} = а13 = Ч2в,
ЬР2,4,1(С4Е, А,Ше) = {с} = а.24 = 137,
Ь3 4 1(С4е , А,ШЕ) = {с} = &34 = 748 ' ' ' - - 2
Ь1,4,2(СЕ, А,ШЕ) = {ас Ьс} = а214 = У3е{1,2}Лке{3
4}
где
{ ас}
1.3(к+4), 0 \
{Ьс}
Ык) ■ = Ы ? =
0 0 0 0 0 0 0 0 0
а матрицы а1), (а-) определены в примере 2.3.
Непосредственным следствием леммы 2.5 является
Лемма 2.6. Классы О-языков вершинного и реберного типов совпадают. Пример 2.5.
Рассмотрим порождающий граф СЕ, заданный граф-отношением
с матрицей смежности вершин
Е ■ = {(1, 2)} С 1..2 х 1..2, (д2) ■ ^ 0 1 ) .
Зададим алфавит А ■ = {а,е} и тотальные сюръекции ш2 ■ 1..2 ^ А, ш2 ■ Е ^ А, полагая
Ш2(1) ■ = е, Ш2(2) ■ = а; Ше((1, 2)) ■ = е.
2.2
В данном случае матрицы (а9^ ), (ац), (а), фигурирующие в формулировках лемм 2.1 и 2.4 будут иметь
вид
(ад2) ■ =( 0 И (а-^) ■ =( ^ ) ■ =( 0
а) ■ = ^ 0 0 ) , (агз) ■ = ^ {а} {а}) , а) ■ = ^ 0 0 ).
Понятно, что (С2е, А,Ш2) = {е} и Ь11Л(С'2Е, А,ше) = {е}. Пример 2.6.
Рассмотрим алфавит А и непустое слово те £ Ь+ длины |те| = п.
Зададим вспомогательный алфавит А1 ■ = {те[г] | г = 1..п}, где те[г]— г-ая буква слова те. Зададим порождающий граф СпЕ при помощи граф-отношения
Е ■ = {(1, 2), (2, 3),.., (г - 1,1),., (п - 1, п)} С 1..п х 1 ..п,
и определим тотальную сюръекцию шп ■ 1..п ^ А1, полагая
шп(г) ■ = те[г], для всех г £ 1..п.
Понятно, что Цпп-ЛСЕ, А1,Шп) = {те}.
Также зададим порождающий граф ОЕ+1 при помощи граф-отношения
Е := {(1, 2), (2, 3),.., (г - 1,1),.., (п,п + 1)} С 1..п + 1 х 1..п + 1. и определим тотальную сюръекцию шп+1 : Е ^ А1, полагая
шЕ((г, г + 1)) := ж[г], для всех г € 1..п. Понятно, что Ье1п+1 ,п(ОгЕ+1, А1,ше) = {ж}.
Непосредственно из результатов примеров 2.5, 2.6 следует
Лемма 2.7. Любой конечный язык над алфавитом А является С-языком (вершинного, реберного типа).
2.4. Матрично порожденные грамматики
Способ представления С-языков при помощи элементов степеней а-матриц специального вида допускает естественное обобщение на случай произвольных языков. С учетом предыдущих результатов, дадим следующее
Определение 2.5. Пусть {(аг-)8}^=1—последовательность а-матриц согласованных размерностей над алфавитом А, то есть (аг-)е € мnsXms и п3+1 = т3. Матрично порожденными языками или Ма-языками (над алфавитом А) будем называть языки
Ьм({(аг-)В}Т=1, А):= и
(г -, к)ем
где М С 1..п1 х 1..тк х N и
4,
k
(aij) :=Q(aij )s := (aisl h О ■■ О (ask-lj )k ■ s=1
В случае одноэлементного множества M = {(iojo,^)} соответствующие Ma-языки будем обозначать
Lio, jo, ko ({(aij )s}s = l , A).
Матрично порожденными грамматиками или Ma-грамматиками (над алфавитом A) будем называть тройки ({(a.)s}%1, A, M). Матрицы (a.)s будем называть базисными порождающими матрицами.
Пример 2.7.
При произвольном M С 1..3 х 1..3 х N определим Ma-грамматики полагая
{aa} {a, aba} 0
(aij)2s := I {bbb,aaa,ab} 0 {b}
{e} {e, a, b}
{ab,e} {b} {e} (aij)2s+l := I {a,b,e} {a} L'A { bb, aa} { e} { e}
При исследовании матрично порожденных грамматик естественно использовать графовые интерпретации базисных матриц (aj) := (a.)s, а именно, в случае ns = ms можно трактовать их непустые элементы, как вершинные или реберные метки GrE(a(s)), заданого граф-отношением
E(a(s)) := {(i,J) j aj = 0} С 1..щ х 1..^.
В случае ns = ms рассматриваются ребра соответствующих двудольных графов.
Нетрудно понять, что G-языки обоих типов являются частным случаем Ma-языков, а приведенные выше леммы при соответствующих ограничениях допускают обобщение на случай a-матриц общего вида.
Литература
[1] Цветов В.П. Об одном надклассе A-грамматик. // Вестник СамГУ. Естественнонаучная серия. 2014. №10(121). С. 102-108.
[2] Golan J.S. The Theory of Semirings with Applications in Mathematics and Theoretical Computer Science. Pitman, 1991. (Pitman Monographs and Surveys in Pure and Appl. Math.; Vol.54).
[3] Hebisch U., Weinert H.J. Semirings. Algebraic Theory and Applications in Computer Science. Singapore: World Scientific, 1998.
[4] Молчанов В.А. О матричных полугруппах над полукольцами и их приложения к теории формальных языков // Математика. Механика: сб. науч. тр. Вып. 3. Саратов: Изд-во Сарат. ун-та, 2001. С. 98-101.
[5] Маслов В.П., Колокольцов В.Н. Идемпотентный анализ и его применение в оптимальном управлении. М.: Наука, 1994.
[6] Формальные языки и автоматы I: полукольца Конвея и конечные автоматы / С.И. Алешников [и др.] // Вестник Калининградского государственнного университета. 2003. Вып. 3. С. 7-38.
[7] Формальные языки и автоматы II: непрерывные полукольца и алгебраические системы / С.И. Алешников [и др.] // Вестник Калининградского государственнного университета. 2005. Вып. 1-2. С. 19-45.
[8] Исмагилов Р.С., Мастихина А.А. К вопросу частичного угадывания формальных языков // Вестник МГТУ им. Н.Э. Баумана. Сер. Естественные науки. 2016. № 2. C. 3--15. DOI: 10.18698/1812-3368-2016-2-3-15.
[9] Бисеров Д.С., Игудесман К.Б. Матрицы над полукольцом бинарных отношений и V-компонентные фракталы // Изв. вузов. Матем. № 5. 2011. С. 75-79.
[10] Цветов В.П. О специальном сужении конечного рефлексивного симметричного отношения до отношения эквивалентности // Вестник Самарского государственного университета. Естественнонаучная серия. 2006. № 4(44). C. 26-47.
References
[1] Tsvetov V.P. Ob odnom nadklasse A-grammatik [On a superclass of A-grammars]. Vestnik Samarskogo gosudarstvennogo universiteta. Estestvennonauchnaia seriia [Vestnik of Samara State University. Natural Science Series], 2014, no. 10(121), pp. 102-108 [in Russian].
[2] Golan J.S. The Theory of Semirings with Applications in Mathematics and Theoretical Computer Science. Pitman, 1991. (Pitman Monographs and Surveys in Pure and Appl. Math.; Vol. 54) [in English].
[3] Hebisch U., Weinert H.J. Semirings. Algebraic Theory and Applications in Computer Science. Singapore: World Scientific, 1998 [in English].
[4] Molchanov V.A. O matrichnykh polugruppakh nad polukol'tsami i ikh prilozheniia k teorii formal'nykh iazykov [On matrix semigroups over semirings and their applications to the theory of formal languages]. Matematika. Mekhanika. Sbornik nauchykh trudov. Vyp. [Mathematics. Mechanics. Collection of Scientific Papers. Issue 3]. Saratov: Izd -vo Sarat. un-ta, 2001, pp. 98-101 [in Russian].
[5] Maslov V.P., Kolokoltsov V.N. Idempotentnyi analiz i ego primenenie v optimal'nom upravlenii [Idempotent analysis and its application in optimal control]. M.: Nauka, 1994 [in Russian].
[6] Aleshnikov S.I., Boltnev Yu.F., Ezik Z. et al. Formal'nye iazyki i avtomaty I: polukol'tsa Konveia i konechnye avtomaty [Formal languages and automata I: Conway semirings and finite state machines]. Vestnik Kaliningradskogo gosudarstvennogo universiteta [IKBFU's Vestnik], 2003, Issue 3, pp. 7-38 [in Russian].
[7] Aleshnikov S.I., Boltnev Yu.F., Ezik Z. et al. Formal'nye iazyki i avtomaty II: nepreryvnye polukol'tsa i algebraicheskie sistemy [Formal languages and automata II: continuous semirings and algebraic systems]. Vestnik Kaliningradskogo gosudarstvennogo universiteta [IKBFU's Vestnik], 2003, Issue 1-2, pp. 19-45 [in Russian].
[8] Ismagilov R.S., Mastikhina A.A. K voprosu chastichnogo ugadyvaniia formal'nykh iazykov [On the problem of partial guessing of formal languages]. Vestnik MGTU im. N.E. Baumana. Ser. Estestvennye nauki [Herald of the Bauman Moscow State Technical University, Series Natural Sciences], 2016, no. 2, pp. 3—15. DOI: 10.18698/1812-3368-2016-2-3-15 [in Russian].
[9] Biserov D.S., Igudesman K.B. Matritsy nad polukol'tsom binarnykh otnoshenii i V-komponentnye fraktaly [Matrices over the semiring of binary relations and V-component fractals]. Izv. vuzov. Matem. [Russian Mathematics (Iz. VUZ)], 2011, no. 5, pp. 75-79 [in Russian].
[10] Tsvetov V.P. O spetsial'nom suzhenii konechnogo refleksivnogo simmetrichnogo otnosheniia do otnosheniia ekvivalentnosti [On a special restriction of reflexive and symmetric relation to an equivalence relation]. Vestnik Samarskogo gosudarstvennogo universiteta. Estestvennonauchnaia seriia [Vestnik of Samara State University. Natural Science Series], 2006, no. 4(44), pp. 26-47 [in Russian].
V.P. Tsvetov2
ALPHA-MATRIX AND GRAPH-GENERATED GRAMMARS
In this paper we consider the extension of graph-generated grammars based on their matrix representations. We study two classes of graph-generated grammars associated with the vertex and edge marking of graphs. We define alpha-matrices over a semiring of languages specified by finite alphabet A and then define the corresponding matrix algebras. These concepts are then used for constructive representation of graph-generated languages and research of their equivalence. We define a matrix-generated grammars as a natural superclass of graph-generated grammars. All the proofs are illustrated by examples.
Key words: semirings of languages, formal grammars, generative grammars, graph theory, paths in graphs, labeled graphs, graph-generated grammars, matrix-generated grammars.
Статья поступила в редакцию 21/7/2017. The article received 21/7/2017.
2 Tsvetov Viktor Petrovich ([email protected]), Department of Information Systems Security, Samara National Research University, 34, Moskovskoye shosse, Samara, 443086, Russian Federation.