Научная статья на тему 'ПРОГРАММНОЕ ИССЛЕДОВАНИЕ ПОЛУРЕШЕТОК, СВЯЗАННЫХ С АВТОМАТОМ ВАТЕРЛОО'

ПРОГРАММНОЕ ИССЛЕДОВАНИЕ ПОЛУРЕШЕТОК, СВЯЗАННЫХ С АВТОМАТОМ ВАТЕРЛОО Текст научной статьи по специальности «Математика»

CC BY
1
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
недетерминированные конечные автоматы / универсальный автомат / грид / покрывающий автомат / алгоритмы эквивалентного преобразования / автомат Ватерлоо / nondeterministic finite automata / universal automaton / grid / covering automaton / equivalent transformation algorithms / the Waterloo automaton

Аннотация научной статьи по математике, автор научной работы — Абрамян Михаил Эдуардович

Статья посвящена исследованию полурешеток, содержащих покрывающие автоматы для автомата Ватерлоо. В начальных разделах статьи описывается процесс построения покрывающих автоматов на основе подмножеств гридов исходного автомата (каждый грид представляет собой некоторое множество дуг, связанных с исходным автоматом), а также рассматриваются свойства полурешеток, образуемых покрывающими автоматами. Основным результатом статьи является полное описание полученных полурешеток с точки зрения эквивалентности входящих в них покрывающих автоматов исходному автомату Ватерлоо. Выделены три класса полурешеток, каждый из которых имеет особые свойства. Для полурешетки, построенной на базе минимального покрывающего автомата, получено графическое представление, которое позволяет наглядно отразить соотношения между ее наборами, состоящими из попарно эквивалентных автоматов. Кроме того, сформулирован критерий эквивалентности покрывающего автомата автомату Ватерлоо в терминах свойств подмножества гридов, определяющего покрывающий автомат. Исследование проводилось с применением библиотеки NFALib для анализа недетерминированных конечных автоматов, реализованной автором на языке C#. Актуальность изучения автомата Ватерлоо связана с его ролью в исследовании задачи вершинной минимизации недетерминированных конечных автоматов и разработке эвристических алгоритмов реального времени, используемых для ее решения.

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

Похожие темы научных работ по математике , автор научной работы — Абрамян Михаил Эдуардович

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

A PROGRAM STUDY OF SEMILATTICES CONNECTED WITH THE WATERLOO AUTOMATON

The paper is devoted to the study of semilattices containing covering automata for the Waterloo automaton. In the initial sections of the paper, the process of constructing covering automata on the basis of subsets of the grids of the original automaton is described (each grid represents some set of arcs associated with the original automaton), and also the properties of semilattices formed by covering automata are considered. The main result of the paper is a complete description of the obtained semilattices from the point of view of equivalence of the covering automata included in them to the original Waterloo automaton. Three classes of semilattices are distinguished, each of which has special properties. For the semilattice constructed on the basis of a minimal covering automaton, a graphical representation is obtained, which allows us to visualize the relations between its sets consisting of pairwise equivalent automata. In addition, a criterion of equivalence of the covering automaton to the Waterloo automaton is formulated in terms of the properties of the subset of grids defining the covering automaton. The study was carried out using the NFALib library for analysis of nondeterministic finite automata, implemented by the author in the C# language. The relevance of the study of the Waterloo automaton is connected with its role in the study of the problem of vertex minimization of nondeterministic finite automata and the development of real-time heuristic algorithms used for its solution.

Текст научной работы на тему «ПРОГРАММНОЕ ИССЛЕДОВАНИЕ ПОЛУРЕШЕТОК, СВЯЗАННЫХ С АВТОМАТОМ ВАТЕРЛОО»

УДК 004.021, 519.713.2 DOI: 10.14529/cmse240101

ПРОГРАММНОЕ ИССЛЕДОВАНИЕ ПОЛУРЕШЕТОК, СВЯЗАННЫХ С АВТОМАТОМ ВАТЕРЛОО

© 2024 М.Э. Абрамян12

1 Университет МГУ-ППИ в Шэньчжэне (518172, КНР, провинция Гуандун, Шэньчжэнъ, ул. Гоцзидасюеюань, д. 1), 2 Южный федеральный университет (344006, Россия, Ростов-на-Дону, ул. Большая Садовая, д. 105/42) E-mail: m-abramyan@yandex.ru Поступила в редакцию: 17.08.2023

Статья посвящена исследованию полурешеток, содержащих покрывающие автоматы для автомата Ватерлоо. В начальных разделах статьи описывается процесс построения покрывающих автоматов на основе подмножеств гридов исходного автомата (каждый грид представляет собой некоторое множество дуг, связанных с исходным автоматом), а также рассматриваются свойства полурешеток, образуемых покрывающими автоматами. Основным результатом статьи является полное описание полученных полурешеток с точки зрения эквивалентности входящих в них покрывающих автоматов исходному автомату Ватерлоо. Выделены три класса полурешеток, каждый из которых имеет особые свойства. Для полурешетки, построенной на базе минимального покрывающего автомата, получено графическое представление, которое позволяет наглядно отразить соотношения между ее наборами, состоящими из попарно эквивалентных автоматов. Кроме того, сформулирован критерий эквивалентности покрывающего автомата автомату Ватерлоо в терминах свойств подмножества гридов, определяющего покрывающий автомат. Исследование проводилось с применением библиотеки NFALib для анализа недетерминированных конечных автоматов, реализованной автором на языке Сф. Актуальность изучения автомата Ватерлоо связана с его ролью в исследовании задачи вершинной минимизации недетерминированных конечных автоматов и разработке эвристических алгоритмов реального времени, используемых для ее решения.

Ключевые слова: недетерминированные конечные автоматы, универсальный автомат, грид, покрывающий автомат, алгоритмы эквивалентного преобразования, автомат Ватерлоо.

ОБРАЗЕЦ ЦИТИРОВАНИЯ

Абрамян М.Э. Программное исследование полурешеток, связанных с автоматом Ватерлоо // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2024. Т. 13, № 1. С. 5-21. DOI: 10.14529/сшве240101.

Введение

