Научная статья на тему 'О построении минимальных детерминированных конечных автоматов, распознающих префиксный код заданной мощности'

О построении минимальных детерминированных конечных автоматов, распознающих префиксный код заданной мощности Текст научной статьи по специальности «Математика»

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

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

The article considers the problem of constructing minimal deterministic finite automaton recognizing a prefix-code of a given cardinality over the alphabet {0,1}. The considered problem is proved to be equivalent to the problem of finding the shortest addition-chain ending with a given number. Several interesting properties of the desired minimal finite automaton are proved, and the identical problem concerning Moore automata is discussed.

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

On constructing minimal deterministic finite automaton recognizing a prefix-code of given cardinality

The article considers the problem of constructing minimal deterministic finite automaton recognizing a prefix-code of a given cardinality over the alphabet {0,1}. The considered problem is proved to be equivalent to the problem of finding the shortest addition-chain ending with a given number. Several interesting properties of the desired minimal finite automaton are proved, and the identical problem concerning Moore automata is discussed.

Текст научной работы на тему «О построении минимальных детерминированных конечных автоматов, распознающих префиксный код заданной мощности»

№3 ПРИЛОЖЕНИЕ Сентябрь 2010

Секция 8

ПРИКЛАДНАЯ ТЕОРИЯ КОДИРОВАНИЯ, АВТОМАТОВ

И ГРАФОВ

УДК 519.713+519.766

О ПОСТРОЕНИИ МИНИМАЛЬНЫХ ДЕТЕРМИНИРОВАННЫХ КОНЕЧНЫХ АВТОМАТОВ, РАСПОЗНАЮЩИХ ПРЕФИКСНЫЙ КОД ЗАДАННОЙ МОЩНОСТИ

И. Р. Акишев, М. Э. Дворкин

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

Наиболее естественный подход к распознаванию префиксных кодов основан на применении конечных автоматов. Имеется ряд статей [1, 2], посвященных исследованию задачи минимизации числа состояний автомата, распознающего некоторый заданный префиксный язык.

В данной работе исследуется следующая задача: дано некоторое натуральное число п, необходимо построить детерминированный конечный автомат, принимающий некоторый префиксный код мощности п над алфавитом Е = {0,1} и имеющий наименьшее возможное число состояний.

Имеют место следующие свойства искомого автомата.

Теорема 1. Пусть детерминированный конечный автомат А — минимальный автомат, принимающий некоторый непустой язык. Этот язык является префиксным тогда и только тогда, когда в автомате А ровно одно терминальное состояние, причем все переходы из него ведут в тупиковое состояние.

Теорема 2. Пусть детерминированный конечный автомат А — минимальный автомат, принимающий конечный префиксный язык. Тогда в этом автомате нет циклов, кроме петель, ведущих из тупикового состояния в само себя.

Теорема 3. В детерминированном конечном автомате, принимающем некоторый префиксный код заданной мощности п и имеющем минимальное число состояний, нет переходов в тупиковое состояние, кроме как из единственного терминального и тупикового состояний.

Так как искомый автомат не содержит циклов, можно выписать его состояния (кроме тупикового) в порядке обратной топологической сортировки:

9о = /, 91,92,. . . , 9к-2 = 5.

Рассматривается соответствующая последовательность мощностей правых контекстов для выписанных состояний:

ао, а1,а2,..., ак-2, где аг = \ЯЯ1\ (К^ —правый контекст состояния 9).

Из равенств Rq0 = Rf = je} следует, что a0 = 1. Так как состояния автомата топологически отсортированы и из каждого выходит два перехода в нетупиковые состояния, то все последующие элементы последовательности ai являются суммой каких-либо двух предыдущих. Последний элемент ak-2 соответствует Rs и равен мощности языка, принимаемого автоматом.

Определение 1. Аддитивной цепочкой [3] называется последовательность элементов ai, такая, что

1) ао = 1;

2) ai = aj + ak для некоторых j,k < i при всех i > 0.

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

Теорема 4. Задача нахождения детерминированного конечного автомата с минимальным числом состояний, принимающего некоторый префиксный код заданной мощности п, эквивалентна задаче построения кратчайшей аддитивной цепочки, заканчивающейся числом п.

Из теоремы 4 следует дополнительное свойство искомого префиксного кода. Теорема 5. Префиксный код заданной мощности, соответствующий автомату с минимальным числом состояний, является полным.

Задача о нахождении кратчайшей аддитивной цепочки является классической задачей дискретной математики [3]. Наиболее известным ее применением является задача об оптимальном алгоритме возведения произвольного числа в заданную степень, представляющая интерес для криптографии [4].

