Научная статья на тему 'Об одном надклассе a-грамматик'

Об одном надклассе a-грамматик Текст научной статьи по специальности «Математика»

CC BY
162
54
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФОРМАЛЬНЫЕ ЯЗЫКИ / ФОРМАЛЬНЫЕ ГРАММАТИКИ / ПОРОЖДАЮЩИЕ ГРАММАТИКИ / ТЕОРИЯ АВТОМАТОВ / ТЕОРИЯ ГРАФОВ / МАРШРУТЫ НА ГРАФАХ / РАЗМЕЧЕННЫЕ ГРАФЫ / ГРАФ-ПОРОЖДЕННЫЕ ГРАММАТИКИ

Аннотация научной статьи по математике, автор научной работы — Цветов В.П.

В статье рассматривается класс грамматик, допускающих представление правил порождения при помощи алгоритмов нахождения маршрутов на графах. Дается определение граф-порожденной грамматики или G-грамматики (над алфавитом A ) в терминах семейств маршрутов на вершинно размеченных графах. В отличие от графовых грамматик, которые применяются для описания динамики графовых структур, G-грамматики, напротив, используют граф-отношения в качестве средства представления формальных языков. Приводится алгоритм построения G-грамматики, порождающей язык, распознаваемый детерминированным конечным автоматом. Показывается, что класс языков, порождаемых G-грамматиками, является строгим надмножеством регулярных языков.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ON A SUPERCLASS OF A-GRAMMARS

In this paper we consider a superclass of automaton grammars that can be represented in terms of paths on graphs. With this approach, we assume that vertices of graph are labeled by symbols of finite alphabet A. We will call such grammars graph-generated grammars or G-grammars. In contrast to the graph grammars that are used to describe graph structure transformations, G-grammars using a graphs as a means of representing formal languages. We will give an algorithm for constructing G-grammar which generate the language recognized by deterministic finite automaton. Moreover, we will show that the class of languages generated by G-grammars is a proper superset of regular languages.

Текст научной работы на тему «Об одном надклассе a-грамматик»

УДК 519.713.34:519.171

В.П. Цветов1 ОБ ОДНОМ НАДКЛАССЕ А-ГРАММАТИК

В статье рассматривается класс грамматик, допускающих представление правил порождения при помощи алгоритмов нахождения маршрутов на графах. Дается определение граф-порожденной грамматики или О-грамматики (над алфавитом А) в терминах семейств маршрутов на вершинно размеченных графах. В отличие от графовых грамматик, которые применяются для описания динамики графовых структур, О-грамматики, напротив, используют граф-отношения в качестве средства представления формальных языков. Приводится алгоритм построения О-грамматики, порождающей язык, распознаваемый детерминированным конечным автоматом. Показывается, что класс языков, порождаемых О-грамматиками, является строгим надмножеством регулярных языков.

Ключевые слова: формальные языки, формальные грамматики, порождающие грамматики, теория автоматов, теория графов, маршруты на графах, размеченные графы, граф-порожденные грамматики.

1. Предварительные сведения

Графовые модели получили широкое распространение при исследовании формальных грамматик [1-3] и в теории автоматов [4-6], например, в части их применения к обработке изображений и распознаванию образов [7]. Это объясняется не только наглядностью представлений, но и богатой алгоритмической базой, разработанной для решения теоретико-графовых задач.

В последующих разделах определяется класс порождающих грамматик, опирающихся на синтаксические представления маршрутов на размеченных графах. В отличие от графовых грамматик [8-10], которые применяются для описания динамики графовых структур, рассматриваемые грамматики используют граф-отношения в качестве средства представления формальных языков.

Далее в статье используются следующие обозначения и определения.

N— множество натуральных чисел;

N0 := {0} и N—множество натуральных чисел с нулем;

Р— множество простых чисел;

А := {«1,..., ап}—конечный алфавит, при этом |А| := п— мощность А;

т..п := {т, т + 1,... ,п | т,п € N0 Л т ^ п}—диапазон натуральных чисел от т до п;

!© Цветов В.П., 2014

Цветов Виктор Петрович (tsf@ssu.samara.ru), кафедра безопасности информационных систем, Самарский государственный университет, 443011, Российская Федерация, г. Самара, ул. Акад. Павлова, 1.

В := 0..1 = {0, 1}—множество двоичных значений;

V х и — декартово произведение множеств V и и;

