Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Богомолов А.М. Эксперименты с автоматами

.pdf
Скачиваний:
24
Добавлен:
23.10.2023
Размер:
7.81 Mб
Скачать

Покажем вначале, что (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 (р),

получаем

соотношение

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 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, х{),

то

(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

для ко­

торой

рхх

< р

и (s0 ,

рх)

=

s. Из

условий

Уб — У7

вытекает,

что всякая

последовательность, построенная по П (V), является

s0-

обходом. В работе [38] показано, что 50 -обход автомата Ау существу­ ет тогда и только тогда, когда существует нумерация слоев автомата Ау со свойствами 1—3. Таким образом, если П (V) £ К существует, то необходимо существует нумерация слоев автомата А у со свойства­

ми I 3 . Покажем, что существование нумерации со

свойствами

14 достаточно для существования процедуры П (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\

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с о с т о я н и е

(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 в ы б и р а е м

т а к , ч т о б ы

д л я н е к о т о р о г о

г

(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 заключается в следующем.

Соседние файлы в папке книги из ГПНТБ