Научная статья на тему 'О числовых характеристиках формальных языков'

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

CC BY
139
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОИЗВОДЯЩАЯ ФУНКЦИЯ / ГРАФ / ФОРМАЛЬНЫЙ ЯЗЫК / РЕГУЛЯРНЫЙ ЯЗЫК / ПОРЯДОК / СОСТАВ СЛОВ

Аннотация научной статьи по математике, автор научной работы — Исмагилов Р.С., Мастихина А.А., Филиппова Л.Е.

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

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

On Numerical Characteristics of Formal Languages

The purpose of this study was to count the number of layers of a regular language of a given composition. First, we specified the alphabet from the characters and defined the composition of the word as a vector. Then, we introduced the functions of the number of words of a given composition. Finally, we defined simple estimates of these functions for languages derived from languages using ordinary operations (union, concatenation, iteration). We also studied series for languages generated automatically.

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

УДК 519.7

DOI: 10.18698/1812-3368-2017-4-4-15

О ЧИСЛОВЫХ ХАРАКТЕРИСТИКАХ ФОРМАЛЬНЫХ ЯЗЫКОВ

Р.С. Исмагилов1 А.А. Мастихина1 Л.Е. Филиппова2

ismagil@bmstu.ru anmast@bmstu.ru

1 МГТУ им. Н.Э. Баумана, Москва, Российская Федерация

2 Московский институт электроники и математики им. А.Н. Тихонова, Национальный исследовательский университет «Высшая школа экономики»,

Москва, Российская Федерация

Аннотация

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

Ключевые слова

Формальный язык, регулярный язык, граф, производящая функция, порядок, состав слов

Поступила в редакцию 29.09.2016 © МГТУ им. Н.Э. Баумана, 2017

Введение. Задача подсчета числа слов с некоторой характеристикой широко исследована в дискретной математике и теории вероятности. Рассмотрены, в частности, характеристика наличия в последовательности серии символов (повторения символа некоторое число раз), а также число таких серий. Этой проблеме посвящены, например, работы [1-3]. Следует отметить, что в указанных работах для подсчета числа слов использованы производящие функции.

Отдельный интерес представляет подсчет числа слов в регулярном языке, т. е. в языке, порожденном некоторым конечным автоматом. Способ нахождения числа слов заданной длины по матрице автомата изложен в работе [4]. В частности, описание функций, которые могут служить функциями роста числа слов данной длины, дано в работе [5]; показано, что регулярный язык может иметь в качестве функции числа слов длиной п любой неотрицательный целочисленный полином.

В предложенной работе исследована функция числа слов заданного состава. Таким образом, функция числа слов заданной длины может быть получена из функции числа слов данного состава.

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

Постановка задачи. Краткое описание результатов. Будем рассматривать языки в алфавите А = {^,..., }; пустое слово обозначим через Л. Язык Ь задается либо явным списком (упорядоченным каким-либо образом) входящих в него слов, либо регулярным выражением, либо ориентированным графом (автоматом). (Необходимые сведения о формальных языках можно почерпнуть из работ [6-8]). Для любого слова аеЬ рассмотрим две простейшие характеристики: 1) длину слова | а 2) состав слова — так назовем вектор (шх,..., тN), в котором координата т — число вхождений буквы ^ в слово а. Соответственно, введем две числовые функции: функцию фЬ (п) — число слов длиной п и функцию уЬ(тх,..., ты) — число слов состава (тх,..., ты) в языке Ь. Цель настоящей работы — изучение этих двух функций и, в частности, асимптотик при больших значениях аргументов.

Для изучения величин уЬ(тх,..., ты) используем производящую функцию

(точнее, формальный ряд) ¥Ь(х) = ХуЬ(т)хт, где (хх,...,хы) = х,(т1,..., ты) =

т

да

= т, тI е , хЩ1 - - хЩЫ = хт. Введем также аналогичный ряд ФЬ (^) = X фЬ (п)£п,

п=0

п е Z+. Назовем эти ряды у- и ф-рядом; коэффициенты этих рядов назовем у- и ф-коэффициентами.