2у — булеан над V;

Я С V х и — бинарное отношение из V в и;

гЯп—альтернативное обозначение (г,п) € Я;

Я-1—бинарное отношение, обратное к бинарному отношению Я С V х и, где Я-1 := {(п,г) | гЯп} С и х V;

Я С V2— бинарное отношение на V. В частности, /у- тождественное бинарное отношение (отношение равенства) на V;

Я1 • Я2—произведение бинарных отношений Я1 и Я2, где Я1 С V х и, Я2 С и х х Ш, Я1 • Я2 := {(«, т) 13п € и гЯ1 п Л пЯ2т} С V х Ш. В частности, для функций /1 • /2(п):= /2(Л(п)) € Ш;

Я С V2—отношение эквивалентности на V, если С Я, Я = Я-1, Я • Я С Я. В этом случае V/Я- фактор-множество по отношению эквивалентности, и [г^] := = {г I (г,го) € Я} С V- класс эквиваленьности элемента го;

Я(У1)—образ множества Vl С V при действии бинарным отношением Я, где Я С V х и, Я(^) := {п I Зг € V1 гЯ1п} С и .В частности, для функций / V) С и;

Я-1(и1)—прообраз множества и С и при действии бинарным отношением Я. В частности, для функций /-1(и1) С V;

Гк : 2у ^ 2и —индуцированная функция для Я С V х и, где V1 С V, Гк := = Я(У1). В частности, для функций нижний индекс может исключаться Г(У1) := = Ff (У1) = / (^1);

Хк : V2 ^ В—характеристическая функция бинарного отношения на Я;

w := ... о/4т —слово длины т над алфавитом А;

| € М0—длина слова w;

е— пустое слово, |е| = 0;

Ат—множество слов длины т над алфавитом А, А0 = {е}, А1 = А;

Ь+ := УАт—множество непустых слов над алфавитом А;

Ь+ := Ь+ п—множество непустых слов над алфавитом 1..п;

Ь*л := А0 и Ь+ = и°=0 Ат— множество слов над алфавитом А;

Ь'П := Ь\ „—множество слов над алфавитом 1..п;

(Ь*л, (о)}—моноид слов над алфавитом А с операцией сцепления (конкатенации) слов, при этом полагаем т0 := е, тт+1 := тт о т, т € N0;

Г := (Т, Я, п0,Р}—порождающая грамматика, где Т- конечный непустой алфавит терминальных символов, Я- конечный непустой алфавит нетерминальных символов, П0 € Я- начальный нетерминальный символ, Р С (Ь+иЛ/- \ Ь+) х х - конечное множество правил вывода, при этом литерал ^€ Т и Я и

вместо (Ш1,Ш2) € Р записывают Ш1 ^ Ш2;

Ьг—язык, порожденный грамматикой Г;

А := (Б,Х,в0,б,Г}—детерминированный конечный автомат, где конечное непустое множество состояний, X- конечный непустой алфавит входных сигналов, в0 € А- начальное состояние, 3 : 5 х X ^ А- тотально определенная функция переходов, Г С А- множество допустимых финальных состояний.

Ьа—язык, допускаемый автоматом А;

СЕ := (V, Е} — (смешанный) граф, V- конечное множество вершин, Е С V2-множество ребер или (бинарное) граф-отношение на множестве V;

СЕ := (1..п, Е}— частный случай графа СЕ;

(дП)—матрица смежности вершин графа СЕ, дП := Хе(п(^),п(^)) € В, п : 1..|V| ^ V- тотальная биекция;

(gn)— матрица смежности вершин графа G%, g¡j := Хе(e(i),e(j)) = Хе(i,j) G D, е : 1..n ^ 1..n- тождественная подстановка;

{vio,vim)n := viovil .. .vim G LV —маршрут в вершинной форме на графе GE из вершины vi0 в вершину vim, (vik-1 ,vik) G E, vik := n(ik), к G 1..m. Если вершин с указанными свойствами не существует, то маршрут из вершины vi0 в вершину vim считается пустым, т. е. {vi0 ,vim)n := е. В случае, если vi0 = vim, маршрут {vi0 ,vim)п называется открытым, в противном случае - замкнутым;

{i0..im) := ¿oil .. .im G L^—маршрут в вершинной форме на графе GE из вершины io в вершину im;

