удк 519.21
решение некоторых задач для конечных автоматов на основе анализа их поведения
Л.Б. Тяпаев
Саратовский государственный университет, кафедра теоретических основ информатики и информационных технологий E-mail: [email protected]
в рамках геометрического подхода предлагается изучать поведение автоматов в виде кривых на плоскости с привлечением геометрических методов. для конечного детерминированного автомата предлагается новый способ задания в виде функциональной кривой на плоскости. рассматриваются задачи анализа, синтеза, эквивалентности и распознавания автоматов в рамках геометрического подхода.
Автоматы, безусловно, являются наиболее простыми математическими моделями сложных систем в различных прикладных областях науки и техники, таких, например, как теория управления, техническое диагностирование, вычисления в нейронных сетях. В связи с этим изучение поведения автоматов как моделей некоторых систем неизменно возрастает. Методы решения задач анализа, синтеза, управления, распознавания автоматов и многих других ориентированы на традиционные способы задания автоматов в виде таблиц, графов, матриц, систем логических уравнений. Все эти перечисленные способы не отражают тенденции функционирования автомата в больших промежутках абстрактного времени. Кроме того, для решения той или иной задачи зачастую приходится "разворачивать" порождающие процедуры задания автоматов. В 1994 году В.А. Твердохлебовым был предложен новый геометрический подход к изучению поведения автоматов [1]. В рамках этого подхода предлагается систематизировать поведение автоматов в геометрические фигуры. В.А. Твердохлебов построил дискретную словарную геометрию для рассмотрения поведения автоматов с целью привлечения мощных геометрических идей и методов для анализа функционирования автоматов. Геометрический подход способствует поиску удобной классификации автоматов на основе классификации геометрических фигур, позволяет применить геометрические методы к построению, преобразованию и анализу фигур. В рамках геометрического подхода в данной статье предлагается рассматривать и изучать поведение автоматов в виде кривых на плоскости.
Итак, объектом исследования является конечный детерминированный автомат (КДА). Такой автомат определяется как пятерка A = (S,X,Y, ё, X), где S,X,Y- конечные непустые множества, называемые соответственно множеством состояний, множеством входных сигналов и множеством выходных сигналов автомата, а ё, X - функции вида a = a(m, е,и , называемые функциями переходов и выходов соответственно. Через X и Y обозначим множества слов конечной длины над алфавитом X и над алфавитом Y соответственно.
1. геометрические образы автоматов
Рассмотрим произвольный КДА A = (S,X,Y, ё, X). Поведение автомата A определяется множеством: Л,= {(р, q)\{3seS)peXt&A (s, p) = q\
Выделим начальное состояние s0 е S автомата A. Тогда поведение инициального автомата (A, s0) будет определятся множеством
К = {{р, q)(peX*&q=A {s0,p)}. Пусть |X = n, | Y | = m.
solving some Problems of Automata Behaviour Analysis L.B. Tyapaev
In the context of the geometrical approach and by means of geometrical methods automaton behaviour is studied as curves on the plane. The attention is called to a new way of setting the finite-state machines as a functional curve on the plane. Also within the limits of the geometrical approach problems of automaton analysis, synthesis, diagnosis and transformation have been also investigated.
Геометрическое пространство Г для автомата (Л^), строится следующим образом. Алгоритм [2].
1. Перенумеруем все буквы в множестве X следующим образом. Сопоставим символам алфавита Xнекоторые номера п е К в п + 1 -ричной системе счисления, то есть осуществим взаимно однозначное отображение / N —> X, так что
(УиеК) (3 ! (хеХ)) :/(и) = *.
2. Определим координатную ось X (ось абсцисс) для пространства Г как отрезок числовой оси R длины d = |Х| + 1 с началом в нуле.
3. Каждому слову р — хпх12...ха,(хеX, еК) посредством взаимно однозначного соответствия
g: X* —> Уи, где VN — пространство конечномерных векторов, элементами которых являются натуральные числа, т.е. = = ^со[со = (¿^ г2,..., г^), I] е {1,2,3,...}}, сопоставим вектор О) = (гр 12,—, 4). к
Тогда каждому слову р е X* будет однозначно соответствовать вектор ш, координатами которого будут элементы натурального ряда N = {1,2,3...}. Пустому слову е сопоставим нуль-вектор.
4. Каждому такому вектору (0 = {1Х, г2,..., взаимно однозначно сопоставим точку хеЛ на оси
абсцисс, а именно = —Н—-¡- Н—+ ...Н—г.
а а а а _
Аналогично, последовательно выполняя шаги 1-4, определяется ось ординат У пространства Г и точки вида ^ + + где I = 17| + 1, аji - координаты вектора £ = ¡г (#), # е У* и к : У* —> - так
же как и отображение g, взаимно однозначное. Каждой паре в пространстве Г сопостав-
ляется точка с координатами (х,у), где х = (сис2>—>С|Р|) = ё{р), d = X + 1, а У =
[ь„ь2,...,ь^=к{ч\ 1 = ^ + 1. 1=1 +
В качестве построенного пространства Г = {(х,.у) е [1, п +1) ,у е [1, т +1)}, п,те.2* можно рассматривать ограниченное подмножество двумерного евклидова пространства. Считается, что точки пространства изображаются в декартовой системе координат с обычными представлениями о точках, кривых на плоскости и расстоянии между точками.
(и + 1)'
ний i Ф 1, причем сх Ф 0 и с2,с3,..., ск,..., могут обращаться в нуль только одновременно.
В [3] был рассмотрен пример построения совершенного канторова множества, где рассматривается сегмент числовой оси [0,1], который последовательно разбивается на три равных сегмента, а средний сегмент удаляется. Затем эта процедура повторяется до бесконечности для оставшихся после удаления сегментов. Рассмотрим сегмент [1,2] числовой оси и обозначим его через Д, т.е. Д = [1, 2} Проделаем процедуры разбиения сегмента и удаления крайних левых интервалов (а не средних, как это проделано в [3]), полученных в результате процедуры разбиения. Итак, разделим сегмент Д на п+1 равных частей
точками 1н--, 1н--, 1н--, ...,1н--. Вычтем из сегмента Д первый слева интервал | 1,1н--|,
и + 1 и + 1 и +1 и + 1 и + 1)
который мы обозначим и («первое вычитание»). Оставшиеся после этого вычитания множество состоит
Обозначим через К^множество всех таких х — ^--где с(. е {0, \,2,...,п\ для всех значе-
из п сегментов:
, 1 , 2 1 +-,1 +-
и + 1 и + 1
4Г
=д,
1 2 1 3 1+-,1+-
= Дт
, п _
1+—-л
п + 1
4Г
= А.
и + 1 и + 1
С каждым из сегментов Д^ Д2, ..., Дп проделываем то же самое, что с основным сегментом Д, т.е. делим каждый из сегментов Дя на п + 1 равные части точками
, 1 1,1 2 , 1 и
1 +-+-+-+-Т, ->1 +-+-(для Д,)
и + 1 (и + 1)2 " + 1 (и + 1) И + 1 (" + 1)
1 +-+ -
.1 + -
,...,1 +-г + -
и + 1 (и +1)2 и + 1 („ + 1)2 и +1 („ + !)'
■ (для А2),...
, и 1 , и 2
1 +-+ "-ПГ.1 +-+ -
И + 1 (и + 1) и + 1 (и + 1)
и вычтем первые слева интервалы:
,...,1 +-г + "
и + 1 (и + 1)'
■ (для А„)
и,=
€
и2 =
1 111 1
1 +-, 1 +-+-ч
^ и + 1 и + 1 (и + 1)
2 2 1 1 +—,1 + —+
V
4Г
и =
/ Л
1 и _ и I
1 +--,1 +-+
И + 1' И + 1 (и + 1)2/
(«второе вычитание»).
у
И + 1 И + 1 (и + 1)
Интервалы и, их,и2,..., 17п, очевидно, без общих точек, а и^,и2,..., 1/п и без общих концов. Мы получаем в результате п2 сегментов, каждый длины -
Л„ =
(и + 1)2'
1 1 1 1 1 2
1 +-Т + -.-— ,1 +-г + -
4Г
а12 =
И + 1 (и + 1) И + 1 (и + 1)
1 1 2 1 1 3
1 +-+ -.-гт,1 +-+ -
И + 1 (и + 1)2И + 1 (и + 1)"
\п -
1 1 я 1 2
1+---
и + 1 (и + 1) И + 1
а21 =
1 2 1 1 2 2
1 +-Г + "-— ,1 +-г + -
И + 1 (и + 1)2 И + 1 (и + 1)2
а2й =
1 2 и 1 3
1 +-+ -.-пг,1 + -
А„1 -
! И 1 +-+
И + 1 (и + 1) и + 1 1
, и 2 1 +-+
И + 1 (и + 1)2 " + 1 (и + 1)
Д„„ =
, и и „
1 +-Т + -.--,2
и + 1 (и + 1)
Имеем А = [1,2], а также А!, ..., Ап - назовем их сегментами 1-го ранга, Ап, ..., А1п - сегментами 2-го ранга.
С каждым из этих сегментов (2-го ранга) поступаем также, а именно вычитаем первые слева части ((«третье вычитание»)), т.е. вычитаем из Ап интервал
4Г
ип =
1 +
1
1
1
1
1
И + 1 (и + 1)2'1+и + 1 (и + 1)2 (и + 1)3
из А12 ии =
из А21 ^21 =
1 + -
",1 +
И + 1 (и + 1)2 И + 1 (и + 1)2 (и + 1)3
1+—+-
-,1+—-+
г + -
И + 1 (и + 1)2 " + 1 (и + 1) (и + 1)3
из Д«1 ип1 =
/
, и 1 „ и 1 1
1+-+-
4
из Л и„„ =
и + 1 (и + 1) и + 1 (и + 1) (и + 1)
, и и , и и 1
1 + —+ ^-= 1 + —7 + 7-^2+7-Т^
/
и + 1 (и + 1)2 и + 1 (и + 1)2 (и + 1)3 Интервалы С/п,...., £/ии не имеют общих концов и общих точек. Таким образом, можно сказать, что из каждого сегмента Д/ш г2 е {1, 2,...,и}) вычитаем интервал и/1Д, получаем сегменты
ДШ21, ДШ22,..., Д;ши - каждый длины-;-. Обозначим эти сегменты ДШ2 где ^ г2,..прини-
(и + 1) -
мают независимо друг от друга значения 1,2,.. ,,и.
Пусть после (к-1)-го вычитания мы получим ик-1 сегментов (к-1)-го ранга ДШ2 где ц, /2, суть всевозможные комбинации их к-1 цифр, каждая из которых есть либо 1, либо 2, ..., либо и.
Каждый из сегментов ДШ2 имеет длину-Вычитаем из каждого сегмента Апп его
■ (и + 1)" "■
первую слева часть - интервал иш2 («к-е вычитание»). Получим вместо каждого сегмента ДШ2
И сегментов АШ2 !к_п,ДШ2...г*_12,...,ДШ2...í*_lи, каждый длины 1
(и + 1)
Проделав это с каждым сегментом ДШ2 й_„ получаем ик сегментов к-го ранга ДШ2 причем к цифр ¿р г2,..., г^ принимают в произвольных комбинациях значения 1, 2,..., и.
Наш процесс определен, таким образом, для каждого к = 1, 2,... до бесконечности. Пусть £ есть произвольная точка сегмента [1,2]; возможны лишь два случая: либо £ попала в один из интервалов ¡к, те. в один из вычтенных интервалов, либо £ не попала ни в какой из этих интервалов. Во втором случае £ содержится в множестве
%2]-[1.2]-{С/ + (С/1 + С/2 + ... + С/й) + (С/11 + ^,2 +... + £/„) + ...},
т.е. в множестве точек, не оказавшихся вычтенными ни при каком из наших вычитаний.
Посмотрим, какие именно точки мы каждый раз вычитали из сегмента [1,2]. Первый раз мы вычли
все точки интервала 1,1 +
1 ^
, т.е. все точки сегмента [1,2], которые при разложении в бесконечную
^ ' и + и
п+1-ичную дробь имеют первым и+1-ичным знаком непременно 0. Сегменты же Д^..., Ди состоят из точек, и+1-ичное разложение которых может быть записано так, чтобы на первом месте было всегда либо 1, либо 2,..., либо и.
При втором вычитании мы вычли интервалы и^,..., ии. Все точки первого интервала принадлежат сегменту Д^ поэтому их первый и+1 -ичный знак есть 1; их второй и+1 -ичный знак есть необходимо 0.
Точно также интервалы и2,..., ии состоят из точек, у которых первый и+1-ичный знак есть соответственно 2,..., и, а второй - 0.
Итак, при втором вычитании мы вычли из сегмента [ 1,2] все те точки, у которых первый и+1 -ичный знак отличен от 0, а второй и+1-ичный знак непременно равен 0.
Замечая, что точки, у которых первый знак необходимо равен 0, были вычтены при первом вычитании, мы можем сказать, что после второго вычитания из сегмента [1,2] оказались удаленными все те точки, в и+1-ичном разложении которых по крайней мере один из первых двух и+1-ичных знаков необходимо равен 0, причем точки оставшихся сегментов Д гШ имеют первыми двумя и+1 -ичными знаками и /2. Из точек, уцелевших после первых двух вычитаний , третье вычитание удаляет интервалы, состоящие из точек, и+1-ичное разложение которых необходимо имеет своим третьим знаком 0, так что после первых трех вычитаний оказываются удаленными все те и только те точки сегмента [1,2], и+1-ичном разложении которых по крайней мере один из первых трех и+1-ичных знаков необходимо равен 0.
Продолжая это рассуждение, мы убедимся, что после первых т вычитаний удаленными оказываются все те и только те точки сегмента [1,2], в п+1-ичном разложении которых хоть одна из первых т цифр необходимо равна 0, причем п+1-ичные разложения точек сегмента Дгш т начинаются с цифр
Таким образом, уцелевшими при всяком из наших вычитаний окажутся лишь те точки, которые могут быть записаны в бесконечную п+1-ичную дробь, ни один п+1-ичный знак которой не 0; с другой стороны, все такие точки на основании только что сделанных рассуждений уцелеют, т.е. не будут удалены из сегмента ни при каком из наших вычитаний. Именно эти точки образуют интересующее нас множество. На основании сделанных рассуждений можно сформулировать следующее утверждение.
Предложение 1. Множество К^ 2] есть множество всех точек сегмента [1,2], которые могут быть записаны в виде бесконечной п+1-ичной дроби, состоящей из п+1-ичных знаков, кроме 0.
Лемма 1. Пусть р,р' е X* и р Ф р. Тогда в пространстве Г им будут соответствовать числа х,х', причем х Ф х'.
Доказательство. Пусть Х = {х1,х2, ...,хп}и пусть р = хпха...ха,р' = хпх]2..лл, где е
е {1,2,..., и}. Рассмотрим пространство Уы конечномерных векторов, компонентами которых являются
натуральные числа, т.е. Уы = У^ = {со(а) = (г15г2,...,е {1,2,3,...}}. Взаимно однозначно сопоставим словамр, р е X* векторы ш,0)' е Ую т.е. сопоставим словур = хг1ха... хгквектор со — (г1512,..., 1к), а слову р' = ху1 х-2... х]-к — соответственно вектор со' = ,7,). Ясно, что такое соответс-
твие является взаимно однозначным. Рассмотрим взаимно однозначное соответствие между векторами а),0)' и элементами числовой оси в пространстве Г, т.е. сопоставим вектору
О) = (^,¿,,...,4) числ° вида х = \ + —+ *3 +... + -—и вектору й/' = (Л»У2»->.//) - числ°
к . . и + 1 (и + 1) (и + 1)
* + соответственно.
Допустим, что г= тах I,у = тах ].. Утверждаем, что х,х' е [1, п + 1). Действительно,х < ^-* т1
V / ^ V * ..1.1 V ./ ..1.1
их < > ---г. Ряды > -г = 1 + 1-+ г-=- + .., У"-Т1;гт = 7 + 7-- + Jz--
¿(и+1) ¿(и+1)т л+1 (и+1)2 , й(и+1)-1 ' п+\ 7(„+1)2
сходящиеся. Действительно, каждый из этих рядов является бесконечно убывающей геометрической
прогрессией со знаменателем прогрессии —-—, причем известно, что суммой бесконечно убывающей
и +1
прогрессии, знаменатель которой по абсолютной величине меньше единицы, называется предел последовательности ее частных сумм, и он равен частному от деления первого члена на разность между единицей и знаменателем, т.е.
^ 1 ..1.1 1 .и + 1
= 1 + 1--VI-+ =--— = I-,
+ 1Г1 ""л + 1"(#| + 1)2'"" и
и + 1
^ / 11 и + 1
^(и + 1) ' и + 1 '(и + 1)2 И
Даже если предположить, что г, у = п, сумма этих рядов будет равна п + 1. Таким образом, имеем х,х' < и + 1.
Перейдем к доказательству неравенства х Ф х!. Допустим, что х = х', т.е. что ц Н—-—I---—2 + ...
1 / / П + Х (" + !)
...Н--* к_х — ^ Ч--— + ...Н--1~1~1. Сопоставим множеству {0,1,2,.,.,п} некоторые номера в п+1-
(и + 1) И + 1 (и + 1)
ричной системе счисления. Для простоты будем обозначать числа, записанные в п+1-ричной системе счисления, символами ?!,...,/£.
Рассмотрим замкнутый промежуток [1, и+1] числовой оси. Выберем некоторый произвольный элемент х интервала [1, и+1], х е [1, и+1]. Если хв2+, то запишем число х в виде бесконечной дроби в и+1-ричной системе счисления, т.е. х = се, 00...0..., а е . Если хй Z+, то оно заключено межА
ду двумя целыми числами а и а + 1. Допустим, что х^а + [а, а + 1] на и+1 сегментов: +
а, а+
1
и + 1
1 2
а +-г, сс+
и + Г
и + 1
а + -
(где Дге ТУ). Разделим сегмент
, ал-1
и + 1
1
которые мы обозначим через Д0, Дх,..., Ди. Длина каждого сегмента равна-. Точка х попала лишь
и + 1
в один из этих сегментов (так как если бы она принадлежала двум сегментам, то была бы и общим
концом и имела бы, следовательно, вид х = а +
А
(и + 1}
7 ).
Пусть хеД;,. Числа /х назовем первым и+1-ричным знаком числа х. Рассмотрим сегмент
ап =
а +
и + 1
а+-
А;10 =
и + 1
а + -
. Разбиваем его на и+1 сегментов I, I I
- + -
»•••' А,-1И+1 —
а + -
к±1
И + 1 (и + 1)2 И + 1
-+-
,а +
И + 1 И + 1 (и + 1)
1 .
Длина каждого сегмента равна --ту . Точка х принадлежит только одному из наших сегментов.
„ (И + 1) -
Пусть х Е дпп. Целое число /2 назовем вторым и+1-ричным знаком числа х. Этот процесс, очевидно, можно продолжать до бесконечности, и мы получим бесконечную последовательность чисел \, г2,..., ц, каждое из которых равно или 0, или 1,..., или и (в и+1-ричной системе счисления). Число а является целой частью числа х, числа г,, /2,гА — и+1-ричными знаками числа х. Таким образом, имеем запись числа х в виде бесконечной и+1-ричной дроби, т.е. х = а,ц2..лк... .
А
Пусть теперь х = а +
(и + 1)'
-, другими словами, х разлагается в конечную и+1-ричную дробь:
- А Л
- + ... + -
А
И + 1 (и + 1) (и + 1)
Это означает, что х попадает внутрь сегментов
[а, а+1],
А А+1
и + Г
и + 1
А А-1 А Л-1 + 1
и + 1
(„+1Г
и + 1
(и + 1)
к-1
При разбиении же последнего из сегментов на и+1 частей точка х окажется одной из точек деления, а именно будет правым концом сегмента
АА-А-А-1 и левым концом сегмента
а +
А
+...+-
А-1 , А-1
И + 1.....(и + 1)""1 (и + 1)**" и + 1.....(и + 1)*-1 (и + 1)'
+ -
\к '
а +
А
+...+-
А-1 , А
к-1
а Л-А-1 А
+ -
А
А
+...+-
А-1 , А+1
И + 1 (и + 1)*"1 (и + 1)* " + 1 (и + 1) (" + 1)
Таким образом, для к-го и+1-ричного знака числа х получаем не одно, а два значения: Рк1 и [¡к. При дальнейших подразделениях сегментов Д^ ^ и Д^ ^ на и+1 меньших сегментов точка х будет все время оказываться в самом правом из подразделений сегмента Д^ р и в самом левом из подразделений сегмента Дв Сообразно с этим получаем для х два разложения в бесконечную и+1-ричную дробь, а именно
* = АГ, АЛ-АчЛ ООО..., X = Д...А-! А -1«««-,
из которых первое состоит начиная с некоторого места из одних чисел вида п, второе - из одних нулей.
Это выражает известный факт, что всякая конечная п+1-ричная дробь (т.е. дробь, все п+1-ричные знаки которой, начиная с некоторого места, суть нули) может быть записана также в виде бесконечной (вообще говоря) периодической дроби, имеющей в периоде п+1-ричный знак п.
Проделанные рассуждения иллюстрируют тот факт, что всякому действительному числу о
хФа-\--соответствует одно разложение в бесконечную п+1-ричную дробь: х — а,\1г..лк...,
„ ("+1)/, ¡2 1к „ /
т.е. х — ал--- + ---у +...+---т +... если же х = ал--г, то ему соответствует два разложе-
И + 1 (и + 1)2 {п + \)к ' (И + 1)*' у у р
ния, из которых одно содержит, начиная с некоторого места, одни нули, второе — одни числа вида п. Для того чтобы достигнуть однозначности изображения каждого действительного числа бесконечной п+1-ричной дробью, необходимо, очевидно, условиться, какое из двух разложений одного и того же числа брать. Условимся брать всегда то разложение, которое содержит бесконечное число нулей.
Вернемся к нашему предположению, что х = х'. Это означает, что \ + ——I---—2 +... Н--** к1 =
у и + 1 (и + 1) (и + 1)
= ^ Н--— + ...Н--'—Г^. Конечной сумме в левой части равенства, в соответствии с проведен-
и + 1 (и + 1)
ными выше рассуждениями, можно сопоставить разложение в бесконечную п+1-ричную дробь у,..-4 ООО.... Аналогично, конечной сумме в правой части равенства можно сопоставить разложение вида -У/ООО.... Таким образом, имеем ^■•4000...=у1,у2у3...у'?000.... Известно [3], что всякой
бесконечной п+1-ричной дроби соответствует единственное вполне определенное действительное число. На основании этого и равенства г2г3..-4000... = у1,у2у3...у/000..., разложения г,, г2г3...г^000... и УиЛЛ—У/ООО— определяют одно единственное действительное число, причем г1= Д, г2= /¿= у и к = I. Сопоставим взаимно однозначно разложению ц, г2ц..лк000... вектор (О — (гр г2,..., 4), аналогично разложению у1,у2у3...у,000... — вектор а)' = (./^./г»—».//). Сопоставим каждому из векторов а),а)' взаимно однозначно последовательности р = хахп...х1 к, р' = хдх^.-.х^ соответственно. Последовательностир, р — слова над алфавитом X = {лс,,дс2...,д:в}. Из равенства компонентов векторов О),(а)' и равенства их размерностей следует совпадение словр, р, что противоречит условию.
к с. 4 с'
Лемма 2. Пусть х,х'е[1,и + 1) и пусть х=У\-Л,-где сх,с'. е{0,1, 2,...,и}
г м (и + 1)' и (и + 1)'"
для всех значений г,у Ф 1, причем 0 и с2,с3,...,ск, с2,с'ъ,...,с'8 могут обращаться в нуль только
одновременно. Пусть хФх' .
Тогда числам х,х' можно сопоставить некоторые словар, р над алфавитом X — {х15х2..., хя}, причем р Ф р.
Доказательство. Используя технику доказательства предыдущей леммы, сопоставим числам х, х' векторы О) = (с,,с2,.„, ск}, со' — (ср с2,...,с^), а им в свою очередь последовательности р = хс1хс2...хск, р' = х^х^г-.-Х^. По условию сг, с^ е {0,1, 2,..., и} для всех значений г, у, причем 0 и с2, с3,..., ск,
с2, с3,..., с^ могут обращаться в нуль только одновременно, а следовательно, последовательностир, р состоят из букв, принадлежащих алфавиту X = {х1,х2...,хп}, а значит,р,р — слова над этим алфавитом, т.е. р, р е X*.
Перейдем к доказательству неравенствар фр. Допустим противное, т.е. чтор = р. Это в точности
означает, что размерности векторов (О,О)' совпадают. Сопоставим этим векторам взаимно однозначно
числа х = с, + °г +...-1--°к ._.,х' = с' + °2 +...Ч--_.. Каждое из этих разложений определяет
и + 1 (и + 1) и + 1 (" + 1)
изображение этих чисел в виде бесконечных п+1-ричных дробей сх,с2...ск 00... и с[, с2...с^00... соответственно. В свою очередь, каждая из этих дробей определяет некоторое действительное число, причем единственное.
Поскольку размерности векторов О) = (с,, с2,..., ct) и о)' = (q', c'2,...,c's) совпадают, т.е. k = 5 и каждый из векторов — есть код слов p, p соответственно, то совпадают и компоненты векторов (0,0)'. Таким образом, дроби сх,с2...ск00..., с[, c2...c^00... определяют одно и то же действительное число, что противоречит условию. Следовательно, наше предположение оказалось неверным.
Доказанные леммы позволяют сделать вывод в виде следующей теоремы, подтверждающей корректность алгоритма.
Теорема 1. Пусть p,p' е X*, т.е. слова над алфавитом X = {х1,х2...,хпУ Этим словам можно сопос-
к с s с'
тавить некоторые числа х,х' е [1, и+1), причем х = Y--х' = Y --L-7=r, где с,, с, е{\,2,...,п\
¡=i (и + 1) ¿=1 (и + 1) 1 1 J
для всех значений i, j.
Тогда хФх' тогда и только тогда, когда p ф p\
Под геометрическим образом автомата (4,5) понимается множество
[li=[b„...,b^VN\.A{s,p) = q&a> = g{p) &<?=%) & (1)
Ы с W и
и (и + l) и (/и + 1)
Это множество с помощью предложенного алгоритма порождается множеством Л^ и определяет поведение автомата (-4,5) в пространстве Г, которое представляет собой некоторый точечный образ. Отметим, что множество ß^, как и Л^, бесконечно. Введем в рассмотрение следующее множество:
ü'j ={{х,у): (эг е z+) {зр е qjt j (з? е q7')
(За, = (с,,..., с|р|) е VN) (3£-= (bv...,blpl) е VN):
А{8,р) = Ч& со= ё{р) %) = = }
,=1 (и + 1) ¡=1 [т +1)
Отметим, что величина г определяется в зависимости от рассматриваемого автомата, его свойств и задач, рассматриваемых для данного автомата.
Кривой f, задающей поведение автомата (Л^) в пространстве Г на словах до длины г, назовем всякую непрерывную кривую, такую, что любая точка (х,у) Е О," принадлежит и кривой f, т.е. кривая f содержит все точки множества
Кривая f называется функциональной кривой, еслиf есть график некоторой непрерывной функции. Отождествим понятие функции, определяющей функциональную кривую, с самой кривой.
Функциональная кривая f определяет поведение автомата (Л^) в пространстве Г, если f з £2^.
Поведение автомата Л = д, X) с I состояниями в пространстве Г будет определяться семейс-
твом кривых , |S| = I. Такие кривые будем называть автоматными. Уточним это понятие.
Пусть кривая f есть функциональная кривая, определенная в пространстве Г. Тогда кривую f будем называть автоматной, если найдутся автомат Л = д, X) и состояние s е S такие, что f=/.
После того как в пространстве Г определен геометрический (точечный) образ автомата, возникает задача интерполирования точечного образа конечного автомата в этом пространстве. В качестве интерполирующего многочлена можно взять интерполяционный многочлен Лагранжа Ьк (х), поскольку этот многочлен является наиболее удобным при интерполяции не равноотстоящих узлов интерполяции [4]. Как правило, интерполяционный многочлен как бы «выскакивает» за пределы пространства Г. В таком случае можно прибегнуть к интерполяции с помощью сплайнов.
В связи с этим возникает задача идентификации автоматных кривых. Необходим критерий, по которому можно было бы различать автоматные кривые.
Рассмотрим произвольный отрезок числовой оси [а, а + 1], где а е 2 +, 1 < а < п. Разобьем его на
1 2 и
п равных частей точками аН--,аН--,...,а-\--. Полученные сегменты отрезка [а, а + 1] обоз-
и +1 и + 1'
df
начим соответственно А! =
Г 1 1 df
a, а Л-- и + 1 > А2 =
и + 1
1 2 аЛ--,а + -
и +1 и + 1
df
..., Д_ =
а + -
и + 1
,а +1
Полученные
сегменты назовем сегментами 1-го ранга. Затем проделаем ту же процедуру разбиения для сегментов 1 -го ранга, в результате получим сегменты 2-горанга, которые обозначим через Дг1г2, где ix, i2 е {l,и}. Продолжая процесс до бесконечности, будем получать сегменты 3-го, 4-го и т.д. рангов. Используя введенные обозначения, сформулируем следующий критерий.
Теорема 2. Пустьf— функциональная кривая, заданная на открытом промежутке [1, и+1), где n е Z +. Тогда f является автоматной кривой тогда и только тогда, когда выполняются следующие условия:
1) (Vxе^[1и+1)): /(х)еK[lm+i),meZ+;
1 с k Ъ
2) если х = -'—г, то /(х) = -где ct е {1, 2,..., и}, Ъ, е {1,2,..., /и}, к е Z+;
Щи +1) ti(m +1)
3) пусть точка х является левым концом сегмента Д,1г2 промежутка [1, и+1), тогда для любой точки х', являющейся левым концом сегмента Дл -2 jk промежутка [1, n+1), причем сегмент Дл -2 ik лежит внутри сегмента Ап i2 jt_„ справедливо неравенство f (х') > f (х).
Следующая теорема позволяет получить аналитическое задание геометрических образов автономных автоматов.
Теорема 3. Пусть - автономный автомат, где | Y| = m, | SI = k. Тогда поведение автомата (A,s) в пространстве Г можно определить непрерывной возрастающей кривойf которая может быть задана следующим уравнением:
» ( lJ (Л 1 ^
/(*) = ! + "1082- , (2) j=1V ,-=i )
где ljeZ,0<lj<k,а Д^ е{0,1,...,&-1}.
Доказательство. Рассмотрим поведение автомата (A,s). Его поведение определяется парами (p,q),
где p и q периодические последовательности. В пространстве Г = |(х,_у)(х е [l,2),е [l,w + l)J они
принимают следующий вид:
111 (3)
(4)
_ , 1 1 1 к 2 2 2
yk = h+-
-+...+-
h
\к-\ •
т +1 (т +1)
Равенство (3) суть конечная сумма из элементов убывающей геометрической прогрессии Сп = а1+ад + ...+ ад" 1, где знаменатель прогрессии | д| < 1. Известно, что сумма п первых членов геометрической прогрессии выражается формулой
С =
al{q"-\)_al{\-cf)
Таким образом, имеем
<7-1
1 -q
= 2-4
(5)
(6)
~ к 2
Выразим из соотношения (6) k через хк. Имеем 2 =-—. Логарифмируя это равенство, получаем
2-х,
к = log2
2-£
(7)
Рассмотрим сумму (4). Имеем, что г2,...,1к е {1,2,...,т}. Пусть среди Ц, 12,---,1к единичек 1Х штук, двоек 12 штук и т.д., а т-ок 1т штук. Ясно, что 0 < ^ < k. Рассмотрим все степени числа т+1. Допустим, что в дробях с числителем, равным единице, список степеней выглядит следующим образом:
_(1) -(О -О)
(верхний индекс указывает на то, что рассматриваются дроби с числителем, равным единице). Допустим также, что в дробях с числителем, равным двум, список степеней числа т+1:
-(2) _(2) (2) >'2 '—''U .
Аналогичным образом строим списки степеней для числителей, равных трем, четырем и т.д. Выпишем список степеней для дробей с числителем, равным т:
г(т) (т) (и)
'I >'2 '•"»/_ '
В связи с нашими предположениями г® е {0,1,...Д — 1}.
Сгруппируем слагаемые в (4) так, чтобы сначала шли только слагаемые с числителем, равным единице, затем слагаемые с числителем, равным двум и т.д., т.е.
Ук = Ь +
т + 1 2
- + ...+-
(т+1)*
1 1
- + -
(т + 1)г' (т + 1)Г:
- + ... + -
1
(;m + \f
+ ... + -
(m + iy1 (m + lf
+ ...+
т
(m + lf
+ ... + -
т
(т + 1)'
Обозначим первую скобку через -^(1), вынесем за скобки из оставшихся скобок 2,3,.. ,,т и обозначим эти скобки соответственно через F(2),.,F(m). После введенных обозначений (4) принимает вид
/ г т
Ук = Н+ 77 + -+/ + + + =
7=1
т + 1 (т + 1)'
Общий член данной суммы выглядит следующим образом:
I,
(т + 1) (т + 1)' «=1
(m + lf (т + 1р
Не уменьшая общности, договоримся считать, что
г/0 <г2(,) <...</}<'>.
Таким образом, r^ = maxjr/0}^ .. Введем в рассмотрение числа Д« такие, что
Имеем Д<° = (£-l)-/;w =(|S| -lj-r/0.
Применяя новые обозначения, F(t) можно записать следующим образом:
F(0=2(»i+1)
-((*-1)-Д<'>)
Выразим F(t) через х, подставляя вместо k выражение (7), и вновь полученное соотношение обозначим Р (/, х).
р (,) = £ (т += £ („, +
/=1 ;=1 Теперь, возвращаясь к сумме ук и выразив ее через х, можно записать:
( I, 1 Л
0оВ2—■-1-Др>)
}=1 7=1
V
^ /, ... , Л
у=1
у
Покажем теперь, что возрастает. Функция возрастает, если при увеличении ее аргумента увеличивается значение функции. Действительно, если расписать >>(х) как это было сделано, когда мы группировали на слагаемые с единицами в числителях, затем с двойками в числителях и т.д., то при росте х некоторые суммы в этом разложении будут увеличиваться, т.е. будет расти значение ¡^ , а это будет означать увеличение всей суммы слагаемых.
2. построение автоматов по автоматным кривым
Поведение автомата А можно задать семейством кривых ]• где каждая из кривыхсуть функциональная кривая, определенная в пространстве Г и удовлетворяющая критерию автоматности кривой (теорема 2). Сформулируем задачу построения автомата по его геометрическому образу. Требуется по любой заданной кривой / в пространстве Г выяснить
а) существует ли конечный автомат, для которого / есть кривая, определяющая его поведение;
б) если да, то это означает, что можно построить какой-нибудь конечный автомат.
Решить задачу а) можно с помощью теоремы 2, которая определяет те кривые, которые могут описывать поведение конечных автоматов.
Решение проблемы б) обеспечивает следующая теорема.
Теорема 4. Пусть/есть автоматная кривая, определенная в пространстве Г = {(х,.у) (х е [1, п +1), у е [1,т +1)}, п,те . Тогда существует конечный автомат А = У, 8, X,s), 5 е $ где X = {х1,х2,...,хГ1} , 7 = {У1>У2>—>Ут} такой, что / задает поведение (А,я) в Г.
3. распознавание автоматов в геометрической интерпретации
Задача распознавания конечного автомата в конечном семействе конечных автоматов в терминах кривых, определяющих поведение автоматов формулируется следующим образом. Пусть задано конечное семейство {4},е/ конечных автоматов, где каждый автомат из семейства определяется множеством кривых {X'} , . Семейство {Д},е/ определяется множеством кривых Г . Требуется
I • \ т1
определить такое значение х0 е ^ чтобы (У/е/) (У*е/) (V
Геометрическая интерпретация данной задачи дает неоспоримое преимущество, поскольку геометрическая наглядность кривых позволяет искать решение х0 е К^ без использования существенного перебора. Кроме того, можно найти оптимальное решение (по длине входного слова). Разработаны алгоритмы распознавания в геометрической интерпретации [4].
4. конгруэнтные и аффинно-эквивалентные кривые
Рассмотрим задачу эквивалентности автоматов, используя их геометрическую модель поведения. Введем необходимые определения.
Пусть даны автоматы А — ,Х,У,дА,ЛА) и В — ^Бв,Х,¥,дв,Л в\ Состояние з е. БА г-остаточно неотличимо от состояния я' е Бв, если для любого р е Х~г (Хгг- множество слов длины не менее г) вы-
полняется ргг ^ (ЛА (я, р)) = ргг ^ ( Лв (я', Неотличимость в этом смысле состояний 5 и s' обозначим s~s'. Предположим, что для любого состояния s Е SA существует r-остаточно неотличимое состояние s'G SB, и обратно, для любого состояния s' € SB существует r-остаточно неотличимое состояние s е SÀ. Говорим в указанной ситуации, что автоматы A и B r-остаточно неотличимы. Неотличимость автоматов
г
A и B обозначаем А~В.
Две кривые называются конгруэнтными, если они могут быть получены одна из другой с помощью ортогонального преобразования. Конгруэнтные кривые мы будем называть также метрически эквивалентными.
Справедливо следующее утверждение [5].
Теорема 5. Пусть -¡./^ [ , \f'\ „ — семейства автоматных кривых, определяющих поведение
. I. J ÎGij ж L J JE ^
автоматов А — ,X,Y,ôÂ,À J) , В = (SB,X,Y,ôB,AB) в Г. Если для любой кривой fs , s eSÂ существует метрически эквивалентная в Г кривая fs> , s'sSB, и обратно, для любой кривой fs. существует метрически эквивалентная кривая ff, то А ~ В.
Доказательство. Ортогональные преобразования подразделяются на два класса преобразований: ортогональные преобразования первого и второго рода. На плоскости каждое ортогональное преобразование первого рода есть либо чистый параллельный перенос, либо чистый поворот вокруг некоторой точки; каждое ортогональное преобразование второго рода есть произведение отражения в некоторой прямой на параллельный перенос в направлении этой прямой (причем этот параллельный перенос может сходиться к тождественному преобразованию).
Если автоматная кривая полностью определена в Г, то в результате применения к ней ортогонального преобразования получим вновь кривую, полностью лежащую в Г лишь в случае параллельного переноса исходной кривой вдоль оси ординат, либо поворота на 360° вокруг начала координат, либо отражения в прямой у = 0 с последующим параллельным переносом. Все иные ортогональные преобразования приведут к тому, что образ кривой окажется вне Г, а следовательно, этот образ перестанет быть образом автоматной кривой.
При преобразовании параллельного переноса вдоль оси ординат кривой, выражаемой уравнением у = f (ic), получаем кривую, выражаемую уравнением у' = f (х) + к, где к = const. В случае поворота данное преобразование можно представить матрицей вида
^cos <р - sin <р~ sin (р cos <pj
, где ф — угол поворота.
'10
ч01,
При ф = 360° матрица преобразования получает вид
При указанных преобразованиях точка (х, у) перейдет в точку (х', _р'), так что в случае переноса х' — х, у' = у + к, в случае поворота х' — х, у' = у, а при отражении х' -х, у' = —у. Как было отмечено выше, при отражении кривой fs в прямой у = 0 образ преобразования окажется вне Г. Однако применение преобразования параллельного переноса к полученному образу приведет к тому, что образ кривой вновь окажется в Г.
Поскольку случай поворота является тривиальным, а случай чистого отражения не может привести к образу автоматной кривой, достаточно рассмотреть случай параллельного переноса. Пусть
. _ _ _ ' с. _ ^
(х, у) - произвольная точка кривой (х, у), £ е БА, такая что х — V-—т-г, у - V --!Тм", где I е 2 +,
Щи +1) ,=1 (от + 1)
с, е {1,2,..,и}, 6,е{1,2,..,1и}.
Если образ преобразования кривой метрически эквивалентен кривой , я' е Бв, то у' =
1 Ь' . _ _
= V-'—^и у' = у+ к, где к е Z+, причем у' е [1 ,т +1) (в случае к точка (х',у')перестает быть
Щ/и + 1)
точкой геометрического образа автомата). 1 ^
Имеем у = V-Из равенства у' = у+ к следует, что Ъ[ = ^ + к, Ц= Ъ- для i = 2,3,. I. Со-
ы{т +1)
поставим числу у' слово ц над алфавитом У так, что у' |—> ц' — Уы+кУы—Уы, гДе Угц е Из У <?
получаем # = УмУы—Ум- Сравнивая слова приходим к выводу, что рг2 ^ = рг2 |?|<7'.
Проведя все необходимые рассуждения с кривой , л' е Бв, окончательно получаем, что для любого состояния £ е существует 2-остаточно неотличимое состояние я' е и обратно, для любого
состояния я' е существует 2-остаточно неотличимое состояние £ е Непосредственно из опреде-
2
ления неотличимости следует, что А ~ В.
Если кривые У У являются автоматными кривыми, задающими поведение автоматов (А,£), (B,s'), и при этом являются метрически эквивалентными, то автоматы (А^) и (В^1) назовем конгруэнтными. Распространив определение конгруэнтности инициальных автоматов на автоматы неинициальные, приходим к понятию конгруэнтности автоматов А и В.
Две кривые называются аффинно-эквивалентными, если они могут быть получены одна из другой с помощью аффинного преобразования. Кривая У называется аффинно-эквивалентной кривой У , если У' является образом У при каком-нибудь аффинном преобразовании. Совокупность всех кривых, аффинно эквивалентных какой-нибудь определенной кривой У, называется аффинным классом кривой / Понятно, что если кривые У и У' аффинно эквивалентны, то их аффинные классы совпадают. Из геометрии известно, что всякое аффинное отображение задается формулами
л: =спх + спу + гх
'21
22
у =с21х + с22у + г2
выражающими для каждой данной точки М{х,у] координаты х',у' преобразованной точки М ' (в той же системе координат). Следующая теорема формулирует критерий аффинной эквивалентности автоматных кривых, определяющих поведение автоматов с равномощными алфавитами входных и выходных символов [6].
Теорема 6. Для того чтобы криваяУ была аффинно-эквивалентна кривойУ в пространстве Г, необходи-
1 с 1 Ь
мо и достаточно, чтобы для каждой точки М'(х',у') ] "" " Ж~1 ' '
п п
, с;2 * А_ , сл'с1
£(»1 + 1)" +
Сп-С1 <п-с]2 Ь,, г <п-с1-сп-Ъх-сп при] = 1,2 и
1 < г < 1.
Изучение конгруэнтных автоматов и аффинных классов автоматных кривых открывает перспективу новой классификации автоматов.
Библиографический список
1. Твердохлебов В.А. Техническое диагностирование в геометрической интерпретации задач, моделей, методов // Автоматизация проектирования дискретных систем: Материалы междунар. конф. Минск, 1995. С. 97.
2. Тяпаев Л.Б. О задании конечных автоматов функциями, определенными на открытом промежутке // Проблемы и перспективы прецизионной механики и управления в машиностроении: Материалы междунар. конф. Саратов, 1997. С. 48-49.
3. АлександровП.С., Колмогоров А.Н. Введение в теорию функций действительного переменного. М.; Л., 1938. 268 с.
4. Тяпаев Л.Б. Распознавание математических автоматов на основе геометрической модели поведения. Саратов, 1998. Деп. в ВИНИТИ №1327В98. 46 с.
5. Тяпаев Л.Б. Геометрические модели и методы при решении задач теории автоматов // Теоретические проблемы информатики и ее приложений. Саратов, 1999. Вып. 3. С. 131-136.
6. Тяпаев Л.Б. Аффинные классы автоматов и их преобразования // Теоретические проблемы информатики и ее приложений. Саратов, 2001. Вып. 4. С. 133-135.