Если в ряде ¥ь (х), х е , отождествить все переменные (т. е. принять хг = t для всех г), то получится ФЬ ^). Если язык задан явным списком входящих в него слов (упорядоченных каким-либо образом), то для получения у-ряда достаточно в каждом слове провести замену ^ хг и соединить полученные одночлены знаком суммирования.

Далее определим простые оценки указанных функций для языков, полученных из некоторых языков с помощью операций объединения, конкатенации, итерации. Затем изучим у-ряды для языков, порожденных автоматами; в частности, здесь отметим роль сильно связных автоматов. Приведем пример вычисления асимптотики у-коэффициентов для языка в алфавите, состоящем из двух букв.

Ряды ¥Х,..., хн) и Фх(£) для языков, заданных регулярным выражением. Будем записывать регулярные выражения так, как это сделано в работе [6]. Таким образом, регулярное выражение содержит алфавитные буквы, символ пустого слова, символ итерации, знаки сложения, умножения и скобки. Зафиксируем биекцию между алфавитом А и набором переменных {хх,...,хы}, охг. Пусть дано регулярное выражение Я в алфавите А = {^,...,}. Построим по нему алгебраическое выражение с переменными хг посредством следующих замен. Каждую букву е А заменим буквой хг, символ пустого слова — единицей 1, итерацию (а)* = У /=0(а)г — выражением (1 -а)"1 (здесь используем формулу для «суммы геометрической прогрессии», полагая а «малой величиной»). Переменные хг считаются коммутирующими, что позволяет преобразовать полученное выражение согласно обычным правилам. В результате приходим к выражению, которое обозначим через А(Я).

Поясним, как связаны выражение А(Я) и у -ряд ¥ь(х1,..., хN). Регулярное выражение позволяет перечислить язык Ь, т. е. построить последовательность слов, в которой содержатся все слова языка — возможно, с повторениями. Для получения такой последовательности следует выполнить действия над языками, диктуемые данным регулярным выражением. Если в этой последовательности нет повторяющихся слов, то выражение А(Я) совпадает с у -рядом (с точностью до порядка слагаемых). В противном случае, выражение А( Я) и у-ряд не совпадают.

Так, возьмем язык Ь, заданный регулярным выражением Я = (^2 ^ х х(Ли^2). С одной стороны, имеем Ь = {^1, ^2^2}, отсюда ¥(хь х2) = = Х1Х2 + Х1 + Х1Х2 Х2. С другой стороны, А(Я) = (х1х2 + Х1)(1 + Х2) = 2х1х2 + Х1 + + х1х2х2. Следовательно, ¥Ь (х1, х2) и А(Я) не совпадают.

Операции над языками и формальные ряды. Введем следующие термины. Назовем язык Ь кодовым, если равенство а1...аг = р1 ...р5 возможно только при г = 5, а; = Р,. Это условие выполняется, если ни одно слово языка не является началом другого слова.

Аналогично определим кодовую цепочку языков Ь1,...,Ьг (здесь необходимо полагать, что а,, Р, е Ь,).

Отметим некоторые простые свойства введенных рядов:

а) если языки Ь1,...,Ьг попарно не пересекаются, то ¥Ь1и...иЬг = ¥Ь1 +... + ¥Ьг;

б) если цепочка языков Ь1,..., Ьг является кодовой, то ¥Ь1. Ьг = ¥Ьг..¥Ьг;

в) если язык Ь — кодовый, то ¥ Ь* = (1-¥ Ь )-1.

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

Применим изложенные простые соображения для получения оценок величин фЬ (п) и уЬ (т1,..., тн).

Будем выражать оценки указанных величин через соответствующие формальные ряды. Далее обозначим через Х и т наборы переменных (х1,...,Хн) и

(т1,..., тн). Имея формальные ряды ¥5 = ^ат хт1 •■■ Хты, 5 = 1,2, запишем

т

