Теория автоматов

25
Теория автоматов Теория автоматов Конечные автоматы Конечные автоматы

description

Теория автоматов. Конечные автоматы. Минимизация КА. Из примера 3.2 видно, что разные автоматы могут функционировать одинаково, даже если у них разное число состояний. Важной задачей является нахождение минимального автомата, который реализует заданное автоматное отображение. - PowerPoint PPT Presentation

Transcript of Теория автоматов

Page 1: Теория автоматов

Теория автоматовТеория автоматов

Конечные автоматыКонечные автоматы

Page 2: Теория автоматов

Минимизация КАМинимизация КА

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

Page 3: Теория автоматов

Минимизация КАМинимизация КА

Определение 3.7. Два состояния р и Определение 3.7. Два состояния р и q q конечного автомата А - конечного автомата А - <<SS, , XX, , YY, , sqsq, 8, Х> называются эквивалентными (обозначается , 8, Х> называются эквивалентными (обозначается pp««qq), если (), если (VaG XVaG X*)*)XX*(*(pp, , aa) =) =XX*(*(qq, , aa).).Для автомата (рис. 3.8, Для автомата (рис. 3.8, а) а) состояния состояния qO qO и и qq2 эквивалентны: 2 эквивалентны: любая входная цепоч ка, поданная на автомат, находящийся в любая входная цепоч ка, поданная на автомат, находящийся в состоянии состоянии qOqO, даст такую же реакцию, как и в случае, когда , даст такую же реакцию, как и в случае, когда автомат вначале находился в состоянии автомат вначале находился в состоянии qq2. Эквивалентные со 2. Эквивалентные со стояния можно объединить в один класс и построить новый стояния можно объединить в один класс и построить новый автомат, состояниями которого являются классы автомат, состояниями которого являются классы эквивалентных состояний (см. рис. 3.8, эквивалентных состояний (см. рис. 3.8, а). а). Эквивалент ные Эквивалент ные состояния объединены в классы, эти классы и являются состояния объединены в классы, эти классы и являются состояниями нового автомата (рис. 3.8, состояниями нового автомата (рис. 3.8, б). б). Если мы можем Если мы можем определить на множестве состояний авто мата «максимально определить на множестве состояний авто мата «максимально возможное» разбиение на классы эквивалентности, то, выби рая возможное» разбиение на классы эквивалентности, то, выби рая его классы эквивалентности как новые состояния, получим его классы эквивалентности как новые состояния, получим минимальный ав томат, эквивалентный исходному минимальный ав томат, эквивалентный исходному

Page 4: Теория автоматов

Минимизация КАМинимизация КА

Рис. 3.8. Классы эквивалентных состояний произведения конечных автоматов примера 3.

Page 5: Теория автоматов

Минимизация КАМинимизация КА

Определение 3.7 не является конструктивным: оно не дает нам Определение 3.7 не является конструктивным: оно не дает нам процедуры выяс нения того, являются ли два состояния процедуры выяс нения того, являются ли два состояния эквивалентными, поскольку мы не можем перебрать все эквивалентными, поскольку мы не можем перебрать все входные цепочки. Однако существует алгоритм определения входные цепочки. Однако существует алгоритм определения макси мального отношения эквивалентности на множестве макси мального отношения эквивалентности на множестве состояний конечного авто мата, который мы сейчас и состояний конечного авто мата, который мы сейчас и рассмотрим.рассмотрим.Алгоритм состоит в последовательном построении на Алгоритм состоит в последовательном построении на множестве состояний автома та А разбиений я0, яь ..., я*,, таких, множестве состояний автома та А разбиений я0, яь ..., я*,, таких, что в один класс разбиения 7что в один класс разбиения 7ik ik попадают попадают kk-эк-вивалентные -эк-вивалентные состояния, то есть те, которые неразличимы входными состояния, то есть те, которые неразличимы входными цепочками /фшной цепочками /фшной kk. Такие состояния будем считать . Такие состояния будем считать находящимися в отношении эквивалент ности «находящимися в отношении эквивалент ности «kk. Если -. Если -nn((pp««k qk q), ), то р и то р и q q назовем назовем kk-различимыми. Из определения 3.7: Р ~-различимыми. Из определения 3.7: Р ~k k Я Я <=> (<=> (Vae XVae X*, | *, | aa | < | < kk))XX*(*(pp, , aa) = ) = XX*(*(qq, , aa). ).