Для описания регулярного языка существуют разные полные инварианты: не только хорошо известные канонические автоматы [1-3], но и базисные автоматы [4], а также универсальные автоматы [5]. При построении базисных и универсальных автоматов необходимо построить канонические автоматы как для заданного регулярного языка, так и для его зеркального отражения. В процессе такого построения можно получить, среди прочих объектов, специальное бинарное отношение Ф, определенное на парах состояний этих двух канонических автоматов. Это отношение также является инвариантом (однако неполным) для рассматриваемого языка.

В настоящее время наиболее интересным для исследования является язык Ватерлоо и связанный с ним автомат Ватерлоо. Построенный для этого языка универсальный автомат обладает следующим свойством: среди соответствующих ему покрывающих автоматов [5, 6] существует ему неэквивалентный (см. далее раздел 1). Этот факт имеет непосредственное

отношение к вопросам, связанным с разработкой эффективных алгоритмов для решения задачи вершинной минимизации недетерминированных конечных автоматов. Следует заметить, что эта задача является ЫР-сложной [7]. Настоящая статья связана с эвристическими алгоритмами подобной минимизации. Однако методы, получаемые при решении именно этой задачи, подходы к ее решению (т. е. конкретные описания алгоритмов) находят применение и во многих других КР-сложных оптимизационных задачах.

Для любого автомата множество связанных с ним покрывающих автоматов образует полурешетку по объединению, однако можно показать, что оно, вообще говоря, не образует полурешетки по пересечению (см. далее раздел 2). Конкретнее, вместо одной полурешетки по пересечению образуется объединение нескольких таких полурешеток. Построение подобных конструкций фактически является основным этапом алгоритма минимизации для рассматриваемого автомата (отметим, что исследование полурешеток связано с оптимизационными задачами и для других дискретных структур; см., например, [8—10]). Настоящая статья посвящена рассмотрению полурешеток для автомата Ватерлоо. Она продолжает исследования, начатые в [11, 12].

Статья организована следующим образом. Раздел 1 статьи содержит предварительные сведения; приведена связанная с конечными автоматами терминология, причем в основном те термины, которые связаны с элементами универсального автомата, прежде всего с грида-ми, которые можно рассматривать как состояния последнего. Все понятия иллюстрируются на примере автомата Ватерлоо; при этом демонстрируется общий подход к программному исследованию автоматов для Ватерлоо-подобных языков с применением библиотеки для работы с недетерминированными конечными автоматами КРАЫЬ, реализованной автором на языке В начале данного раздела приводится краткое описание библиотеки КРАЫЬ. В разделе 2 обсуждаются свойста полурешеток покрывающих автоматов и приводятся общие свойства полурешеток для автомата Ватерлоо. Разделы 3 и 4 содержат более детальное исследование различных полурешеток, связанное, прежде всего, с наличием в них покрывающих автоматов, не эквивалентных исходному автомату Ватерлоо. В разделе 5 приводится и обосновывается критерий эквивалентности покрывающего автомата автомату Ватерлоо в терминах гридов, определяющих покрывающий автомат. В заключении приводится краткая сводка результатов, полученных в работе, и указаны направления дальнейших исследований.

1. Основные понятия и связанные с ними примеры для автомата Ватерлоо

В данном разделе приводятся необходимые понятия, связанные с конечными автоматами, и иллюстрируем их на примере автомата Ватерлоо \¥ (рис. 1). Интерес к этому автомату обусловлен тем, что он позволяет выявить важные особенности алгоритма вершинной минимизации недетерминированных конечных автоматов. Автомат Ватерлоо был впервые описан в [13]. Именно объекты, связанные с автоматом Ватерлоо, будут основным предметом рассмотрения в последующих разделах.

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

Библиотека КРАЫЬ разработана на языке и предназначена для исследования недетерминированных конечных автоматов и связаных с ними объектов. Основным классом

Рис. 1. Автомат Ватерлоо ]¥

библиотеки является класс позволяющий определять недетерминированный конечный автомат, отображать его в текстовом виде, получать его характеристики и строить на его основе ряд специальных конечных автоматов, в том числе детерминированный автомат (полученный в результате процедуры детерминизации исходного автомата), зеркальный автомат, канонический автомат, базисный автомат, унивесальный автомат СОМ, покрывающий автомат (далее приводятся методы, позволяющие получить большинство из перечисленных автоматов).

Кроме того, библиотека содержит классы, связанные со специальным отношением использование этих классов также будет проиллюстрировано далее. На основе перечисленных классов в библиотеке МГАГлЬ реализован итерационный алгоритм нахождения псевдооптимальных решений задачи об определении минимального покрывающего набора полных гридов для матрицы отношения Важность этой задачи обусловлена тем, что она связана с основным этапом алгоритма вершинной минимизации недетерминированных конечных автоматов [14].

Анализируемый автомат К (определяющий некоторый регулярный язык Ь) создается в виде объекта типа №А на основе информации из текстового файла. На рис. 2 приводится содержимое файла, соответствующее автомату Ватерлоо. Смысл обозначений должен быть ясен из сравнения этого рисунка с рис. 1.

а Ъ

==> А Е -

В Р -

С й В

0 С н

<== Е С н

<== Р В Б

й А Б

н А -

Рис. 2. Текстовое описание автомата Ш

Алгоритм вершинной минимизации основан на анализе бинарного отношения # [3, разд. 3.3], связывающего множества состояний X и У двух канонических автоматов, которые построены на основе анализируемого недетерминированного конечного автомата К и зеркального к нему автомата Кя. Автомат Ватерлоо является детерминированным автоматом, который не изменяется в результате его канонизации. Канонический автомат для зеркального автомата после переобозначения состояний принимает вид, приведенный на рис. 3.

Для получения зеркальных и канонических автоматов в библиотеке КРАЬГЬ предусмотрены методы GetMirror и Се'ЬСапопз.саЮРА.

а Ъ '/. States

==> X Y - У. E-F

<== Y Z и У. А-В

Z V W У„ F-G-H

и W - с

V Р и в-с

W Q R D-E

р Y R % D-E-F

<== q S - У. А

R V - У. F-G

S и W У. G-H

Рис. 3. Канонический автомат для автомата WR

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