¥1 <¥2, если каждый коэффициент первого ряда не превосходит соответствующего коэффициента второго ряда. Имея ряды ¥•', 1< ) < М, определяем ряд тах^ ¥ 1, взяв в качестве его коэффициентов максимум соответствующих коэффициентов данных рядов.

Теперь обратимся к неравенствам для рядов.

В следующей лемме использован линейный оператор Бр, действующий на функцию х^... следующим образом:

ГР (хт1 ) = 1 Хт1

Г (Х1 • • • хм ) = р-1 Х1 • • • хм ,

где п = т1 + •..+тн.

Для простоты ограничимся случаем, когда рассматриваемые в лемме языки Ьг, Ь не содержат пустого слова Л. Лемма 1. Справедливы неравенства

р , ч

тах ¥ ь (X) < ¥ь1и...иьр (X) < (X); (1)

1 < ' < р ' 1 р '

£ ^ ^ (*)

м-<¥ ыи...и Ьр (X); (2)

Р

DP П¥ц (x) < (X) < I! Уц (x); (3)

i=1 i=1

1 <¥*(X) <—(4)

1 -Чь(х/2) ь 1 -¥ь(х)

< Неравенства (1) и (2) очевидны. Рассмотрим неравенство (3) при условии ЛгЬ. Слова состава т, входящие в множество Ь1 ... Ьр, получаются следующим образом. Сначала рассматриваются всевозможные наборы векторов тк, сумма которых есть т, и для каждого такого вектора составляются конкатенации слов состава тк, взятых (последовательно) из языков Ьк. Затем из полученного набора слов выделяются наборы одинаковых слов, такой набор заменяется одним словом, взятым из него. Первый из этих шагов приводит к оценке сверху в неравенстве (3). Для получения оценки снизу необходимо учесть, сколько раз можно получить одно и то же слово как конкатенации слов из языков Ьг. Это число не превосходит числа способов разделить последовательность длиной п = т1 + т2 +... + тм на р непустых частей. Решая комбинаторную задачу, получаем, что это число есть СП—1. Неравенство (3) доказано.

Докажем неравенство (4). По определению итерации, Ь* = ЛиЬ и иЬ2 и...иЬ и... Тогда из неравенств (1) и (3) следует, что ¥¿(X)<

< 1 + ¥ь (X) + ¥Ь (X) +... =-. Причем эта оценка точна для кодовых язы-

1 -¥ь (X)

ков. Оценка сверху доказана.

Оценка снизу получается из следующего наблюдения.

Возьмем слово а = а1 ...аг из языка Ь , состав которого можно представить в

г

