Научная статья на тему 'Аналитический подход в теории контекстно-свободных языков в нормальной форме Грейбах'

Аналитический подход в теории контекстно-свободных языков в нормальной форме Грейбах Текст научной статьи по специальности «Математика»

CC BY
269
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
КОНТЕКСТНО-СВОБОДНЫЕ ЯЗЫКИ / НОРМАЛЬНАЯ ФОРМА ГРЕЙБАХ

Аннотация научной статьи по математике, автор научной работы — Егорушкин Олег Игоревич, Сафонов Константин Владимирович

Контекстно-свободные языки рассматриваются как формальные степенные ряды, являющиеся решением системы полиномиальных уравнений с некоммутативными относительно умножения переменными. Предложено изучать эти системы в нормальной форме Грейбах, что позволит более эффективно использовать аналитические методы. Рассматриваются коммутативные образы контекстно-свободных языков и определяющих их систем уравнений в комплексной области.

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

Context-free languages are consider as formal power series, which are solutions of the polynomial equations systems with noncommutative variables respectively multiplication. It is suggested to investigate these systems in Greibach normal form, that allows to research it more effectively. Commutative images of languages and defining systems are considered in complex domain.

Текст научной работы на тему «Аналитический подход в теории контекстно-свободных языков в нормальной форме Грейбах»

2009 Математические основы информатики и программирования №3(5)

МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ

УДК 519.682

АНАЛИТИЧЕСКИЙ ПОДХОД В ТЕОРИИ КОНТЕКСТНО-СВОБОДНЫХ ЯЗЫКОВ В НОРМАЛЬНОЙ ФОРМЕ ГРЕЙБАХ1

О. И. Егорушкин*, К. В. Сафонов**

* Красноярский государственный аграрный университет,

** Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, г. Красноярск, Россия

E-mail: [email protected]

Контекстно-свободные языки рассматриваются как формальные степенные ряды, являющиеся решением системы полиномиальных уравнений с некоммутативными относительно умножения переменными. Предложено изучать эти системы в нормальной форме Грейбах, что позволит более эффективно использовать аналитические методы. Рассматриваются коммутативные образы контекстно-свободных языков и определяющих их систем уравнений в комплексной области.

Ключевые слова: контекстно-свободные языки, нормальная форма Грейбах.

Формальным языком L называют множество цепочек в алфавите {x\,... , xn}, выделенных с помощью конечного набора правил. Такие цепочки, принадлежащие свободной полугруппе {xi,... , xn}*, называются грамматически правильными предложениями (над словарем), а конечное множество правил, с помощью которых выделяются эти цепочки, называют грамматикой. Таким образом, формальный язык определяется совокупностью соответствующих правил и способом выделения цепочек с помощью этих правил.

Практически важный класс формальных языков образуют контекстно-свободные языки (кс-языки), являющиеся мощным средством моделирования естественных языков и языков программирования [1-3]. Обозначим W = {x1,...,xn} U {z1,...,zm} свободную полугруппу с операцией умножения над «расширенным» алфавитом {xi, . . . ,xn,Zi, . . . ,Zm}.

Словарем языка является конечное множество X = {x1,... , xn} слов языка, называемое терминальным множеством, а Z = {z1,... , zm} — множество вспомогательных символов zj, необходимых для задания грамматических правил, называемое нетерминальным множеством; W* = (X U Z)* — соответствующая свободная полугруппа относительно операции конкатенации. Дополним её операцией формального сложения «+» мономов из множества W* (вместо суммы можно взять объединение «U», следуя [1]), а также коммутативной операцией умножения мономов на (целые) числа. Таким образом, можно рассматривать не только многочлены, но и формальные степенные ряды с числовыми (как правило, целыми) коэффициентами от некоммутативных переменных.

1 Результаты работы докладывались на Международной конференции с элементами научной школы для молодёжи, г. Омск, 7-12 сентября 2009 г.

Кс-грамматика есть совокупность правил подстановки, которые каждому нетерминальному символу г- ставят в соответствие некоторые мономы от терминальных и нетерминальных символов:

^ ^ /л (х,г),..., г- ^ - (ж,

причем г\ — особый символ, играющий роль начала предложения в языке. Применение к нему произвольного числа подстановок порождает всевозможные правильные предложения языка.

Важной задачей теоретической информатики и ее приложений в теоретическом программировании является изучение структуры кс-языков и ее связи со структурой порождающих грамматик.

Правилам подстановки ставится в соответствие [3] система полиномиальных уравнений: каждому вспомогательному символу г-, содержащемуся в левой части подстановки, сопоставляется уравнение г- = р- (ж, г), где р- (ж, г) = /^(ж, г) + ... + /-^ (ж, г). Таким образом, кс-грамматике соответствует система полиномиальных уравнений

= Р- (ж,г),.7 = 1^..^ (1)

называемая системой уравнений Хомского — Щютценберже, а кс-языком называется [3, 4] первая компонента г\ ее решения (^(ж),... , гт(ж)), получаемого методом последовательных приближений

г-к+1) = Р-(ж, г(к)),г= (0,..., 0),] = 1,... ,т,

