ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
2008
Теоретические основы прикладной дискретной математики
№ 2(2)
УДК 519.682
О РЕШЕНИИ СИСТЕМ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ, АССОЦИИРОВАННЫХ С КОНТЕКСТНО-СВОБОДНЫМИ ЯЗЫКАМИ
О.И. Егорушкин, Д.А. Калугин-Балашов, К.В. Сафонов
Красноярский государственный аграрный университет, Сибирский федеральный университет, г. Красноярск
E-mail: [email protected]
Рассмотрены системы алгебраических (полиномиальных) уравнений над кольцом, некоммутативным относительно умножения. Получено условие разрешимости таких систем в виде формальных степенных рядов. Рассмотрены системы линейных алгебраических уравнений, для которых исследована возможность понижения порядка систем. Данные системы обобщают свойства систем уравнений, определяющих контекстно-свободные и линейные языки.
Ключевые слова: контекстно-свободные языки, системы алгебраических уравнений, некоммутативное кольцо, коммутативный образ, граф инцидентности.
Обычно формальным языком Ь называют множество цепочек в алфавите {хь..., хп}, выделенных с помощью конечного набора правил. Выделенные цепочки, принадлежащие свободной полугруппе {хь..., хп} , называются при этом словами (над алфавитом) либо правильно построенными предложениями (над словарем), либо грамматически правильными предложениями. Конечное множество правил, с помощью которых выделяются цепочки, называют грамматикой. Таким образом, формальный язык определяется совокупностью соответствующих правил и способом выделения цепочек с помощью этих правил.
Практически важный класс формальных языков образуют контекстно-свободные языки (кс-языки), поскольку они являются адекватным средством моделирования естественных языков, а также языков программирования [1 - 3].
Рассмотрим играющее роль словаря конечное множество X = {хь, ..., хп}, состоящее из слов х1 языка и называемое терминальным множеством, а также 7 = &, ..., zm} - множество вспомогательных символов z^, необходимых для задания грамматических правил, называемое нетерминальным множеством. Обозначим Ж = (Xи7) = ({хь ..., хп} и ..., zn}) - свободную полугруппу относительно операции конкатенации; ее элементами являются произвольные цепочки, составленные из элементов «расширенного» алфавита {хь ., хп, z1, ., zn} - соответствующая свободная полугруппа относительно операции.
Дополним её операцией формального сложения «+» мономов из множества Ж* (вместо суммы можно взять объединение «и», следуя [1]), а также коммутативной операцией умножения мономов на (целые) числа. Таким образом, можно рассматривать не только многочлены, но и формальные степенные ряды с числовыми (как правило, целыми) коэффициентами от некоммутативных переменных.
Кс-грамматика есть совокупность правил подстановки, которые каждому нетерминальному символу ставят в соответствие некоторый моном от терминальных и нетерминальных символов:
при этом z1— особый, выделенный символ - начальный символ предложения (или программы). Правилам подстановки ставится в соответствие [3] система полиномиальных уравнений: каждому вспомогательному символу Zj, содержащемуся в левой части подстановки, сопоставляется уравнение Zj = pj (х, z), где
и кс-языком называется [3, 4] первая компонента Zj решения ^(х), ..., zm(x)) этой системы полиномиальных уравнений, получаемого методом последовательных приближений:
В результате итераций каждая компонента г,- выражается формальным степенным рядом, причем кс-язык и есть тот формальный степенной ряд, который представляет выделенный символ
PJ(x, z) = fbCx z) + — + fj qJ (X z).
Таким образом, кс-грамматике соответствует система полиномиальных уравнений
Zj = Pj (x, z), j =1, ..., m,
(1)
zi = Z < zi > wi > wi.
(2)
Здесь < z\,Wj > - числовой коэффициент, с которым моном Wj от некоммутативных переменных входит в ряд z1. Мономы Wj являются грамматически правильными предложениями, которые могут быть построены в
данном языке из слов хь, ..., хп этого языка, а весь ряд (2), т.е. формальная сумма всех правильных предложений, и является данным кс-языком. Построение системы уравнений (1) по грамматическим правилам языка приведено выше, причем условие того, что язык является контекстно-свободным, состоит также и в том, что многочлены pj (х, z) не содержат мономов Zj и е, где е - пустая цепочка. Таким образом, существование и единственность решения системы (1) обеспечивается её специфической структурой в совокупности с методом последовательных приближений.
Рассмотрим общий случай, а именно ассоциированную с контекстно-свободными языками произвольную систему алгебраических (полиномиальных) уравнений:
ц(х, z) = 0, 1= 1, ., т. (3)
Решением этой системы назовем выражение символов zi в виде формальных степенных рядов от х, подстановка которых в многочлены ^(х, z) обращает их в нуль. Нас интересует, каковы условия, при которых система (3) имеет такое решение, и способ получения искомых рядов.
Поставим в соответствие формальному степенному ряду (многочлену) ряд (многочлен) с комплексными переменными, задав отображение терминальных х1 и нетерминальных zi символов из множества X и 2 в
множество комплексных переменных, причем оставляем за ними прежние обозначения, тогда (х, г) е С”+и .
Таким образом, получаем фиксированный гомоморфизм, который ставит в соответствие формальному ряду (2) его коммутативный образ - степенной ряд от комплексных переменных
сг(г) = £ акгк ,
к кі к
где ак2 = ак1,...,к„ V -2і
ак = ^ < Г Щ > ,
# X )=к1,...,# х„ (wj )=к„
символ #е(ф означает число вхождений символа с в моном ^. Коммутативный образ кс-языка является алгебраической функцией, голоморфной в некоторой окрестности нуля, как показывают оценки коэффициентов степенного ряда.
Имеет место следующая Теорема 1. Если выполнено условие
* 0, (4)
то система (3) имеет единственное решение в виде формальных степенных рядов, выражающих вектор-функцию z через компоненты вектора х.
Для доказательства заметим, что если формальные ряды z = z(x) удовлетворяют системе уравнений д(х, z) = 0, то выполняется условие
сг(д(х, сг^(х)))) = 0.
И хотя обратное, вообще говоря, не верно, условие (4) для якобиана J обеспечивает существование и единственность решения системы с1(д(х, z)) = 0; обозначим это решение сг^(х)). Учитывая, что условие (4) означает линейную независимость градиентов коммутативных образов многочленов, а также метод мономиальных меток, предложенный в [4], получаем отсюда, что это решение действительно является коммутативным образом некоторого решения исходной некоммутативной системы.
Далее, в силу невырожденности матрицы Якоби в начале координат, можно сделать линейную замену переменных zi, в результате которой эта матрица становится единичной, что и приводит систему (3) к виду (1), в результате чего её можно решать методом последовательных приближений. Искомые ряды равны линейной комбинации получаемых рядов.
Рассмотрим теперь системы линейных алгебраических уравнений над некоммутативным кольцом, тесно связанные с линейными языками [1]. Возможные методы решения этих систем в виде рядов должны учитывать как некоммутативность переменных по умножению, так и отсутствие операции деления в кольце Ж. Нам понадобятся некоторые определения.
Ь-операторами называются отображения Ь : W ^ Ж, действие которых заключается в умножении элемента кольца Ж слева и справа на некоторые мономы I и г: Ь(г) = I ■ z ■ г. Ь^) = I• z• г.
Основные свойства Ь -операторов:
1) Ь(а^\ + Pz2) = аЬ^) + увЬ^г) (линейность);
2) если Ь1 (г) = 11гг1 и Ь2 (z) = 12zr2 , то Ь1 (Ь2 (г)) = Ь1 (/2гг2) = 1112гг2г1 = Ьъ (г) (композиция Ь-операторов является Ь-оператором).
к
П
10
О.И. Егорушкин, Д.А. Калугин-Балашов, К.В. Сафонов
Уравнение/(гх, ..., гт) = g(z1, ..., гт) называется приведенным, если не существует такого ^-оператора Я, чтогт) = Я(/\(г\, ., гт)) и g(z1, ., гт) = Я^\(г\, ., гт)). Если уравнение не является приведенным, то
его можно привести к эквивалентному, отбросив оператор Я.
Система линейных алгебраических уравнений порядка п над некоммутативным кольцом имеет вид
2 А,1,к Ц1,1,к ( 21 ) + 2 А,2,кЦ1,2,к ( 22 ) + — + 2А,п,кЦ1,п,к ( 2п ) = 2 Фі,к Ф1,к, к к к к
212,1,кЦ2,1,к (.21 ) + 2 ^2,2,кЦ2,2,к (г2 ) + ••• + 212,п,кЦ2,п,к (.2п ) = 2 ф2,кФ2,к , к к к к
21п,1,кЦп,1,к (21 ) + 21п,2,кЦп,2,к (22 ) + ‘ * * + 21п,п,кЦп,п,к (,2п ) — 2 фп,кФп,к’ к к к к
где /уд, ф/)к - действительные коэффициенты; Ь^к(г) - ^-операторы; Фд - мономы. Можно считать, что все уравнения системы являются приведенными.
Покажем, как исключать из данной системы одно неизвестное и одно уравнение. Исключаем, например, неизвестное 2п. Для каждого уравнения системы оставим все слагаемые с 2п в левой части, а все остальные слагаемые перенесем в правую часть, переписав систему в виде
211,п,кА,п,к (2п ) = 2 ФіДФ1,к - 211,1,кА,1,к (21) - •••- 211,п-1,кА,п-1,к (2п-1), к к к к
212,п,к ^2,п,к (.2п ) = 2 ф2,к Ф 2,к - 212,1,к ^2,1,к (21 )-••• - 212,п-1,к ^2,п-1,к (гп-1 ), к к к к
21п,п,к^п,п,к (2п ) — 2 фп,кФп,к 21п,1,кАп,1,к (21 ) ••• 21п,п-1,кАп,п-1,к (,2п-1 )^
к к к к
Построим граф с п вершинами, г-я вершина которого соответствует £ А.иД А>и>к (ги). Вершины г и у инк
цидентны, если существуют такие ^-операторы Яі]- и Я]- г, что выполняется равенство
^г/ ^2 А,и,к А',и,к (2и ) | _ ^/г ^^,п,кА,п,к {2п ) | .
При этих обозначениях и условиях имеет место Теорема 2. Порядок п системы линейных алгебраических уравнений можно понизить до п — 1, если существует вершина г, смежная всем остальным вершинам. Каждому ребру, инцидентному вершине г, соответствует одно уравнение новой системы. Очевидно, что таких ребер будет п — 1, следовательно, и порядок новой системы будет п - 1 (при выполнении условий теоремы ДЛЯ ОДНОЙ вершины граф ИНЦИ- | 0. дентности имеет вид, например, такой, как на рис. 1).
В случае выполнения условий теоремы 2 полученная система запишется в виде
п - 1
Рис. 1. Граф инцидентности вершины г
Яг ,1 I 2 Фг, к Фг, к 2 К ,1, к Аг ,1, к (21) • • • 2 К, п—1, к Аг, п—1, к (2п—1) I -
- Я1,г I 2 ф1,кФ1,к 2 А,1,кА,1,к (21 ) ••• 211,п—1,кА1,п—1,к (2п—1 )1;
Яг,2 I 2 фг,кФг,к 2 А,1,кАг,1,к (21 ) ••• 2А,п—1,кАг,п—1,к (2п—1 )1-
- Я2,г | 2 ф2,кФ2,к 2^2,1,кА2,1,к (21 ) ••• 2^2,п—1,кА2,п—1,к (2п—1 )|;
к к к
Яг,п I 2 фг,кФг,к 21г,1,кАг,1,к (21 ) • 21г,п—1,кАг,п—1,к (2п—1 ) I -
Яп,г | 2 фп,к Фп,к 21п,1,к Ап,1,к (21 ) •* 21п,п—1,к Ап,п—1,к (2п—1 ) ]•
к к к
Используя свойство линейности ^-оператора, преобразуем эту систему к виду
2 А,и-1,к,1 (^г,и-1,к (2и-1 )) _
к
к
к
2 Ф1,кВ1,г (Ф1,к ) 2Ад,кВ1,г (А,1,к (21 ))
к
к
к
к
к
к
2 фг,к,и (Фг,к ) 2А,1,к,и (г,1,к (г1 ))
к к
к
_ 2 фи,кВи,г (Фи,к ) 2 А,!,кВи,г (и,1,к (г1 ))
к
к
Так как композиция ^-операторов есть ^-оператор, то полученная система является системой линейных алгебраических уравнений (над некоммутативным кольцом), её порядок равен п - 1. Тем самым порядок системы понижен на единицу, исключена неизвестная хп.
1. Глушков В.М., Цейтлин Г.Е., Ющенко Е.Л. Алгебра, языки, программирование. Киев: Наукова думка, 1974.
2. Семёнов А.Л. Алгоритмические проблемы для степенных рядов и контекстно-свободных грамматик // Докл. АН СССР. 1973. Т. 212. С. 50 - 52.
3. Сафонов К.В. О возможности вычислительного распознавания контекстно-свободных языков // Вычислительные технологии. 2005. Т. 10. № 4. С. 91 - 98.
4. Сафонов К.В., Егорушкин О.И. О синтаксическом анализе и проблеме В.М. Глушкова распознавания контекстносвободных языков Хомского // Вестник ТГУ. Приложение. 2006. № 17. С. 63 - 66.
ЛИТЕРАТУРА