На основе канонических автоматов строится матрица отношения Ф, строки которой соответствуют состояниям канонического автомата К, а столбцы — состояниям автомата, канонического к зеркальному автомату KR. Вид матрицы отношения ф для автомата W приведен на рис. 4. Для получения матрицы отношения ф некоторого автомата в библиотеке NFALib достаточно обратиться к его свойству CurrentSharpRelation.

X Y Z и V W р q R S

А - # - - - - - # - -

В - # - - # - - - - -

С - - - # #

D # # - - -

Е # - - - - # # - - -

F # - # - - - # - # -

G - - # - - - - - # #

Н - - # - - - - - - #

Рис. 4. Матрица отношения ф для автомата W

Элементы матрицы, помеченные символом #, определяются следующим образом: в строке, соответствующей некоторому состоянию s канонического автомата для исходного автомата (в нашем случае для автомата W), помечаются элементы для тех состояний канонического автомата для зеркального автомата, которые содержат состояние s в столбце States. Например, для строки А помечаются столбцы Y и Q, поскольку состояние Y соответствует множеству состояний {А, В}, а состояние Q — множеству состояний {А} (рис. 3).

С отношением ф связывается набор гридов [3, разд. 3.4]. Каждый грид определяется парой подмножеств Xq е X и Yq €. Y, где X — множество строк матрицы отношения ф (совпадающее с множеством состояний канонического автомата для автомата К), a Y — множество столбцов матрицы отношения ф (совпадающее с множеством состояний канони-

ческого автомата для автомата Кя). Подмножества Хо и Уо должны удовлетворять двум условиям: (1) для любых состояний х € Хо и у € Уо выполняется хфу; (2) подмножества Хо и >о нельзя расширить с сохранением условия (1). Такой грид будем обозначать Хо х Уо-Множество М гридов называется покрывающим, если для любых элементов х £ X, у € У таких, что хфу, найдется грид Хо х Уо из М, для которого х € Хо и у € Уо- Очевидно, что полный набор гридов, построенных по отношению ф, является покрывающим множеством. На рис. 5 приводится полный набор из 14 гридов для отношения ф, соответствующего автомату ЦТ. Для получения полного набора гридов в библиотеке NFALib предусмотрен метод GetCompleteGrids, основанный на полном переборе.