Page 6: Теория автоматов

Минимизация КАМинимизация КА

Очевидно, что в любом автомате все состояния 0-Очевидно, что в любом автомате все состояния 0-эквивалентны, поскольку при подаче пустой цепочки на вход эквивалентны, поскольку при подаче пустой цепочки на вход автомата (цепочки длины 0) выходом является также пустая автомата (цепочки длины 0) выходом является также пустая цепочка независимо от состояния, в котором автомат цепочка независимо от состояния, в котором автомат находится. Следующее разбиение находится. Следующее разбиение ъ ъ также легко построить. также легко построить. Действительно, по определению в один блок Действительно, по определению в один блок щ щ попадают все попадают все состояния, в которых автомат одинаково реагирует на входные состояния, в которых автомат одинаково реагирует на входные сигналы: р сигналы: р ^{ ^{ q q <=> (<=> (Vxe Vxe Х)А,(р, х) = Х)А,(р, х) = XX((qq, , xx). Разбиения я0, ). Разбиения я0, содержащее один единственный блок, в который входят все содержащее один единственный блок, в который входят все состоя ния автомата, и состоя ния автомата, и п\, п\, в каждом блоке которого собраны в каждом блоке которого собраны состояния, не различимые входными сигналами, являются состояния, не различимые входными сигналами, являются исходными при построении цепочки разбиений я0, исходными при построении цепочки разбиений я0, п п 1,..., я*,. 1,..., я*,. Если мы сможем определить, как строить следующее Если мы сможем определить, как строить следующее разбиение из преды дущего, то начиная мы сможем разбиение из преды дущего, то начиная мы сможем последовательно построить и всю цепочку.последовательно построить и всю цепочку.

Page 7: Теория автоматов

Минимизация КАМинимизация КА

Теорема 3.2. Теорема 3.2. Пусть Пусть р «р «k qk q, , kk >1. >1. Для того чтобы Для того чтобы pp««kk++iqiq> > необходимо и достаточно, чтобы необходимо и достаточно, чтобы ((Vx Vx е Х)8(р, х) «е Х)8(р, х) «kk 8( 8(qq, , xx). ). Иными словами, для того, чтобы два эквивалентных Иными словами, для того, чтобы два эквивалентных состояния конечного автомата были бы состояния конечного автомата были бы kk+1 +1 --эквивалентными, необходимой достаточно, чтобы под эквивалентными, необходимой достаточно, чтобы под воздействием любого входного сигнала автомат переходил воздействием любого входного сигнала автомат переходил из этих состояний в пару состояний, которые сами были бы из этих состояний в пару состояний, которые сами были бы эквивалентными.эквивалентными.Легко понять справедливость этой теоремы. Действительно, Легко понять справедливость этой теоремы. Действительно, для того чтобы вход ная цепочка длины для того чтобы вход ная цепочка длины kk+1, например цепочка +1, например цепочка XX00xx11xx2...2...xkxk, не различала пару состоя ний р и , не различала пару состоя ний р и qq, нужно всего , нужно всего лишь, чтобы автомат из этих состояний переходил под воз-лишь, чтобы автомат из этих состояний переходил под воз-действием х0 в такие состояния, которые не различимы действием х0 в такие состояния, которые не различимы цепочкой цепочкой XiXXiX2...2...XkXk, то есть чтобы 8(р, х0) и 5(, то есть чтобы 8(р, х0) и 5(qq, , xqxq) были бы ) были бы kk--неразличимы (см. рисунок неразличимы (см. рисунок

Page 8: Теория автоматов

Минимизация КАМинимизация КА

Докажем теорему формально.

Page 9: Теория автоматов

Минимизация КАМинимизация КА

(Необходимость.) (Необходимость.) Нужно доказать р «Нужно доказать р «kk+1 +1 qq =» ( =» (VxVx € € XX)6()6(pp, , xx) «) «kk 8(8(qq, , xx). Докажем контрапозицию: (ЭхеХ)[-т8(р, х) «). Докажем контрапозицию: (ЭхеХ)[-т8(р, х) «kk5(5(qq, х)] =» ->р , х)] =» ->р ««kk++i qi q. Если состояния §(р, х) и 8(. Если состояния §(р, х) и 8(qq, х), в которые попадает , х), в которые попадает автомат из р и автомат из р и q q под воздействием х, различимы, то пусть под воздействием х, различимы, то пусть xtxxtx2.. .2.. .Xk Xk — цепочка входных сигналов, их различающая. Тогда, — цепочка входных сигналов, их различающая. Тогда, очевидно, це почка х очевидно, це почка х XiXXiX2.. .2.. .xk xk длиной длиной kk+1 различает р и +1 различает р и qq..(Достаточность.) (Достаточность.) Нужно доказать (Нужно доказать (Vx e XVx e X)8()8(pp, , xx) «) «kk 8( 8(qq, , xx) =» р ) =» р ««kk++j qj q, если р «, если р «k q k q при при k k > 1. Из определения расширенной > 1. Из определения расширенной функции переходовфункции переходовХ*(р, х<*) =Х*(р, х<*) =ii((pp, х)Я*(8(р, х)о) и , х)Я*(8(р, х)о) и XX*(*(qq, , xoxo) = ) = XX((qq, , xx))XX*(8(*(8(qq,,xx))oo).).Поскольку Поскольку k k > 1 и р «> 1 и р «kqkq, Х(р, х) = , Х(р, х) = XX((qq, , xx). Из того, что 8(р, х) и ). Из того, что 8(р, х) и 8(8(qq, , xx) ) kk-эквивалентны, следует, что (-эквивалентны, следует, что (Va e Xk Va e Xk )Я * (5 (р, )Я * (5 (р, xx))aa) = Я * ) = Я * (8 ((8 (qq, , xx ) )aa). Следовательно, для любых цепочек Р длины ). Следовательно, для любых цепочек Р длины kk+1, +1, Х*(р, Р) = Х*(р, Р) = AA,*(,*(qq, Р), то есть р «, Р), то есть р «kk+1 +1 qq, что и требовалось доказать , что и требовалось доказать

Page 10: Теория автоматов

Минимизация КАМинимизация КА

Очевидно, что если р и Очевидно, что если р и qkqk+1-эквивалентны, то они +1-эквивалентны, то они kk-эквивалентны. Иными сло-вами,,блоки разбиения -эквивалентны. Иными сло-вами,,блоки разбиения яяkk+1 являются подблоками разбиения Я|<. Поскольку число состояний конечно, может быть только +1 являются подблоками разбиения Я|<. Поскольку число состояний конечно, может быть только конечное число последовательно умень шающихся разбиений конечное число последовательно умень шающихся разбиений TikTik, начиная с максимального разбиения Я0, , начиная с максимального разбиения Я0, содержащего один единственный блок. Более того, очевидно, что их не больше, чем содержащего один единственный блок. Более того, очевидно, что их не больше, чем NN-число состоя ний -число состоя ний автомата. Однако последовательное построение уменьшающихся разбиений я г можно не продолжать автомата. Однако последовательное построение уменьшающихся разбиений я г можно не продолжать дальше, как только два последовательных разбиения со впадают.дальше, как только два последовательных разбиения со впадают.Теорема 3.3. Теорема 3.3. Пусть Пусть 77tktk++ii *" я^ *" я^ Тогда для любого Тогда для любого i i > > kk, , nn\\e e я^. я^. Доказательство. Из доказанного выше следует, что:Доказательство. Из доказанного выше следует, что:((VpVp, , qG SqG S))pp « «ktl q ktl q <=> р «<=> р «k qk q&(&(Vxe XVxe X)5()5(pp, , xx) «) «k Sk S((qq, , xx).).Обозначим Обозначим RR((pp, , qq, , kk) = () = (Vxe XVxe X)5()5(pp, , xx) «?) «?kk 5( 5(qq, , xx)» Тогда доказанное утверждение теоремы 3.2 запишется: )» Тогда доказанное утверждение теоремы 3.2 запишется: ( (VpVp,,qeSqeS))pp««kk+1+1qq<=»<=»pp««kqkq&&RR((pp,,qq,,kk). ).

Page 11: Теория автоматов

Минимизация КАМинимизация КА

Пусть теперь р «Пусть теперь р «rr++i q i q - р «- р «r qr q. Тогда (. Тогда (VpVp, , q q € € SS))pp « «r q r q <=» <=» pp » »r r qq&&RR ( (pp, , qq, , kk). Но это зна чит, что (). Но это зна чит, что (VpVp, , qeSqeS))pp««r qr q=>=>RR((pp, , qq, , rr).).Предположим теперь, что для некоторого Предположим теперь, что для некоторого i i > г «> г «ii' - «г, но «}+' - «г, но «}+i i * «* «jj. . Это значит, что -Это значит, что -ii[([(VpVp, , qe Sqe S))pp « «j q j q =» =» RR((pp, , qq, , ii)]. Однако, поскольку )]. Однако, поскольку «{ «{ e e »„ »„ a R a R зависит только от «ь это противоречит утверждению зависит только от «ь это противоречит утверждению ((VpVp, , qe Sqe S))pp « «r q r q => => RR((pp, , qq, г) и, следовательно, наше , г) и, следовательно, наше предположение неверно, что и требовалось доказать.предположение неверно, что и требовалось доказать.Начальное разбиение представляет собой один блок, Начальное разбиение представляет собой один блок, включающий все состояния, поскольку входные цепочки длиной включающий все состояния, поскольку входные цепочки длиной 0 (пустая цепочка е) не различают состояний: независимо от 0 (пустая цепочка е) не различают состояний: независимо от того, в каком состоянии автомат находился при подаче входа е, того, в каком состоянии автомат находился при подаче входа е, вы ходом тоже будет е. Поэтомувы ходом тоже будет е. Поэтомуя0-{Аов<1,2,3,4,5,6,7,8,9>}. я0-{Аов<1,2,3,4,5,6,7,8,9>}.

Page 12: Теория автоматов

Минимизация КАМинимизация КА

Разбиение Разбиение ki ki в один блок объединяет те состояния, которые в один блок объединяет те состояния, которые нельзя различить при подаче цепочек длиной 1. Функция нельзя различить при подаче цепочек длиной 1. Функция выходов выходов X X при подаче а и при подаче а и b b не может различить 1,3, 5, 6,8 и 9, не может различить 1,3, 5, 6,8 и 9, поскольку для каждого из этих состояний при подаче на вход поскольку для каждого из этих состояний при подаче на вход авто мата а он выдает 1, а при подаче на вход авто мата а он выдает 1, а при подаче на вход b b он выдает 0. он выдает 0. Состояния 2,4 и 7 попадают в другой блок, но между собой Состояния 2,4 и 7 попадают в другой блок, но между собой входной цепочкой длины 1 их различить нельзя. Поэтому:входной цепочкой длины 1 их различить нельзя. Поэтому:Я1 - {Я1 - {Ai Ai - <1,3,5,6,8,9>; - <1,3,5,6,8,9>; Bt Bt - <2,4,7>}.- <2,4,7>}.Следующее разбиение я2 объединяет в один блок те Следующее разбиение я2 объединяет в один блок те состояния, которые нельзя различить при подаче цепочек состояния, которые нельзя различить при подаче цепочек длиной 2. Перебирать все такие цепочки долго, по этому длиной 2. Перебирать все такие цепочки долго, по этому воспользуемся теоремой 3.2. В соответствии с ней, в один блок воспользуемся теоремой 3.2. В соответствии с ней, в один блок разбиения 7разбиения 7tktk++i i попадут те состояния р и попадут те состояния р и qq, для которых , для которых справедливо (справедливо (Vxe XVxe X)5()5(pp, , xx) «) «kk 5( 5(qq, , xx). ).

Page 13: Теория автоматов

Минимизация КАМинимизация КА

Как было установлено выше, эти состояния должны Как было установлено выше, эти состояния должны быть из одного блока преды дущего разбиения. быть из одного блока преды дущего разбиения. Обратимся к построению я2. Построим таблицу Обратимся к построению я2. Построим таблицу переходов, но вместо значения состояния 8(р, х) переходов, но вместо значения состояния 8(р, х) будем писать номер блока разбиения я^ в кото рое будем писать номер блока разбиения я^ в кото рое попадает 5(р, х). Так, 8(3, а) - 1, а это состояние попадает 5(р, х). Так, 8(3, а) - 1, а это состояние находится в блоке находится в блоке aiai. Анало гично, 8(3, Ь) - 4, а это . Анало гично, 8(3, Ь) - 4, а это состояние находится в блоке состояние находится в блоке bibi..После такого построения видно, что состояния 1,3,5, После такого построения видно, что состояния 1,3,5, б, 8 и 9 нужно разбить на три блока: <1, 5, 6>, <3, 9> б, 8 и 9 нужно разбить на три блока: <1, 5, 6>, <3, 9> и <8>. Состояния 2, 4 и 7 попадают в одни и те же и <8>. Состояния 2, 4 и 7 попадают в одни и те же блоки предыдущего разбиения яь поэтому они блоки предыдущего разбиения яь поэтому они попадут в один и тот же блок разбиения я2. Итак:попадут в один и тот же блок разбиения я2. Итак:я2 - {А2 - <1,5, б>; В2 - <2,4,7>; С2 - <3,9>; я2 - {А2 - <1,5, б>; В2 - <2,4,7>; С2 - <3,9>; DD2 - <8>}. 2 - <8>}.

Page 14: Теория автоматов

Минимизация КАМинимизация КААналогично строится Яз. При его построении не нужно проверять, Аналогично строится Яз. При его построении не нужно проверять, в какой блок Я2 будет переходить автомат из состояния 8, в какой блок Я2 будет переходить автомат из состояния 8, поскольку оно единственное в блоке раз биения я2, и поэтому поскольку оно единственное в блоке раз биения я2, и поэтому далее дробиться этот блок не будет. Таким образом, далее дробиться этот блок не будет. Таким образом, я3 - {А3 - <1,5, б>; В3 - <2>; С3 -<4,7>; я3 - {А3 - <1,5, б>; В3 - <2>; С3 -<4,7>; DD3 = <3,9>; Е3 - <8>}. 3 = <3,9>; Е3 - <8>}. Разбиение я4 совпадает с разбиением я3. На основании теоремы Разбиение я4 совпадает с разбиением я3. На основании теоремы 3.3 искомое раз биение я,» совпадает с Я3. Итак, минимальный 3.3 искомое раз биение я,» совпадает с Я3. Итак, минимальный автомат с эквивалентным поведени ем имеет 5 состояний, автомат с эквивалентным поведени ем имеет 5 состояний, представляющих блоки разбиения я3, а его функции пере ходов и представляющих блоки разбиения я3, а его функции пере ходов и выходов определяются так: 8(А3, а) = выходов определяются так: 8(А3, а) = DD3,8(А3, Ь) - А3, Х(А3, а) - 1 3,8(А3, Ь) - А3, Х(А3, а) - 1 и т. д.. и т. д..

Page 15: Теория автоматов

Автоматы Мили и МураАвтоматы Мили и Мура

Рассмотренная выше модель называется автоматом Мили. Рассмотренная выше модель называется автоматом Мили. Автоматы Мура об разуют другой класс моделей, с точки зрения Автоматы Мура об разуют другой класс моделей, с точки зрения вычислительной мощности полно стью эквивалентный классу вычислительной мощности полно стью эквивалентный классу автоматов Мили. В автомате Мура А = <автоматов Мили. В автомате Мура А = <SS, , XX, , YY, , ss0,5, 0,5, Х> Х> выходная функция Л определяется не на паре <состояние, выходная функция Л определяется не на паре <состояние, входной сигнал>входной сигнал>а только на состоянии: а только на состоянии: XX: : SS-»-»YY. Пример конечного автомата . Пример конечного автомата Мура представлен на рис. 3.9, Мура представлен на рис. 3.9, а. а. Здесь выход автомата Здесь выход автомата определяется однозначно тем состоянием, в которое автомат определяется однозначно тем состоянием, в которое автомат переходит после приема входного сигнала. Например, в состо переходит после приема входного сигнала. Например, в состо яние яние si si можно прийти по трем переходам: из состояния можно прийти по трем переходам: из состояния sO sO под под воздействием Ь, из состояния воздействием Ь, из состояния ss2 под воздействием Ь, из 2 под воздействием Ь, из состояния состояния si si под воздействием а. Во всех трех случаях под воздействием а. Во всех трех случаях выходная реакция автомата одна и та же: выходной сигнал у2. выходная реакция автомата одна и та же: выходной сигнал у2. Оче видно, что по любому автомату Мура легко построить Оче видно, что по любому автомату Мура легко построить эквивалентный ему авто-мат Мили; для автомата Мура (рис. эквивалентный ему авто-мат Мили; для автомата Мура (рис. 3.9, 3.9, а) а) эквивалентный ему автомат Мили изоб ражен на рис. 3.9, эквивалентный ему автомат Мили изоб ражен на рис. 3.9, бб

Page 16: Теория автоматов

Автоматы Мили и МураАвтоматы Мили и Мура

Рис. 3.9. Автомат Мура (а) и эквивалентный ему автомат Мили

Page 17: Теория автоматов

Автоматы Мили и МураАвтоматы Мили и Мура

Не столь очевидно, что справедливо и обратное: для Не столь очевидно, что справедливо и обратное: для любого автомата Мили суще ствует эквивалентный любого автомата Мили суще ствует эквивалентный ему автомат Мура. Справедливость этого ему автомат Мура. Справедливость этого утверждения лег ко доказывается конструктивно. утверждения лег ко доказывается конструктивно. Рассмотрим рис. 3.10. Каждое состояние Рассмотрим рис. 3.10. Каждое состояние s s авто мата авто мата Мили (см. рис. 3.10, Мили (см. рис. 3.10, а) а) расщепляется на несколько расщепляется на несколько эквивалентных состоя ний, с каждым из которых эквивалентных состоя ний, с каждым из которых связывается один выходной символ. Для нашего связывается один выходной символ. Для нашего приме ра это состояния рО, приме ра это состояния рО, pipi, , qOqO, , qlql, , rOrO, , rlrl. . Построение переходов эквивалентного авто мата Построение переходов эквивалентного авто мата Мура ясно из рисунка.Мура ясно из рисунка.а/Оа/ОЬ/0Ь/0

Page 18: Теория автоматов

Автоматы Мили и МураАвтоматы Мили и Мура

Рис. 3.10. Автомат Мили (а) и эквивалентный ему автомат Мура (б)

Page 19: Теория автоматов

Примеры КАПримеры КА

ТриггерыТриггеры Триггер является простейшим автоматом. Рассмотрим два типа Триггер является простейшим автоматом. Рассмотрим два типа триггеров: триггеров: RSRS--f f гер и счетный триггер. Состояние этих гер и счетный триггер. Состояние этих автоматов является их выходом, то есть автоматы Мура. В автоматов является их выходом, то есть автоматы Мура. В RSRS--триггере два входа: триггере два входа: Reset Reset и и SetSet. . Вход Вход Reset Reset сбрасывает, < сбрасывает, < устанавливает единичное состояние автомата. В счетном устанавливает единичное состояние автомата. В счетном триггере единствен счетный вход переключает автомат из триггере единствен счетный вход переключает автомат из нулевого состояния в единичное и обранулевого состояния в единичное и обра

Page 20: Теория автоматов

Примеры КАПримеры КА

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

Page 21: Теория автоматов

Примеры КАПримеры КА

Структурная схема электронных часов казана на рис. 3.11. Структурная схема электронных часов казана на рис. 3.11. Управляющие кнопки обозначены здесь «а» и «Ь». Кроме Управляющие кнопки обозначены здесь «а» и «Ь». Кроме устройства отображения, высвечивающего цифры, и схемы устройства отображения, высвечивающего цифры, и схемы отображения, преобразующей двоично-десятичные коды цифр отображения, преобразующей двоично-десятичные коды цифр в семиразрядный код управления с диодами, на схеме в семиразрядный код управления с диодами, на схеме показаны четыре регистра отображения, хранящие дво но-показаны четыре регистра отображения, хранящие дво но-десятичные коды четырех цифр, которые в настоящий момент десятичные коды четырех цифр, которые в настоящий момент высвечивается на циферблате с помощью схемы и устройства высвечивается на циферблате с помощью схемы и устройства отображения, комбинационные схемы «ИЛИ», пропускающие отображения, комбинационные схемы «ИЛИ», пропускающие любой из разрешенных кодов на регистре отображения, шина любой из разрешенных кодов на регистре отображения, шина «Управление», разрешающая в каждой ситуации выдач} «Управление», разрешающая в каждой ситуации выдач} регистры отображения сигналов только либо секундомера, либо регистры отображения сигналов только либо секундомера, либо часов, либо да На схеме также присутствуют регистры часов, либо да На схеме также присутствуют регистры секундомера и генератор тиков, который выдает сигнал с секундомера и генератор тиков, который выдает сигнал с частотой 1 Гц. На рисунке зафиксирован момент «19 июня, 15 частотой 1 Гц. На рисунке зафиксирован момент «19 июня, 15 сов, 04 минуты, 43 секунды». сов, 04 минуты, 43 секунды».

Page 22: Теория автоматов

Примеры КАПримеры КА

Устройство управления, Устройство управления, организующее работу всех организующее работу всех элементов электронных час элементов электронных час построено на основе модели построено на основе модели конечного автомата. Граф конечного автомата. Граф переходов этого автомата переходов этого автомата изображен на рис. 3.12. В изображен на рис. 3.12. В начальном состоянии начальном состоянии отображается время. Это отображается время. Это значит что двоичный код значит что двоичный код этого состояния (после этого состояния (после дешифрирования) открывает дешифрирования) открывает выходвыход41 41

Page 23: Теория автоматов

Примеры КАПримеры КА

Примеры КАПримеры КА

четырех двоично-четырех двоично-десятичных десятичных регистров, хранящих регистров, хранящих единицы и десятки единицы и десятки шшут и единицы и шшут и единицы и десятки часов на десятки часов на входы четырех входы четырех комбинационных комбинационных схем «ИЛИ». схем «ИЛИ».

Рис. 3.11. Структурная схема электронных часов

Page 24: Теория автоматов

Примеры КАПримеры КАРис. 3.12. Автомат Рис. 3.12. Автомат устройства управления устройства управления электронными часами электронными часами

Конечный автомат реагирует Конечный автомат реагирует на событие нажатия кнопки на событие нажатия кнопки «а» на корпусе часов «а» на корпусе часов переходом в состояние переходом в состояние «Установка минут», в «Установка минут», в котором событие нажатия котором событие нажатия кнопкикнопки

Page 25: Теория автоматов

Примеры КАПримеры КА

«Ь» вызовет увеличение числа, хранящегося в «Ь» вызовет увеличение числа, хранящегося в регистрах, отведенных для минут. При этом регистрах, отведенных для минут. При этом переносы из регистра секунд и в регистр, отведенный переносы из регистра секунд и в регистр, отведенный под хранение чис ла, блокируются. Событие нажатия под хранение чис ла, блокируются. Событие нажатия кнопки «Ь» в состоянии «Установка месяца» вызовет кнопки «Ь» в состоянии «Установка месяца» вызовет увеличение числа, хранящегося в регистрах, увеличение числа, хранящегося в регистрах, отведенных для месяца. На рис. 3.12 не показана отведенных для месяца. На рис. 3.12 не показана возможность и алгоритм работы с секундомером.возможность и алгоритм работы с секундомером.Промышленность выпускает много типов Промышленность выпускает много типов электронных часов с различными функ циональными электронных часов с различными функ циональными возможностями. Схемы управления таких часов возможностями. Схемы управления таких часов можно построить, имея навык реализации конечных можно построить, имея навык реализации конечных функциональных преобразователей и построе ния функциональных преобразователей и построе ния конечноавтоматных моделей дискретных систем конечноавтоматных моделей дискретных систем управления.управления.