ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
13 ПРИЛОЖЕНИЕ Сентябрь 2020
Секция 6
МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ
УДК 519.682 Б01 10.17223/2226308Х/13/31
ГЕОМЕТРИЧЕСКОЕ УСЛОВИЕ РАЗРЕШИМОСТИ ФОРМАЛЬНЫХ ГРАММАТИК
О. И. Егорушкин, И. В. Колбасина, К. В. Сафонов
В работе продолжено развитие метода исследований формальных грамматик, под которыми подразумеваются системы некоммутативных полиномиальных уравнений. Такие системы решаются в виде формальных степенных рядов (ФСР), которые выражают нетерминальные символы алфавита через терминальные; первая компонента решения является формальным языком. Метод, развиваемый авторами, основывается на изучении коммутативного образа грамматики и формального языка, а именно: всякому ФСР поставлен в соответствие его коммутативный образ, который получается, если считать, что все символы являются коммутативными переменными. Получена теорема, которая даёт достаточное геометрическое условие того, что формальная грамматика имеет единственное решение в виде ФСР.
Ключевые слова: системы полиномиальных уравнений, некоммутативные переменные, формальный степенной ряд, коммутативный образ, аналитичекая гиперповерхность.
Как известно, теория формальных языков имеет фундаментальное значение не только для лингвистики, но и программирования. На ней базируются поиск в интернете, машинный перевод текстов, речевой диалог с компьютером, развитие языка математических абстракций, распознавание генетического кода в биоинформатике, обнаружение кода мигрирующих вирусов, разработка и реализация языков программирования, оптимизация компиляторов, перенос разработанных компьютерных программ в новую вычислительную среду и другие современные технологии.
Все эти приложения используют взаимосвязи языка (как множества возможных текстов) с грамматикой (сводом формальных правил, определяющих языковые конструкции и их равнозначимость). Более того, всюду нужны быстрые качественные алгоритмы формальных построений грамматики по языку и языка по грамматике и синтаксического анализа конструкций, немыслимые без серьёзного теоретического обоснования.
Контекстно-свободные грамматики, наряду с регулярными выражениями, активно используются для решения задач, связанных с разработкой формальных языков и синтаксических анализаторов [1-3]. Одним из основных достоинств контекстно-свободных грамматик является возможность задания широкого класса языков при сохранении относительной компактности представления [4, 5]. С уровнем контекстно-свободных языков соотносится атрибутивная модель процесса, определяющая описание моделируемого процесса в виде моделей бизнес-процессов. Переход к контекстно-свободным языкам выполняется за счёт моделирования бизнес-процесса с применени-
Математические основы информатики и программирования
107
ем инструментов структурного или объектно-ориентированного подхода. Бизнес-процесс, представленный в форме структурной или объектной модели, использует алфавит и синтаксис конкретного языка моделирования, что позволяет описывать процесс независимо от предметной области [6].
Следуя обозначениям [1, 2], рассмотрим систему полиномиальных уравнений
Рз (г,х) = 0, Рз (0,0) = 0, 3 = 1,...,к, (1)
которая решается относительно символов г = (г\,...,гп) в виде формальных степенных рядов, зависящих от символов х = (х\,... , хт). Системы такого вида имеют приложения в теории формальных языков, поскольку обобщают важные классы грамматик [3, 4].
Символы х1,...,хт называются терминальными и образуют словарь языка, а символы г1,... , гп — нетерминальными, они необходимы для задания грамматических правил. Над всеми символами определена некоммутативная операция конкатенации и коммутативная операция формальной суммы, а также коммутативная операция умножения на числа, и потому можно рассматривать ФСР с числовыми коэффициентами. Мономы от терминальных символов интерпретируются как предложения языка, а каждый ФСР (сумма всех «правильных» мономов), который является решением системы (1), понимается как порождённый грамматикой формальный язык [3, 4].
Поскольку исследовать системы с некоммутативными символами трудно, в [1, 2] предложено рассмотреть коммутативный образ системы (1), который получается в предположении, что все переменные коммутативны; обозначим коммутативный образ ФСР 5 через а(з) [5].
В работе [1] рассмотрен коммутативный образ
а (Р,- (г,х)) = 0, 3 = 1,...,к, (2)
системы уравнений (1) и отмечено, что из совместности некоммутативной системы (1) следует совместность коммутативной системы (2), а обратное утверждение неверно. Поэтому вопрос о достаточном условии совместности системы (1) остаётся открытым, частично его решает применение такого инструмента, как якобиан.
Пусть к = п; 3(г,х) = с1еЛ((сл(Р^г, х)))^.) —якобиан системы уравнений (2) по переменным г1,..., гп. Ранее была доказана следующая
Теорема 1 [1]. Если для некоммутативной символьной системы уравнений (1) выполнено неравенство 3(0, 0) = 0, то она имеет единственное решение в виде ФСР.
Естественно, она неприменима, когда якобиан 3(0, 0) равен нулю, однако обойти эту ситуацию в ряде случаев помогают геометрические соображения. Имеет место следующий результат:
Теорема 2. Если для некоммутативной символьной системы уравнений (1) множества {с1(Рз- (г, 0)) = 0} в п-мерном комплексном пространстве являются гладкими комплексными аналитическими поверхностями в точке 0, 3 = 1, . . . , п, а нормали к ним, проведённые из этой точки, линейно независимы, то система (1) имеет единственное решение в виде ФСР.
Таким образом, теорема 2, обобщая теорему 1, позволяет установить, когда грамматика действительно порождает формальный язык. При этом компонентами решения системы (2) являются алгебраические функции, которые могут быть исследованы аналитически [6-8].
108
Прикладная дискретная математика. Приложение
ЛИТЕРАТУРА
1. Егорушкин О. И., Колбасина И. В., Сафонов К. В. О совместности систем символьных полиномиальных уравнений и их приложении // Прикладная дискретная математика. Приложение. 2016. №9. С. 119-121.
2. Egorushkin O. I., Kolbasina I. V., and Safonov K. V. On solvability of systems of symbolic polynomial equations // Журн. СФУ. Сер. Матем. и физ. 2016. Т. 9. Вып. 2. С. 166-172.
3. Глушков В. М., Цейтлин Г. Е., Ющенко Е. Л. Алгебра. Языки. Программирование. Киев: Наукова думка, 1973.
4. Salomaa A. and Soitolla M. Automata-Theoretic Aspects of Formal Power Series. N.Y.: Springer Verlag, 1978.
5. Семёнов А. Л. Алгоритмические проблемы для степенных рядов и контекстно-свободных грамматик // Доклады АН СССР. 1973. №212. С. 50-52.
6. Сафонов К. В., Егорушкин О. И. О синтаксическом анализе и проблеме В. М. Глушкова распознавания контекстно-свободных языков Хомского // Вестник Томского госуниверситета. 2006. Приложение №17. С. 63-67.
7. Сафонов К. В. Об условиях алгебраичности и рациональности суммы степенного ряда // Матем. заметки. 1987. Т. 41. Вып.3. С. 325-332.
8. Safonov K. V. On power series of algebraic and rational functions in Cn // J. Math. Analysis Appl. 2000. V. 243. P. 261-277.
УДК 519.682 DOI 10.17223/2226308X/13/32
АЛГОРИТМ РЕШЕНИЯ РАСШИРЕННОЙ ПРОБЛЕМЫ СИНТАКСИЧЕСКОГО АНАЛИЗА
В. В. Кишкан, К. В. Сафонов
Уточняется формулировка расширенной проблемы синтаксического анализа: разработать беступиковый алгоритм, который позволяет установить, может ли данный моном быть выведен при помощи системы продукций, образующих грамматику контекстно-свободного языка программирования, а также описать сразу все выводы этого монома, если такие существуют. Описание вывода монома состоит в следующем: определить, какие продукции из грамматики языка, сколько раз и в каком порядке применяются, что равносильно построению всех деревьев вывода. Предложен алгоритм решения расширенной проблемы синтаксического анализа, основанный на иерархии маркированных скобок; маркировка скобок показывает, за какой продукцией они закреплены, и позволяет проследить порядок их использования. Алгоритм имеет простую программную реализацию, дана также оценка сложности алгоритма.
Ключевые слова: расширенная проблема синтаксического анализа, контекстно-свободный язык, сложность алгоритма.
При разработке перспективных языков программирования, в том числе предназначенных для обеспечения работы суперкомпьютеров, включая квантовые, возникает необходимость исследовать контекстно-свободные языки (кс-языки) и контекстно-свободные грамматики (кс-грамматики). Один из аспектов связан с проблемой синтаксического анализа (разбора) выражений, написанных на языке программирования. Обычно для синтаксического анализа используются специальные программы — пар-серы, разработанные применительно к тому или иному языку программирования и основанные на определённых алгоритмах разбора. Однако в ситуации, когда разра-