где = (г(к),... , 2^?), 0 — нулевой моном, такой, что 0 • и = и • 0 = 0 для любого монома и.

В результате итераций компоненты г- выражаются формальными степенными рядами, причем кс-язык есть тот из них, который представляет выделенный символ г1:

¿1 = ^ > Wi. (2)

г

Здесь < г1, wi > — числовой коэффициент при мономе wi от некоммутативных переменных ж1,... , жп (формальная сумма всех мономов и образует кс-язык). Условие того, что язык является контекстно-свободным, состоит также и в том, что многочлены р-(ж, г) не содержат мономов г- и е, где е — пустая цепочка. Таким образом, существование и единственность решения системы (1) обеспечивается её специфической структурой и методом последовательных приближений.

Система уравнений Хомского — Щютценберже впервые изучалась аналитическими методами в работах К. В. Сафонова (напр., [3]). Предложенный им подход состоял в изучении систем полиномиальных уравнений произвольной степени от многих переменных в комплексной области, что, естественно, сопряжено со значительными трудностями. В настоящей работе предлагается изучать вместо системы уравнений Хомского — Щютценберже эквивалентную ей систему в нормальной форме Грейбах [5, с. 127], в которой все многочлены имеют вторую степень по переменной г; переход к нормальной форме Грейбах всегда возможен за счет увеличения, быть может, числа переменных. Для уравнений второй степени аналитические методы исследования представляются более перспективными: их эффективность в большей мере зависит от степени уравнений, чем от числа переменных.

Более точно, нормальная форма Грейбах системы (1) подразумевает, что все входящие в нее многочлены имеют вид р(ж, г) = л(г) + (ж, г) + Л,'(ж), где л(г) — квад-

ратичная форма от переменных гі,... , гт, многочлен (ж, г) линеен по 21,..., гт, а многочлен ^(ж) от них не зависит [5, с. 127]. А значит, можно считать, что система (1) имеет вид

= Л'(г) + &(ж,г) + ^(ж) = 0,І = ^... ^. (1+)

Нам понадобится понятие коммутативного образа формального ряда (многочлена) [2,3]. А именно, поставим в соответствие формальному степенному ряду (многочлену) ряд (многочлен) с комплексными переменными, задав отображение терминальных жі и нетерминальных ^ символов из множества X и X в множество комплексных переменных, оставив за ними прежние обозначения, тогда далее (ж, г) Є С'Хг+га. Таким образом, получаем фиксированный гомоморфизм, который ставит в соответствие формальному ряду г его коммутативный образ — сходящийся в окрестности нуля степенной ряд от комплексных переменных

сг,^ —

i(r) = S afc xk, (3)

где

«fcxk = afcl,...,fcnж^1 .. .хП, afc = <r,Wi >, (4)

Bxi(Wi) = fcl,...,BXn(Wi)=fcn

символ ftc(d) означает число вхождений символа с в моном d.

Итак, рассмотрим систему уравнений (1*). Если в ней f (z) = 0 при всех j, то

эта система линейная и порождаемый ею язык принадлежит к простейшему классу

линейных языков [1, 2]. Однако важно, что существует связь между кс- и линейными языками, точнее, между их коммутативными образами.

Рассмотрим коммутативный образ кс-языка z1

ci(zi) = ^ afcxk = ^ afci,...,fcnxi1 ... , (5)

который является алгебраической функцией, а также коммутативный образ

ci(L) = ^ Lfco,fc x^0 xk (6)

ko ^0,k^0

некоторого линейного языка над терминальными символами xo,xi,...,xn, который является рациональной функцией.

Будем называть ряд (5) диагональю ряда (6), если при всех k1,... , выполнено условие

afcl,...,fcn Lfci,fci,fc2,...,fcn ,

и в следующей теореме установим, для каких именно кс-языков коммутативные образы являются диагоналями линейных языков.

Теорема 1. Если однородные многочлены второй степени f2(z), ... , fm(z), входящие в систему (1*), не зависят от переменной z1 и система уравнений

f (z) = 0,j =2,

(7)

имеет единственный нуль г = 0, то коммутативный образ кс-языка, порожденного системой (1*), является диагональю некоторого линейного языка.

Учитывая относительную простоту структуры линейных языков и конструкции диагонали, можно сделать вывод о том, что структура широкого класса кс-языков, описанных в теореме 1, является достаточно простой.

