ВЕСТН. МОСК. УН-ТА. СЕР. 15. ВЫЧИСЛ. МАТЕМ. И КИВЕРН. 2024. № 2. С. 58-64 Lomonosov Computational Mathematics and Cybernetics Journal
УДК 519.713
A.A. Хашаев1
О ЗАДАЧЕ ВЫЧИСЛЕНИЯ МОЩНОСТИ РЕГУЛЯРНОГО ЯЗЫКА НАД СИММЕТРИЧЕСКИМИ ГРУППАМИ
Рассматриваются представления регулярных языков над симметрическими группами в виде конечных автоматов и регулярных выражений. В работе доказана NP-трудность задачи проверки мощности языка для таких представлений.
Ключевые слова: регулярные языки, конечные автоматы, группы, перестановки, вычислительная сложность.
DOI: 10.55959/MSU/0137-0782-15-2024-47-2-58-64
1. Введение. Конечный автомат над произвольным моноидом — это модель вычислений, которая является обобщением концепции конечного автомата. Отличие этой модели от классического автомата заключается в том, что переходы между состояниями размечены элементами некоторого моноида, а не символами конечного алфавита. Язык этого автомата состоит из произведения элементов моноида по всем возможным принимающим вычислениям. Впервые такие автоматы можно обнаружить в работах С. Эйленберга, который назвал их обобщенными M-автоматами [1, с. 191].
В силу существования обобщения теоремы Клини [2], связывающей множества, распознаваемые конечными автоматами над моноидом, и рациональные подмножества моноида, при исследовании регулярных языков над моноидом можно равноценно выбирать их представления как конечными автоматами, так и регулярными выражениями.
Различные вычислительные задачи и задачи разрешимости, формулируемые для регулярных языков над моноидом, имеют применения в задачах анализа императивных программ. Действительно, конечные автоматы можно использовать в качестве упрощенных моделей последовательных императивных программ или иных систем обработки информации, наподобие контроллеров. Состояние управления программы можно рассматривать как состояние автомата, а состояние памяти (промежуточный результат вычислений) программы — как элементы некоторого моноида, причем базовые операторы, изменяющие состояние памяти, можно рассматривать как порождающие элементы этого моноида. В таком автомате результатом вычисления будет являться элемент моноида, представленный композицией выполненных операторов. Таким образом, язык автомата определяет все возможные допустимые вычисления.
Сложность автоматной модели можно варьировать, выбирая класс рассматриваемых моноидов и накладывая ограничения на графовую структуру самого автомата. При этом различные задачи анализа программ становятся задачами проверки определенных свойств автомата. Например, задача проверки того, может ли программа вычислить определенное значение, соответствует задаче проверки принадлежности элемента моноида регулярному языку.
В качестве рассматриваемого моноида можно использовать и симметрические группы, которые являются одним из важных классов алгебраических структур, не в последнюю очередь в силу существования теоремы Кэли [3], согласно которой подгруппы симметрических групп целиком описывают все конечные группы с точностью до изоморфизма.
Регулярные языки над симметрическими группами можно рассматривать как модель последовательных императивных программ, в которых единственными допустимыми операторами являются перестановки местами значений некоторых переменных, а операторы потока управления
1 Факультет ВМК МГУ, асп., e-mail: arthurQkhashaev.ru
(условные операторы, циклы) заменены недетерминизмом. К числу программ такого вида относятся, в частности, алгоритмы сортировки. В такой модели для определения результата вычисления программы достаточно применить перестановку, получающуюся в результате композиции перестановок на пути выполнения программы, к входным значениям переменных.
В этой работе рассматривается задача вычисления мощности регулярного языка над симметрическими группами. Поскольку симметрическая группа является подмоноидом некоторой алгебры подстановок [4], эта задача представляет интерес с точки зрения теории анализа программ, поскольку такие языки являются упрощенной моделью последовательных императивных программ, в которых:
• поток управления, т.е. выполнимость условий условных операторов и циклов, не анализируется (заменяется недетерминизмом);
• термы не интерпретируются (используется эрбрановская интерпретация [5]).
Такого рода модели программ исследовались в работах А. А. Летичевского [6-8], Р. И. Подлов-ченко [9] и В. А. Захарова [10]. В частности, это означает, что рассматриваемая задача позволяет провести подсчет количества возможных значений, которые может принимать некоторая переменная такой модели программы после завершения вычисления.
Таким образом, результаты исследования задачи вычисления мощности регулярного языка над симметрическими группами могут быть полезны при разработке методов анализа некоторых видов программ.
2. Предварительные сведения.
2.1. Алгебраические структуры. Моноидом назовем набор M , где ( ) : M M
M — бинарная операция над множеством M, удовлетворяющая аксиомам ассоциативности — a (b c) = (a b) c и единицы, — a = a = a для любых элементов abc M.
Множество всех конечных слов над алфавитом обозначается как .Моноид , в
котором обозначает операцию конкатенации, а — пустое слово, называют свободным. Далее запись будет обозначать свободный моноид.
Группа — это моноид G , удовлетворяющий также аксиоме существования обратного элемента, согласно которой для любого элемента a G существует обратный элемент a 1, такой, что a a1 = a1 a = . Если непустое подмножество H элементов группы G оказывается замкнутым относительно групповой операции и операции взятия обратного элемента, то H тоже
HG
Симметрическая группа над множеством , обозначаемая как Sym( ), является группой всех перестановок множества относительно операции композиции, т.е. Sym( ) = :
— биекция , где операция композиции определяется как (f g)(x) = f(g(x)),
а — тождественная перестановка, (x) = x. Группой перестановок называют любую подгруппу симметрической группы.
2.2. Регулярные языки. Пусть M = M — произвольный моноид.
Языком над M будем называть произвольное подмножество L M. Словами языка L будем называть элементы этого множества.
Обозначим через 2м множество всех подмножеств M.
Определим над 2м бинарные операции +, и унарную операцию следующим образом:
• L i + L 2 = L i L2;
• L1L2 = Li L2 ;
• L = Lk, гдe L0 = , а N о — множество целых неотрицательных чисел.
k N 0
Структура 2м + 0 1 является алгеброй Клини, т.е. идемпотентным замкнутым полукольцом, причем 0 обозначает пустое множество , а 1 обозначает
Семейство Иа^М) 2м всех рациональных или регулярных подмножеств М — это наименьшее множество, содержащее все конечные подмножества М и замкнутое относительно операций полукольца +, и .
2.3. Автоматы. Конечным автоматом над моноидом М = М назовем размеченную систему переходов А = Б I Р , где
• Б — конечное множество состояний]
ш I Б — подмножество начальных состояний]
ш р Б — подмножество финальных состояний]
• Б М Б — конечное отношение переходов.
Заметим, что классический автомат, над алфавитом, можно определить как автомат над свободным моноидом
От,ношение достижимости в т /, где в, / — состояния, а т — элемент моиоида М, зададим следующим образом: в / тогда и только тогда, когда существует путь из состояния в в
„ т 1 т2 тк 1 т^ е
состояние / гада д0 д1 Як 1 Як в = д0 / = Яь причем т = т-1 т^.
Языком автомата А назовем множество С( А) = т М в I I Р: в I .
2.4. Регулярные выражения. Регулярные выражения Б^Ехр( ) над алфавитом определим как термы над функциональными символами ^ = 0(о) 1(0) (1) +(2) (2) и переменными . Константу 1 также обозначают как .
Языковая, интерпретация С: Б^Ехр(М) 2м регулярных выражений над моноидом М = = М определяется индуктивно:
• С(0) = ;
• С(1) = ;
• С( ) = , где М;
• С( в1 + в2) = С(в1) + С(в2);
• С(в1 в2) = С(в1) С(в2);
• С(е ) = С(е) .
Свободными от итерации регулярными выражениями назовем такие регулярные выражения, которые не содержат в себе операцию . Регулярными выражениями с внешним, применением операции итерации назовем регулярные выражения вида е .
3. Задача проверки принадлежности.
Задача 1 (проверка принадлежности для регулярного языка над симметрической группой). Пусть задано некоторое представление ^ регулярного языка над конечной симметрической группой Яуш(Х) и перестановка Яуш(Х). Необходимо проверить выполнение включения * С(П).
Мы будем рассматривать представления регулярных языков над конечными симметрическими группами в виде конечных автоматов и регулярных выражений.
Для представления регулярного языка в виде конечного автомата ранее была доказана следующая
Теорема 1 [11]. Задача, проверки принадлежности для конечных ациклических автоматов над конечным,и, симметрическими группам,и является ЫР-полной.
Используя аналогичную технику сведения, можно доказать эту теорему для представления регулярного языка в виде регулярного выражения.
Свободными от итерации регулярными выражениями назовем такие регулярные выражения, которые не содержат в себе операцию . Фактически, это упрощенный класс регулярных выражений, подобно тому, как ациклические автоматы являются упрощенным классом автоматов общего вида.
Теорема 2. Задача проверки принадлежности для свободных от, итерации регулярных выражений над конечным,и симметрическими группам,и, является ЫР-трудной.
Доказательство. Покажем, что ЫР-полная задача З-ЭАТ проверки выполнимости 3-КНФ полиномиально сводится к рассматриваемой задаче принадлежности для свободных от итерации регулярных выражений.
Пусть дана 3-КНФ (ж) = С(х) Ст(х), где ж = (ж1 жп). Положим = [1; т] [1; 4]. В симметрической группе Яуш( ) определим перестановки:
• з = 3 1 3 2 3 3 3 4 — цикл из четырех элементов, 4 = ;
. — = (0) = = (1) =
1 ~ * ~ — С- ^ 1 ~ * ~ ■ с-
Заметим, что все эти перестановки коммутируют, поэтому в доказательстве неважен порядок перестановок в произведениях.
Рассмотрим следующее свободное от итерации регулярное выражение:
е( ) = ( 1+—) ( „+—) ( + 1+ t) ( + т+ tn)
По построению e( ), язык L(e( )) совпадает с образом функции , где
n m n m
( r) - ( ¿) ri - . ri ( Г) = i j - 3 j
i=1 3 = 1 i=1 i) C j=1
xi
Здесь 0 1П r [0; 2]m.
Обозначим записью kj ( ) количество вхождений литералов, принимающих значение 1 при подстановке в дизъюнкт Cj, и воспользуемся коммутативностью входящих в состав произведения перестановок:
m mm
( r) — ( ) rj — ( )+rj
( ' ) j j j
j=1 j=1 j=1
Введем также целевую перестановку — 3 m*
Пользуясь независимостью циклов j и определением , получим
mm
— ( r) 3 — k( )+Г' 3 [1; m]: kj( ) + rj 3 (mod 4)
j=1 j=1
Поскольку имеет вид 3-КНФ, верно, что kj( ) [0; 3]. Заметим, что существование rj [0; 2],
такого, что kj ( )+rj 3 (mod 4) эквивадентно тому, что kj ( ) 1, т.е .Cj ( ) —1. Таким образом, мы доказали, что формула принимает значение 1 на некотором наборе тогда и только тогда, когда L(e( )). При этом регулярное выражение e( ), обеспечивающее сведение, строится по формуле за полиномиальное время. Теорема доказана.
Докажем теперь членство задачи в классе NP. Для этого понадобится вспомогательное
Утверждение. Построение по регулярному выражению эквивалентного ему конечного автомата возможно за полиномиальное время.
Доказательство. Адаптируем классическую конструкцию Томпсона [2,12] для общего случая регулярных языков над произвольным моноидом М.
Построим по регулярному выражению е Б^Ехр(М) эквивалентный ему автомат А(е), воспользовавшись индуктивной процедурой по структуре регулярного выражения:
• если е = 0, то А(е) = — пустой автомат;
• если е = 1, то А(е) = в в в —автомат из единственного принимающего состояния в
• если е = , где М, то А(е) = в / в / в / ;
• если е = е1 + е2, то А(е) = $2 11 12 Р Р 1 2 ;
• если е = е1 е2, то А(е) = 11 Р 1 в / в р /12 2 ;
• если е = е15 то А(е) = 11 11 1 / в / Р1 в 11 .
Здесь везде А(е1) = 11 Р1 1 и А(е2) = 12 Р2 2 , причем, без ограничения общности, множества состояний и $2 не пересекаются. Этого можно достичь, выбирая в качестве новых состояний в и / для базовых случаев индукции е = 1 и е = ранее не использованные состояния.
Во всех случаях С(А(е)) = С(е) по построению и индуктивному предположению. Утверждение доказано.
Замечание. Автомат, построенный данным алгоритмом по свободному от итерации регулярному выражению, является ациклическим.
Доказательство. Ацикличность доказывается индуктивно по построению.
Теорема 3. Задача проверки принадлежности для свободных от, итерации регулярных выражений над конечными симметрическими группам,и является ЫР-полной.
Доказательство. ЫР-трудность задачи доказана ранее в теореме 2. Для доказательства принадлежности классу ЫР, заметим, что данная задача в силу утверждения и замечания полиномиально сводится к задаче проверки принадлежности для ациклических автоматов над конечными симметрическими группами. Последняя задача принадлежит классу ЫР в силу теоремы 1. Теорема доказана.
4. Мощность регулярного языка.
Задача 2 (вычисление мощности регулярного языка над симметрической группой). Пусть задано некоторое представление ^ регулярного языка над конечной симметрической груп-
пой Яуш(Х). Необходимо вычислить мощность этого языка.
Данной задаче соответствует следующая задача распознавания.
Задача 3 (проверка мощности регулярного языка над симметрической группой). Пусть задано некоторое представление ^ регулярного языка над конечной симметрической группой Яуш(Х) и целое число к. Необходимо проверить, что к.
Заметим, что наличие эффективного алгоритма решения задачи вычисления влечет наличие эффективного алгоритма решения распознавательного аналога.
Теорема 4. Задача, проверки мощности языка конечного ациклического автомата над конечной симметрической группой является ЫР-трудной.
А
рической группой Яуш(Х) и целое число к. Необходимо проверить, что С(А) к.
Выполним полиномиальное сведение по Тьюрингу МР-полной задачи проверки принадлежности для конечных ациклических автоматов над конечными симметрическими группами [11] к рассматриваемой задаче. Иными словами, решим задачу проверки принадлежности за полиномиальное время, используя распознающую процедуру для рассматриваемой задачи в качестве оракула.
Итак, пусть дана перестановка Sym(X) и автомат A — S I F над конечной симметрической группой Sym(X). Необходимо проверить принадлежность перестановки языкv L(A).
Алгоритм, выполняющий сведение, состоит из трех последовательных этапов.
1. Вычисление мощности L(A) языка автомата A.
Пусть n — X — степень симметрической группы. Поскольку L(A) Sym(X), а порядок симметрической группы равен n!, это означает, что 0 L(A) n!.
Таким образом, можно вычислить L(A) , используя дихотомический поиск (также известный как двоичный поиск или метод деления пополам) в целочисленном интервале [0; n!]
k
L(A) k.
Время работы процедуры поиска составит O(log(n!)) — O(n log n).
A0
Построим автомат A — S s f I s F f s f путем модифика-
ции исходного автомата A, в который добавляются вспомогательное начальное состояние s, финальное состояние f, а также переход s f.
Построение такого автомата выполняется за линейное от размера входных данных время.
3. Проверка L(A ) L(A) .
Выполняется оракулом для автомата A и вычисленного на первом этапе числа k — L(A) O(1)
Алгоритм сведения выдает положительный ответ на задачу проверки принадлежности L(A) тогда и только тогда, когда L(A ) L(A) . Приведенный алгоритм сведения является полиномиальным, что следует из анализа временной сложности каждого этапа.
Заметим, что L(A ) — L(A) по построению автомата A . Рассмотрим два случая:
• если L(A), то L(A ) — L(A), а следовательно, L(A ) — L(A) ;
• иначе, если L(A), то L(A ) — L(A) +1.
Таким образом, справедлива эквивалентность L(A) L(A ) L(A) , что доказывает
корректность сведения. Теорема доказана.
Аналогичным образом справедлива следующая
Теорема 5. Задача проверки мощности языка свободного от итерации регулярного выражения, над конечной симметрической группой является NP-mрудной.
e
печной симметрической группой Sym(X) и целое чиело k. Необходимо проверить, что L(e) k.
Выполним полиномиальное сведение по Тьюрингу NP-трудной (согласно теореме 2) задачи проверки принадлежности для свободных от итерации регулярных выражений над конечными симметрическими группами к рассматриваемой задаче.
Пусть дана перестановка Sym(X) и свободное от итерации регулярное выражение e над конечной симметрической группой Sym(X). Необходимо проверить принадлежность перестановки языку L(e) регулярного выражения.
Доказательство существования полиномиального сведения почти дословно воспроизводит доказательство из предыдущей теоремы для конечных автоматов, за тем исключением, что вместо
A
ния e — e + . Аналогично предыдущей теореме доказывается эквивалентность L(e) L(e ) L(e) , которая обосновывает корректность сведения. Теорема доказана.
5. Заключение. В данной работе показано, что задача проверки мощности регулярного языка над симметрической группой является N Р-трудной для представлений языка посредством как автомата, так и регулярного выражения. NP-трудность распознавательного аналога задачи означает трудность вычислительной задачи, поскольку наличие эффективного алгоритма решения задачи вычисления влечет наличие эффективного алгоритма решения ее распознавательного аналога.
Поскольку симметрическая группа является подмоноидом некоторой алгебры подстановок [4], это означает, что аналогичная задача для регулярного языка над алгеброй подстановок тоже является вычислительно трудной, что представляет интерес с точки зрения теории анализа программ, поскольку такие языки являются упрощенной моделью последовательных императивных программ или систем наподобие контроллеров. В частности, это означает, что задача подсчета количества возможных значений, которые может принимать некоторая переменная последовательной императивной программы после завершения вычисления, имеет большую вычислительную сложность уже в рамках такой упрощенной модели.
При этом, как можно заметить из структуры доказательств, основную трудность представляет именно подсчет конечной мощности языка. Таким образом, это оставляет актуальным вопрос о том, можно ли по крайней мере эффективно отличить конечную мощность языка от бесконечной для регулярных языков над алгебрами подстановок.
Автор выражает благодарность В.А. Захарову и В.В. Подымову за помощь в подготовке статьи.
СПИСОК ЛИТЕРАТУРЫ
1. Eilenberg S. Automata, Languages, and Machines. Vol. A. N.Y.: Academic Press, 1974.
2. Sakarovitch J. Elements of Automata Theory. Cambridge University Press, 2009.
3. Кострикин А.И. Введение в алгебру. Ч. 1. Основы алгебры. М.: МНИМО. 2020.
4. Е d е г Е. Properties of substitutions and unifications //J. Symbolic Computation. 1985. 1. N 1. P. 31-46.
5. M e t а к и д e с Г., И е р о у д А. Принципы логики и логического программирования. М.: Факториал, 1998.
6. Летичевский A.A. Эквивалентность автоматов относительно полугрупп // Теоретическая кибернетика. Вып. 6. Киев, 1970. С. 3-71.
7. Летичевский A.A. Эквивалентность автоматов относительно полугрупп с сокращением / / Проблемы кибернетики. Вып. 27. М.: Наука, 1973. С. 195-212.
8. Летичевский A.A., С м и к у н Л.Б. О классе групп с разрешимой проблемой эквивалентности автоматов // ДАН СССР 1976. 17. № 2. С. 341-344.
9. Подловченко РИ. Полугрупповые модели программ // Программирование. 1981. № 4. С. 3-13.
10. Захаров В. А., Жайлауова Ш.Р. О задаче минимизации последовательных программ / / Моделирование и анализ информационных систем. 2017. 24. № 4. С. 415-433.
11. Хашаев A.A. О задаче проверки принадлежности для конечных автоматов над симметрическими группами / / Дискретная математика. 2021. 33. № 1. С. 82-90. ( Khashaev A. A. On the membership problem for finite automata over symmetric groups // Discrete Mathematics and Applications. 2022. 32. N 6. P. 383-389. )
12. Thompson K. Programming Techniques: Regular expression search algorithm // Communications of the ACM. 1968. 11. P. 419-422.
Поступила в редакцию 26.08.23 Одобрена после рецензирования 14.01.24 Принята к публикации 14.01.24