ПК, ,vm )п || = \\vi0 vi1 ...vim || := m G N—длина маршрута {vi0 ,vm )n. Очевидно, ll{vio ,vim )n || = \\vio vil ...vm П := m = \vi0 vil ...vim \ —1 Определим маршрут нулевой длины {vi,)n := vi, G L+, т. е. положим |{vi,)n || = |К, || := \vi, \ — 1 = 1 - 1 = 0. Аналогично положим ||е|| := \е\ — 1 = 0 — 1 = -1.

2. Основные результаты

Любой маршрут в вершинной форме на графе ОЕ можно трактовать как слово языка ЬV. В связи с этим имеет смысл рассматривать различные языки, порожденные маршрутами на графе и соответствующие им грамматики.

2.1. ОР-грамматики

Рассмотрим конечный алфавит А мощности п и граф О^. Обозначим ЬП^ т(ОА) С Ь*л- множество маршрутов в вершинной форме длины т € N на графе О^ из вершины аг в вершину а3. Положим ЬП^ 0(О~е) := {а}.

Определение 2.1. В предыдущих обозначениях будем называть примитивными граф-порожденными языками или СР-языками (над алфавитом А) языки

ЬМ(ОЕ) := и ЬП

(г ,3, т)ем

где п : 1--п ^ А, 0 = М С 1..п х 1..п х N0. В случае одноэлементного множества М = {(10,]0,т0)} соответствующие СР-языки будем обозначать Ьпо 3о то (ОЕ).

Примитивными граф-порожденными грамматиками или СР-грамматиками (над алфавитом А) будем называть тройки (ОЕ,п,М).

Нетрудно понять, что при произвольных п : 1..п ^ А и конечных множествах М СР-языки конечны.

Для графов ОЕ, на которых отсутствуют замкнутые маршруты, СР-языки будут конечными и в случае бесконечных множеств М.

При наличии замкнутых машрутов на графе для бесконечных множеств М СР-языки ЬМ (ОЕ) могут быть как конечными, так и бесконечными. Например, для графа ОЕ с матрицей смежности вершин

0 1 0 \ 0 0 1 I 010

язык IIЬ12 , 2й(Ое) = 0, а язык Ц1Ь12 , 2Й-1(Ое) бесконечен.

Нетрудно построить конечные автоматы А := {Б, X, во, б, Г}, распознающие языки Щу^хМо(О;) над алфавитом А = {а1,... ,ап}, где 0 = 1С 1..п. Для этого достаточно положить

Б := {Бо, Б\,..., Бп, Бп+1}; X := А;

во := Бо; б(во, аг) :=

3(Бг,а^) :=

Бг, г € I Бп+1, г /I ; Б^, (аг, а2) € Е

Бп+1, (аг,а) / Е '

б(Бп+1 ,аг) := Бп+1;

Г := Б | з € 1}.

Нетрудно показать, что порождающие грамматики Г := {Т, М,и0,Р}, задающие языки ЬХ Хм0 (О;), имеют вид

Т := А;

N := {Бо, Б1,..., Бп, Бп+1};

по := Бо;