{ А } х { У, Ч > XI

{ А, В > х { У > % 2

{ В } х { У, V > % 3

{ В, С > х { V > % 4

{ С > х { и, V > % 5

{ Ю, Е > х -С V, Р } X 6

{ Е } х { X, V, Р > X 7

{ Е, Р } х { X, Р } X 8

{ Р } х { X, г, р, и > X 9

{ Р, в > х { ъ, к > % 10

{ в } х { г, а, з > X 11

{ с, Н > х { г, з } X 12

{ в, н > X { г > х 13

{ Б, Е, ? У х { Р > X 14

Рис. 5. Полный набор гридов для автомата Ш

В [5] описан алгоритм, позволяющий по полному набору гридов построить универсальный автомат СОМ (К), который определяет тот же регулярный язык Ь, что и исходный автомат К, и при этом каждый грид соответствует некоторому состоянию автомата СОМ {К). Автомат СОМ(\¥) приведен на рис. 6. Для его получения предназначен метод GetCOM(completeGrids) библиотеки №А1лЬ.

Как было отмечено выше, построенный автомат СОМ(\¥) является эквивалентным исходному автомату ЦТ, что можно показать, выполнив его канонизацию с помощью метода Се1;Са110п1са1ВРА и переименовав его состояния требуемым образом.

На основе автомата СОМ (К) можно определить семейство покрывающих автоматов, каждый из которых получается путем удаления некоторых состояний автомата СОМ (К), причем оставшиеся состояния соответствуют гридам, образующим покрывающее множество.

Алгоритм минимизации исходного автомата К состоит в том, чтобы выбрать покрывающее множество гридов Мо минимального размера, для которого построенный на его основе покрывающий автомат является эквивалентным автомату К, т. е. определяет тот же регулярный язык Ь.

К сожалению, не всякое покрывающее множество гридов позволяет получить покрывающий автомат, эквивалентный исходному. Примером является автомат Ватерлоо. Минимальным покрывающим множеством для него является множество Мо из 7 элементов,

а b У. Grids

==> 1 6,7,8,14 - X { А > х ■[ Y, Q У

==> 2 8,14 - % { А, В > х { Y >

3 8,9,10,13,14 - % { В } х { Y, V >

4 10,13 - % { В, С > х -С V }

5 10,11,12,13 2,3,4 % { С } х { U, V >

6 4,5 12,13 % { D, Е > х ■[ W, Р }

<== 7 4,5 12,13 '/. { Е > х ■[ X, W, Р >

<== 8 4 - % { Е, F > х { X, Р >

<== 9 2,3,4 6,14 '/. { F > х ■[ X, z, Р, R >

10 2 6,14 % { F, G > х { Z, R >

11 1,2 6,14 % { G > х { Z, R, S >

12 1,2 - % { G, Н > х -С Z, S >

13 2 - % { F, G, Н > х { Z >

14 4 - % { D, Е, F > х { Р >

Рис. 6. Автомат СОМ(УУ)

содержащее следующие гриды из полного множества: 1, 3, 5, 6, 8, 10, 12. Для нахождения минимальных покрывающих множеств предусмотрен метод GetMinGridCovers.

На рис. 7 приведен покрывающий автомат \¥о, построенный на основе минимального покрывающего множества Мо с помощью метода Се'ЬСоуегз.г^СМО), примененного к автомату СОМ(Ш).

а Ъ % Grids

==> 1 6,8 - '/. { А } х { Y, q }

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

3 8,10 - '/. { В } х { Y, V }

5 10,12 3 •/. { с > х ■[ и, V >

6 5 12 "/. { D, Е > х { W, Р >

<== 8 - - У„ { Е, F > х { X, Р >

10 - 6 '/. { F, G > х { Z, R >

12 1 - "/. { G, Н > х { Z, S >

Рис. 7. Минимальный покрывающий автомат ]Уо для автомата СОМ(Ш)

После процедуры канонизации и переименования состояний автомат \¥о принимает вид, приведенный на рис. 8. Данный автомат не является эквивалентным исходному автомату Ватерлоо (ср. с рис. 2; отличающаяся строка соответствует состоянию -Р):

2. Полу решетки покрывающих автоматов

Поскольку минимальный покрывающий автомат, как показывает пример автомата Ватерлоо, не обязательно будет эквивалентным исходному автомату, представляет интерес исследование всей совокупности покрывающих автоматов, которые могут быть получены из автомата СОМ для различных покрывающих множеств гридов.

Отметим, что все покрывающие множества гридов, согласно приведенным в предыдущем разделе определениям, образуют полурешетку по объединению. Это очевидно, поскольку объединение любых двух покрывающих множеств также является покрывающим.

а Ъ '/. States

==> А Е - У. 1

В Р - У. 3

С б В У. 5

0 С н У. 6

<== Е С н У. 6-8

<== Р - Б У. 8-10

в А Б У„ 10-12

Н А - У. 12

Рис. 8. Канонический автомат для минимального покрывающего автомата с переименованными состояниями

В этом смысле можно говорить и о полурешетке по объединению для всех покрывающих автоматов, понимая под операцией объединения объединение подмножеств гридов, на основе которых построены данные покрывающие автоматы.

Однако полный набор покрывающих множеств гридов не образует полурешетку по пересечению. Для доказательства этого факта достаточно рассмотреть простую матрицу Л размера 3x3, приведенную на рис. 9.

X У Ъ А # # -В # - # С - # #

Рис. 9. Матрица Л

Заметим, что матрица Л действительно является матрицей отношения ф для некоторого автомата, в частности, полного автомата [15], который строится непосредственно по данной матрице (вид полного автомата для матрицы Л приведен на рис. 10).

а Ъ с <1 е ё Ь 1

<=> А А В С А В С - - -

<== В А В С - - - А В с

С - - - А В с А в с

Рис. 10. Полный автомат, построенный по матрице Л

Нетрудно убедиться в том, что по каждой строке и каждому столбцу матрицы Л можно построить грид, причем данная матрица не содержит других гридов. Если упорядочить гриды в лексикографическом порядке их обозначений, то будет получен полный набор, приведенный на рис. 11 (в этом наборе гриды 1, 4, 6 соответствуют строкам матрицы Л, а гриды 2, 3, 5 — ее столбцам).

Таким образом, имеется два минимальных покрывающих множества гридов {1,4,6} и {2,3,5}, но, конечно, их пересечение (пустое множество) покрывающим множеством не является.

■С А } х { X, У } X 1

-с А, В } х { X } X 2

-с А, С } х { У } X з

-с в > х { х, г у X 4

-с в, с > х { г у X 5

-с с } х { у, г у X 6

Рис. 11. Полный набор гридов для матрицы Л

Несмотря на то, что полный набор покрывающих множеств гридов не образует, вообще говоря, полурешетку по пересечению, из него можно выделить подмножества покрывающих множеств, которые подобную полурешетку образуют. Каждая такая полурешетка по пересечению будет включать некоторое базовое покрывающее множество гридов, полное множество и все промежуточные множества, обладающим тем свойством, что любое их попарное пересечение также принадлежит этой полурешетке. Будем рассматривать только такие полурешетки по пересечению, которые нельзя расширить. В этом случае для приведенного выше примера будет получено пять полурешеток по пересечению. Две из них (с базовыми покрывающими множествами гридов {1,4,6} и {2,3,5}) содержат по 8 элементов, а остальные (с базовыми покрывающими множествами {1,2,5,6}, {1,3,4,5} и {2,3,4,6}) — по 4 элемента. Все эти полурешетки изображены на рис. 12. Следует заметить, что каждая такая полурешетка может интерпретироваться как гиперкуб соответствующей размерности.

3, 4, 5, 6

2, 3, 5, 6

2, 3, 5

Рис. 12. Полурешетки множеств гридов для матрицы Л

В дальнейшем для краткости полурешетками будем называть полурешетки по пересечению, которые нельзя расширить.

Для большинства автоматов рассмотрение наборов покрывающих автоматов и связанных с ними полурешеток интереса не представляет, поскольку все эти автоматы являются эквивалентными. Иная ситуация возникает при аналогичном исследовании автомата Ватерлоо \¥. Как было показано в предыдущем разделе, для матрицы отношения ф, связанной с данным автоматом, можно построить 14 гридов, из которых можно выделить единственное минимальное покрывающее множество Мо размера 7, причем покрывающий автомат И^о, построенный на основе множества Мо, не является эквивалентным исходному автомату \¥.

Численное исследование гридов матрицы отношения ф для автомата Ватерлоо показывает, что имеется 260 различных покрывающих множеств гридов, размеры которых ме-

няются от 7 до 14. На основе различных покрывающих множеств гридов можно построить 8 различных полурешеток (напомним, что рассматриваются полурешетки по пересечению, которые нельзя расширить). Характеристики этих полурешеток приведены в табл. 1.

Таблица 1. Полурешетки для автомата Ш

Полурешетка Базовое Количество Количество

покрывающее элементов покрывающих

множество (покрывающих автоматов,

гридов автоматов) не эквивалентных \¥

А {1,3,5,6,8,10,12} 128 48

В {1,2,4,5,6,8,10,12} 64 0

С {1,3,5,6,7,9,10,12} 64 0

Б {1,3,5,6,7,9,11,12} 64 0

Е {1,3,5,6,8,9,11,12} 64 0

^ {1,2,4,5,6,7,9,10,12} 32 8

С {1,2,4,5,6,7,9,11,12} 32 12

Я {1,2,4,5,6,8,9,11,12} 32 8

Особый интерес представляет последний столбец таблицы, в котором указано количество покрывающих автоматов из данной полурешетки, не эквивалентных исходному автомату Ватерлоо. В последующих разделах обсуждаются особенности различных полурешеток, связанные с наличием в них неэквивалентных покрывающих автоматов.

3. Исследование максимальной полурешетки для автомата Ватерлоо

В данном разделе описываются дополнительные свойства полурешетки А из табл. 1. Данная полурешетка, во-первых, имеет максимальный размер (128 элементов), во-вторых, ее базовым элементом является покрывающий автомат построенный по минимальному покрывающему множеству гридов и, в-третьих, она содержит наибольшее число покрывающих автоматов, которые не являются эквивалентными автомату Ватерлоо.

Дополнительное исследование полурешетки А показало, что в нее входят четыре множества попарно эквивалентных автоматов. Полученные результаты в графическом виде приведены на рис. 13.

Вершины изображенного графа соответствуют различным покрывающим множествам гридов (и, соответственно, различным покрывающим автоматам) полурешетки А. Эти вершины, будучи элементами полурешетки размера 128, можно интерпретировать как вершины 7-мерного гиперкуба. Ребра соединяют соседние вершины гиперкуба, отличающиеся ровно на один грид, входящий в большее множество. Каждый горизонтальный ряд вершин на рис. 13 соответствует множествам с одинаковым количеством гридов (от 7 — единственная вершина в нижнем ряду, соответствующая множеству Мо, до 14 — единственная вершина в верхнем ряду, соответствующая полному множеству М). Покрывающие множества в каждом ряду расположены в лексикографическом порядке входящих в них номеров гридов. Например, второй снизу ряд, содержащий множества размера 8, включает следующие множества (слева направо): = {1,2,3,5,6,8,10,12}, М2 = {1,3,4,5,6,8,10,12},

1,2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14

Рис. 13. Полурешетка А

М3 = {1,3,5,6,7,8,10,12}, М4 = {1,3,5,6,8,9,10,12}, М5 = {1,3,5,6,8,10,11,12}, М6 = {1,3,5,6,8,10,12,13}, М7 = {1,3,5,6,8,10,12,14}.

В каждом из этих множеств выделен подчеркиванием дополнительный грид, добавленный к минимальному покрывающему множеству Мо).

Вершины, соответствующие попарно эквивалентным покрывающим автоматам, которые не эквивалентны исходному автомату Ватерлоо, выделены одинаковым цветом: красным, синим или зеленым. Таким образом, имеются три набора автоматов, эквивалентных между собой и не эквивалентных автомату Ватерлоо:

- набор N1 (начинается с покрывающего автомата, соответствующего множеству Мо),

- набор N2 (начинается с автомата, соответствующего множеству М{),

- набор ТУз (начинается с автомата, соответствующего множеству М2).

Каждый из них содержит по 16 элементов, образующих 4-мерные гиперкубы. Ребра, соединяющие неэквивалентные автоматы из этих трех наборов, изображены желтым цветом. Набор покрывающих автоматов, эквивалентных автомату Ватерлоо, будем обозначать АГ0.

Ребра черного цвета соответствуют границе гиперкуба, разделяющей автоматы, эквивалентные и не эквивалентные автомату Ватерлоо. Черным цветом изображены также вершины, соответствующие покрывающим автоматам, эквивалентным автомату Ватерлоо, которые не связаны ребрами с неэквивалентными им покрывающими автоматами.

Полученные дополнительные соотношения между элементами полурешетки А можно отобразить более наглядным образом, если представить каждый из наборов N1, N2, ДГ3 попарно эквивалентных покрывающих автоматов (не эквивалентных автомату Ватерлоо) в виде 4-мерного гиперкуба, а остальные покрывающие автоматы (эквивалентные автомату Ватерлоо) — в виде пяти 4-мерных гиперкубов, после чего естественным образом объединить полученные гиперкубы в один 7-мерный гиперкуб (рис. 14).

Каждый из восьми полученных 4-мерных гиперкубов характеризуется особой комбинацией трех дополнительных гридов с номерами 2, 4 и 9. А именно, если в базовое покрывающее множество Мо = {1,3, 5,6,8,10,12}, дополненное гридами из дополнительного упорядоченного1 множества Д) = (2,4,7,9,11,13,14), не входит ни один из гридов 2, 4, 9,

1 Порядок элементов множества £)о фиксируется, так как это позволит легко определять его различные подмножества, как будет описано далее.

Рис. 14. Второй вариант графического представления полурешетки А

то будет получен набор N1 (4-мерный гиперкуб красного цвета), если входит только грид 2 или только грид 4, то будут получены соответственно наборы N2 (4-мерный гиперкуб синего цвета) и ЛГ3 (4-мерный гиперкуб зеленого цвета). Наличие грида 9 или одновременное наличие гридов 2 и 4 гарантирует, что полученный покрывающий автомат является эквивалентным исходному автомату Ватерлоо и, таким образом, входит в N0.

Отмеченные соотношения представлены в табл. 2. Комбинации гридов задаются строкой из 7 символов, которая определяет наличие или отсутствие каждого из гридов, входящих в если некоторый грид из £>о входит во все элементы набора, то на его позиции в строке указывается 1, если грид не входит, то указывается 0, если грид может как входить, так и не входить в набор, то на его позиции указывается звездочка. Например, обозначение 01*0*** для набора N2 означает, что в этот набор входят покрывающие множества гридов, включающие грид 4 и не включающие гриды 2 и 9 (гриды 7, 11, 13, 14 могут как; входить, так и не входить в покрывающее множество).

Таблица 2. Подмножества полу решетки А

Набор, в который входят элементы подмножества Описание подмножества (наличие или отсутствие гридов 2, 4, 7, 9, 11, 13, 14) Размер подмножества Эквивалентны ли элементы множества автомату \¥

N1 (весь набор) 00*0*** 16 нет

N2 (весь набор) 01*0*** 16 нет

N3 (весь набор) 10*0*** 16 нет

Щ ц*0*** 16 да

Щ ***!*** 64 да

Таким образом, необходимым и достаточным условием того, что покрывающий автомат из полурешетки А эквивалентен автомату Ватерлоо, является наличие в соответствующем покрывающем множестве грида 9 или одновременно гридов 2 и 4-

4. Исследование других полурешеток для автомата Ватерлоо

Обратимся к остальным полурешеткам, приведенным в табл. 1. Их можно разбить на две группы. В первую группу входят полурешетки В, С, И, Е, для которых базовый покрывающий автомат эквивалентен автомату Ш. Поэтому и все прочие элементы данных полурешеток эквивалентны автомату \У, и дополнительного исследования этих полурешеток не требуется.

В отличие от полурешеток В, С, И, Е, полурешетки Г, С, Я содержат покрывающие автоматы, не эквивалентные автомату \¥. Дополнительный численный анализ показывает, что эти автоматы можно разбить на 5 наборов: N4, N5, Щ, N7, в каждый из которых входят автоматы, эквивалентные между собой и не эквивалентные автоматам из других наборов (а также автоматам из наборов N1, N2, N3, описанных в предыдущем разделе). При этом наборы N4 и N5 полностью содержатся в полурешетке Р, набор Л^, полностью содержится в полурешетке С, а наборы N7 и ТУ8 полностью содержатся в полурешетке Я. Кроме того, полурешетка О включает половину элементов, входящих в каждый из наборов N4, N5, Щ и ЛГ8.

Более подробный анализ полурешеток Р, С, Н и связанных с ними наборов покрывающих автоматов, не эквивалентных автомату IV, удобно провести совместно, так как наборы N4, N5, N7 и ЛГ8 входят одновременно в несколько полурешеток.

Еще раз приведем базовые покрывающие множества гридов для полурешеток Р, С и Я: {1,2,4,5,6,7,9,10,12},

С: {1,2,4,5,6,7,9,11,12},

Я: {1,2,4,5,6,8,9,11,12}.

Поскольку все эти множества содержат гриды из множества М' = {1,2,4,5,6,9,12}, данные гриды можно исключить из дальнейшего рассмотрения и ограничиться анализом гридов, входящих в упорядоченное множество = (3,7,8,10,11,13,14). Для различных подмножеств множества Иг будем использовать обозначения, аналогичные тем, которые ранее использовались для подмножеств множества 1?о (см- табл. 2): подмножество определяется строкой из 7 символов; если некоторый грид из Иг входит во все элементы подмножества, то на его позиции в строке указывается 1, если грид не входит, то указывается 0, если грид может как входить, так и не входить в элементы подмножества, то на его позиции указывается звездочка. С учетом таких обозначений полурешетка Р может быть описана следующим образом: *1*1***. Это означает, что, помимо гридов из множества М', во все ее элементы входят гриды 7 и 10, а прочие гриды из могут как входить, так и не входить. Полурешетка С описывается строкой *1**1**, а полу решетка Я — строкой **1*1**. Описание наборов N4, N5, Щ, N7, N3 приведено в табл. 3.

Анализ таблицы 3 показывает, что необходимым и достаточным условием того, что покрывающий автомат из полурешеток Р, С, Я эквивалентен автомату Ватерлоо, является наличие в соответствующем покрывающем множестве грида 3 или одновременно гридов 8 и 10.

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

5. Критерий эквивалентности покрывающих автоматов автомату Ватерлоо

При исследовании полурешетки А в разделе 3 и полурешеток С, Я в разделе 4 была выявлена особая роль гридов 3 и 9, а также комбинаций гридов 2, 4 и 8, 10. Напомним, что наличие в покрывающем множестве грида 9 или одновременно гридов 2 и 4 гарантирует,

М.Э. Абрамян Таблица 3. Наборы N4, N5, ЛГ6, N7, Щ

Набор Описание (наличие или отсутствие гридов 3, 7, 8, 10, 11, 13, 14) Размер В какие полурешетки входит

ЛГ4 0101**0 4 Р (все элементы набора), С (элементы с гридом 11)

ЛЬ 0101**1 4 .Р (все элементы набора), С (элементы с гридом 11)

щ 01001** 4 С (все элементы набора)

N7 0*1010* 4 Н (все элементы набора), Сг (элементы с гридом 7)

0*1011* 4 Н (все элементы набора), С (элементы с гридом 7)

что покрывающий автомат, входящий в полурешетку А, будет эквивалентен автомату IV, а для полурешеток Р, С, Н аналогичный факт справедлив при наличии в покрывающем множестве грида 3 или одновременно гридов 8 и 10.

Эти результаты можно обобщить на весь набор покрывающих автоматов для автомата Ватерлоо, если дополнительно проанализировать наличие этих особых гридов в базовых покрывающих множествах для всех полурешеток. Соответствующие данные приведены в табл. 4. В ней для краткости используется операция «+» для обозначения одновременного наличия двух гридов: 2 + 4, 8 + 10.

Таблица 4. Дополнительные свойства полурешеток

Полурешетка Базовое покрывающее множество Особые гриды в базовом множестве Дополнительные гриды, обеспечивающие эквивалентность автомату Ватерлоо

А {1,3,5,6,8,10,12} 3, 8 + 10 2 + 4 или 9

В {1,2,4,5,6,8,10,12} 2 + 4, 8 + 10 -

С {1,3,5,6,7,9,10,12} 3, 9 -

Б {1,3,5,6,7,9,11,12} 3, 9 -

Е {1,3,5,6,8,9,11,12} 3, 9 -

Р {1,2,4,5,6,7,9,10,12} 2 + 4, 9 3 или 8 + 10

С {1,2,4,5,6,7,9,11,12} 2 + 4, 9 3 или 8 + 10

Н {1,2,4,5,6,8,9,11,12} 2 + 4, 9 3 или 8 + 10

Из табл. 4 следует, что для того, чтобы покрывающий автомат, построенный по автомату СОМ для автомата Ватерлоо, был эквивалентен автомату Ватерлоо, необходимо и достаточно, чтобы в соответствующем покрывающем множестве содержались либо гриды 3 и 9, либо гриды 2, 4, 8 и 10. При нарушении данного условия будут получены покрывающие автоматы, не эквивалентные автомату Ватерлоо. Имеется 8 наборов таких автоматов; в каждый набор входят автоматы, эквивалентные между собой.

Полученные результаты можно представить в виде табл. 5, в которой по вертикали указываются гриды из множества {2,3,4}, входящие в покрывающее множество, а по горизонтали — гриды из множества множества {8,9,10}, входящие в покрывающее множество. Таблица включает 5 строк и 5 столбцов, так как не существует покрывающих множеств, которые не содержат ни одного грида из множеств {2,3,4} и {8,9,10} или содержат только по одному гриду 2 или 4 из множества {2,3,4} или только по одному гриду 8 или 10 из множества {8,9,10}. В ячейках таблицы указывается, к какому набору попарно эквивалентных покрывающих автоматов принадлежат автоматы с данным набором гридов, а также (в скобках) количество таких автоматов. Напомним, что покрывающие автоматы, эквивалентные автомату Ватерлоо, входят в набор ЛГ0; для большей наглядности ячейки с набором 7\/о выделяются дополнительным символом *.

Таблица 5. Распределение наборов эквивалентных покрывающих автоматов в зависимости от гридов 2, 3, 4, 8, 9, 10, входящих в покрывающие множества

9 8, 9 8, 10 9, 10 8, 9, 10

3 *No (4) *N0 (8) Ni (16) *Nq (8) *Nq (16)

2, 3 *No (4) *N0 (8) N2 (16) *No (8) *N0 (16)

2, 4 N6 (4) Nr (4), N8 (4) *Nq (16) N4 (4), Nb (4) *iVo (16)

3, 4 *N0 (4) *N0 (8) N3 (16) *N0 (8) *N0 (16)

2, 3, 4 *Nq (4) *N0 (8) *N0 (16) *N0 (8) *N0 (16)

Заключение

В настоящей работе дано полное описание полурешеток покрывающих автоматов с точки зрения эквивалентности входящих в них автоматов исходному автомату Ватерлоо.

Выделены три класса полурешеток. Первая полурешетка (А) строится на минимальном покрывающем автомате; в нее входят три набора попарно эквивалентных покрывающих автоматов, которые неэквивалентны автомату Ватерлоо. Для данной полурешетки получено графическое представление, которое позволяет наглядно отразить соотношения между ее наборами, состоящими из попарно эквивалентных автоматов. Во второй класс полурешеток входят четыре полурешетки (В, С, D, Е), полностью состоящие из покрывающих автоматов, которые эквивалентны автомату Ватерлоо. В третий класс входят три полурешетки (F, G, Н), содержащие пять наборов попарно эквивалентных покрывающих автоматов, которые неэквивалентны автомату Ватерлоо, причем четыре из пяти наборов входят одновременно в две полурешетки (что отличает их от наборов, входящих в полурешетку А).

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

Рассмотренная тема предполагает ряд вариантов развития, некоторые из которых перечислены ниже. Во-первых, рассмотрение возможных аналогов полурешеток для автомата Kiel [16]. (несмотря на то что всеми свойствами автомата Ватерлоо автомат Kiel не обладает, исследование последнего представляется достаточно интересным). Во-вторых, поиск

«минимального» автомата, обладающего теми же свойствами, что и автомат Ватерлоо, т. е. автомата, для которого существует неэквивалентный покрывающий автомат; при этом имеются по крайней мере две возможности для определения такой минимальности: либо по числу состояний автомата, либо по произведению количеств состояний двух канонических автоматов (для заданного регулярного языка и для его зеркального образа). В-третьих, описание эвристик для человеко-машинных систем, предназначенных для автоматического поиска Ватерлоо-подобных автоматов.

Литература

1. Гинзбург С. Математическая теория контекстно-свободных языков. М.: Мир, 1973. 301 с.

2. Брауэр В. Введение в теорию конечных автоматов. М.: Радио и связь, 1987. 390 с.

3. Мельников Б. Регулярные языки и недетерминированные конечные автоматы. М.: Изд-во Российского государственного социального университета, 2018. 179 с.

4. Долгов В., Мельников Б., Мельникова А. Циклы графа переходов базисного конечного автомата и связанные вопросы // Вестник Воронежского государственного университета. Серия: Физика. Математика. 2016. № 4. С. 95-111.

5. Долгов В., Мельников Б. Построение универсального конечного автомата. II. Примеры работы алгоритмов // Вестник Воронежского государственного университета. Серия: Физика. Математика. 2014. № 1. С. 78-85.

6. Melnikov В., Melnikova A. Edge-minimization of non-deterministic finite automata // The Korean Journal of Computational and Applied Mathematics (Journal of Computational and Applied Mathematics). 2001. Vol. 8, no. 3. P. 469-479.

7. Jiang Т., Ravikumar B. Minimal NFA problems are hard // SIAM Journal on Computing. 1993. Vol. 22, no. 6. P. 1117-1141. DOI: 10.1137/0222067.

8. Мельников Б.Ф. Полурешетки подмножеств потенциальных корней в задачах теории формальных языков. Часть I. Извлечение корня из языка // International Journal of Open Information Technologies. 2022. T. 10, № 4. C. 1-9.

9. Мельников Б.Ф. Полурешетки подмножеств потенциальных корней в задачах теории формальных языков. Часть II. Построение инверсного морфизма // International Journal of Open Information Technologies. 2022. T. 10, № 5. C. 1-8.

10. Мельников Б.Ф. Полурешетки подмножеств потенциальных корней в задачах теории формальных языков. Часть III. Условие существования решетки // International Journal of Open Information Technologies. 2022. T. 10, № 7. C. 1-9.

11. Зяблицева JI.В., Корабелыцикова С.Ю., Абрамян М.Э. Графы полурешеток, матричные представления полугрупп идемпотентов и полурешетки автомата Ватерлоо / / International Journal of Open Information Technologies. 2023. T. 11, № 7. C. 69-76.

12. Abramyan M.E., Melnikov B.F. A Program Study of the Union of Semilattices on the Set of Subsets of Grids of Waterloo Language // Journal of Applied Mathematics and Physics. 2023. Vol. 11. P. 1459-1470. DOI: 10.4236/jamp.2023.115095.

13. Kameda Т., Weiner P. On the state minimization of nondeterministic finite automata // IEEE Transactions on Computers. 1970. Vol. C-19, no. 7. P. 617-627. DOI: 10.1109/t-c.1970.222994.

14. Абрамян М.Э. О вычислении веса подзадач при вершинной минимизации недетерминированных конечных автоматов методом ветвей и границ // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. 2021. № 2 (58). С. 46-52. DOI: 10.21685/2072-3040-2021-2-4.

15. Melnikov В. The complete finite automaton // International Journal of Open Information

Technologies. 2017. Vol. 5, no. 10. P. 9-17.

16. Polak L. Minimalizations of NFA using the universal automaton // International

Journal of Foundation of Computer Science. 2005. Vol. 16, no. 5. P. 999-1010.

DOI: 10.1142/s0129054105003431.

Абрамян Михаил Эдуардович, к.ф.-м.н., доцент, факультет вычислительной информатики и кибернетики, Университет МГУ—ППИ в Шэньчжэне (Шэньчжэнь, Китайская Народная Республика); Институт математики, механики и компьютерных наук им. И.И. Во-ровича, Южный федеральный университет (Ростов-на-Дону, Российская Федерация)

DOI: 10.14529/ cmse240101

A PROGRAM STUDY OF SEMILATTICES CONNECTED WITH THE WATERLOO AUTOMATON

© 2024 M.E. Abramyan1,2

1 Shenzhen MSU - BIT University

Park Road 1, Shenzhen, Guangdong Province, 518172 PRC),

2 Southern Federal University Sadovaya 105/42, Rostov-on-Don, 344006 Russia) E-mail: m-abramyan@yandex.ru Received: 17.08.2023

The paper is devoted to the study of semilattices containing covering automata for the Waterloo automaton. In the initial sections of the paper, the process of constructing covering automata on the basis of subsets of the grids of the original automaton is described (each grid represents some set of arcs associated with the original automaton), and also the properties of semilattices formed by covering automata are considered. The main result of the paper is a complete description of the obtained semilattices from the point of view of equivalence of the covering automata included in them to the original Waterloo automaton. Three classes of semilattices are distinguished, each of which has special properties. For the semilattice constructed on the basis of a minimal covering automaton, a graphical representation is obtained, which allows us to visualize the relations between its sets consisting of pairwise equivalent automata. In addition, a criterion of equivalence of the covering automaton to the Waterloo automaton is formulated in terms of the properties of the subset of grids defining the covering automaton. The study was carried out using the NFALib library for analysis of nondeterministic finite automata, implemented by the author in the C# language. The relevance of the study of the Waterloo automaton is connected with its role in the study of the problem of vertex minimization of nondeterministic finite automata and the development of real-time heuristic algorithms used for its solution.

Keywords: nondeterministic finite automata, universal automaton, grid, covering automaton, equivalent transformation algorithms, the Waterloo automaton.

FOR CITATION

Abramyan M.E. A Program Study of Semilattices Connected with the Waterloo Automaton. Bulletin of the South Ural State University. Series: Computational Mathematics and Software Engineering. 2024. Vol. 13, no. 1. P. 5-21. (in Russian) DOI: 10.14529/cmse240101.

This paper is distributed under the terms of the Creative Commons Attribution-Non Commercial 4-0 License which permits поп-commercial use, reproduction and distribution of the work without further permission provided the original work is properly cited.

(International University (Str. Bolshaya

References

1. Ginsburg S. The mathematical theory of context-free languages. Moscow: Mir Publ., 1973. 301 p. (in Russian)

2. Brauer W. Introduction in the Finite Automata Theory. Moscow: Radio I Svyaz Publ., 1987. 390 p. (in Russian)

3. Melnikov B. Regular languages and nondeterministic finite automata: a monograph. Moscow: RGSU Publ., 2018. 179 p. (in Russian)

4. Dolgov V., Melnikov B., Melnikova A. The loops of the basis finite automaton and the connected questions. Bulletin of the Voronezh State University. Series: Physics. Mathematics. 2016. No. 4. P. 95-111. (in Russian)

5. Dolgov V., Malnikov B. Construction of universal finite automaton. II. Examples of algorithms functioning. Bulletin of the Voronezh State University. Series: Physics. Mathematics. 2014. No. 1. P. 78-85. (in Russian)

6. Melnikov B., Melnikova A. Edge-minimization of non-deterministic finite automata. The Korean Journal of Computational and Applied Mathematics (Journal of Computational and Applied Mathematics). 2001. Vol. 8, no. 3. P. 469-479. DOI: 10.1007/bf02941980.

7. Jiang T., Ravikumar B. Minimal NFA problems are hard. SIAM Journal on Computing. 1993. Vol. 22, no. 6. P. 1117-1141. DOI: 10.1137/0222067.

8. Melnikov B.F. Semi-lattices of the subsets of potential roots in the problems of the formal languages theory. Part I. Extracting the root from the language. International Journal of Open Information Technologies. 2022. Vol. 10, no. 4. P. 1-9. (in Russian)

9. Melnikov B.F. Semi-lattices of the subsets of potential roots in the problems of the formal languages theory. Part II. Constructing an inverse morphism. International Journal of Open Information Technologies. 2022. Vol. 10, no. 5. P. 1-8. (in Russian)

10. Melnikov B.F. Semi-lattices of the subsets of potential roots in the problems of the formal languages theory. Part III. The condition for the existence of a lattice. International Journal of Open Information Technologies. 2022. Vol. 10, no. 7. P. 1-9. (in Russian)

11. Zyablitceva L.V., Korabelshchikova S.Yu., Abramyan M.E. Semilattice graphs, matrix representations of idempotent semigroups and Waterloo automaton semilattices. International Journal of Open Information Technologies. 2023. Vol. 11, no. 7. P. 69-76. (in Russian)

12. Abramyan M.E., Melnikov B.F. A Program Study of the Union of Semilattices on the Set of Subsets of Grids of Waterloo Language. Journal of Applied Mathematics and Physics. 2023. Vol. 11. P. 1459-1470. DOI: 10.4236/jamp.2023.115095.

13. Kameda T., Weiner P. On the state minimization of nondeterministic finite automata. IEEE Transactions on Computers. 1970. Vol. C-19, no. 7. P. 617-627. DOI: 10.1109/t-c.l970.222994.

14. Abramyan M.E. Computing the weight of subtasks in state minimization of nondeterministic finite automata by the branch and bound method. University proceedings. Volga region. Physical and mathematical sciences. 2021. No. 2 (58). P. 46-52. (in Russian). DOI: 10.21685/2072-3040-2021-2-4.

15. Melnikov B. The complete finite automaton. International Journal of Open Information Technologies. 2017. Vol. 5, no. 10. P. 9-17.

16. Polak L. Minimalizations of NFA using the universal automaton. International Journal of Foundation of Computer Science. 2005. Vol. 16, no. 5. P. 999-1010. DOI: 10.1142/s0129054105003431.

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