Полиномиального решения данной задачи на данный момент неизвестно. Простым и достаточно эффективным приближенным решением является классический бинарный метод возведения в степень [3]. Активно применяются методы поиска приближенного ответа, в том числе ведутся исследования по применению генетических алгоритмов [5] и «муравьиных алгоритмов» [6]. В работе [7] показано, что задача нахождения кратчайшей аддитивной цепочки, которая содержит в качестве подпоследовательности данную последовательность b\,b2,... ,bk, является NP-полной. То есть естественное обобщение рассматриваемой задачи не имеет полиномиального решения, если P = NP.

ЛИТЕРАТУРА

1. Colin M. J., Na H. Optimal prefix-free codes that end in a specified pattern and similar problems: The uniform probability case (extended abstract) // Data Compression Conference. 2001. P. 143-152.

2. Han Y.-S., Salomaa K., Wood D. State complexity of prefix-free regular languages // Proc. of the 8th Int. Workshop on Descriptional Complexity of Formal Systems. 2006. P. 165-176.

3. Кнут Д. Э. Искусство программирования. Т. 2. Получисленные алгоритмы. М.: Вильямс, 2004. 832 с.

4. Bleichenbacher D. Efficiency and security of cryptosystems based on number theory. Zürich, 1996.

5. Cruz-Cortes N., Rodriguez-Henriquez F., Juarez-Morales R., Coello C. A. Finding optimal addition chains using a genetic algorithm approach // LNCS. 2005. V. 3801. P. 208-215.

6. Nedjah N., de Macedo M. L. Finding minimal addition chains using ant colony // IDEAL / ed.

by R. Y. Zheng, R. M. Everson, Y. Hujun. LNCS. 2004. V. 3177. P. 642-647.

7. Downey P., Leong B., Sethi R. Computing sequences with addition chains // SIAM J.

Computing. 1981. V.10. No.3. P.638-646.

УДК 519.171

О СООТНОШЕНИЯХ СТЕПЕНИ И ПЛОТНОСТИ НЕКОТОРЫХ ГРАФОВ

И. А. Бадеха, П. В. Ролдугин

В данной работе наиболее важным является понятие реберного покрытия графа кликами (РПК). РПК — это такой набор клик (полных подграфов) K\, ...,Kr, что любое ребро графа G лежит хотя бы в одной из этих клик. В качестве клик, входящих в РПК, подразумеваются только максимальные по включению клики. Кроме того, будем отождествлять клику и множество ее вершин, то есть выражение «множество вершин R образует клику в графе G» означает, что множество вершин R порождает максимальный полный подграф в графе G. Назовем ребро e графа G собственным ребром клики K, если оно лежит в этой клике и не лежит ни в какой другой максимальной по включению клике графа G. Соответственно клику K, имеющую хотя бы одно собственное ребро, назовем зафиксированной.

Утверждение 1. Клика K входит в любое РПК графа G тогда и только тогда, когда она является зафиксированной.

Собственные ребра и соответственно зафиксированные клики допускают простую характеризацию, позволяющую легко распознать их в графе.

Утверждение 2. Ребро e Є E(G) является собственным ребром некоторой клики K тогда и только тогда, когда множество вершин графа G, смежных одновременно с обоими концами ребра e, порождает полный подграф в G. Кроме того, этот полный подграф в объединении с концами ребра e образует клику K.

Из данного утверждения следует возможность нахождения всех зафиксированных клик графа за полиномиальное время (трудоемкость не более O(n4), где n = \V(G)|). Отсюда следует, что в определенном смысле графами, в которых сложно строить минимальное РПК, являются графы, не содержащие зафиксированных клик, или, что эквивалентно, собственных ребер. Далее такие графы, то есть графы, в которых каждое ребро лежит не менее чем в двух кликах, назовем графами, свободными от собственных ребер. Введем на множестве вершин графа G отношение эквивалентности. Две вершины x и у называются эквивалентными, если они смежны и их окружения совпадают, то есть N (x) = N (у). Сжатым графом назовем граф, в котором все вершины попарно неэквивалентны.

Основное содержание работы отражает следующая теорема.

Теорема 1. Предположим, что G является связным сжатым графом, свободным от собственных ребер. Тогда

1) p(G) ^ A(G) - 1;

2) если p(G) = A(G) — 1, то A(G) = 4, и граф G эквивалентен графу B;

3) если p(G) = A(G) — 2, то в графе G существует не менее двух вершин степени A(G), либо граф G получается из графа B добавлением одной доминирующей вершины.

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