Бо ^ агБ2, г € I С 1..п, 3 € Ев ({а} := {3 | (аг, а^) € Е} С 1..п; Бг ^ агБ^, г € 1..п, 3 € Ев({аг}) С 1..п; Б2 ^ а^ Бп+1, 3 € 1 С 1..п;

Бп+1 ^ е.

Конечные автоматы, распознающие языки ЬПХ^Х м(О;), можно определить следующим образом

Б := {Б-г}ге! и {Бо, Б1,..., Бп, Бп+1}; X := А;

во := Бо; б(во, аг) :=

б(Бг, а^) :=

б(Б-г, а^) := б(Бп+1, аг) :

Б-г, г € I Бп+1, г /I ; Б^, (аг, а^) € Е Бп+1, (аг,а.2)€Е ; б(Бг, а.2);

п+1 ;

Е := {Б3 | з € 1}.

Итак СР-языки мо (о;) м

(О;) являются регулярными.

Рассмотрим алфавит А = {а1,..., ап} и нерегулярный язык {ар | р € Р} С Ь+. Рассмотрим граф ОАл. Легко понять, что при любых ц : 1..п ^ А имеет место равенство ЬЦ 1 Р(ОД) = {ар | р € Р}. Таким образом, существуют нерегулярные GP-языки.

2.2. О-грамматики

Рассмотрим граф ОВ, конечный алфавит А мощности т ^ п и тотальную сюръекцию шп : 1..п ^ А.

Аналогично рассмотрим граф ОВ, конечный алфавит А мощности т < п. Зададим расширенный алфавит А* := А и {е} и тотальную сюръекцию ш* : 1..п ^А*.

Рассмотрим полугруппы {Ьл, (о)), {Ь*,, (о)) и определим тотальные сюръекции ш : Ь+ ^ Ь+, ш* : Ь+ ^ Ь*л правилами

ш({го.лт)) = ш(го«1 .. .гт) := ш* (г0) о шп(н) о ... о ш*(гт) = ^ € ЬЛ, ш*({го..гт)) = ш(1о%1 ...гт) := ш** (го) о ш* (¿1) о ... о ш** (гт) = w* € Ь*л.

Заметим, что если для всех к € 1..т ш*(гк) = £, то = |ш*({го..гт))| = т + +1 = 1{г0.лт)1+1, в остальных случаях = |ш*({г0..гт))| ^ 1{г0..гт)1, в частности, если для всех к € 1..т ш* (г к) = £, то = ({г0.лт ))| = |е| = 0.

Обозначим Ьг,2,т (0*Е) С Ь+— множество маршрутов в вершинной форме длины т на графе 0*Е из вершины г в вершину ].

Рассмотрим функции О : 2Ь+ ^ 2ьл и О* : 2Ь+ ^ 2Ьа , индуцированные функ-

4=

циями ш и ш* .

Определение 3.1. В предыдущих обозначениях будем называть граф-порожден-ными языками или С-языками (над алфавитом Л) языки

Ьм^Е, А,шп) := )),

Ьм , А,ш* ):= У )),

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

где 0 = М С 1..п х 1..п х N0. Как и ранее, в случае одноэлементных множеств М = {(г0^0,т0} соответствующие С-языки будем обозначать ^Е, А,шп)

и Ьi0,j0,m0 ^Е, А,шП ).

Граф-порожденными грамматиками или С-грамматиками (над алфавитом А) будем называть четверки ^Е, А,шп,М) и ^Е, А,ш*,М).

Нетрудно понять, что СР-языки являются частным случаем С-языков.

Расссмотрим алфавит А = {«1,..., ат} и конечный автомат А := {Б, А, в0, 6, Г) с N состояниями. Для определенности положим

5 := {Б\,...,Б^}, «0 := ^1,

Г := Б | 3 € 3 С 1.Л}.

Рассмотрим декартово произведение 5 х А = {щ^ := (Б,,, а^) | Б, € Б, о^ € А} и заданное на нем отношение эквивалентности

Иа := ) | гьг2 € 1..N,j € 1..т}.

Рассмотрим отношение эквивалентности по ядру функции 6 на Б х А

кет(б) := 6 • б-1 = {(щ1А ^^) | 6(Щ1^1) = б(щ2^2)}.

Определим отношение эквивалентности К := Ка П кег(5) и фактор-множество V := Б х А/К.

Положим п := V| и зададим тотальную биекцию п : 1..п ^ V. Обозначим соответствующие классы эквивалентности у к := п(к).

В силу построения для любых ,щ2^2 € у к выполняются следующие условия:

jl = j2 = j (k),

6(Щ1^(к)) = 6(Щ1^(к)) = 6(У,2^(к)) = 6(У,2^(к)) € В предыдущих обозначениях определим функцию шп : 1..п ^ А, полагая

ш*(к) := а^(к).

Зададим множество E := {(ki, k2)\3ii, i2 € l..MS(Si1, aj(kl)) = Si2 A(Si1, aj(kl)) €

€ n(ki) A (Si2 ,aj(k2)) € V(k2)}-

Зададим множества

I := {k \ 3 aj € A 6(sq, aj) € n(k)}, J := {k \ 3 Si € F aj €A (Si, aj) € ф)}.

В силу построения конечный автомат A := (S, A, so, S, F) распознает язык

L(InJ)xJxN0 (GE, A ШП) U L(J\J)XJxN(GnE, A, Ш„).

Таким образом, справедлива

Лемма 3.1. Множество G-языков является строгим надмножеством регулярных языков.

Литература

[1] Хомский H. О некоторых формальных свойствах грамматик // Кибернетический сборник. 1962. № 5. С. 279-311.

