
книги из ГПНТБ / Богомолов А.М. Эксперименты с автоматами
.pdfПокажем вначале, что (1.4) выполняется для всех (5, w) |
£ Z± |
(р). |
||||||||
Пусть |
(s, w) £ Z x |
(p), |
т. е. существует последовательность |
р х , |
для |
|||||
которой р х z <4 р, |
pxtt)z < р, б (s0 , pi) = s. Для |
случая w = е из |
||||||||
(1.3) непосредственно |
вытекает (1.4). Пусть z < |
wz. По (1.2) Я- (s0 , |
||||||||
pxwz) |
= ?і/ (f, pxwz), |
a no (1.3) ф (6 (s, ay)) = |
б' |
(£, pxw) |
и |
ф (s) = |
||||
= б' (if, Pi). Используя последние равенства, |
получаем, что ф (б (s, |
|||||||||
до)) = |
б (ф (s), tw). Из равенства |
(1.2) следует вторая |
часть соотно |
|||||||
шения |
(1.4) и, значит, для (s, ш) |
соотношение |
(1.4) |
имеет место. |
||||||
Пусть теперь (s, ft), (б (s, ft), |
ft) £ Z (p) |
и для этих |
переходов |
выполняется соотношение (1.4). Тогда имеет место цепочка равенств:
Ф (б (s, |
ftft)) |
= ф (б |
(6 (в, |
ft), ft)) |
= |
б' |
(ф (б (s, |
ft)), |
ft) = |
б' |
(ф (s), |
|
ft ft). Вторая |
часть |
соотношения |
(1.4) |
следует |
из |
того, |
что |
(1.4) |
||||
справедливо |
(s, ft) |
и |
(б (s, |
ft), ft). |
Таким образом, для |
перехода |
||||||
(s, ft ft) |
соотношение |
(1.4) |
имеет |
место. |
|
|
|
|
|
Аналогично |
показывается, что если соотношение (1.4) выполня |
||
ется для (s ft), |
(s, ft) |
€ Z (p) и ft |
< ft, то оно выполняется и для |
разности (б (s, ft), ft |
— ft) этих переходов. |
||
Таким образом, показано, что |
соотношение (1.4) справедливо |
для всех переходов (s, до) £ Z (р), а это и доказывает теорему. Теорема 1.1 сводит построение контрольной последовательности
для автомата к построению последовательности, контролирующей все переходы этого автомата, причем для построения последней ис пользуется только функция переходов автомата А и диагностиче ская последовательность z.
В последующих разделах данной главы рассматриваются способы построения входных последовательностей, контролирующих все переходы исправного автомата А.
1.2. Процедуры построения
контрольных последовательностей
В данном разделе будет описан класс процедур построения контроль ных последовательностей для автомата А и рассмотрены простейшие свойства этого класса. Цель такого рассмотрения —нахождение спо собов построения как можно более коротких контрольных последо вательностей.
Процедуры, рассматриваемые далее,— это пошаговый процесс построения последовательностей из X* . На /-м шаге процесса, где
/ > |
0, строится последовательность |
р\. Кроме последовательностей |
||
на каждом /-м шаге (j >• 1) |
этого процесса вычисляются вспомога |
|||
тельные множества ТІ- s |
S, |
где г £ |
R = XU{e). В начале процеду |
|
ры |
для каждого г £ R |
множества |
задаются, причем Т°е = S. |
Построение последовательности оканчивается, как только на неко тором с-м шаге для всех г Є R множества Т°г становятся пустыми.
Пусть дана процедура, для которой заданы 7? для всех г и одно временно выполняются следующие условия:
У4. На 0-м шаге процедуры последовательность р 0 равна z.
|
У5. |
На |
у'-м |
шаге |
процедуры |
строится |
|
последовательность |
|||||||
|
|
|
|
|
|
|
Pi = Pi-iQ/Пг, |
|
|
|
|
|
|||
где р]—\ — последовательность, |
построенная на предыдущем шаге, |
||||||||||||||
г/ — некоторый элемент из R, а |
qs |
— такая последовательность, что |
|||||||||||||
выполняется |
соотношение: |
|
|
|
|
|
|
|
|
||||||
|
для всех |
д ' и х |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
q'x < |
q |
б (s0 l |
pj-iq') |
£ T°x— |
i t 1 . |
|
|
||||
Множество Tr~l |
— множество |
состояний |
автомата А, |
построенное |
|||||||||||
на (/ — 1)-м шаге процедуры. |
|
|
|
|
|
|
|
|
|||||||
|
У6. На /-м |
шаге |
(1 - < /) для всех х |
£ X |
строится |
множество |
|||||||||
Vic |
по |
правилу: |
s £ V'x, |
если |
существует |
подпоследовательность |
|||||||||
рг, |
для которой p-yXz |
= |
pj |
и б (s0 , р2 ) = |
s. Кроме того, строится мно |
||||||||||
жество V'e по правилу: s £ |
V'e, |
если существует последовательность |
|||||||||||||
рх, |
для |
которой |
рггг |
= р,- и б (s0 , |
рг) |
— s. Затем, для |
всех г £ R |
||||||||
строится множество ТІ, равное T'~l |
— |
V'r. |
|
|
|
|
|
||||||||
|
У7. |
Процедура |
имеет. конечное число |
шагов. На |
|
последнем, |
|||||||||
с-м, шаге процедуры для всех г £ R множество Т°г пусто. |
|
||||||||||||||
|
Если s £ V'r, |
то будем говорить, что состояние s удаляется из |
|||||||||||||
множества Т°г на /-м шаге процедуры. |
|
|
|
|
|
|
|||||||||
|
Класс всех |
процедур, |
удовлетворяющих |
условиям |
У4—У7, |
обозначим через К- Процедуры построения контрольных последо вательностей, предложенные в работе [61, 64], не принадлежат клас
су К, так так с помощью этих процедур строятся |
последователь |
ности, для которых не выполняется равенство pj = |
pj_iq,rjZ. |
Найдем условия, при которых с помощью процедуры из класса |
К строятся контрольные последовательности. Для этого определим условия, при которых с помощью процедуры из К строятся последо
вательности, |
контролирующие все |
переходы |
автомата А. |
Пусть |
||
Z ° = ( (J Т°х |
х |
{x})UT°ex{z). |
|
|
|
|
Теорема |
1.2. |
Любая последовательность, |
построенная |
с по |
||
мощью произвольной процедуры |
из класса К, контролирует все пере |
|||||
ходы автомата А |
из множества Z°. |
|
|
|
||
Д о к а з а т е л ь с т в о . |
Пусть |
последовательность р |
постро |
ена с помощью некоторой процедуры из К- Пусть Pj — начальный отрезок последовательности р, построенный на /-м щаге процедуры.
Поскольку на последнем, с-м, шаге процедуры Т°е = |
0 , |
то для каж |
|||||||||||
дого s £ S найдется такое рг, |
что рхгг<С р и б |
(s0 , p j = |
s. Следова |
||||||||||
тельно, по У1 7^ х |
{z} g Z j |
(р). Для всех /, 1 < |
/ < с , найдется'та |
||||||||||
кая последовательность рх (зависящая от / ) , для которой |
p^zqjTjZ |
<; |
|||||||||||
< |
р. Тогда, полагая б (s0 , р^ = |
s и используя |
У1, получаем, |
что |
|||||||||
(s, |
zqjrj) |
£ Z i (р). Поскольку (s, |
z) £ Zr (p), |
то, |
используя УЗ, |
по |
|||||||
лучим, что для всех / (tj, |
qjri) |
£ Z (р). |
Здесь |
tj = |
б (s0, p/_i). |
||||||||
Индукцией |
по |
/ |
покажем, |
что |
(fy, q/) £ Z (р). |
|
Из условия |
У5 |
|||||
следует, |
что |
qx |
= |
е. |
Тогда, |
поскольку (tj, |
z) £ Zx |
(р), |
получаем, |
что |
(tu |
ft) |
£ Z (p). Но в этом случае |
|
(sl t rx ) £ |
Z (p) |
по |
УЗ, |
где |
||||
(s;, |
О) |
= |
Ьі> ЯіП) — (*/.?/)• П У С Т Ь Для |
всех |
/ < |
і — |
1 |
g7) £ |
|||||
gZ (p). По сказанному выше, для всех |
/ < і |
— |
1 (s/, г,) |
£ Z (р). |
|||||||||
Покажем, |
что |
(tit |
qt) £ Z tp). |
Пусть |
qt |
— х\Хч... |
,х;. |
По |
условию |
||||
У5 |
для |
всех |
h, |
1 < h < f, |
б (s„, |
... *д_і) |
£ |
Т°< — Т'г 1 . |
Это |
значит, |
что |
для |
всех |
h существует |
|
і — 1, |
xh |
|
xh |
|
|
|
|||||||||
k <; |
для |
которого |
|||||||||||||||||||
б |
(s0 , |
х[ ... |
Хн-l) £ |
Vk-, |
т. е. |
(б |
(s„, |
jci |
... ХЛ _і). Xh) = |
(Sft, Jtft) И no |
|||||||||||
предположению индукции (б (s0, x\ ... Xh-i), |
Xn) Є Z (p). |
Тогда |
|
no |
|||||||||||||||||
условию У2 (tit |
|
q£) |
£ Z (p). |
Таким образом, для всех |
/ |
выполня |
|||||||||||||||
ется |
соотношение |
(tj, |
qj) £ Z (р), |
а |
следовательно, |
и |
(s/, Г/) |
£ |
|||||||||||||
£ Z (р). Из последнего соотношения вытекает, что ( |
(J |
Г° |
X {л:}) |
S |
|||||||||||||||||
s |
2 (р). Учитывая, что |
Г° х |
{z} s |
Z (р), |
получаем |
соотношение |
|||||||||||||||
Z° |
s |
Z (р), которое доказывает теорему. |
|
|
|
|
|
|
|
|
|||||||||||
|
Следствие 1.1. Пусть дана произвольная |
процедура из класса /<", |
|||||||||||||||||||
для которой |
|
|
|
для всех г £ R. |
Любая |
последовательность, |
|||||||||||||||
построенная с помощью этой процедуры, |
является |
контрольной |
|||||||||||||||||||
для автомата |
А. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
Следствие |
1.1 |
непосредственно |
вытекает из |
теорем |
1.1 |
и |
1.2. |
|||||||||||||
|
В общем случае, для того чтобы с помощью процедур из К стро |
||||||||||||||||||||
ились |
контрольные последовательности, не обязательно |
для всех |
|||||||||||||||||||
г £ R полагать множество Т°г |
равным множеству |
всех |
состояний |
||||||||||||||||||
автомата. Пусть |
z = z'w для |
некоторых г' |
£ X* и w £ X. |
Пусть |
|||||||||||||||||
б (S, |
z') = |
|
(J |
б (s, z'). Для произвольной |
процедуры |
П из класса |
|||||||||||||||
К |
для |
всех |
г £ R — {w} полагаем Т°г |
= 5 |
и Tw = |
S — V, |
V— |
|
за |
||||||||||||
данное множество, для которого |
V ^ б (5, z'). Такое задание мно |
||||||||||||||||||||
жеств Т°г назовем стандартным. |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
Процедурой, покрывающей множество V, назовем такую П £ |
|
К, |
||||||||||||||||||
для которой множества Т°г заданы стандартным способом, а V — |
|||||||||||||||||||||
множество, для которого множество Z0 |
операциями сложения и вы |
||||||||||||||||||||
читания переходов порождает множество S х X*. |
Процедуру |
|
П, |
||||||||||||||||||
покрывающую множество V, будем обозначать через П (V). |
|
|
|
||||||||||||||||||
|
Пусть |
дана |
произвольная |
|
процедура |
П (У). |
По |
теореме |
|
1.2 |
|||||||||||
Z° g Z ( p ) |
для всякой последовательности р, построенной по П |
(V). |
Из условия У2 и УЗ следует, что множество всех переходов, порож
денных |
из Z0 |
операциями |
сложения и вычитания переходов авто |
|||||
мата А, |
содержится в множестве Z (р). Тогда из определения |
П (V) |
||||||
следует, что Z (р) = |
5 X X* и из теоремы 1.2 вытекает следствие. |
|||||||
Следствие |
1.2. |
Любая |
последовательность, построенная |
с |
по |
|||
мощью произвольной процедуры |
П (V), |
является контрольной |
по |
|||||
следовательностью |
для автомата |
А. |
|
|
|
|||
Рассмотрим |
следующее |
условие: |
|
|
|
|||
|
|
|
(V |
х И ) |
П U = |
0 , |
(1.5) |
ГДЄ U = |
{(S, X){3t&S^i,l^k(.(8(t, |
|
|
Хг . . . |
|
*,) = (s, X))} |
и z = |
|
= XtJC2 |
. . . xkw. |
|
|
|
|
|
|
|
Теорема 1.3. Любая процедура |
из I( |
со стандартным |
заданием |
|||||
множеств Т°г, для которой выполняется (1.5), покрывает множество V- |
||||||||
Д о к а з а т е л ь с т в о . |
Пусть для процедуры П £ К. выпол |
|||||||
няется |
(1.5). Поскольку Т°г |
= |
S |
для всех |
г Є R — {w} |
и |
Т% = |
|
= S — |
V, где V є б (S, г') |
и |
г = /во, |
то |
Z°\J(V X {w}) |
= 5 х |
||
X XU«Sx {z}. Множество S |
X X |
при |
помощи операций |
сложе |
||||
ния и вычитания переходов порождает множество S X X*. |
Поэтому |
для доказательства теоремы достаточно показать, что любой эле
мент множества |
V х |
{w} |
порождается |
множеством Z0 . |
Очевидно, |
||||||
что U Е Z0 . Поскольку |
переход (s, z'), |
где z' — начальный отрезок |
|||||||||
последовательности, |
для |
которого |
z = z'w, для всех |
s |
Є S |
есть |
|||||
сумма некоторых переходов из U, то |
переход (s, z') |
порождается |
|||||||||
множеством Z°. Поскольку переход |
(б |
(s, z'), ш) есть разность пере |
|||||||||
ходов, (s, z) |
и (s, г'), |
то |
любой |
переход (б (s, z'), tw) |
порождается |
||||||
множеством |
Z°. |
В |
силу |
V s |
б (5, г'), любой элемент из V х |
{да} |
|||||
порождается множеством Z0 , что оканчивает доказательство теоре |
мы. Заметим, что в дальнейшем рассматриваются только процедуры со стандартным заданием множеств Т°г-
Следствие 1.3. Любая последовательность, построенная с по мощью произвольной процедуры из К со свойством (1.5), является контрольной для автомата А.
Пусть с — номер последнего шага произвольной процедуры П
из /С, и последовательность р построена по |
П. Оценим |
величину с. |
|
Из условия У6 следует, что на каждом |
/-м |
шаге, 1 < |
/ < с, про |
цедуры найдется не более одного г £ R и |
не более одного состояния, |
которое на этом шаге удаляется из Т?. Поскольку по У7 Т°г — 0 для
всех г, |
то с >- 2 |
\Т°г\ |
и, следовательно, |
с > |
( т + |
1) |
п — и, где |
||||
п — \S\, m ~\Х\, |
ц = |
j V|. |
Полученное |
неравенство |
позволяет |
||||||
оценить |
снизу |
длину |
d (р) последовательности р. |
Из |
условия |
У5 |
|||||
следует, |
что |
d (Pi) = |
d (p; _i) |
+ d (ft) + d (rt) + |
d(z), |
|
где р/ |
— |
начальный отрезок последовательности р, построенный на /-м шаге
процедуры П. |
Пусть |
d (z) = |
L . Учитывая, |
что d (ft) > 0 |
и что |
|
d (гу) Ф О не |
менее, |
чем |
на тп — и шагах |
процедуры, получаем |
||
d(p) > ( ( m + |
I ) n — и + 1)L + |
пгп — и. |
(1.6) |
|||
Подпоследовательности |
ft, |
входящие в |
последовательность р, |
в дальнейшем будем называть транслирующими. При построении последовательности р транслирующие последовательности исполь зуются для достижения состояний автомата А, еще не удаленных из некоторого множества Т°г. Приведенными процедурами назовем процедуры, в которых на транслирующие последовательности на
ложено условие: если ft Ф е, то |
ft — кратчайшая последователь |
ность, для которой б (s0 , P/_ift) |
Є \}T'r~l. В дальнейшем рассмат- |
риваются только приведенные процедуры. Кроме того, предпола гаем, что если с — номер последнего шага процедуры, то [) Тсг~~1 Ф
ф 0, где 0 |
— пустое множество. |
|
г |
|
Пусть множества |
Т? для всех г |
£ R |
заданы следующим обра |
|
зом: для всех |
г £ R |
—- {w} и Т° = |
5 T°w |
= 5 — V, где V — неко |
торое заданное множество, для которого выполняется условие (1.5). Возникает вопрос: всегда ли для заданных множеств существует процедура П (У) из класса К- Может оказаться, что после того, как выполнены / шагов процедуры и (J Ті- Ф 0, не существует трансли-
г
рующей последовательности, переводящей автомат А в состояние,
которое принадлежит множеству |
(J Т'г, и, следовательно, |
не.сущес- |
|
т |
|
твует такого целого с, для которого |
U Т°г = 0. Определим |
достаточ- |
|
г |
|
ные условия существования процедуры П (V) £ К и оценим сверху число шагов этой процедуры. Проведем сначала вспомогательные построения. По множеству V и автомату А построим (частичный)
автомат Ау = |
(5, X, |
бу), где |
|
или sPV, |
|
Е |
, |
s |
[б(s, х), если хФw |
||
by (s, |
х) = |
\ к |
^ |
v- |
|
Слоем |
автомата |
{не определено в противном случае. |
|||
называется |
наибольшее сильносвязное подмно |
жество его состояний. В работе [32] показано, что множество всех слоев автомата есть разбиение множества его состояний. Пронуме
руем все слои автомата Ау |
номерами от |
1 до |
k. |
|
|
|
|
|||||||||
|
Определение |
1.3. |
Нумерацию слоев автомата Ау назовем пра |
|||||||||||||
вильной, если для нее одновременно выполняются условия: |
|
|
||||||||||||||
|
1. |
Для |
слоя Slt 1 < |
і <Z k, |
существует ровно один выделенный |
|||||||||||
переход (a,-, xt), |
для |
которого |
бу (at, |
xt) |
определено и |
бу (яг, хс) |
£ |
|||||||||
£ |
Si+i. |
Если 6у (s, х) |
определено для |
(s, х), не равного |
(at, х{), |
то |
||||||||||
8у |
(s, |
х) £ |
Sc. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. |
Для всех s £ Sk |
и х £ X, |
если |
бу (s, х) |
определено, |
то |
бу |
(5, |
|||||||
|
3. |
s0 є |
sx. |
|
|
|
|
|
б (s, z) |
£ S,„ где h < |
|
|
|
|
||
|
4. |
Для всех s £ Sh |
1 < |
і < |
k, |
i. |
|
|
||||||||
|
Последовательность p |
назовем |
S 0 - O 6 X O A O M |
автомата |
Ay, |
если |
||||||||||
для любого перехода |
(s, х) найдется последовательность plt |
для ко |
||||||||||||||
торой |
рхх |
< р |
и 8у (s0 , |
рх) |
= |
s. Из |
условий |
Уб — У7 |
вытекает, |
|||||||
что всякая |
последовательность, построенная по П (V), является |
s0- |
обходом. В работе [38] показано, что 50 -обход автомата Ау существу ет тогда и только тогда, когда существует нумерация слоев автомата Ау со свойствами 1—3. Таким образом, если П (V) £ К существует, то необходимо существует нумерация слоев автомата А у со свойства
ми I — 3 . Покажем, что существование нумерации со |
свойствами |
1—4 достаточно для существования процедуры П (V) |
£ К- Дока |
зательство этого утверждения будет конструктивным и полезным для выяснения способов построения процедур из К-
Теорема 1.4. Если существует правильная нумерация слоев авто
мата Ау, то существует процедура |
из класса К, покрывающая мно |
||||
жество V. |
|
|
|
|
|
Д о к а з а т е л ь с т в о . |
Пусть |
S l f |
Sk |
— п р а в и л ь н а я |
н у |
м е р а ц и я с л о е в а в т о м а т а Ау. Полагаем, ч т о Tr=S |
д л я г Ф wn |
ТІ, = |
|||
= S — V. Далее полагаем р0 |
= г. Тем с а м ы м |
в ы п о л н и м н у л е в о й |
ш а г п р о ц е д у р ы . Из у с л о в и й 3 — 4 о п р е д е л е н и я 1.3 с л е д у е т , ч т о
б (s0 , |
z) Є Sy |
Пусть |
в ы п о л н е н о |
/ — |
1 ш а г о в п р о ц е д у р ы , |
п р и ч е м |
||
Tj^\ |
= |
U Т'~1 |
Ф 0. |
Предполагаем, |
ч т о н а в ы п о л н е н н ы х |
ш а г а х |
||
процедуры в ы п о л н я л о с ь п р а в и л о : |
если н а / - м ш а г е , |
1 < / -< /" — 1, |
||||||
из м н о ж е с т в а |
Т°г д л я н е к о т о р о г о |
г £ R |
у д а л я е т с я |
с о с т о я н и е , при |
||||
н а д л е ж а щ е е с л о ю S[y |
т о в с е с о с т о я н и я с л о я Sz_i у ж е у д а л е н ы из |
|||||||
Т°г д л я |
в с е х |
г, а с о с т о я н и я с л о я S t + i |
и з м н о ж е с т в ТІ для |
в с е х г |
е щ е н е удалялись. Для нулевого ш а г а процедуры э т о условие в ы п о л няется. Пусть б (s0, Pi—і) = tjt tj £ Sh. Найдем н а и м е н ь ш и й н о м е р і,
д л я к о т о р о г о Т/_і f| Si Ф 0. Из п р е д п о л о ж е н и я о п о р я д к е п р о
в е р к и слоев и |
п . 3 о п р е д е л е н и я |
1.3 следует, что |
h •< і •< h + |
1. |
||||||||||||||||||
Найдем кратчайшую п о с л е д о в а т е л ь н о с т ь |
q/, |
д л я к о т о р о й |
в ы п о л н я |
|||||||||||||||||||
ются условия by (tj, g/) £ U Т{~1,Ьу |
(tj, |
g,) |
Є St и д л я в с е х |
q'x |
• < q\ |
|||||||||||||||||
|
|
|
|
|
|
|
|
т |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
с о с т о я н и е |
8у |
(tj, q') |
у д а л е н о и з |
м н о ж е с т в а |
Т°х. |
|
|
|
|
|
|
|
||||||||||
|
|
Поскольку каждый а в т о м а т н ы й |
с л о й — с и л ь н о с в я з н о е |
м н о ж е с т в о |
||||||||||||||||||
с о с т о я н и й , т о согласно п . 1 о п р е д е л е н и я |
1.3, д л я всех s £ Sh |
и t £ Sh |
||||||||||||||||||||
существует п о с л е д о в а т е л ь н о с т ь |
|
q т а к а я , ч т о 8у (s, |
q) = |
t. Значит, |
||||||||||||||||||
транслирующая п о с л е д о в а т е л ь н о с т ь |
q/ в с е г д а |
существует. При этом |
||||||||||||||||||||
может б ы т ь д в а случая. Пусть выполняется |
соотношение |
|
|
|
|
|||||||||||||||||
|
|
|
5, |
П Tj-i |
= {а,.} Л St |
П (Г? _, - |
Г*"") = |
0 , |
|
|
(1.7) |
|||||||||||
г де |
(at, Xi) — |
с п е ц и а л ь н ы й |
п е р е х о д , |
о п р е д е л е н н ы й |
в |
п . 1 о п р е д е л е |
||||||||||||||||
н и я |
1.3. Тогда 6 7 (tj, |
qj) = at. |
|
Строим п о с л е д о в а т е л ь н о с т ь |
|
|
= |
|||||||||||||||
= pi^iqjXtzz,T. |
|
е . полагаем q/+i = |
г; +і = |
е и rj — xt. |
По |
у с л о в и ю |
||||||||||||||||
У6 Т'х. = |
T'x~l |
— |
{at} |
vT'r |
= ТГ1 |
для в с е х |
г, г ф |
xt. |
По |
э т о м у |
же |
|||||||||||
у с л о в и ю |
ТІ+1 |
= |
ТІ — {by (au |
xt)\ и |
д л я всех х |
Тх+1 |
= ТІ |
Пусть |
||||||||||||||
соотношение |
(1.7) н е выполняется. |
Тогда |
т р а н с л и р у ю щ у ю |
п о с л е |
||||||||||||||||||
д о в а т е л ь н о с т ь |
qj в ы б и р а е м |
т а к , ч т о б ы |
д л я н е к о т о р о г о |
г 8у |
(tj, |
qj) |
£ |
|||||||||||||||
Є Т'ГУ и |
(ду (tu |
qt), |
г) Ф |
(ОІ, |
Х[). |
Такая п о с л е д о в а т е л ь н о с т ь |
в с е г |
|||||||||||||||
д а с у щ е с т в у е т . |
ЕСЛИ |
Г = |
Є, ТО СТрОИМ |
ПОСЛеДОВатеЛЬНОСТЬ |
P/-I-1 |
= |
||||||||||||||||
= |
pj-\qjZZ, |
т. |
е. п о л а г а е м |
/7 = |
r / + i = |
q l |
+ i = |
е. |
По |
условию |
||||||||||||
У6 ТІ = |
Г Г 1 |
д л я всех г, |
ТІ+1 |
= |
Г'с — {ду (tj, |
q,)) |
и Tx+l |
= |
П |
|||||||||||||
д л я . |
всех |
х £ X. Если г Ф е,то строим последовательность |
pj+i |
— |
||||||||||||||||||
= |
pj_\q,rzz |
п р и бу (£/, 9/г) £ |
Т'е~1 кр/ = pj—\rz — в п р о т и в н о м |
слу |
||||||||||||||||||
ч а е . По У6 с т р о и м |
м н о ж е с т в а Т / + 1 и л и ТІ. |
|
|
|
|
|
|
|
|
|
||||||||||||
|
Таким о б р а з о м , |
предполагая, ч т о / |
— |
1 ш а г о в |
п р о ц е д у р ы |
выпол |
||||||||||||||||
н е н о , выполняем с л е д у ю щ и й / - й ш а г (j-й и / |
+ |
1-й шаги) п р о ц е д у р ы , |
||||||||||||||||||||
причем н а й д е т с я такое г £ R |
и состояние |
s, |
которое |
удаляется из |
Т°г на /-м шаге (j + 1-м шаге) процедуры. Отсюда следует, что про цедура П(У) из класса К существует, что и доказывает теорему.
Следствие |
1.4. |
Пусть |
у |
автомата |
Л т > 2 , |
где т = |
| Х|, и для |
||
всех х £ X xz' Ф |
г, где z = |
z'w. Если существует правильная нуме |
|||||||
рация |
слоев |
автомата |
Ау, |
то существует процедура П (V) с как |
|||||
угодно большим числом шагов. |
|
|
|
|
|||||
Д о к а з а т е л ь с т в о . |
Пусть у автомата А т >• 2 и для |
всех |
|||||||
х xz' Ф |
z. Поскольку т >• 2, то найдется такое х', что х' |
Ф гих' |
Ф |
||||||
Ф w, |
где w £ X. |
Тогда полагаем |
= 5. |
Пусть |
существует |
правильная нумерация слоев автомата Л v. Применяя метод постро:
ения процедуры из доказательства теоремы 1.4, выполняем / |
шагов |
||||||||||
процедуры, для которых Т!х. Ф 0. |
Затем |
выполняем k шагов про |
|||||||||
цедуры от |
/ + |
1-го |
до / + |
6-го, полагая, |
что для |
всех i, j + |
1 •< |
||||
•< і •< / + |
k, |
г, = |
е. |
Тогда в силу того, |
|
что для всех х xz' |
Ф г, |
||||
получаем |
равенство |
ТІ? = |
T'J~k Ф |
0. |
Затем опять применяем ме |
||||||
тод построения из |
доказательства |
теоремы |
1.4 и выполняем |
П (V) |
|||||||
до тех пор, пока на с-м шаге, с > |
/ + |
k,Tc |
= 0. |
Поскольку k мо |
|||||||
жно выбрать |
как угодно большим, то с будет как угодно большим. |
Следовательно, будет как угодно большой длина d(p) любой после довательности р, построенной по этой процедуре, что и требовалось доказать.
Следствие 1.4 показывает, что не существует конечной верхней оценки длины последовательностей, построенных по произвольной процедуре из класса К- В разделе 1.4 будет рассмотрен подкласс процедур, для которых существует конечная верхняя оценка.
1.3.Примеры приведенных процедур
Опишем две приведенные процедуры из класса /<". При этом для про стоты описания считаем, что входной алфавит X автомата А равен
{О, 1}. Кроме того, полагаем, что множество |
V задано так, что вы |
|||||
полняется соотношение (1.5). Полагаем, что 7 ^ , = 5 — V и |
7 ^ = 5 |
|||||
для г Ф w. Пусть S i , |
Sk — правильная нумерация слоев автома |
|||||
та Ау |
и (a,, xt) |
— специальные |
переходы, описанные в п. 1 опреде |
|||
ления |
1.3. |
|
|
|
|
|
Процедура |
ПЛ. Блок-схема |
процедуры представлена на рис. 1. |
||||
При описании |
процедуры опущен индекс jnTin |
в q/, что не приво |
||||
дит к двусмысленности. Кроме того, полагаем, что Т = U Тг. |
Работа |
г
всех блоков процедуры, за исключением блоков 7 и 8, ясна из блоксхемы. В блоке 8 находится кратчайшая последовательность, для которой б (s, q) = aL. Эта последовательность может быть найдена перебором всех последовательностей длины 1, упорядоченных лек сикографически, затем перебором последовательностей длины 2 и т. д. В доказательстве теоремы 1.4 показано, что искомое q всегда существует. Поскольку в блок 8 попадаем при выполнении условия (1.7), то для найденного q выполняется условие У5. В блоке 7 опре-
деляется кратчайшая последовательность q, для которой выполня
ется |
условие У5 и б (s, q) € Т f| Slt причем если J Т Г) S, | > 2, |
то б |
(s, q) фа(. |
Последовательность р, построенная по процедуре П1, имеет цик лический характер, т. е. строится следующим образом.
S Шюдиикратчайшееа.идовлетвориЛ |
|
/теє У5 |
I |
|
Рис. 1. Блок-схема процедуры Ш. |
|
|
||
1. |
Сначала строится |
последовательность |
р' — zxx zx2 |
... 2 xhz, |
|
где h — наименьшее |
целое, для которого |
6 (s0 , р') $- |
Т0 (J Тг. |
||
2. |
К построенной ранее последовательности приписывается спра |
||||
ва последовательность |
zh, |
где h — наименьшее целое, для |
которого |
б (s0 , р'г л - 1 ) $ |
Ге ; |
& — последовательность, |
состоящая |
из |
h |
по |
||||||||||||
вторений последовательности z. |
|
|
|
|
|
|
|
|
|
|
|
|||||||
3. |
Затем, в случае необходимости, к ранее построенной последо |
|||||||||||||||||
вательности |
дописываем |
справа кратчайшую транслирующую |
по- |
|||||||||||||||
|
|
O |
i |
Т а б л и ц а |
1 |
следовательность q и, если |
|
ТФ0і |
||||||||||
|
|
o |
i |
|
возвращаемся |
в л.1. |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
Рассмотрим |
|
построение |
|
кон |
||||||
1 |
|
2 |
6 |
0 |
0 |
трольной |
последовательности |
для |
||||||||||
2 |
|
3 |
б |
0 |
1 |
автомата Л1, заданного табл. 1. |
||||||||||||
3 |
|
4 |
2 |
1 |
0 |
б |
Пусть |
|
s0 |
= |
3, |
4, |
z = 001 |
и |
||||
4 |
|
5 |
1 |
0 |
0 |
(5, ООО) «= |
{2, |
3, |
5, |
6}; |
Для |
|||||||
5 |
|
6 |
4 |
0 |
1 |
любого V s |
б (S, 00) |
условие |
(1.5) |
|||||||||
6 |
|
2 |
5 |
1 |
1 |
|||||||||||||
|
|
|
|
|
|
|
выполняется. |
Для |
V = 6 ( S , |
|
00) |
|||||||
|
|
|
|
|
|
|
автомат |
Av |
не |
имеет |
правильной |
|||||||
нумерации слоев. На рис. 2 показан граф автомата Av |
для такого |
V. |
||||||||||||||||
Автомат Ау |
имеет два слоя: {1} и {2, 3, 4, 5, |
6}. На |
рис. |
2 прове |
||||||||||||||
дены дополнительные дуги (штрихованные), показывающие |
переход |
|||||||||||||||||
автомата А под действием последовательности г. |
|
|
|
|
|
|
||||||||||||
Для |
V = |
{2, 3, 5, 6} автомат А у — сильносвязен и, значит, име |
||||||||||||||||
ет правильную нумерацию. Полагаем Те |
и Т0 |
равными всему мно |
||||||||||||||||
жеству состояний автомата А\ и 7\ = {1, 4}. Процедура Ш |
строит |
|||||||||||||||||
последовательность |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
р — z (Oz)3 lzz3 0 Ozz2 0 (0z)2 |
lz 0 z2 |
0 |
г2. |
|
|
|
|
|
|
|||||
Дужками выделены трансли |
|
|
|
|
|
|
|
|
|
|
|
|||||||
рующие |
|
последовательности. |
|
|
|
|
|
|
|
|
|
|
|
|||||
Длина |
последовательности |
р |
|
|
|
|
|
|
|
|
|
|
|
|||||
равна 63. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
В данном примере номер по |
|
|
|
|
|
|
|
|
|
|
|
|||||||
следнего шага процедуры равен 17. |
|
|
|
|
|
|
|
|
|
|
|
|||||||
Возвратимся |
к случаю |
V = |
|
|
|
|
|
|
|
|
|
|
|
|||||
= {2,3, 4, 5, 6}. Для |
этого |
слу |
|
|
|
|
|
|
|
|
|
|
|
|||||
чая |
не |
существует |
правильной |
|
|
|
|
|
|
|
|
|
|
|
||||
нумерации |
слоев автомата |
Av, |
|
|
|
|
|
|
|
|
|
|
|
|||||
однако |
существует |
процедура |
|
|
|
|
|
|
|
|
|
|
|
|||||
построения |
контрольных |
после- |
Рис. 2. |
Автомат |
Av\ |
для |
V = |
[2, |
3, |
|||||||||
довательностей, |
аналогичная |
4,5,6}. |
|
|
|
|
|
|
|
|
|
|
||||||
процедуре |
Ш . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Так |
же, |
как и в процедуре Ш , сначала строится последователь |
||||||||||||||||
ность |
р' = |
zx1zx2z...zxllz, |
а |
затем к ней приписывается справа |
||||||||||||||
последовательность zl |
и т. д. Построенная таким образом последова |
|||||||||||||||||
тельность имеет |
вид: |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
р = |
z(0z)3 z3 0 (Oz)2 lzz3 |
00 Ozz, |
d(p) |
= |
55. |
|
|
|
|
|
Номер последнего шага процедуры равен 14.
В данном случае процедура существует, так как на каждом шаге существуют транслирующие последовательности, при помощи ко торых можно достигнуть еще не проконтролированные переходы.
Рассмотрим еще одну процедуру из класса К- Процедура П2. Блок-схема процедуры приведена на рис. 3.
Работа всех блоков процедуры, кроме блоков 9 и 10, ясна из блоксхемы. Блок 9 совпадает с блоком 8 процедуры П1 (см. рис. 1).
4
Нет
Находим q: p-^pg;
Находим q со свойства- 9 чи 5{s,g)*a/;
17 Конец
Рис. 3. Блок-схема процедуры П2.
В блоке 10 находится кратчайшая последовательность, удовлетво ряющая условию У5, условию б (s, q) € Л ( U Тх), и если| St f]
x
П T\ > 2, то б (s, q) Ф at. Таким образом, для последовательности, построенной по П2, будет выполняться соотношение Г) — е -*• q, =
«е для всех /, / > 1.
Основная идея процедуры П2 заключается в следующем.