ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
ПРИЛОЖЕНИЕ Сентябрь 2016
Секция 7
МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ
9
УДК 519.682 Б01 10.17223/2226308Х/9/47
О СОВМЕСТНОСТИ СИСТЕМ СИМВОЛЬНЫХ ПОЛИНОМИАЛЬНЫХ УРАВНЕНИЙ И ИХ ПРИЛОЖЕНИИ
О. И. Егорушкин, И. В. Колбасина, К. В. Сафонов
Разрабатываются подходы к решению систем некоммутативных полиномиальных уравнений, возникающих в математической теории языков и грамматик; системы решаются в виде формальных степенных рядов (ФСР), которые выражают символьные неизвестные через символьные параметры. Всякому ФСР поставлен в соответствие его коммутативный образ — степенной ряд, который получается в предположении, что все символы обозначают коммутативные переменные, принимающие значения из поля комплексных чисел. Изучаются вопросы совместности системы некоммутативных символьных уравнений на основе исследования коммутативного образа этой системы.
Ключевые слова: некоммутативные переменные, полиномиальные уравнения, формальный степенной ряд, коммутативный образ.
Рассмотрим систему полиномиальных уравнений
Ру(г,х) = 0, з = 1 ,...,п, (1)
Ру (0, 0) = 0, з = 1,..., п, которая решается относительно символов г = (г1,..., гп) в виде формальных степенных рядов, зависящих от символов х = (х1,... , хт).
В математической теории языков и грамматик символы г1,... , гп, х1,... , хт интерпретируют как алфавит, над которым определена некоммутативная операция умножения (конкатенации) и коммутативная операция формальной суммы, кроме того, определена коммутативная операция умножения на комплексные числа, и потому можно рассматривать символьные многочлены и ФСР с числовыми (комплексными) коэффициентами. В теории формальных языков приложение систем уравнений (1) состоит в том, что они являются грамматиками, порождающими определённые классы контекстно-свободных языков, языков непосредственно составляющих, языков в нормальной форме Грейбах и др. [1, 2]. При этом символы х1,... ,хт называются терминальными и образуют словарь (алфавит) данного языка, а символы г1,..., гп называются нетерминальными и необходимы для задания грамматических правил; мономы являются предложениями (словами) языка, а ФСР, который является решением системы (1), рассматривают как порождённый грамматикой формальный язык, представляющий собой формальную сумму всех «правильных» предложений [1, 2].
Вопросы, связанные с решением символьных систем (1), изучены мало: основные трудности связаны с некоммутативностью умножения и отсутствием деления, препятствующих исключению неизвестных.
120
Прикладная дискретная математика. Приложение
Целью данной работы является получение условий разрешимости системы (1) в терминах коммутативного образа этой системы, который получается в предположении, что все переменные, входящие в систему, принимают значения из поля комплексных чисел.
Предположим, что все мономы от Х1,... , хт занумерованы в лексикографическом порядке по возрастанию степеней в последовательность {щ : г = 0,1,...}, играющую роль универсального базиса. Тогда каждый ряд в можно однозначно записать в виде разложения по этому базису с числовыми коэффициентами (в,^) при мономах
те
в =Е (в,Мг)Мг. (2)
г=0
Поставим в соответствие ФСР (2) его коммутативный образ о1(в) —степенной ряд, который получается из в в предположении, что символы Х1,... , хт обозначают коммутативные переменные, принимающие значения из поля комплексных чисел [3].
Обозначим г = г(х) = (^(х),..., гП(х)) решение системы (1), представленное ФСР.
Теорема 1. Если г = г(х) —решение некоммутативной системы уравнений (1) в виде символьных ФСР, то коммутативные ФСР г = е1(г(х)) над полем комплексных чисел сходятся в окрестности нуля, определяя ростки голоморфных алгебраических функций, и являются решением коммутативной системы уравнений
а(Р1(г,ж)) = ••• = а(РП(г,х)) = 0. (3)
Обратное утверждение, вообще говоря, неверно. Так, система уравнений г1 — г2 = = ж1ж2, ¿1 — = х2х1 несовместная, тогда как её коммутативный образ имеет бесконечно много решений: г1 = Ь + ж1ж2, г2 = Ь, где Ь — произвольный ФСР.
Подчеркнём, что совместность, т. е. наличие решения, понимается для некоммутативной системы (1) и коммутативной системы (3) по-разному: в первом случае решением являются символьные ФСР, а во втором — точки в Сп, параметризованные голоморфным в нуле алгебраическим отображением.
Теорему 1 можно сформулировать в эквивалентном виде.
Теорема 2. Если коммутативная система уравнений (3) несовместна, то и некоммутативная система (1) несовместна.
Таким образом, условия несовместности коммутативной системы уравнений также представляют интерес.
Известна теорема: если для якобиана системы голоморфных функций е1(Р1(г,ж)), ..., е1(Рга(г, ж)) имеет место тождество
•д ну.*)» ^, о,
то система уравнений (3) при каждом ж либо не имеет решения в пространстве С либо все её решения в этом пространстве неизолированные [4, с. 39].
Покажем, что для некоммутативных систем уравнений (1) подобная альтернатива (решений нет либо решений бесконечно много) не имеет места.
Пример. Рассмотрим систему, состоящую из двух одинаковых уравнений:
ж1г1 + х2 г2 — х1х2 — х2х1 = 0.
Математические основы информатики и программирования
121
Коммутативный образ этой системы имеет якобиан, тождественно равный нулю, и неизолированные решения.
Тем не менее исходная система некоммутативных уравнений имеет единственное решение. В самом деле, записав уравнение в виде x1(z1 — x2) — x2(z2 — x\) = 0, получим, что первое слагаемое принадлежит левостороннему идеалу, порождённому x1, а второе — левостороннему идеалу, порождённому x2. Очевидно, что сумма этих слагаемых может быть равна нулю только в случае, когда равны нулю оба слагаемых: zi — x2 = 0, z2 — x1 = 0, следовательно, исходная система уравнений имеет единственное решение z1 = x2, z2 = x1.
Далее, можно показать, что одно символьное полиномиальное уравнение может 1) не иметь решений; 2) иметь конечное число решений; 3) иметь бесконечно много решений, что принципиально отличается от свойств уравнений с комплексными переменными.
Более подробно указанные вопросы изложены в работе [5].
ЛИТЕРАТУРА
1. Глушков В. М., Цейтлин Г. Е., Ющенко Е. Л. Алгебра. Языки. Программирование. Киев: Наукова думка, 1973.
2. Salomaa A. and Soitolla M. Automata-Theoretic Aspects of Formal Power Series. N.Y.: Springer Verlag, 1978.
3. Семенов А. Л. Алгоритмические проблемы для степенных рядов и контекстно-свободных грамматик // Доклады АН СССР. 1973. №212. С. 50-52.
4. Айзенберг Л. А., Южаков А. П. Интегральные представления и вычеты в многомерном комплексном анализе. Новосибирск: Наука, 1979.
5. Egorushkin O. I., Kolbasina I. V., and Safonov K. V. On solvability of systems of symbolic polynomial equations //J. Siberian Federal University. Mathematics and Physics. 2016. No. 2(9). P. 166-172.
УДК 004.4'422 DOI 10.17223/2226308X/9/48
ТРАНСЛЯТОР ЯЗЫКА ЛЯПАС-Т НА ЯЗЫК АССЕМБЛЕРА ДЛЯ ОС WINDOWS И LINUX
В. Н. Князев, М. С. Князева
Представлены результаты по созданию транслятора с языка ЛЯПАС-Т на язык ассемблера fasm. Цель разработки — популяризация ЛЯПАСа как претендента на роль национального языка программирования для создания доверенных программ и построения защищённых компьютерных систем. Для написания транслятора использовались генераторы лексических и синтаксических анализаторов flex и Bison в целях приведения грамматики ЛЯПАСа к общепринятому виду и получения эффективного LALR-анализатора.
Ключевые слова: ЛЯПАС-Т, транслятор, компьютерная безопасность, программирование.
ЛЯПАС — русский язык программирования, возрождаемый Томским государственным университетом (ТГУ) в целях создания доверенного программного обеспечения и защищённых компьютерных систем [1, 2]. Учитывая масштабы этих целей, считаем важным создание и распространение свободного транслятора с ЛЯПАСа для современных операционных систем (ОС). Это необходимо для обучения программи-