виде (т1,...,тм) = £(т1,..., т'ы), где т' — состав слова а,. Взяв конкатенации

'=1

г

а1...аг таких слов, получаем (т1 >...> ты) слов (сумма распространяется на

г=1

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

что число различных слов не меньше, чем - I П Уь(т1 >•••> ты), так

21 М т\,..., тм ¿=1

как слово состава (т1,..., тN) имеет длину т1 + ••• + тN, поэтому его можно разбить на части 2т1+-+ты способами Это дает оценку снизу в неравенстве (4) ► Следствие. Справедливо неравенство

1 ^ , ч 1

-<Ф *(х) <-

1 -Ф£(х/2) 1 1 -Ф£(х)

До сих пор речь шла о рядах для рассматриваемых языков^ Теперь обратимся к их коэффициентам^ Здесь ограничимся величинами Фь*(п), полагая язык I кодовым^ Отметим, что эти величины являются коэффициентами ряда (1 -Ф^(х))Л Таким образом, для их вычисления следует найти п -производную последней функции (1 -Ф^ (х))-1 для любого п, для чего используем формулу Фаа ди Бруно [9] для производной сложной функции:

йп п! п ( {())(х))

— (£(/(х)))= I , , ¿т1+~+т")(/(х))П

dxn mi,..., ffl„mi!-m„! j=1

где 1 • m1 + 2 • m2 +... + n • mn = n.

В рассматриваемом случае g(x) = —1—, f (x) = ФL (x). Применим формулу

1 - x

Фаа ди Бруно:

n! (-i)mi+...+mn (m1 +... + mn)! " ((1 -Lax)(j) ^mj

^ (g (f (x )))= L : v x I+m,П

ax m1,...,mn m1!''' mn! 11 — L a^x' I 1 n j=1

Полагая x = 0, получаем an -(g(f (x)))

j!

dxn

v n!(—1)m1+...+mn (m1 +... + mn)! "

= L -:-:-П (—9l (j)) j =

= 0 m1,..., mn Ш^... mn- j=1

n!(m1 +... + mn)!

= L

m1,..., mn

Таким образом,

= L »• ^......! П(фь (j))mj = n!9b*(n).

m1,...,mn •••mn! j=1

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

(ffl1 +... + mn)! -

! ! A A1

^1,..., mn mn! j=1

, Ч ^ (Ш1+... + mn / -\\mj

Фь*(п) = l ————п(фь (j)) j.

Язык, заданный автоматом. Почти-детерминированный автомат. Рассмотрим ориентированный граф, на каждом ребре которого написана буква алфавита^ Полагаем, что в графе допустимы петли и кратные ребра (обычно определяется как псевдограф)

Перенумеровав вершины числами 1,..., n, рассмотрим матрицу A = (aik), где aik — буква алфавита, стоящая на ребре (i, k); aik = 0, если отсутствует ребро из i в k. Возьмем вершины u, v и рассмотрим язык L(u, v), состоящий из слов, прочитываемых на всевозможных путях, которые ведут из вершины u в вершину v. Матрица, составленная из языков L(u, v), — это A = E+A +... (Е — единичная матрица). Цель — получить у-ряд для каждого языка L(u, v); матрицу, составленную из этих рядов, назовем матричным у -рядом (аналогично определяется матричный ф-ряд). Опишем эти ряды для графов со следующим свойством: для любой вершины буквы на исходящих из нее ребрах попарно различны. Назовем такой граф почти-детерминированным.

Такие графы обладают следующим свойством: на двух разных путях, ведущих из вершины u в вершину v, прочитываются разные слова. Таким образом, если взять все пути из u в v и для каждого пути записать прочитывемое на этом пути слово, то получим все слова языка L(u, v), выписанные по одному разу. Следовательно, для получения матричного у -ряда достаточно взять в формуле A = E + A +... коммутирующие переменные xi вместо букв алфавита "t,i и преобразовать полученное выражение по обычным правилам преобразования многочленов и формальных рядов.

С учетом изложенного выше, матричный ¥-ряд получается разложением в ряд функции (E - A)-1.

Далее, для каждого языка L(u, v) величина q>L (n) (число слов длиной n) имеет два описания. Во-первых, это число путей длиной n, ведущих из вершины u в вершину v. Во-вторых, это матричный элемент матрицы A1n, стоящий на позициии (u, v), где A1 — матрица графа. Для матрицы «общего положения» (все корни характеристического уравнения действительны) имеем асимптотическое соотношение ф! (n) — cXn, где X — наибольший из модулей собственных значений матрицы A, c = const.

Роль сильно связных графов. Напомним, что ориентированный граф G = (V,E) называется сильно связным, если для любых его вершин u, v существует путь u ^ v, а также путь v ^ u. Выразим языки L(u, v), u, v eV, через языки, связанные с сильно связными компонентами графа. Это позволит выразить у- и ф-ряды для языков L(u, v) через аналогичные ряды для сильно связных компонент указанных графов.

Пусть G = (V, E) — конденсация графа G; это граф, вершины которого — сильно связные компоненты графа G. Обозначим их через V(a),V ф),... Согласно определению конденсации графа, имеем ребро, идущее от компоненты V (a) к компоненте V(P), если в исходном графе существует ребро, начало которого лежит в компоненте V (a), а конец — в компоненте V(P); назовем это ребро мостом из V (a) в V(P). Поскольку допустимы кратные ребра, одному мосту в исходном графе может соответствовать несколько ребер. Имеем есте-

ственное отображение V ^ V, которое порождает отображение, переводящее любой путь в С в путь в О.

Теперь опишем язык ¿(и, V). Возьмем в О = ^, Е) любой путь из и в V. Пусть этот путь имеет вид V(а^ ^... ^ V(аr), и е V(al), V е V(аг). Выберем мосты (х,, уг), ведущие из V(аг_1) в V(а,). Возникают языки Ь(уг_ь хг), а мост (х,, у1) порождает язык, состоящий из одного однобуквенного слова (это буква алфавита, написанная на этом ребре). При упомянутом выше отображении указанный путь в О = Е) порождает путь в О = ^ ,Е), ведущий из вершины у1 = и в вершину хг+1 = V, а этот путь дает слово. Множество таких слов и есть язык ¿(и, V). Видим, что язык представляет собой объединение конкатенаций языков вида Ь( у1, х2)Дх2, у2)-.. ¿( уг_ъ XI )Дх,, у г)... Ь( уг, хг+1), каждый из которых определяется цепочкой мостов (х,, у1), ведущих из и в V.

Следовательно, ¿(и, V) — объединение языков, каждый из которых представляет собой конкатенацию языков, заданных сильно связными компонентами V(а), V(P),..., и однобуквенных языков, заданных мостами. Этот способ вывода регулярного выражения для языка, заданного автоматом, нередко приводит к цели быстрее, чем обычно употребляемый метод Макнотона — Ямады.

Наконец, приходим к следующему выводу: у-ряд для ¿(и, V) можно оценить через аналогичные у-ряды, составленные для сильно связных компонент графа. В некоторых случаях можно получить точные выражения (вместо оценок).

Пример. Граф

О = (V,Е), V = {1,2,3,4}, Е = {1 ^2,2^ 1,3^4,4^3,3^3,1 ^3,2^4}.

На ребрах написаны (последовательно) буквы а, Ь, а, Ь, а, а, Ь. Начальная вершина — 1, заключительная — 4 (рисунок). Связные компоненты — У1 =(1,2) и У2 =(3,4). Имеем два моста 1 ^ 3 и 2 ^ 4, связывающих компоненты. Найдем, например, ¿14 , применим описанное выше представление языка через языки, связанные со связными компонентами. Получаем ¿14 = ЬпаЬ34 и Е12ЬЕ44. Далее

Граф

Ln = (ba)*, L34 = a*b(aa*b)*, L12 = (ba)* b, L44 = (aa*b)*, L14 = (ab)*a(aa u b)(baa*)*.

Откуда следует, что у-ряд получается разложением функции

b(a + b - ba) (1 - ba)(1 - a - ba)

Работа с классами эквивалентности формальных рядов. Рассмотрим еще одну характеристику языков, заданных графами, которая родственна с у-рядами.

Предварительно введем некоторые отношения между формальными рядами, используя отношение неравенства между рядами Возьмем формальные ряды А(х) = Iа(т)хт, В(х) = IЬ(т)хт, х= (хь„0), т^ть^, )• Запишем А(х) — В(х) (отношение эквивалентности), если существуют такие полиномы У1(х), У2(х), у!(х), у2(х), что А(х) <у1(х)В(х) + У2(х) и В(х) <у!(х)А(х) + у2(х) Класс эквивалентности, содержащий ряд А(х ) = I а(т)хт, обозначим через А • Произведение классов А, В определим как класс, содержащий ряд АВ, Это определение корректно, ибо, как легко убедиться, из соотношений А1(х) — В1(х) и А2(х) — В2(х) вытекает соотношение А1(х )А2(х) — В1(х )В2(х )• Однако определить аналогичным образом сумму двух классов невозможно; определим сумму формально (записывая два класса со знаками «+» между ними) Другими словами, образуем свободную абелеву группу, образованную классами

Рассмотрим любой связный граф О, возьмем в нем такие вершины и, V что вершина V достижима из и Рассмотрим язык ¿(и, V), его у-ряд ¥(и,г)(х) и класс эквивалентности этого ряда^ Итак, любой паре и, V поставлен в соответ-

ствие класс эквивалентности Это и есть обещанная характеристика языка, заданного графом^

Теорема 1. Если граф О сильно связный, то все ряды ¥(и,г)(х) попарно эквивалентны.

< Возьмем две пары вершин и1, V! и и2, v2 и слова а, р, прочитываемые на фиксированных путях, ведущих из и1 в и2 из v2 в \>1 соответственно^ Ясно, что язык Ьит содержит в себе язык а!^^ Откуда ¥(а1и^2Р) сТи[),1; следовательно, взяв мономы Щ = ¥а, т2 = ¥р, получаем т^^^т2 <^u1,v1• Аналогично находим такие мономы т{, т2, что т1\¥иъп т2 <¥и2>V2• Итак, ¥иьп — ¥U2)V2•►

Следовательно, для сильно связного графа О определен класс эквивалентных рядов^ Обозначим этот класс через •

Рассмотрим граф О, в котором возьмем вершины и, V (вершина V достижима из и) Для любого пути а в конденсации графа получаем формальную сумму классов ¥а, относящихся к компонентам, которые встречаются на этом пути^

Теорема 2. Справедливо равенство хР(и>г) = 1^РОа •

а

< Для доказательства отметим, что можем выразить у-ряд для графа О через у-ряды, составленные для сильно связных компонент графа О, и слагаемые, порожденные мостами Можем отбросить эти слагаемые, что не меняет класса эквивалентности ряда^ Откуда вытекает утверждение теоремьь ►

Пример вычисления асимптотики у-коэффициентов. Вычисление асимптотики величины у!(т1, •••, тм) (напомним, что это число слов данного языка I, в которые буква ^ входит щ раз) — достаточно нетривиальная задача^ Ограничимся алфавитом {а, Ь} и языком I = (а2 и Ь2 и аЬ) Этот язык — кодовый

Найдем коэффициенты ряда ФИзвестно, что указанные у-коэффициенты возникают как коэффициенты разложения в степенной ряд функции (1 _ а2 _ Ь2 _ аЬ)_1. Имеем

(1 _ а2 _ Ь2 _ аЬ)_1 = X (г +1+ к)! а2'+кЬ2)+к,

отсюда получаются искомые коэффициенты у (т, п) при одночленах атЬп. Ясно, т, п числа одинаковой четности. Рассмотрим сначала случай четных чисел

м -> \ ^ (т + п)!

т, п; при этом легко получается равенство у(2т, 2п) = X-.

(т _ к)!(п _ к)!(2к)!

Найдем асимптотику этой величины при т, п изучим случай т < п.

Преобразуем выражение у (2т,2п) следующим образом (в этом месте заменим формулы словесным описанием):

а) заменим все факториалы величинами, которые возникают из формулы Стирлинга (см. работу [10], главу 3);

б) заменим суммирование по целочисленной переменной к интегрированием по переменной к е [0, +<»);

в) выполним замены к = mt, п = ат.

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

у(2т, 2п) и 1 +а ^ ))тЛ,

2%т 0^(1 _ t)(а_ t)

где ) = (1 + а)1+а(1 _ t )t_1 (а _ t) _а(2t )_2t.

Находим асимптотику интеграла методом Лапласа, полагая, что т ^ +со. Элементарное изложение метода Лапласа содержится в главе 2 работы [12]. Напомним, что этот метод рекомендует следующий способ оценки интеграла, зависящего от параметра.

Пусть и(1), v(f), I е [а, Ь] — гладкие функции и ^ е(а, Ь), точка максимума функции V. Тогда

[ и^)exp(mv(t— ^/лu(t0)exp(mv(t0))./-2-, т ^+со.

[ЙЬ] V_mv "(to)

В рассматриваемом случае v(f ) = ^ _ 1) 1п(1 _ I) + Ц _а)1п(а_ I) _ 2£ 1п(2£), w(t) = ехр^^)), и максимум функции v(f) достигается в точке t0 =

= (_а _ 1 + л/а2 + 14а +1)6. В результате получаем

у (2т, 2п) — Ст~шВт,

где

C = (—(1 + a)t°-1 ; D = (1 + a)1+a(a-i0)1-a/4rc2,m <n,a = n/m,m

^ (2a + 2)t0 —4a )

Это асимтотическое соотношение выполняется равномерно при ae(a0, ß0) для фиксированных a0, ß0, удовлетворяющих условию 1< a0<ß0.

В случае нечетных чисел m, n требуются некоторые изменения в вычислениях, но асимптотика оказывается такой же.

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

ЛИТЕРАТУРА

1. Гончаров В.Л. Из области комбинаторики // Известия АН СССР. Сер. матем. 1944. Т. 8. Вып. 1. С. 3-48.

2. Коршунов А.Д. Об асимптотике числа бинарных слов с заданной длиной максимальной серии I // Дискретный анализ и исследование операций. 1997. Т. 4. № 4. С. 13-46.

3. Косточка А.В., Мазуров В.Д., Савельев Л.Я. Число ^-ичных слов с ограничением на длину максимальной серии // Дискретная математика. 1998. Т. 10. Вып. 1. С. 10-19.

DOI: https://doi.org/10.4213/dm413

4. Хомский М., Миллер Д. Языки с конечным числом состояний // Сер. Киб. сборник. Вып. 4. М.: ИЛ, 1962. С. 233-255.

5. Строгалов А.С. О регулярных языках с полиномиальным ростом числа слов // Дискретная математика. 1990. Т. 2. Вып. 3. С. 145-152.

6. Белоусов А.И., Ткачев С.Б. Дискретная математика. М.: Изд-во МГТУ им. Н.Э. Баумана, 2004. 744 с.

7. Трахтенброт Б.А., Бардзин Я.М. Конечные автоматы (поведение и синтез). М.: Наука, 1970. 400 с.

8. Мотвани Р., Ульман Дж., Хопкрофт Дж. Введение в теорию автоматов, языков и вычислений. М.-СПб.-Киев: Вильямс, 2002. 528 с.

9. Архипов Г.И., Садовничий В.А., Чубариков В.Н. Лекции по математическому анализу. М.: Дрофа, 2003. 640 с.

10. Копсон Э. Асимптотические разложения. М.: Мир, 1966. 160 с.

11. Адельсон-Вельский Г.М., Кузнецов О.П. Дискретная математика для инженера. М.: Энергоатомиздат, 1988. 480 с.

12. Федорюк М.В. Асимптотика, интегралы и ряды. М.: Наука, 1987. 544 с.

Исмагилов Раис Сальманович — д-р физ.-мат. наук, профессор кафедры «Высшая математика» МГТУ им. Н.Э. Баумана (Российская Федерация, 105005, Москва, 2-я Бауманская ул., д. 5, стр. 1).

Мастихина Анна Антоновна — канд. физ.-мат. наук, доцент кафедры «Высшая математика» МГТУ им. Н.Э. Баумана (Российская Федерация, 105005, Москва, 2-я Бауманская ул., д. 5, стр. 1).

Филиппова Лариса Евгеньевна — доцент департамента прикладной математики Московского института электроники и математики им. А.Н. Тихонова, Национальный исследовательский университет «Высшая школа экономики» (Российская Федерация, 101000, Москва, Мясницкая ул., д. 20).

Просьба ссылаться на эту статью следующим образом:

Исмагилов Р.С., Мастихина А.А., Филиппова Л.Е. О числовых характеристиках формальных языков // Вестник МГТУ им. Н.Э. Баумана. Сер. Естественные науки. 2017. № 4. С. 4-15. DOI: 10.18698/1812-3368-2017-4-4-15

ON NUMERICAL CHARACTERISTICS OF FORMAL LANGUAGES

R.S. Ismagilov1 ismagil@bmstu.ru

A.A. Mastikhina1 anmast@bmstu.ru

L.E. Filippova2

1 Bauman Moscow State Technical University, Moscow, Russian Federation

2 Higher School of Economics Tikhonov Moscow Institute of Electronics and Mathematics, Moscow, Russian Federation

Abstract Keywords

The purpose of this study was to count the number of layers Formal language, regular language,

of a regular language of a given composition. First, we speci- graph, generating function, order,

fied the alphabet from the characters and defined the com- composition of words

position of the word as a vector. Then, we introduced the

functions of the number of words of a given composition.

Finally, we defined simple estimates of these functions for

languages derived from languages using ordinary operations

(union, concatenation, iteration). We also studied series for

languages generated automatically

REFERENCES

[1] Goncharov V.L. From combinatorial theory. Izvestiya AN SSSR. Ser. Matem., 1944, vol. 8, iss. 1, pp. 3-48 (in Russ.).

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

[2] Korshunov A.D. On the asymptotics of the number of binary words with a given length of a maximal series. I. Diskretnyy analiz i issledovanie operatsiy, 1997, vol. 4, no. 4, pp. 13-46 (in Russ.).

[3] Kostochka A.V., Mazurov V.D., Savelyev L.Ya. The number of q-ary words with restrictions on the length of a maximal series. Discrete Mathematics and Applications, 1998, vol. 8, no. 2, pp. 109-118. DOI: https://doi.org/10.1515/dma.1998.8.2.109

[4] Chomsky N., Miller G.A. Finite state languages. In: Information and control. 1958, vol. 1, no. 2, pp. 91-112.

[5] Strogalov A.S. Regular languages with polynomial growth in the number of words. Discrete Mathematics and Applications, 1992, vol. 2, no. 3, pp. 285-292.

[6] Belousov A.I., Tkachev S.B. Diskretnaya matematika [Descrete mathematics]. Moscow, Bauman MSTU Publ., 2004. 744 p.

[7] Trakhtenbrot B.A., Bardzin Ya.M. Konechnye avtomaty (povedenie i sintez) [Finite-state machines: Behaviour and synthesis]. Moscow, Nauka Publ., 1970. 400 p.

[8] Hopcroft J.E., Rajeev Motwani, Ullman J.D. Introduction to automata theory, languages, and computation. Addison Wesley, 2001. 537 p.

[9] Arkhipov G.I., Sadovnichiy V.A., Chubarikov V.N. Lektsii po matematicheskomu analizu [Lectures on mathematical analysis]. Moscow, Drofa Publ., 2003. 640 p.

[10] Copson E.T. Asymptotic expansions. Cambridge Univ. Press, 2004. 120 p.

[11] Adel'son-Vel'skiy G.M., Kuznetsov O.P. Diskretnaya matematika dlya inzhenera [Descrete mathematics for an engineer]. Moscow, Energoatomizdat Publ., 1988. 480 p.

[12] Fedoryuk M.V. Asimptotika, integraly i ryady [Asymptotics, integrals and raws]. Moscow, Nauka Publ., 1987. 544 p.

Ismagilov R.S. — Dr. Sc. (Phys.-Math.), Professor of Higher Mathematics Department, Bauman Moscow State Technical University (2-ya Baumanskaya ul. 5, str. 1, Moscow, 105005 Russian Federation).

Mastikhina A.A. — Cand. Sc. (Phys.-Math.), Assoc. Professor of Higher Mathematics Department, Bauman Moscow State Technical University (2-ya Baumanskaya ul. 5, str. 1, Moscow, 105005 Russian Federation).

Filippova L.E. — Assoc. Professor, School of Applied Mathematics, Higher School of Economics Tikhonov Moscow Institute of Electronics and Mathematics (Myasnitskaya ul. 20, Moscow, 101000 Russian Federation).

Please cite this article in English as:

Ismagilov R.S., Mastikhina A.A., Filippova L.E. On Numerical Characteristics of Formal Languages. Vestn. Mosk. Gos. Tekh. Univ. im. N.E. Baumana, Estestv. Nauki [Herald of the Bauman Moscow State Tech. Univ., Nat. Sci.], 2017, no. 4, pp. 4-15. DOI: 10.18698/1812-3368-2017-4-4-15

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