[2] Хомский H. Заметка о грамматиках непосредственных составляющих // Кибернетический сборник. 1962. № 5. С. 312-316.

[3] Хомский H. Формальные свойства грамматик // Кибернетический сборник, новая серия. 1966. № 2. С. 121-230.

[4] Глушков В.М. Абстрактная теория автоматов // Успехи математических наук. 1961. Т. 16. № 5. С. 3-62.

[5] Глушков В.М. Теория автоматов и вопросы проектирования структур цифровых машин // Кибернетика. 1965. № 1. С. 3-11.

[6] Глушков В.М. Теория автоматов и формальные преобразования микропрограмм // Кибернетика. Т. 1. № 5. 1965. С. 1-9.

[7] Петров С.В. Графовые грамматики и автоматы (обзор) // Автоматика и телемеханика. 1978. № 7. С. 116-136.

[8] Balasubramanian D., Narayanan A., Buskirk C.P. et al. The Graph Rewriting and Transformation Language: GReAT // Electronic Communications of the EASST. 2006. Vol. 1. P. 1-8.

[9] Pfaltz J., Rosenfeld A. Web Grammars // Proceedings of the 1st International Joint Conference on Artificial Intelligence. 1969. P. 609-620.

[10] Rekers J., Schuerr A. A Graph Grammar approach to Graphical Parsing // Proceedings of the 11th IEEE International Symposium, 1995. P. 195-202.

References

[1] Chomsky N. On certain formal properties of grammars. Kiberneticheskii sbornik [Cybernetic collected book, 1962, no. 5, pp. 279-311 [in Russian].

[2] Chomsky N.A. Note on phrase-structure grammar. Kiberneticheskii sbornik [Cybernetic collected book, 1962, no. 5, pp. 312-316 [in Russian].

[3] Chomsky N. Formal properties of grammars. Kiberneticheskii sbornik, novaia seriia [Cybernetic collected book, new series], 1966, no. 2, pp. 120-230.

[4] Glushkov V.M. Abstract theory of automata. Uspekhi matematicheskikh nauk [Achievements of mathematical sciences], 1961, Vol. 16, no. 5, pp. 3-62 [in Russian].

[5] Glushkov V.M. Automata theory and design issues of structures of digital machines. Kibernetika[Cybernetics], 1965, Vol. 1, no. 1, pp. 3-11 [in Russian].

[6] Glushkov V.M. Automata theory and formal microprogram transformations. Kibernetika [Cybernetics], 1965, Vol. 1, no. 5, pp. 1-9. [in Russian].

[7] Petrov S.V. Graph grammars and automata (survey). Avtomatika i telemekhanika [Automatics and Teleautomatics], 1978, no. 7, pp. 116-136 [in Russian].

[8] Balasubramanian D., Narayanan A., Buskirk C.P. et al. The Graph Rewriting and Transformation Language: GReAT. Electronic Communications of the EASST, 2006, Vol. 1, pp. 1-8.

[9] Pfaltz J., Rosenfeld A. Web Grammars. Proceedings of the 1st International Joint Conference on Artificial Intelligence, 1969, pp. 609-620.

[10] Rekers J., Schuerr A. A Graph Grammar approach to Graphical Parsing. Proceedings of the 11th IEEE International Symposium, 1995, pp. 195-202.

V.P. Tsvetov2 ON A SUPERCLASS OF A-GRAMMARS

In this paper we consider a superclass of automaton grammars that can be represented in terms of paths on graphs. With this approach, we assume that vertices of graph are labeled by symbols of finite alphabet A. We will call such grammars graph-generated grammars or G-grammars. In contrast to the graph grammars that are used to describe graph structure transformations, G-grammars using a graphs as a means of representing formal languages. We will give an algorithm for constructing G-grammar which generate the language recognized by deterministic finite automaton. Moreover, we will show that the class of languages generated by G-grammars is a proper superset of regular languages.

Key words: formal languages, formal grammars, generative grammars, automata theory, graph theory, paths in graphs, labeled graphs, graph-generated grammars.

Статья поступила в редакцию 10/IX/2014. The article received 10/IX/2014.

2Tsvetov Viktor Petrovich (tsf@ssu.samara.ru), Department of Information Systems Security, Samara State University, Samara, 443011, Russian Federation.

i Надоели баннеры? Вы всегда можете отключить рекламу.