Доказательство. Рассмотрим корни системы (1*) следующим образом: будем считать переменные х и ^ комплексными параметрами, а остальные корни г[1] = = (¿2,... , гт) = г[1](х,г1) зависящими от этих параметров. Условие теоремы 1 означает, что ни при каких значениях параметров корни системы (1*) не стремятся к бесконечности (как это бывает, например, когда старший коэффициент многочлена при некотором значении параметра обращается в нуль). Следовательно, при всех значениях параметров х и г1 число корней [1](х, г1) подсистемы р (х,г) = 0, ^ = 2,... , т, с учетом кратностей ^ одно и то же, а потому возможно корректно определить результант этой подсистемы относительно уравнения р1(х, г) = 0:

Р (х,г0 = Д р1к (х,г1,г(к)[1](х,г1)), к

где в произведение входят все корни уравнения. В силу симметричной зависимости этой функции от корней и алгебраичности самих корней результант также является симметричной алгебраической функцией, т. е. многочленом.

Согласно теореме о результанте системы [6, с. 238], кратность корня (0, 0) системы (1*), равная 1, совпадает с кратностью корня г1 = 0 многочлена Р(х, г1) при х = 0. А значит, для многочлена Р(х, г1) выполняется условие

Р (0,0) = 0,™ =0.

а^1

Отсюда следует, что алгебраическая функция г1, определяемая многочленом Р, является диагональю некоторой рациональной функции от переменных х0,х1,... , хп (см. [7]). Поскольку каждая голоморфная в нуле рациональная функция является коммутативным образом соответствующего линейного языка, теорема 1 доказана. ■

Порождающая кс-язык система уравнений (1*) в нормальной форме Грейбах позволяет установить и другие свойства кс-языков, например, является данный формальный степенной ряд контекстно-свободным языком или нет. Сгруппируем коммутативный образ формального языка в ряд по однородным многочленам:

= ^(а)з(х) (8)

з

где (а)з (х) — однородный многочлен степени ^. Достаточно установить, что ряд (8) удовлетворяет уравнению степени 2, поскольку такую степень имеет система (1*). Возводя ряд (8) в квадрат, получим ряд (сг(г1))2 = ^3(а)32)(х). Тот факт, что оба ряда, будучи умноженными на многочлены, дают в сумме тождественный нуль, означает, что достаточно длинные отрезки этих рядов линейно зависимы. Таким образом, получается следующая теорема.

Теорема 2. Для того чтобы ряд по однородным многочленам (8) удовлетворял полиномиальному уравнению степени 2, необходимо и достаточно, чтобы при всех

j ^ jo, l ^ lo выполнялось равенство

(а),- (ж) ... (a)j+i(x) (a)j2)(x)

(a)j+i(x) ... (а),+г+1(ж) (а)5+)1(ж)

(a)j+q(ж) ... (а),+г+9(ж) (a)(+)q(ж)

где q = 21 + 1.

Таким образом, можно сделать вывод о том, что нормальная форма Грейбах систем уравнений, порождающих кс-языки, имеет ряд преимуществ, связанных с тем, что эти уравнения имеют степень не выше второй. Так, нормальная форма Грейбах позволяет установить важную связь кс-языков с линейными языками (теорема 1), а также получить фундаментальное условие, характеризующее кс-языки (теорема 2).

ЛИТЕРАТУРА

1. Глушков В. М., Цейтлин Г. Е., Ющенко Е. Л. Алгебра, языки, программирование. Киев: Наук. думка, 1974. 328 с.

2. Семенов А. Л. Алгоритмические проблемы для степенных рядов и контекстно-свободных грамматик // Докл. АН СССР. 1973. Т. 212. С. 50-52.

3. Сафонов К. В. О возможности вычислительного распознавания контекстно-свободных языков // Вычислительные технологии. 2005. Т. 10. №4. С. 91-98.

4. Сафонов К. В., Егорушкин О. И. О синтаксическом анализе и проблеме В. М. Глушкова распознавания контекстно-свободных языков Хомского // Вестник Томского госунивер-ситета. Приложение. 2006. №17. С. 63-66.

5. Salomaa A., Soitolla M. Automata-Theoretic Aspects of Formal Power Series. N.Y.: Springer Verlag, 1978. 176 p.

6. Айзенберг Л. А., Южаков А. П. Интегральные представления и вычеты в многомерном комплексном анализе. Новосибирск: Наука, 1979. 366 с.

7. Safonov K. V. On Power Series of Algebraic and Rational Functions in Cn // J. Mathematical Analysis and Applications. 2000. V. 243. P. 261-277.

(a)j+i(ж) (a)S+i(x)

(a)j+)1+q (ж)

= 0,

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