77

Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния
Page 2: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Эдвард Эшфорд Ли Прайван Варая

Структура и

анализ сигналов и систем

Беркли, Калифорния.

Page 3: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Перевод А Соловьёв www.dashindresearches.wordpress.com

Глава 3 ......................................................................................................................................................... 4

Дискретные автоматы. State machines .............................................................................................................. 4

3.1. Устройство автоматов. Structure of state machines .................................................................................. 4

3.1.1 Функция переходов и выходов. Updates. ................................................................................................................ 6

3.1.2 Холостой ход. Stuttering ............................................................................................................................................. 7

3.2 Конечные автоматы. Finite state machine. .................................................................................................. 9

3.2.1 Диаграмма состояний и переходов. State transition diagram. ............................................................................ 10

3.2.2. Таблицы переходов и выходов. Update table. ..................................................................................................... 14

3.3. Недетерминированные автоматы. Nondeterministic state machines. ................................................... 19

3.3.1. Диаграмма состояний и переходов. State transition diagram ............................................................................ 19

3.3.2 Наборы и функции преобразования. Sets and functions model. ........................................................................ 22

3.4. Имитация, обобщение, эквивалентность. Simulation, abstraction, equivalence. ................................ 24

3.4.1. Линии поведения(поведение автомата). Behaviors ............................................................................................ 31

3.5. Итоги. ............................................................................................................................................................. 34

Упражнения. ........................................................................................................................................................ 34

Глава 4. ...................................................................................................................................................... 41

Композиция автоматов. Composing State Machines ...................................................................................... 41

4.1. Синхронизация. Synchrony ......................................................................................................................... 41

4.2. Параллельная композиция. Side-by-side composition ............................................................................ 42

4.3. Последовательная композиция. Cascade composition ............................................................................ 45

4.4. Автоматы с раздельными входами и раздельными выходами. Композиция с мультипликативной формой входов и выходов. Product-form inputs and outputs ................................. 48

4.5. Соединение автоматов без петли обратной связи. General feedforward composition. ...................... 51

4.6 Иерархические композиции. Hierarchical composition. .......................................................................... 53

4.7. Обратная связь. Feedback. .......................................................................................................................... 54

4.7.1 Композиция с обратной связью, без входных сигналов. Feedback composition with no inputs. ................... 55

4.7.2. Выходы, определяемые состоянием. State-determined output .......................................................................... 59

4.7.3 Композиция с обратной связью, с входными сигналами. Feedback composition with inputs. ...................... 62

4.7.4 Конструктивная методика для композиций с обратной связью. Constructive procedure for feedback composition .......................................................................................................................................................................... 65

4.7.5. Метод полного перебора. Exhaustive search ........................................................................................................ 68

4.7.6 Недетерминированные автоматы. Nondeterministic machines ........................................................................ 68

Углублённый материал: Конструктивная семантика. Constructive Semantics ...................................................... 70

4.8. Итоги. ............................................................................................................................................................. 71

Упражнения. ........................................................................................................................................................ 71

Page 4: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Глава 3

Дискретные автоматы. State machines Система соответствует математической функции преобразующей сигналы. Область

определения, как и множество значений этой функции, являются двумя множествами сигналов. Каждый из сигналов, в свою очередь, это меняющаяся во времени величина, значение которой в общем случае принадлежит множеству действительных чисел. Это в значительной мере усложняет задачу формального описания такой функции. Однако, широкий класс систем может быть описан с использованием понятия внутреннее состояние (state), и представления о том, что в процессе функционирования система претерпевает ряд последовательных перемен своего состояния. Это явление называют: происходят изменения состояния системы (state transition). Такое описание называется: моделирование системы посредством определения пространства состояний (state-space models).

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

В этой главе мы ознакомимся с моделированием пространства состояний, рассмотрев системы с конечным количеством состояний. Кроме того, для упрощения понимания материала, это будут системы с небольшим количеством состояний. Такие системы типичны для устройств управляющих потоками некоторых событий (потоками данных), реализованных в виде логических электронных схем. Например, описанное в главе 1 устройство устанавливающее соединение между двумя модемами, может быть смоделировано с использованием пространства состояний с конечным числом состояний. Полученная модель даст более точное, строгое и понятное описание, чем описание этого же процесса сделанное на человеческом языке.

3.1. Устройство автоматов. Structure of state machines Представляя систему как функцию, мы вводим три категории: набор входных

сигналов, набор выходных сигналов, и сама функция, преобразующая входные сигналы в выходные

Для автомата входные и выходные сигналы имеют вид: где {0,1,2,...}ℕℕℕℕ0 = , а Символы это произвольное множество.

: _ _F Входные сигналы Выходные сигналы→→→→

0_Поток событий Символы= →= →= →= → ℕℕℕℕ

Page 5: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

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

Автомат помещает в выходной поток один символ, каждый раз, как обнаруживает, что один символ появился на входе. Математически строго говоря, автомат включает в себя 5 категорий

здесь Состояния, Входы и Выходы – множества, а ФПВ - функция Каждый из перечисленных элементов означает следующее: Состояния - множество всех состояний, в которых может находиться автомат на

протяжении своего жизненного цикла. Входы – входной алфавит, множество всех возможных символов на входе этого

автомата. Выходы – выходной алфавит, множество символов, которые могут появиться на

выходе этого автомата. Исходное_состояние – для автомата указывается конкретное состояние, в котором

он окажется после включения. ФПВ – функция переходов и выходов, отображающая входной алфавит в выходной

алфавит с учётом текущего состояния. Само состояние тоже при этом меняется Рассмотренная пятёрка категорий называется: описание автомата как

наборов(состояний, входов, выходов) и функций преобразования. Входы и Выходы это множества всех возможных входных и выходных символов.

Входной_сигнал состоит из неограниченного числа следующих друг за другом символов принадлежащих множеству Входы

Выходной_сигнал состоит из неограниченного числа следующих друг за другом

символов принадлежащих множеству Выход Пусть множество _x Входной сигнал∈∈∈∈ каждый отдельный символ этого сигнала

может быть записан как (((( ))))x n где 0n ∈∈∈∈ℕℕℕℕ . Следовательно, весь входной сигнал можно

записать как последовательность

(x(0), x(1), ... , x(n), ...)

_ ( , , , _ , )State machine States Inputs Outputs initial State update====

( , , , _ , )Автомат Состояния Входы Выходы Исходное состояние ФПВ====

_Исходное состояние Состояния∈∈∈∈

Состояния Входы Состояния Выходы× → ×× → ×× → ×× → ×

0_Входной сигнал Входы= →= →= →= → ℕℕℕℕ

0_Выходной сигнал Выходы= →= →= →= → ℕℕℕℕ

(3.1)

Page 6: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Таким образом мы определили функцию x, как последовательность отдельных символов ( )x n Входы∈ .

Повторимся, что индекс n в записи x(n) не означает время, это можно считать скорее номером шага. Он нужен только для задания порядка следования: шаг n следует за шагом n-1 и предшествует шагу n+1. То есть автомат функционирует (переходит от одного состояния к другому) пошагово. Конечно, шаги могут следовать с фиксированным интервалом, тогда можно установить простую связь между последовательностью шагов и временем. Но могут быть случаи, когда такую связь установить нельзя, или когда часть шагов следует через фиксированные интервалы, а часть нет.

3.1.1 Функция переходов и выходов. Updates.

Функции переходов и выходов(ФПВ) даётся следующая трактовка. Если ∈∈∈∈s(n) Состояния , это текущее состояние на шаге n, а ∈∈∈∈x(n) Входы текущий

входной символ, то текущий выходной символ и следующее состояние определяются как: Таким образом, ФПВ позволяет автомату получать на каждом шаге выходной

сигнал, следя за входным сигналом. Если воспользоваться определениями описанными (3.1), Автомат реализует

функцию: такую, что каждому входному сигналу ∈∈∈∈x Входной_сигнал соответствует выходной

сигнал y = F(x) . Однако автомат это не просто функция, но функция, которая сама меняется в зависимости от входного сигнала. И пространство состояний определяет как эта функция будет меняться для любого конкретно указанного сигнала. Реакция автомата так же носит название отклик автомата на входное воздействие. Отклик включает изменение состояний (s(0), s(1), ... , s(n), ...) и изменение выходного сигнала, которые происходят по следующей схеме:

Обратите внимание, если выбрать другое Исходное состояние, то в общем случае

функция F получается другой, для того же самого входного сигнала. Поэтому Исходное состояние важная и неотъемлемая часть описания автомата.

Каждое вычисление функции (3.4) это процесс происходящий в автомате, который называется реакция, потому что в ходе этого процесса определяется как автомат реагирует на отдельно взятый символ на входе. Следует отметить что в качестве реакции на каждый входной символ даётся ровно один выходной символ.

При рассмотрении системы как модели пространства состояний нет необходимости иметь в наличии полную и законченную входную последовательность, чтобы начать генерировать последовательность символов на выходе. Это крайне удобное свойство с точки зрения практического применения автоматов, потому что бывает очень накладно с точки зрения ресурсов или совсем невозможно иметь произвольный доступ ко всей последовательности. Следует принять во внимание, то что последовательность часто бывает непрекращающейся во времени, т.е. такой, что её можно считать бесконечной! Процедура описанная (3.3)-(3.4) представляет собой детерминированный процесс,

( ( 1), ( )) ( ( ), ( ))s n y n ФПВ s n x n+ =+ =+ =+ =

:F Входы Выходы→→→→

(0) _s Исходное состояние====

0,( ( 1), ( )) ( ( ), ( ))n s n y n ФПВ s n x n∀ ≥ + =∀ ≥ + =∀ ≥ + =∀ ≥ + =

(3.2)

(3.3)

(3.4)

Page 7: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

поскольку каждое последующее состояние s(n+1) и текущий выходной символ y(n) зависит только от начального состояния s(0) и предшествовавшей последовательности символов на входе, включая текущий x(0), x(1), … , x(n).

ФПВ удобно рассматривать как композицию двух функций: Суть которых такова. Если s(n) текущее состояние, а x(n) текущий символ на

входе для шага n, то следующее состояние будет: а текущий символ на выходе или иначе говоря для каждого ∈∈∈∈s(n) Состояния и ∈∈∈∈x(n) Вход верно:

3.1.2 Холостой ход. Stuttering

Ранее было сказано, что автомат помещает в выходной поток один символ, каждый

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

Позже, когда мы будем составлять из простых автоматов более сложные, нам понадобится, чтобы в модели явно присутствовало нечто, явно указывающее, что на входе автомата нет никаких символов, и соответственно не будет ни символов на выходе, ни изменения внутренних состояний. Поэтому вводится требование, чтобы множества входных символов и выходных символов были дополнены нейтральным символом, который условимся обозначать нейс (absent). То есть:

То есть на нейтральный символ будет холостая реакция (stuttering reaction), или

иными словами на нейтральный символ нет никакой реакции, так как нейс соответствует отсутствию сигнала на входе, и как уже было сказано выше, при отсутствии сигнала на входе, не будет символов на выходе и не будет изменений состояния. Отсюда следует, что в исходную входную последовательность можно вставлять неограниченное количество нейсов, в любое её место, при этом в выходной последовательности тоже будут появляться нейсы, но это никак не повлияет на значащие символы. То есть если убрать из такой выходной последовательности все нейсы, то получится такая же последовательность, какая была бы, если бы на вход была подана исходная входная последовательность. Напротив, добавление в исходную последовательность хоть одного значащего символа способно полностью поменять следующую после места вставки выходную последовательность. Холостая реакция, или холостой ход, оказываются критически необходимы для моделей гибридных систем которые будут рассмотрены в главе 6

_ :Функция переходов Состояния Входы Состояния× →× →× →× →_ :Функция выходов Состояния Входы Выходы× →× →× →× →

( 1) _ ( ( ), ( ))s n Функция переходов s n x n+ =+ =+ =+ =

( ) _ ( ( ), ( ))y n Функция выходов s n x n====

( ( 1), ( )) ( ( ), ( )) ( ( ( ), ( )) , ( ( ), ( )))s n y n ФПВ s n x n ФП s n x n ФВ s n x n+ = =+ = =+ = =+ = =

нейс Входы

нейс Выходы

∈∈∈∈∈∈∈∈

( , ) ( , )ФПВ s нейс s нейс====

(3.5)

Page 8: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Пример 3.1 Рассмотрим 60 минутный парковочный счётчик. Он имеет три значащих входных

сигнала: in5 и in25, означающие что положили 5 и 25 центовую монету соответственно, tick, означающий что прошла очередная минута. Счётчик показывает, сколько минут осталось до истечения времени. Когда происходит событие in5, это время увеличивается на 5 минут, когда in25 на 25 минут. Максимальное значение - 60 минут, больше него значение не увеличивается. Когда происходит событие tick, время уменьшается на 1. Минимальное значение 0. Когда значение счётчика достигает 0, дальнейшего уменьшения не происходит, дисплей показывает expired.

Для описанного парковочного счётчика можно построить автомат с конечным числом состояний. Набор состояний

Входной и выходной алфавиты Функция переходов и выходов имеет вид: где min это функция возвращающее значение меньшего из её аргументов. Если например на вход такого автомата поступит последовательность символов

(in25; tick20; in5; tick11; ...) то на выходе будет следующая последовательность символов:

(expired; 25; 24; ... ; 6; 5; 10 ;9 ; 8; ... ; 2; 1;expired; expired; ...) Здесь применено общепринятая запись tick10 , что означает последовательность

из 10 идущих друг за другом символов tick.

{0,1,2, ...,60}Состояния ====

{ 5, 25, , }Входы in in tick absent====

{ ,1,2, ...,60, }Выходы expired absent====

:ФПВ Состояния Входы Состояния Выходы× → ×× → ×× → ×× → ×

( ) , ( )s n Состояния x n Входы∀ ∈ ∈∀ ∈ ∈∀ ∈ ∈∀ ∈ ∈

( ( ), ( ))ФПВ s n x n

if x(n) = tick^(s(n) = 0_s(n) = 1)

(0;expired)

if x(n) = tick^s(n) > 1

(s(n)-1; s(n)-1)

if x(n) = in5

(min(s(n)+5;60);min(s(n)+5;60))

if x(n) = in25

(min(s(n)+25;60);min(s(n)+25;60))

if x(n) = absent

(s(n); absent)

Page 9: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

3.2 Конечные автоматы. Finite state machine. Часто Состояния конечное множество. В таком случае автомат называется

Конечный автомат - КА. (Finite state machine FSM). Конечные автоматы можно досконально исследовать при помощи методик углублённого анализа. В принципе для такого автомата можно указать все возможные последовательности состояний. Парковочный счётчик рассмотренный ранее это пример конечного автомата. В оставшейся части этой главы и следующей главе, мы сосредоточимся на конечных автоматах. К автоматам с неограниченным числом состояний мы обратимся в главе 5.

Когда количество состояний автомата мало, а входныой и выходной алфавиты конечны и тоже малы, автомат может быть описан при помощи весьма удобочитаемой и интуитивно понятной диаграммой состояний и переходов, называемой иначе граф автомата. (state transition diagram).

Пример 3.2. Словесное описание алгоритма работы телефонного автоответчика или голосовой

почты может быть таким: Когда поступает звонок, телефон звонит. Если после третьего гудка трубка не снята

человеком, её снимает автоответчик. Он включает позвонившему заранее записанное приветствие, в котором просит, чтобы тот оставил сообщение. («Здравствуйте, к сожалению, я сейчас не могу ответить на ваш звонок. Пожалуйста, оставьте сообщение после звукового сигнала»). После чего производит запись сообщения позвонившего, которое считается оконченным, когда тот положил трубку. Если трубка снимается до окончания третьего гудка, автоответчик не предпринимает никаких действий.

На рисунке 3.1 изображена диаграмма состояний и переходов, для автомата

моделирующего работу такого автоответчика. Вероятно вы бы смогли разобраться в диаграмме изображённой на рис 3.1. без

дополнительных словесных описаний, типа приведённого выше и без дополнительных объяснений. Диаграмма состояний и переходов интуитивно понятна полностью. Тем не менее, разберём её подробней.

Рисунок 3.1. Диаграмма состояний и переходов автомата Автоответчик.

Page 10: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Состояния ожидание: ничего не происходит 1й гудок: пришёл сигнал вызова, принят первый гудок 2й гудок: пришёл сигнал вызова, принят второй гудок приветствие: проигрывается сообщение-приветствие запись: записывается сообщение позвонившего.

Входы гудок пришёл сигнал вызова трубка снята на принимающей стороне снята трубка приветствие

сыграно закончилось приветствие.

конец сообщения

закончилось сообщение оставленное позвонившим. Определяется по сигналу линии «свободно»

нейс на входе ничего не происходит

Выходы автоответчик

включён поднята трубка, проигрывается приветствие.

записать

начата запись на автоответчик сообщения

записано сообщение записано. нейс на выходе ничего не происходит

3.2.1 Диаграмма состояний и переходов. State transition diagram.

Как видно из рисунка 3.1, диаграмма состояний и переходов состоит из кружков

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

Кружки и стрелки подписаны. Таблицы, расположенные под рисунком, не являются частью диаграммы состояний и переходов. Они просто облегчают нам чтение и понимание этой диаграммы, раскрывая смысл состояний, входных и выходных символов.

На рис 3.2. подробно разобраны условные обозначения подписей на диаграммах переходов и состояний.

Рисунок 3.2. Сводка условных обозначений принятых в диаграммах состояний и

переходов на примере одного состояния с двумя переходами из этого состояния и одной петлёй

Page 11: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Автомат (Состояния, Входы, Выходы, ФПВ, Исходное_состояние)

→→→→ФПВ : Состояния× Входы Состояния× Выходы ∈∈∈∈Начальное_состояние Состояния

Условные обозначения на рисунке

∈∈∈∈состояние Состояния ∈∈∈∈выход 1, выход 2 Выходы

∈∈∈∈условие 1, условие 2 Входы ∈ ∉∈ ∉∈ ∉∈ ∉ ∪∪∪∪прочие = {i Входы | i (условие 1 условие 2)}

Детерминированность

На конкретный входной сигнал в каждом состоянии допускается не более одной возможной реакции (только одна выходящая из состояния стрелка должна быть помечена условие 1)

∩∩∩∩условие 1 условие 2 = 0 В самом кружке записывается название состояния, которое этот кружок

изображает. Названия состояний могут быть любые, но они должны быть уникальными – не должны повторяться в пределах одной диаграммы. Автомат показанный на рис 3.1. имеет пять состояний. Все названия состояний составляют пространство состояний:

Около каждой стрелки подписано условие перехода (guard) и выходной символ

(возможно, но не обязательно). Если выходной символ указан, то он отделяется от условия перехода косой чертой. Например переход из состояния 2й гудок в состояние приветствие подписан {гудок}/автоответчик включён. Условие перехода указывает какой входной символ может запустить соответствующий переход. Условие перехода относится к подмножеству символов входного алфавита Входы. Для автоответчика это

На рисунке 3.1. часть условий помечена словом «прочие». Это специальное

обозначение, указывающее, что будет произведён соответствующий переход, если ни для одного перехода из этого состояния, для которых заданы явные условия, не будет выполнено ни одного условия перехода. Переход помеченный как прочие, также носит название переход при прочих условиях. Например на рис 3.1, для состояния запись сообщения:

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

одновременно не для каждого входного символа определена реакция, подразумевается что для прочих условий неявно задана петля – переход в это же самое состояние. На рис. 3.2 такая петля показана пунктирной линией.

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

Состояния = { ожидание,1й гудок,2й гудок,приветствие,запись}

Входы= { гудок,трубка снята,приветствие сыграно ,конец сообщения,нейс}

прочие = { гудок,приветствие сыграно }

∈ ∉∈ ∉∈ ∉∈ ∉ ∪∪∪∪прочие= {i Входы | i (условие 1 условие 2)}

Page 12: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Изначально автомат, изображённый на рисунке 3.1., находится в состоянии ожидание. Это начальное состояние автомата и оно отмечено в этой связи толстой стрелкой, ведущей в это состояние из ниоткуда. Каждый раз как поступает очередной входной символ, автомат на него реагирует. Он проверяет условия перехода для всех стрелок идущих из текущего состояния и определяет какому из них соответствует символ на входе. А найдя такую стрелку, выполняет соответствующий переход.

Отсюда выводим две закономерности: • Не каждый входной символ может служить причиной перехода автомата в

другое состояние. В рассмотренной нами модели автоответчика, каждое событие входного алфавита вызывает некий переход. Даже те символы, которые не указаны явно, объединены под ярлыком прочие. Это свойство называется полная определённость автомата (receptiveness), т.е. когда для любого символа принадлежащего входному алфавиту, определён переход, вызываемый этим символом, в том числе, переход в то же самое состояние. В последнем случае этот переход обозначается петлёй. Не полностью опроеделённый автомат называется так же частичный автомат.

• Для каждого отдельно взятого состояния, одному и тому же входному символу может соответствовать несколько переходов из этого состояния. Если это так, то говорят, что автомат недетерминированный (nondeterministic). Автомат имеет возможность совершить любой переход, для которого в условии указан текущий входной символ. То есть для такого автомата характерны разные линии поведения на одно и то же входное воздействие. Недетерминированные автоматы будут рассмотрены далее в книге особо, а до тех пор мы будем рассматривать исключительно детерминированные автоматы (deterministic). Выражаясь математически строго, условия всех переходов, задаваемых для определённого состояния, должны быть взаимоисключающими. Или выражаясь иначе, пересечением любых двух условий должно быть пустое множество, как это показано в пояснении к рисунку 3.2.

И в дополнении укажем, что исходя из определения множества иные, пересечение

любого условия с множеством прочие, даёт пустое множество ∅∅∅∅∪∪∪∪условие прочие = . Последовательность символов на входе, как было отмечено, является

первопричиной последовательной смены состояний автомата. Указанная последовательность состояний называется отклик по состояниям (state response).

Пример 3.3. Пусть на вход автомата изображённого на рис. 3.1 поступает последовательность

символов:

(гудок, гудок, трубка снята,...) тогда отклик по состояниям будет:

(ожидание, 1й гудок, 2й гудок, ожидание,...) многоточие здесь показано потому, что автомат автоответчик не заканчивает на

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

Чтобы поведение системы можно изобразить компактно, указывают трассировку -

Page 13: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

путь вдоль графа, которым прошёл автомат, под воздействием входной последовательности.

Как видно из рисунка, трассировка представляет собой отклик по состояниям, с

указанием входных символов, послуживших причиной совершения переходов. Как вы уже догадались, изображённая трассировка показывает случай, когда

трубка была снята после двух гудков. В случае, если трубка не была снята и было записано сообщение, трассировка

получится более сложной.

Также автомат генерирует выходные символы. Для автомата показанного на

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

стрелкой, через косую черту после условия вызвавшего этот переход. Если выходной символ не указан явно, считается что этот символ - нейс.

Пример 3.4. Выходная последовательность для пути (3.6) будет:

(нейс, нейс, автоответчик включён, записать, запись окончена,...) Как можно убедиться каждому входящему символу соответствует исходящий, хотя

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

выходную последовательность для любой входящей последовательности. Мы стартуем из начального состояния, и движемся по диаграмме состояний и переходов, определяя по очередному входящему символу, какой переход будет выполнен. Одновременно с этим мы отмечаем последовательность выходящих символов.

Выходы= { автоответчик включён, записать, запись окончена,нейс}

(3.6)

Page 14: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Общепринятые сокращения. Диаграмма состояний и переходов может быть весьма объемистой, с большим

количеством стрелок, с подписями к каждой стрелке. Несколько простых правил выполнения подписей к стрелкам, способны сделать диаграмму понятней уменьшая визуальное засорение диаграммы:

• Если над стрелкой не указано никакое условие перехода, то этот переход будет происходить каждый раз, когда автомат будет в этом состоянии, и на входе будет не нейтральный символ. Иными словами, не указывая над стрелкой конкретного условия перехода, мы подразумеваем, что условием перехода может быть любой из всего множества символов Вход. Нейс, напомню, всегда производит переход из некоего состояния в это же самое состояние и даёт на нейс выходе.

• Любые подходящие операции над множествами могут быть использованы для записи условий переходов. Например если Вход={a,b,c}, то условие {b,c} может быть указано как ¬a(«не a»).

• Условие прочие, не всегда нужно указывать явно. Если условие прочие не указано явно, это означает, петлю подписанную этим условием. Так на рисунке 3.2. прерывистой линией показан этот случай.

• Если не указан выходной символ, это означает символ нейс. Однако, использование общепринятых сокращений не всегда такая уж хорошая

идея. Например, символ прочие часто используется для указания символов, которые в данном состоянии не ожидаются(например сигнал гудок уже во время записи сообщения), но тем не менее модель должна предусмотреть их появление. Если это не предусмотреть и остаться в том же самом состоянии, то это может стать не самой лучшей стратегией. Для автомата, показанного на 3.1, все условия прочие указаны явно. Не ожидаемые входные символы переводят автомат в исходное состояние. Вероятно, реагировать таким образом, это самая разумная линия поведения, которая позволяет автомату восстанавливаться после сбоев на линии. Если бы мы не указали это условие явно, то получили бы менее адекватное поведение прибора при нештатных ситуациях. Использовать условие прочие явно или нет разработчик решает сам.

3.2.2. Таблицы переходов и выходов. Update table.

Альтернативный способ описать конечный автомат это использование таблиц

переходов. Это всего лишь табличная форма записи рассмотренной нами диаграммы состояний и переходов.

Диаграмме показанной на рисунке 3.1. будет соответствовать таблица, показанная на рис 3.3.

Page 15: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Текущее состояние

Символ на входе гудок трубка

снята приветствие

сыграно конец

сообщения нейс

ожидание (1й гудок,

нейс ) (ожидание,

нейс) (ожидание,

нейс) (ожидание,

нейс) (ожидание,

нейс)

1й гудок (2й гудок,

нейс) (ожидание,

нейс) (ожидание,

нейс) (ожидание,

нейс) (1й гудок,

нейс)

2й гудок (приветствие, автоответчик

включён)

(ожидание, нейс)

(ожидание, нейс)

(ожидание, нейс)

(2й гудок, нейс)

приветствие (ожидание,

нейс) (ожидание,

нейс) (запись,

записать) (ожидание,

нейс) (приветствие,

нейс)

запись (ожидание,

нейс) (ожидание, записано)

(ожидание, нейс)

(ожидание, записано)

(запись, нейс)

Рисунок 3.3. Таблица переходов и выходов, для устройства Автоответчик.

Определяет следующее состояние и текущий выходной символ, в зависимости от текущего состояния и текущего входного символа.

В первом столбце указывается текущее состояние автомата. Остальные столбцы

содержат название следующего состояния и текущего выходного символа, для всех возможных входных символов. Целая строка относится к одному текущему состоянию. Например, первая строка относится к состоянию ожидание. И содержит варианты отклика на любой входящий символ, когда автомат находится в состоянии ожидание. Если, например, на входе появится символ гудок, то следующим состоянием будет 1й гудок, а на выходе будет символ нейс. Если в этом состоянии на входе появится любой другой символ, то следующим состоянием останется состояние ожидание, а на выходе будет символ нейс.

Типы конечных автоматов. Автоматы представленные в этом разделе книги, известны как автоматы Мили

(Mealy machines), названные так в честь учёного Джорджа Мили, исследовавшего их в 1955. Такие автоматы так же называют автоматы первого рода. Отличительной особенностью таких автоматов является то, что выходящий символ привязывается к переходу, по которому автомат пришёл в это состояние. Вторая разновидность автоматов, автоматы второго рода, это автоматы Мура(Moore machines), названные так в честь Эдварда Мура, описавшего такие автоматы в 1956 году. В них выходной символ привязывается к состоянию, в котором находится автомат.

То есть в автомате Мура для выходного символа единственно важно – состояние в котором автомат сейчас. А для автомата Мили - по какой конкретно стрелке был совершён переход в это состояние.

На практике, автоматы Мили, в том случае, когда они синтезируются одновременно, оказываются более удобны для разработчика. В следующей главе мы рассмотрим это на примере. По указанной причине, для изучения в качестве основного выбран тип автоматы Мили.

Важно понимать, что любая модель системы, как и в случае большинства моделей в других сферах, не бывает единственно возможной. Большое количество будущих проектных решений обсуждаются разработчиками с использованием рисунков подобных рисунку 3.1. Два инженера могут предложить весьма отличающиеся диаграммы, считая, что это модель одной и той же системы. И сильная сторона автоматного моделирования систем в том, что они правы и это действительно так! Часто отличие может быть в

Page 16: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

глубине проработки деталей. Одна диаграмма может представить работу системы более детально, чем другая. Менее подробный вариант называется обобщением или абстракцией(abstraction), более подробного варианта. (Однако это не имеет отношения к абстрактным автоматам как к таковым. Рассмотренные нами автоматы – все абстрактные. Термин абстрактный автомат означает степень близости проекта к реальному «железу»). Также, вероятно, будут выбраны разные названия для состояний, входных и выходных сигналов. Может различаться даже трактовка входных и выходных сигналов, то есть им может придаваться разный смысл. Могут быть различия в том, как автомат реагирует на исключения, т.е. неожиданные, не встречающиеся на практике последовательности входных символов. Например, как должно повести себя устройство Автоответчик, если на входе окажется последовательность (гудок, приветствие сыграно, сообщение записано)? Как мы видим, для полноценной рабочей последовательности, описанной в примере 3.3, недостаёт двух сигналов гудок в начале последовательности. Как такое может получиться на практике? На такой вопрос сложно дать однозначное и правдоподобное объяснение, хотя профессионал телефонист мог бы внести некоторые предположения. Однако, если такая невероятная последовательность всё же окажется на входе автомата, должна ли она нарушить его работоспособность? И если с автоответчиком всё более-менее понятно, то могут быть системы, в которых нерабочие последовательности, всё же могут оказываться на входе системы, и довольно часто. В ситуации с автоответчиком всё просто – такая последовательность приведёт к тому, что он окажется в исходном состоянии ожидание и будет готов к дальнейшей работе.

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

Трактовка понятия состояние. Итак, существует три эквивалентных способа описания автомата: наборы и

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

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

Как любой автомат, автоответчик это пример системы, полностью описываемой состоянием. Если мы знаем его текущее состояние, мы можем предсказать всё его дальнейшее поведение для любой дальнейшей последовательности символов. Нам не требуется знать какая последовательность входных символов привела к тому, что автоответчик оказался в данном состоянии, для того предсказывать поведение системы в будущем. В этом смысле мы можем сказать, что текущее состояние системы подытоживает всю предшествующую историю сигнала на входе прибора. Это важный, ключевой момент для трактовки понятия состояние. Часть истории сигнала на входе, точнее набор из нескольких идущих подряд символов назовём образчик или паттерн.

Page 17: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Количество состояний соответствует количеству паттернов, достаточных, чтобы подытожить всю историю, актуальную с точки зрения этого автомата. Если оно получается явно конечным, то мы строим модель с конечным числом состояний, если явно бесконечным, то за основу берётся некая бесконечная модель. Часто то, с каким из двух случаев мы имеем дело, может подсказать интуиция. Можно доказать то, что система описывается моделью с конечным числом состояний, если найти и указать хоть одно подходящее пространство состояний. Показать, что данной системе не подходят модели с конечным числом состояний, бывает сложнее.

Пример 3.5. Рассмотрим пример системы Распознаватель_кодов, на входе которой

последовательность символов 0 и 1 (плюс принудительно добавляемый во все множества символ нейс). На выходе системы могут появляться символы распознан_код, и нейс. Символ распознан_код появляется в конце каждой поступившей на вход последовательности 1100, и соответственно в остальных случаях каждому входящему символу соответствует нейс на выходе. Если записать последовательность символов на входе в виде

(x(0),x(1),...)

а последовательность символов на выходе в виде

(y(0),y(1),...)

и если мы для удобства предположим, что на входе не было ни одного нейса, то

Интуиция подсказывает, что для того, чтобы определить значение y(n), для

текущего x(n), достаточно знать, был ли до этого на входе один из паттернов 0, 1, 11, или 110. Если интуиция не ввела нас в заблуждение, то мы можем реализовать РаспознавательКодов как автомат с четырьмя состояниями, которые «помнят», какой из указанных паттернов был на входе перед x(n). На рисунке 3.4. показан автомат, реализующий данную систему. Это конечный автомат с четырьмя состояниями.

Рисунок 3.4. Автомат, реализующий Распознаватель_кодов. На его выходе будет

символ распознан_код, в конце каждой принятой последовательности 1100, и нейс в остальных случаях.

y(n)=распознан_код, если (x(n-3), x(n-2), x(n-1), x(n)) = (1,1,0,0)нейс, в остальных случаях

(3.7)

Page 18: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

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

Пример 3.6. Входной сигнал устройства Равновесие это последовательность символов 0 и 1

(опять же плюс принудительно добавляемый во все множества символ нейс). На каждом шаге устройство Равновесие выдаёт символ равно, если среди символов, которые поступили на вход за всё предшествующее время, количество символов 1 равно количеству символов 0. В иных случаях устройство Равновесие выдаёт символ не_равно. Другими словами, если на входе устройства последовательность ( x(0), x(1), ...), в которой, будем считать для простоты, нет символов нейс, то на выходе будет последовательность y=F(x):

Интуитивно понятно, что простой способ реализации такого устройства –

запоминать разность между количеством 0 и 1, поступивших на вход за всё время. Но поскольку у нас нет ограничений на количество, 0 и количество 1, то такая разность может оказаться сколь угодно большой, и следовательно устройство Равновесие не может быть реализовано в виде конечного автомата.

Приведём строгое доказательство того, что устройство Равновесие не может быть реализовано в виде конечного автомата. Воспользуемся методом от противного. Предположим, что устройство Равновесие можно реализовать как автомат с большим, но всё же, определённым числом состояний N. Представим входную последовательность, начинающуюся с N символов 1 – (1,1,..., x(N),...). Предположив, что в начальный момент времени будет некое состояние s(0), под влиянием указанной входной последовательности получится отклик по состояниям. (s(0),s(1),s(2), ... ,s(N), ...)

Но поскольку у данного автомата только N различных состояний, а с учётом начального состояния s(0), в отклике сменяется N+1 состояние, то в полученной последовательности состояний одно из состояний должно повториться дважды. Не акцентируясь на конкретике, предположим, что это некое состояние , которое появилось на шаге k и шаге j. То есть s(k) = s(j) = . Для определённости условимся, что k следует перед j. Или k < j ≤ N. Тогда, поскольку на дальнейшее поведение автомата влияет только текущее состояние ), а не предыстория, то символы 0, поступающие на вход, будут давать одинаковый отклик по состояниям, вне зависимости от того, как мы очутились в состоянии . Следовательно, две последовательности 1k0k и 1j0k должны привести автомат в одно и то же состояние. Более того, на выходе должен будет появиться один и тот же символ. Но вспомним, что 1k означает последовательность из k символов 1, следующих друг за другом. То же самое и для 0k. Но это означает, что последним символом на выходе для 1k0k должен быть равно, а для 1j0k – не_равно. Возникшее противоречие говорит о том, что предположение о том, что устройство Равновесие можно реализовать, как автомат с конечным числом состояний, неверно. В задании 6 вам будет предложено самим спроектировать автомат с бесконечным числом состояний, реализующий данное устройство.

∀ ∈∀ ∈∀ ∈∀ ∈ℕℕℕℕn , y(n)=

равно если в последовательности (x(0), ..., x(n)) количество символов 0 совпадает с количеством символов 1не_равно

в остальных случаях

(3.8)

Page 19: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

3.3. Недетерминированные автоматы. Nondeterministic state machines.

Бывают ситуации, когда имеет смысл рассматривать неполную модель системы, по

той причине, что она более компактна, чем полная модель той же системы. Из неё исключаются несущественные детали, чтобы сделать модель проще для понимания.

Полезной разновидностью неполных моделей являются недетерминированные автоматы. Такие автоматы, как правило, имеют меньшее количество состояний и переходов, чем потребовала бы полная модель. Все автоматы, рассмотренные нами, были детерминированные.

3.3.1. Диаграмма состояний и переходов. State transition diagram

Как мы знаем, диаграмма состояний и переходов содержит по одному кружку для

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

В детерминированном автомате условия указанные для всех переходов, выходящих

из одного состояния взаимно исключающие. Это означает, что если автомат находится в состоянии s и из этого состояния выходит стрелка, помеченная условием a, ни один из переходов, выходящих их этого состояния, не может быть помечен этим же символом. Или можно сказать – в каждом состоянии, входной символ на входе может быть причиной не более одного перехода из этого состояния. Приведённое условие это именно то, что делает автомат детерминированным.

Для недетерминированного автомата условие взаимного исключения снимается. Условия могут повторяться. И значит, входной символ может стать причиной не одного, наперёд известного, а того или иного перехода. И это свойство именно то, что делает автомат недетерминированным.

Рисунок 3.5. Простейший недетерминированный автомат Пример 3.7. Рассмотрим автомат, показанный на рис. 3.5. Исходное состояние a. После

появления на входе символа 1, автомат переходит в состояние b, в котором может оставаться неограниченно долго, пока на входе не появится очередной символ. Если очередным символом будет 1, то автомат должен остаться в состоянии b. Если очередным символом будет 0, то он может перейти в состояние a, а может остаться в состоянии b. Например, на входе последовательность символов:

и⊂ ∈⊂ ∈⊂ ∈⊂ ∈условие Входы, выход Выходы

Page 20: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

(0,1,0,1,0,1, ...)

тогда автомат в качестве отклика по состояниям и последовательности выходных символов, сгенерирует один из вариантов:

(a,a,b,a,b,a,b,...) (0,1,0,1,0,1,...)

(a,a,b,b,b,a,b,...) (0,1,1,1,0,1,...)

(a,a,b,b,b,b,b,...) (0,1,1,1,1,1,...)

(a,a,b,a,b,b,b,...) (0,1,0,1,1,1,...)

Недетерминизм, как было замечено выше, может оказаться полезен, при создании

обобщения (abstraction) сложного автомата, в котором упрощённая модель сохраняет все особенности поведения более полной модели.

Пример 3.8. Вернёмся к 60 минутному парковочному счётчику из примера 3.1. Напомним, что

входной алфавит этого автомата: Когда на вход поступает символ in5, значение счётчика увеличивается на 5 минут,

когда символ in25, значение счётчика увеличивается на 25 минут. Максимальное значение 60 минут. Когда на вход поступает символ tick, значение счётчика уменьшается на единицу. Минимальное значение счётчика ноль.

Модель детерминированного автомата схематично изображена на рисунке 3.6(а). Видно, что пространство состояний этого автомата:

Шестьдесят одно состояние, это конечно много, чтобы такое количество можно

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

Представим, что сейчас мы не проектируем сам счётчик, а моделируем процесс

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

Входы= {in5,in25,tick,absent}

Состояния = {0,1,2,...,60}

Page 21: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Символ expired появляется на выходе в тот момент, когда автомат переходит в

состояние 0. safe указывает что время не истекло. Эта модель содержит такое количество состояний, что диаграмма получается громоздкой, и труднопонимаемой, несмотря на то, что сама идея очень проста. Это не может способствовать пониманию сути модели. Более того, она совершенно не способствует пониманию сути взаимодействия этого устройства и эвакуаторщиков.

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

Все промежуточные состояния (2-59) заменены одним >1. Остались только

состояния, важные с точки зрения паркингового процесса: состояние 60 важно для автовладельца, оно отражает существование предела счётчика, показывает то, что бессмысленно добавлять монеты, когда достигнут предел. Состояния 0 и 1 важны и для автовладельца, и для эвакуаторщиков. Они отражают процесс поминутного уменьшение счётчика и событие - истечение зарезервированного интервала времени. Состояние >1 как таковое не важно ни автовладельцами ни эвакуаторщикам, оно олицетворяет некие процессы происходящие в устройстве, а именно процесс увеличения значения счётчика при добавлении монеток и процесс последовательного уменьшения счётчика впоследствии.

Обратим внимание на состояние >1. Из него выходят две пары недетерминированных переходов, помеченных одним и тем же условием:

Одна пара помечена условием { in5,in25}. Первая стрелка – петля, отражает то, что предельное значение 60 достигается не сразу и то, что можно добавлять требуемое количество монет. Вторая стрелка в состояние 60 отражает то, что в какой-то момент времени максимальное значение всё же будет достигнуто.

Вторая пара помечена условием { tick}. Первая стрелка – петля, отражает процесс истечения заказанного количества времени, вторая стрелка в состояние 1, соответствует случаю, когда заказанное количество времени почти истекло.

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

(expired, safe, safe, expired,...)

Два символа safe между парой символов expired, - автомат (а) не может

сгенерировать такую последовательность ни при каких условиях. Минимальное количество safe должно равняться пяти. Автомат (б) не отображает данную особенность. Но, когда мы рассматриваем модель взаимодействия счётчика и пользователей, то эта деталь совершенно не важна. И учитывая это соображение, можно сказать, что модель (б) полностью имитирует работу автомата (а) в плане взаимодействия с пользователями.

Выходы= {safe, expired,absent}

Состояния = {0,1, >1,60}

Page 22: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

а)

б)

Рисунок 3.6. Детерминированная и недетерминированная модели 60 минутного паркового счётчика.

Автоматы, которые мы придумываем и создаём, включая парковочный счётчик, как правило, детерминированные. Однако, пространство состояний некоторых автоматов может оказаться большим. Оно может оказаться намного больше, чем в примере со счётчиком, что может существенно осложнить понимание работы автомата. Упрощённые недетерминированные модели этих автоматов позволяют скрыть несущественные детали детерминированных автоматов. Анализ упрощённой модели может раскрыть некоторые аспекты работы устройства, но такая модель по определению не отображает все аспекты работы автомата. Соответственно мастерство и опыт проявляются как раз в том, чтобы уметь упростить модель таким образом, чтобы она точно отображала интересующие детали.

3.3.2 Наборы и функции преобразования. Sets and functions model.

Автоматы, которые мы изучали до сих пор, определяемые как показано в (3.1), это

детерминированные автоматы. Зная начальное состояние и последовательность входных символов, мы можем однозначно определить всю последовательность смены состояний и всю последовательность выходящих символов. Это вытекает из того, что следующее состояние и текущий выходной символ однозначно определяются текущим состоянием и текущим символом на входе.

Для недетерминированного автомата следующее состояние не так однозначно определяется текущим состоянием и текущим входным символом. А именно: для текущего состояния и указанного входного символа модель предусматривает возможность более чем одного перехода. Отсюда получается, что для описания таких автоматов неприменима функция переходов и выходов ФПВ. Взамен этого, для определения такого

Page 23: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

автомата используется функция допустимых переходов и выходов ФДПВ( possible_updates). Или выражаясь математически, там где для детерминированного автомата будет:

для недетерминированного будет: где ℘℘℘℘(Состояния× Выходы) так называемое степенное, или показательное

множество (powerset). (О степенном множестве более подробно в приложении A.1.3.) Чтобы недетерминированный автомат был полностью определённым (receptive),

необходимо чтобы напомним, что для полностью определённого автомата любой не нейтральный

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

Во время работы, недетерминированный автомат на своё усмотрение выбирает одну из пар состояние-выходной символ из множества, которое возвращает ФДПВ в ответ на указанный ей текущее состояние и входной символ. Но модель ничего не говорит о том, как производится этот выбор.

Подобно детерминированному автомату, недетерминированный может быть описан при помощи пяти категорий

Как видно, недетерминированный автомат отличается от детерминированного

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

Соответственно каждый детерминированный автомат может быть описан, в том

числе, как 3.10. Последовательность символов, поданная на вход недетерминированного автомата

(3.10), может породить более чем один вариант выходной последовательности. Если входную последовательность обозначить (x(0),x(1),x(2), ...), то последовательность состояний (одна из возможных) будет (s(0),s(1),s(2),...) а выходная последовательность (одна из возможных) будет (y(0),y(1),y(2),...) , при условии:

Детерминированный автомат реализует функцию, преобразующую входные

символы в выходные:

:ФПВ Состояния Входы Состояния Выходы× → ×× → ×× → ×× → ×

: ( )ФДПВ Состояния Входы Состояния Выходы× →℘ ×× →℘ ×× →℘ ×× →℘ × (3.9)

s(n) Состояния, x(n) Входы ФДПВ(s(n), x(n)) = ∀ ∈ ∈ ∅∀ ∈ ∈ ∅∀ ∈ ∈ ∅∀ ∈ ∈ ∅

_ ( , , , _ , _ )State machine States Inputs Outputs initial State possible updates====

( , , , _ , )Автомат Состояния Входы Выходы Исходное состояние ФДПВ==== (3.10)

( ( ), ( )) { ( ( ), ( ))}ФДПВ s n x n ФПВ s n x n====

(0) _s Исходное состояние====

0,( ( 1), ( )) ( ( ), ( ))n s n y n ФДПВ s n x n∀ ≥ + =∀ ≥ + =∀ ≥ + =∀ ≥ + =

: _ _F Входные сигналы Выходные сигналы→→→→

Page 24: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

где:

Условимся что линия поведения (или поведение - behavior) недетерминированного

автомата это пара (x,y) такая, что y=F(x), то есть линия поведения автомата это одна из возможных реакций автомата на входную последовательность. Для детерминированного автомата для каждого входного сигнала _x Входной сигнал∈∈∈∈ будет ровно один выходной сигнал _y Выходной сигнал∈∈∈∈

Тогда множество линии поведения, будет

И если для детерминированного автомата множество линий поведения это график функции(т.е. это одна линия поведения), то для недетерминированного автомата, у которого может быть не один вариант поведения для единственного входного сигнала, множество Линии_поведения перестаёт быть функцией. Здесь мы говорим об отношении, где отношение это строгий математический термин, который можно условно описать: это как бы функция, у которой одному аргументу может соответствовать несколько значений. При всей внешней сложности интерпретация сказанного проста: если ( , ) _x y Линии поведения∈∈∈∈ , значит, входная последовательность x может породить выходную последовательность y.

3.4. Имитация, обобщение, эквивалентность. Simulation, abstraction, equivalence.

Два различных автомата (даже с разным количеством состояний), у которых

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

Пример 3.9. Три автомата показанные на рисунке 3.7. имеют одинаковые входной и выходной

алфавиты У автомата (а) наибольшее количество состояний. Несмотря на это, его поведение

полностью идентично поведению автомата (б). По мере того как на вход обоих автоматов поступает символ 1, они генерируют последовательности из двух символов 1, разделённых одинарными символами 0. Автомат (в) недетерминированный. У него больше возможных линий поведения, чем у автоматов (а) и (б). Он может генерировать последовательности из любого количества символов 1 разделённых одинарными символами 0. Таким образом, модель (в) это абстракция, обобщение для моделей (а) и (б), которая реализует общий случай последовательностей, в которых некоторое количество символов 1 разделены одиночным символом 0. Модели (а) и (б) реализуют один единственный вариант описанного типа последовательностей.

0Входные_сигналы = N Вход→→→→

0Выходные_сигналы = N Выход→→→→

Линии_поведения Входные_сигналы Выходные_сигналы⊂ ×⊂ ×⊂ ×⊂ ×

Линия_поведения { (x, y) Входные_сигналы Выходные_сигналы

| y - одна из допустимых выходных последовательностей

= ∈ ×= ∈ ×= ∈ ×= ∈ ×

для указанной входной }

(3.11)

Входы= {1, нейс} Выходы= {0,1, нейс}

Page 25: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

а)

б) в) Рисунок 3.7 Три автомата, из которых (а) и (б) имитируют работу друг друга, а

автомат (в) имитирует работу (а) и (б). Для исследования того как связаны автоматы изображённые на рисунке 3.7. введём

понятие неразличимости, которое в свою очередь связано с понятием имитация (simulation). Автомат (в) может имитировать работу автоматов (а) и (б). Имитация может рассматриваться как часть обобщения автоматов.

Пример 3.10. На рисунке 3.6, автомат (б) может воспроизводить любую выходную

последовательность автомата (а), для одинаковых входных последовательностей. Однако противоположное утверждение неверно. Автомат (б) может генерировать такие последовательности, которые не может автомат (а). Автомат (б) – обобщение автомата (а). Далее будет показано, что автомат (б) имитирует работу автомата (а). Но не наоборот!

Для лучшего понимания имитации, обратимся к удобной аналогии – игре на

угадывание(matching game) между двумя автоматами. Один автомат обозначим как X, второй как Y. Цель игры - мы хотим узнать, может ли автомат Y имитировать работу автомата X.

В начале игры каждый из автоматов находится в своём исходном состоянии. Ходы делаются по очереди. Ход означает, что автомат обрабатывает очередной входной символ (один) и выдаёт соответствующий ему выходной. Пусть автомат X ходит первый. Если этот автомат недетерминированный, то на входной символ может быть более чем одна допустимая реакция. В этом случае автомат волен выбрать любую из возможных реакций. Второй автомат должен так отреагировать на тот же самый символ на входе, чтобы получился тот же самый символ на выходе. Если автомат Y недетерминированный, то из допустимых реакций он волен выбрать любой вариант c таким же выходным символом, который был у автомата X. Это позволит ему продолжить игру, то есть продолжить искать среди своих дальнейших реакций те, которые будут давать такие же выходные символы, что и автомат X. Автомат Y выигрывает эту игру, если всегда, для любого входного сигнала, он может подобрать подходящую выходную последовательность. В этом случае

Page 26: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

говорят, что автомат Y имитирует работу автомата X. Если в какой-то момент времени автомат X генерирует символ, который не может быть воспроизведён автоматом Y, то Y не имитирует работу X.

Пример 3.11. Требуется узнать, имитирует ли автомат (в) работу автомата (б) на рисунке 3.7.

Игра начинается с того что оба автомата в своих исходных состояниях. Определим их одновременно парой

Автомат который нужно сымитировать (б) начинает первым. Получив входной

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

У автомата (б) два символа во входном алфавите 1 и нейс. Если на входе окажется

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

После того, как мы исключили из рассмотрения входной символ нейс, у нас остаётся единственный входной символ – 1. Автомат (б) отреагирует на него выходным символом 1, и переходом в состояние 1_и_4. Автомат (в) может парировать это, совершив единственно возможный переход в состояние 1_по_5, которому очень кстати соответствует выходной сигнал 1. В результате оба автомата окажутся в новых состояниях, которые мы обозначим парой:

Из этого состояния автомат (б), по приходу следующего значащего символа

переходит в 2_и_5 и выдаст выходной сигнал 1. У автомата (в), который в состоянии 1_по_5, есть два варианта поведения, однако чтобы парировать символ автомата (б), он должен выбрать петлю, что даст на выходе символ 1. А новые состояния автомата обозначим:

Из этого состояния автомат (б), по приходу следующего значащего символа

переходит в 0_и_3 и выдаст выходной сигнал 0. Чтобы парировать это, автомат (в) должен выбрать переход в состояние 0, что станет причиной появления на выходе символа 0.

Таким образом подытоживаем, что выигрышная стратегия для автомата (в)

описывается множеством

, ∈ ×∈ ×∈ ×∈ ×0 б вs = (0_и_3 0) Состояния Состояния

, ∈ ×∈ ×∈ ×∈ ×1 б вs = (1_и_4 1_по_5) Состояния Состояния

, ∈ ×∈ ×∈ ×∈ ×2 б вs = (2_и_5 1_по_5) Состояния Состояния

, , ⊂ ×⊂ ×⊂ ×⊂ ×б,в 0 1 2 б в

s = {s s s } Состояния Состояния

Page 27: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Подмножество б,вs , которое с точки зрения математики есть соответствие между

множествами Состоянияб и Состоянияв, с точки зрения автоматов есть имитационная связь (simulation relation). Оно отражает, каким образом автомат (в) имитирует автомат (б). Имитационная связь это соответствие между состояниями двух автоматов. Предположим, что у нас есть два автомата X и Y, каждый из которых может быть детерминированным или недетерминированным. Пусть:

и У этих автоматов одинаковые входной и выходной алфавиты. Если Y может

имитировать работу X, то имитационная связь это некое подмножество произведения множеств ××××X YСостояния Состояния . Обратите внимание на порядок следования.

Автомат, который ходит первым, тот который нужно сымитировать, тот и указывается первым ××××X YСостояния Состояния .

При рассмотрении противоположного сценария, когда X пытается имитировать работу Y, следует записывать ××××Y XСостояния Состояния . В этом случае автомат Y ходит

первым. Мы можем сформулировать признак выигрышной стратегии математически. Будем

считать, что Y может имитировать X, если существует подмножество ⊂ ×⊂ ×⊂ ×⊂ ×X YS Состояния Состояния такое, что:

1. ,X Y ∈∈∈∈(Исходное_состояние Исходное_состояние ) S

2. Если ,X Y ∈∈∈∈(S (n) S (n)) S,

тогда ∀ ∈∀ ∈∀ ∈∀ ∈x(n) Входы и , ,X X X X X∀ ∈∀ ∈∀ ∈∀ ∈(S (n+1) y (n)) ФДПВ (S (n) y (n))

существует , ,Y Y Y Y Y∈∈∈∈(S (n+1) y (n)) ФДПВ (S (n) y (n))

такая, что (а) ,X Y ∈∈∈∈(S (n+1) S (n+1)) S

(б) X Yy (n) = y (n)

Если множество S существует, то оно называется есть имитационная связь

(simulation relation). Оно устанавливает соответствие между состояниями двух автоматов.

X X XX = (Состояния ,Входы,Выходы,Исходное_состояние ,ФДПВ )

Y Y YY = (Состояния ,Входы,Выходы,Исходное_состояние ,ФДПВ )

Page 28: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Пример 3.12 Снова обратимся к автоматам, показанным на рис. 3.7. Автомат (б) имитирует

работу автомата (а). Имитационная связь между автоматами подмножество произведения множеств их состояний.

Названия состояний автоматов, которые в общем случае даются произвольно,

выбраны такие, что они подсказывают, какой будет имитационная связь. А именно: Но так ли это? Первое условие, которому должна отвечать имитационная связь, начальные

состояния должны входить в одну пару, с которой должно начинаться подмножество. Это условие выполняется.

Второе условие может быть проверено при помощи описанной выше игры на угадывание.

Рассмотрим как поведёт себя автомат (а) получив на вход символ 1(нейтральные символы, как было показано в примере 3.11 полностью исключаем из рассмотрения). Из состояния 0, автомат (а) переходит в состояние 1, давая на выходе символ 1. Может ли автомат (б) парировать этот ход? Для этого он должен выбрать такой вариант поведения, который даст на выходе тот же символ который был у автомата (а). При этом автомат (а) уже в новом состоянии, и автомат (б) после своего хода тоже перейдёт в новое состояние, и таким образом у нас получится пара новых состояний автоматов. Эта пара должна входить в Sа,б. В самом деле, получив символ 1, автомат (б) переходит в состояние 1_и_4, которое соответствует состоянию 1 автомата (а), и генерирует выходной символ 1. Пара состояний (1, 1_и_4) входит в Sа,б.

Несложно проверить, что такое соответствие получается для любого из последующих состояний, любой из пар подмножества Sа,б.

Этот пример показывает, каким образом можно проверить является ли конкретное

подмножество произведения состояний ××××X YСостояния Состояния имитационной связью.

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

Для автоматов, приведённых на рисунке 3.7, мы показали, что автомат (в)

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

Если даны имитационные связи ⊂ ×⊂ ×⊂ ×⊂ ×а,б а б

S Состояния Состояния и

⊂ ×⊂ ×⊂ ×⊂ ×б,в б в

S Состояния Состояния , тогда:

где

а,вS есть имитационная связь, показывающая, что автомат (в) имитирует

автомат (а).

, , , , , , , ,а б

⊂ ×⊂ ×⊂ ×⊂ ×S {0 1 2 3 4 5} {0_и_3 1_и_4 2_и_5}

, , , , , , ,

, , , , ,а б

====S {(0 0_и_3) (1 1_и_4) (2 2_и_5)

(3 0_и_3) (4 1_и_4) (5 2_и_5)}

= ∈ ×= ∈ ×= ∈ ×= ∈ ×∈∈∈∈

∈ ∈∈ ∈∈ ∈∈ ∈

а,в а в а в

б б

а б а,б б в б,в

S {(s ,s ) Состояния Состояния ,

при условии что существует такое s S , что

(s ,s ) S и (s ,s ) S }

(3.12)

Page 29: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Пример 3.13. Например, для автоматов, изображённых на 3.7 мы определили, что: и Исходя из (3.12) можно сделать заключение, что: что, заметим, в очередной раз подтверждает удачный выбор говорящих названий.

В общем случае имитационная связь несимметрична, что, однако, не обязательно. Пример 3.14 Например автомат 3.7 (б) не может имитировать (в). Чтобы показать это,

попробуем построить имитационную связь, обратившись к той же игре. Начинаем из исходных состояний.

Автомат (в) ходит первый. Получив не нейтральный символ, он переходит в

состояние 1_по_5, и на его выходе появляется 1. Автомат (б) парирует это переходом в 1_и_4, в результате чего на выходе тоже 1. Но, находясь в состоянии 1_по_5, автомат (в) может перейти в 0, дав тем самым на выходе символ 0, который автомат (б), находящийся в состоянии 1_и_4, произвести не может. Таким образом, игра прекращается не в пользу автомата (б), и мы делаем вывод, что (б) не может имитировать (в).

Рассмотрим ещё один пример, показывающий, что между двумя автоматами может

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

, , , , , , ,

, , , , ,а б

====S {(0 0_и_3) (1 1_и_4) (2 2_и_5)

(3 0_и_3) (4 1_и_4) (5 2_и_5)}

, , , , , ,б в

====S {(0_и_3 0) (1_и_4 1_по_5) (2_и_5 1_по_5)}

, , , , , , ,

, , , , ,а в

====S {(0 0) (1 1_по_5) (2 1_по_5)

(3 0) (4 1_по_5) (5 1_по_5)}

,0s = (0_и_3 0)

Page 30: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

а (в) имитирует (а) и (б). Пример 3.15 На рисунке 3.8. показаны автоматы, для которых легко проверить, что (в)

имитирует работу (а) и (б). Так же нетрудно проверить, что и (а) может имитировать работу(б) и (б) может имитировать работу (а). Теперь продемонстрируем, что (а) может имитировать работу (б), не одним, а несколькими разными способами.

Обратите внимание, что (а) недетерминированный. В состоянии 1 и в состоянии 2 существует по два способа, которыми (а) может парировать очередной ход (б). Эти способы он может выбирать произвольно по своему усмотрению. Например, если из состояния 1 он выберет вернуться в состояние 0, то получится имитационная связь:

Или же из состояния 1 он выберет переход в 2, из которого обратно в 1. Как можно

убедиться, в этом случае все ходы(б) парируется корректно, следовательно получится имитационная связь:

Или (а) может пойти в состояние 3. Тогда получится имитационная связь: Все три имитационных связи – зачётные. Таким образом, имитационная связь не

обязательно должна существовать в единственном варианте.

Обычно, имитационная связь применяется для того, чтобы установить

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

, , ,б,аS = {(0_и_2 0) (1_и_3 1)}

, , , , ,б,аS = {(0_и_2 0) (1_и_3 1) (0_и_2 2)}

, , , , , , ,б,аS = {(0_и_2 0) (1_и_3 1) (0_и_2 2) (1_и_3 3)}

Page 31: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Пример 3.16. Возвращаясь к парковочному счётчику, показанному на рис. 3.6, напомним, что

автомат (б) имитирует работу автомата (а). Определим имитационную связь. Имитационная связь будет подмножеством произведения множеств состояний двух

автоматов , , , , , ,⊂ ×⊂ ×⊂ ×⊂ ×S {0 1 ... 60} {0 1 >1 60}. Интуитивно понятно, что состояния 0 и 1 автомата (а) совпадают с состояниями 0 и 1 автомата (б). Тогда , ∈∈∈∈(0 0) S и , ∈∈∈∈(1 1) S. Аналогично, интуитивно понятно, что состояния 60 автомата (а) и (б) тоже совпадают, и состояние >1 автомата (б) соответствует состояниям 2-59 автомата (а). Тогда имитационную связь можно записать как

Убедимся, что S действительно имитационная связь, как это заявлено. Первое условие, которому должна соответствовать имитационная связь: начальные

состояния должны входить в одну пару, с которой должно начинаться подмножество. Это условие соблюдается , ∈∈∈∈(0 0) S. Проверка второго условия более кропотливая задача. Второе условие требует,

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

Фактически, у автомата (б) альтернативные варианты поведения существуют только когда он в состоянии >1.

По приходу символов in5, in25, автомат может остаться в состоянии >1 (петля), или перейти в состояние 60. В любом случае на выходе будет символ safe. Соответственно, по приходу символа tick, автомат может остаться в состоянии >1 (петля), или перейти в состояние 1. И снова, в любом случае на выходе будет символ safe. Можно увидеть, что описанное поведение делает состояние >1, способным парировать поведение автомата (а) когда он в любом из состояний 2...59.

Таким образом, автомат (б) в самом деле имитирует поведение автомата (а), и имитационная связь имеет вид показанный формулой 3.13.

3.4.1. Линии поведения(поведение автомата). Behaviors

Имитационная связь устанавливает соответствие между двумя автоматами, один из

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

Такая уверенность основывается на теореме и следствии из этой теоремы, о которых идёт речь ниже. Они показывают, что линии поведения автоматов связаны с имитационными связями.

Пусть дана входная последовательность ( ) ( ) ( )x n = (x 0 ,x 1 , x(2), ...), если автомат

может в ответ на неё произвести выходную последовательность ( ) ( ) ( )y n = (y 0 , y 1 , y(2), ...), тогда (x, y)будет называться линия поведения автомата.

Множество всех линий поведения как было показано в 3.11 удовлетворяет условию

, , , , ,∪ ≤ ≤ ∪∪ ≤ ≤ ∪∪ ≤ ≤ ∪∪ ≤ ≤ ∪a aS = {(0 0) (1 1)} {(s >1) | 2 s 59 } {(60 60)}

⊂ ×⊂ ×⊂ ×⊂ ×Линии_поведения Входные_сигналы Выходные_сигналы

Page 32: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Теорема. Пусть Б имитирует работу А. Тогда: Эта теорема легко доказывается. Полагая, что линия поведения

А(x, y) Линии_поведения∈ , требуется показать, что Б(x, y) Линии_поведения∈ .

Пусть межу автоматами существует имитационная связь S. Все отклики по состояниям для автомата А (SА) запишем как:

В результате смены этих состояний на выходе автомата будет сигнал y, а его линия

поведения (x,y). (если автомат А детерминированный, то эта линия поведения единственно возможная). Существование имитационной связи гарантирует, что для автомата Б существует такой отклик по состояниям (SБ):

такой, что ,

А Б∈∈∈∈(S (i) S (i)) S и такой, что продвигаясь вдоль SБ автомат Б, для

каждого входного символа из x, сгенерирует выходной символ из y. А это, другими словами,

Б(x, y) Линии_поведения∈ .

Интуитивно понятно, что автомат Б, который имитирует работу автомата А может парировать любой ход автомата А, и воспроизвести любую его выходную последовательность. Так же подразумевается, что если автомат Б не может воспроизвести некую последовательность, то её не может воспроизвести и автомат А. Математически это формулируется в виде следствия из теоремы.

Следствие из теоремы. Пусть Б имитирует работу А. Тогда если то и Эта теорема и следствие из неё полезны при проведении анализа автоматов. Общий

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

Соответственно противоположный случай, когда требуется гарантия того, что автомат не поведёт себя неким нежелательным способом ни при каких условиях. Тогда достаточно доказать что более простой автомат, имитирующий работу исходного не ведёт себя нежелательным образом. Такая проверка типична в вопросах безопасности, когда мы обязаны убедиться, что система не выдаст опасных сигналов на выходе.

А Б⊂⊂⊂⊂Линии_поведения Линии_поведения

, ,А А А

S = (S (0) S (1) ...)

, ,Б Б Б

S = (S (0) S (1) ...)

Б(x, y) Линии_поведения∉

А(x, y) Линии_поведения∉

Page 33: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Пример 3.17. Для парковочного счётчика приведённого на рис 3.6. недетерминированный

автомат может быть использован для того, чтобы проверить, что в каком бы состоянии ни находился автомат, помещение в него монетки приводит к тому, что на выходе гарантированно будет состояние safe. В соответствии со следствием из теоремы, подробный автомат не может поступить иначе. Нам не нужно подробно исследовать его поведение.

Важно понимать и делать чёткое различие между тем, что следует из этой теоремы,

и тем, что из неё не следует. Из теоремы не следует, что если

А Б⊂⊂⊂⊂Линии_поведения Линии_поведения , то Б

может имитировать работу А. Рассмотрим два автомата показанные на рисунке 3.9. а) б) Рисунок 3.9. Два автомата, которые обладают одинаковыми линиями поведения, но

(б) не имитирует (а). У этих автоматов Входы= {1, нейс} , Выходы= {0,1, нейс} . Линии поведения у

обоих автоматов одинаковы. В ответ на входную последовательность из двух значащих символов оба автомата могут выдать либо (1,0) и (1,1), в зависимости от того, какой недетерминированный переход будет выбран. Однако, при этом автомат Б не имитирует работу А. Автоматы оказываются не эквивалентны, несмотря на то что по факту их линии поведения одинаковы.

Чтобы показать это, воспользуемся всё той же игрой. Пусть автомат (а) ходит первый. Все символы поступающие на вход не нейтральные. У автомата (а) в этом состоянии нет альтернативы, он однозначно переходит из a в b, на выходе символ 1. Автомат (б) может парировать это двумя разными способами, и нет никаких оснований предпочесть один символ другому, поэтому автомат (б) выбирает, скажем, переход в состояние f. Теперь ход автомата (а), у которого теперь два варианта того, какой переход выбрать. Если он выберет переход в d, тогда автомат (б) не сможет парировать этот ход. Если бы автомат (б) на предыдущем шаге выбрал переход в h, то ситуация не изменилась бы кардинально, потому что тогда он не мог бы парировать переход автомата в c. Отсюда автомат (б) не имитирует работу автомата (а), несмотря на то, что

А Б⊂⊂⊂⊂Линии_поведения Линии_поведения . (Напомним, что в ⊂⊂⊂⊂А В подмножество A может

совпадать с множеством B).

Page 34: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

3.5. Итоги. Дискретные автоматы (state machines) – модели систем, чьи входные и выходные

сигналы состоят из последовательностей символов. Существует три способа задания автоматов: наборы и функции преобразования (sets and functions), диаграмма состояний и переходов (state transition diagram), таблица переходов и выходов (update table). Такая модель даёт методику пошагового определения выходного сигнала. Это пример систем полностью описываемых состоянием. Если мы знаем текущее состояние, мы можем предсказать её поведение для любых последовательностей входных символов.

Автомат может быть недетерминированный(non-deterministic), то есть для известного состояния и указанного входного символа может быть несколько допустимых следующих состояний, и соответственно выходных символов. Недетерминированные автоматы обычно получаются в результате обобщения(abstraction) детерминированных автоматов. Два автомата имеющие один входной алфавит и один выходной алфавит, могут быть имитационно связанными. Имитация используется для исследования особенностей поведения автомата на примере поведения другого, обычно более простого автомата.

Упражнения. В некоторых из приведённых ниже упражнений, вам будет предложено придумать

автомат, выполняющий некоторую заданную работу. Разработка будет проще и результат получится элегантней в том случае, если удачно подобран набор состояний. Несмотря на то что пространство состояний для автомата с требуемыми характеристиками не уникально, сконструировать используя разные пространства состояний, выбор состояний несложен. Каждая задача помечена значком E, T, C, означающие степень сложности задачи. Задачи помеченные значком Е, решаются на ходу. Задачи помеченные Т, требуют предварительного обдумывания. Помеченные C имеют более чем один вариант решения.

1. Е Автомат, имеющий набор входных символов: содержит состояние s, из которого выходят две стрелки помеченные условиями

переходов а) является ли этот автомат детерминированным? б) определите множество иные, для состояния s и назовите откуда и куда будет

вести стрелка помеченная как иные. 2. Е На автоответчик, изображённый на рис. 3.1. приходит последовательность входных

символов.

Входы= {a,b,c,d, нейс}

Условие_1= {a}

Условие_2 = {a,b,d}

(трубка снята, трубка снята,гудок,трубка снята,гудок,гудок,гудок,трубка снята,...)

Page 35: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Она соответствует случаю, когда владелец автоответчика совершил два звонка,

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

решение задачи. а) Придумайте автомат, использующий эти алфавиты, и в ответ на любую входную

последовательность ( x(0), x(1), ...) в которой нет нейсов, даст выходную последовательность такую, что:

или на словах, выходной символ автомата 1 если и текущий входной символ и два

предшествующих символа 1. В остальных случаях на выходе 0. (Если бы мы включили в рассмотрение символ нейс, приведённая формула получилась бы сложнее)

б) Придумайте автомат с теми же входным и выходным алфавитами, который будет давать на выходе 1 если текущий и два предыдущих входных символа составляют либо код (1,1,1) либо (1,0,1). В остальных случаях на выходе 0.

4. Е Счётчик по модулю N. Устройство, на выходе которого целое число от 0, до

N-1. У этого устройства три входных символа увеличить, уменьшить и сброс. Плюс как обычно символ нейс. Сигнал увеличить инкрементирует число, которое на выходе. Сигнал уменьшить , соответственно, его декрементирует. Сигнал сброс приводит к тому, что на выходе символ 0. Операции инкремента и декремента выполняются по модулю N. Поскольку не сказано иного, автомат начинает работу, с выходного символа 0.

Замечание: операции по модулю N означают следующее. Для любого целого числа m, m mod N = k, такое что 0≤k≤(N-1), k – обязательно целое число, и разность (m-k) делится на N без остатка.

а) Приведите диаграмму состояний и переходов для счётчика по модулю N=4.

б) Приведите таблицу переходов и выходов для счётчика по модулю N=4. в) Для счётчика по модулю N=4 дайте описание автомата, используя пять

категорий перечисленных в 3.1.

Входы= Выходы = Двоичный = {0,1}

Page 36: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

г) Для счётчика по модулю N=3 укажите выходную последовательность, которая получится для входной последовательности.

(увеличить

4, уменьшить 3, ...) Исходное состояние счётчика 1, выражение sn означает символ s повторенный n

раз. 5. Т Автомат Модуль_задержки определяется следующим образом. По приходу первого

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

а) Приняв входной и выходной алфавиты Сконструируйте автомат, который реализует устройство Модуль_задержки.

Приведите пример и диаграммы состояний и переходов, и определение автомата через определение всех компонентов перечисленных в (3.1).

б) Приняв входной и выходной алфавиты и в качестве первого выходного символа 0 вместо a, привести аргументы(строгое

доказательство не нужно), что данное устройство не может быть реализовано в виде конечного автомата. Дать описание автомата с бесконечным числом состояний, в виде компонентов перечисленных в (3.1).

6. Т Разработайте автомат с бесконечным числом состояний, реализующий

устройство Равновесие. 7. С Лифт соединяет два этажа 1й и 2й. Он может подниматься с 1го на 2й этаж,

спускаться со 2го на 1й, или стоять на одном из этих этажей. На каждом из этажей есть кнопка вызова лифта. Разработайте управляющее устройство для лифта, такое, чтобы (а) обрабатывались вызовы со всех этажей (б) если нет вызовов с этажей, лифт должен оставаться на том этаже, на котором остановился. Для простоты не обрабатывать нажатия кнопок внутри кабины во время движения кабины.

8. Т Особенность автомата изображённого на рисунке 3.10 в том, что на его выходе

последовательность из произвольного ненулевого количества символов 1, разделённых одиночными символами 0. Придумайте недетерминированный автомат на два состояния, который сможет имитировать работу описанного автомата и сохранит указанную особенность.

Входы= Выходы = {a,b,c,нейс}

0 ∪∪∪∪ℕℕℕℕВходы= Выходы = {нейс}

Page 37: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Рисунок 3.10. Автомат, на выходе которого последовательность (..., 1, 0, 1n, 0, 1, ...),

где n ≥ 1. 9. Т У недетерминированного автомата изображённого на рисунке 3.11, входной и

выходной алфавиты такие как указано: Рисунок 3.11. Недетерминированный автомат для упражнения 9. а) Запишите для него ФДПВ (формула 3.9.). б) Определите соответствие Линии_поведения (формула 3.11). Часть этой задачи

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

10. Е Автомат, изображённый на рисунке 3.12 реализует устройство

Распознователь_кодов, аналогичный показанному на рис. 3.4, но который имеет на одно состояние больше, чем рассмотренная ранее машина. Докажите что машины могут имитировать друг друга, составив соответствующие имитационные связи.

Рисунок 3.12. Автомат, реализующий устройство Распознователь_кодов,

аналогичный показанному на рис. 3.4, но который имеет на одно состояние больше,

Входы= Выходы = {0,1,нейс}

Page 38: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

11. Е У автомата приведённого на рисунке 3.13. следующие входной и выходной

алфавиты где буква н означает сокращённую запись символа нейс. Рисунок 3.13. Автомат для задачи 11. Установите для каждой линии поведения, которые приведены далее, может ли она

принадлежать описанному автомату. Линия поведения задана в виде пары ( (входящий_сигнал), (выходящий_сигнал) ). Входящий и выходящий сигналы заданы в виде последовательности символов. Многоточия означают бесконечное повторение последнего символа.

а) ((1;1;1;1;1; ...); (0;1;1;0;0; ...)) б) ((1;1;1;1;1; ...); (0;1;1;0;a; ...)) в) ((a;1;a;1;a; ...); (a;1;a;0;a; ...)) г) ((1;1;1;1;1; ...); (0;0;a;a;a; ...)) д) ((1;1;1;1;1; ...); (0;a;0;a;a; ...)) 12. Е У автомата приведённого на рисунке 3.14. следующие входной и выходной

алфавиты Рисунок 3.14. Автомат с лишним числом состояний. Придумайте автомат, который имел бы два состояния и имитировал бы работу

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

Входы = {1,н}

Выходы = {0,1,н}

Входы = {1,н}

Выходы = {0,1,н}

Page 39: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

13. Е Есть автомат А, у которого: Достаточно ли этого, чтобы сконструировать автомат Б, который будет

имитировать автомат А? Если это так, постройте такой автомат и дайте в ответе. 14. Е Придумайте автомат, у которого: и который будет давать на выходе символ r каждый раз, когда во входном сигнале

будет появляться последовательность (0,0,0), нейсы из рассмотрения как обычно исключаем. Во всех других случаях на выходе сигнал нейс. Или если записать формально: для входного сигнала x = ( x(0), x(1), ...) в которой нет нейсов, выходной сигнал y = ( y(0), y(1), ...), будет такой, что

15. Т Пусть дан автомат, у которого Таблица переходов и выходов:

(текущее_состояние, входной_символ)

(следующее_состояние, выходной_символ)

(a,1) (b,1) (b,1) (c,0) (c,1) (d,0) (d,1) (e,1) (e,1) (f,0) (f,1) (a,0)

Входы = {1,2,нейс}

Выходы = {1,2,нейс}

Состояния = {a,b,c,d}

Входы = {0,1,нейс}

Выходы = {r, нейс}

y(n)=

r если n ? 2 и (x(n-2), x(n-1), x(n)) = (0,0,0)нейс

в остальных случаях

Входы = {1,нейс}

Выходы = {0,1,нейс}

Состояния = {a,b,c,d,e, f}

Исходное_состояние = a

Page 40: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

а) Нарисуйте диаграмму состояний и переходов для этого автомата. б) Не рассматривая нейтральные символы, приведите линию поведения этого

автомата. в) Придумайте автомат, который будет иметь три состояния и будет имитировать

указный, а так же будет сам имитироваться указанным. Нарисуйте для придуманного вами автомата диаграмму состояний и переходов и приведите имитационную связь.

Page 41: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Глава 4.

Композиция автоматов. Composing State Machines Интересующие нас системы составляются из более простых составных частей.

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

В разделе 2.3.4. мы использовали блок-диаграммы для определения составных систем. В этой главе мы будем использовать тот же синтаксис и аналогичным образом начнём с рассмотрения простых случаев, на основе которых мы обретём понимание композиции систем. Самый трудный случай, когда системы имеют в себе обратную связь, поскольку тогда поведение автоматов начинает зависеть от состояния их собственных выходов. Главная сложность в этом случае заключается в том, чтобы придумать методику того, каким образом обновлять состояние автомата. Для некоторых случаев композиции, такой вариант не осуществим на практике. Такие композиции называют плохо согласованные.

4.1. Синхронизация. Synchrony Рассмотрим набор связанных между собой компонентов. Каждый из компонетов –

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

Вторая сторона затрагивает согласование временных параметров автоматов – выходов одних автоматов и входов других. Мы избрали для разработок особый подход называемый синхронный (synchrony). Для этого подхода постулируется, что все автоматы действуют одновременно и переключаются моментально. Таким образом, реакция объемлющего автомата это ряд реакций составляющих его автоматов.

Реакция системы начинается с её входов, которые связаны с окружающей автомат средой. То есть это реакция на внешние воздействия. Так же как и в случае с отдельным автоматом. Как и в случае с отдельным автоматом, составной автомат может находиться в состоянии холостого хода. Это попросту означает, что каждый из компонентов находится в состоянии холостого хода. Системы, которые ориентированы, в основном, чтобы реагировать на какие-то изменения окружающей обстановки, называют реактивные системы (в отличие от про-активных). И поскольку они синхронные, их называют синхронные реактивные системы.

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

Page 42: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

качестве одного из входных сигналов. Особенности синхронно/реактивной интерпретации мы обсудим далее.

Синхронная модель очень удобна для представления физических систем. Пример использование такого подхода – цифровые схемы вычислительных устройств. Цифровые цепи рассматриваются так, будто они не требуют времени для вычисления своего нового логического значения. Время там полностью ассоциируется с выполнением последовательности шагов, тактируемым таймером – генератором синхросигнала. Конечно, то время которое фактически требуется реальному элементу, чтобы получить новое значение на выходе, нельзя полностью исключить со счетов, но такая модель может считаться практически пригодной, поскольку для большинства элементов электрических цепей это время может считаться не влияющим на работу. Только прохождение сигнала вдоль критического пути (critical path), влияет на производительность системы в целом.

Не так давно синхронная модель стала применяться и для программ. Параллельно функционирующие программные модули взаимодействуют в соответствии с синхронной моделью. Языки программирования, которые поддерживают этот принцип, называются синхронные языки программирования. Главным образом они используются для созлания программ работающих в реальном времени (real-time), во встраиваемых (embedded) системах. Встраиваемые системы – вычислительные устройства (плюс их программное обеспечение), которые встраиваются в другие системы, которые в свою очередь, сами по себе не являются вычислительными системами. Сотовый телефон, например, содержит компьютер, который реализует работу радиомодема и конверсию речевого сигнала. Современные машины, которые сами по себе не являются компьютерами, тем не менее, содержат встроенные компьютеры управляющие работой инжекторного двигателя, антиблокировочной тормозной системы и автоматической коробки передач. Аэробусы содержат компьютеры, используемые для навигации и управления полётом воздушного судна. На самом деле большинство современной управляющей электроники разрабатываются именно как встраиваемые вычислительные системы.

4.2. Параллельная композиция. Side-by-side composition

Простая форма композиции двух автоматов показана на рисунке 4.1. Это

называется параллельная композиция. Сама по себе, в чистом виде она применяется редко, но очень удобна в сочетании с другими видами композиции. Автоматы, показанные на рис 4.1 никак не взаимодействуют друг с другом. Однако, мы желаем определить такой автомат, который будет представлять синхронную работу двух составляющих автоматов-компонентов. Пространство состояний нового автомата будет попросту произведением множеств состояний исходных автоматов.

входной и выходной алфавиты будут: функция преобразования составного автомата состоит из функций составляющих

его автоматов:

А Б××××Состояния = Состояния Состояния

,А Б

Исходное_состояние= (Исходное_состояние Исходное_состояние )

А Б××××Входы= Входы Входы

А Б××××Выходы= Выходы Выходы

А Б А Б А Б А Б( (s (n+1),s (n+1)) , (y (n), y (n)) )=ФПВ( (s (n),s (n)) , (x (n),x (n)) )

(4.1)

(4.2)

Page 43: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

где

А А А А А( s (n+1) , y (n) )=ФПВ ( s (n) , x (n) ),

Б Б Б Б Б

( s (n+1) , y (n) )=ФПВ ( s (n) , x (n) )

Параллельная композиция. где

А А А А А( s (n+1) , y (n) )=ФПВ ( s (n) , x (n) )

Б Б Б Б Б( s (n+1) , y (n) )=ФПВ ( s (n) , x (n) )

Рисунок 4.1. Сводка по параллельной композиции автоматов. Напомним, что множества и

А БВходы Входы включают в себя нейтральный символ.

Это важно, поскольку это позволяет составному автомату работать в том случае, когда нам требуется, чтобы фактически сработал только один из подавтоматов. Назовём нейтральные символы нейсА и нейсБ. Тогда, если на входе первого автомата значащий символ, а на входе второго нейсБ, то реакция составного автомата будет состоять фактически только из реакции первого подавтомата. Нейтральный элемент для составного автомата, это пара нейтральных элементов его подавтоматов ,

А Б(нейс нейс ) .

Пример 4.1. Параллельная композиция показанная на рис. 4.2.(а) содержит составной автомат у

которого пространство состояний: алфавиты:

исходное состояние

,А Б

××××Состояния = Состояния Состояния = { (1,1) (2,1) }

, , , , , ,

, , , , ,А

Б Б А Б

Входы= { (0 0) (1 0) (нейс 0)

(0 нейс ) (1 нейс ) (нейс нейс ) }

, , , , , ,

, , , , ,А

Б Б А Б

Выходы= { (a c) (b c) (нейс c)

(a нейс ) (b нейс ) (нейс нейс ) }

,Исходное_состояние= (1 1)

А Б××××Состояния = Состояния Состояния

,А Б

Исходное_состояние= (Исходное_состояние Исходное_состояние )

А Б××××Входы= Входы Входы

А Б××××Выходы= Выходы Выходы

А Б А Б А Б А Б( (s (n+1),s (n+1)) , (y (n), y (n)) )=ФПВ( (s (n),s (n)) , (x (n),x (n)) )

Page 44: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

вместо функции преобразования состояний и выходов запишем таблицу переходов

и выходов (которая приведена не полностью).

Текущее состояние

Символы на входе (0,0) (1,0) (нейсА, 0) …

(1,1) ( (1,1) , (a,c) ) ( (2,1) , (b,c) ) ( (1,1) , ( нейсА ,c) ) … (2,1) ( (2,1) , (b,c) ) ( (1,1) , (a,c) ) ( (2,1) , ( нейсА ,c) ) … Диаграмма состояний и переходов изображённая на рис. 4.2. (б) соответствует этой

же самой таблице. Обратите внимание на то, что если во входной последовательности подавтомата А

будут только нейтральные символы, тогда линии поведения объединённого автомата будут такими, как у подавтомата Б, и соответственно наоборот. Нейтральный элемент для объединённого автомата пара (нейсА, нейсБ).

а) б) Рисунок 4.2. Пример параллельной композиции

Page 45: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Автомат= (Состояния,Входы,Выходы,Исходное_состояние,ФПВ)

4.3. Последовательная композиция. Cascade composition Теперь рассмотрим случай, когда два автомата соединены так, как это показано на

рис. 4.3. Выход одного автомата подключается ко входу другого. Это называется последовательной композицией (cascade composition) или последовательным подключением (series connection).

Последовательная композиция. Необходимое требование где

А А А А А( s (n+1) , y (n) )=ФПВ ( s (n) , x (n) )

Б Б Б Б А( s (n+1) , y (n) )=ФПВ ( s (n) , y (n) )

��

Рисунок 4.3. Сводка по последовательной композиции автоматов. Пусть у нас есть два автомата: Объединение автоматов будет: Очевидно что, для того, чтобы подавтоматы можно было бесконфликтно

состыковать, должно выполняться условие: Только в этом случае любые выходные сигналы автомата А можно подать в

качестве входных сигналов на вход автомата Б.

А Б××××Состояния = Состояния Состояния

,А Б

Исходное_состояние= (Исходное_состояние Исходное_состояние )

АВходы= Входы

БВыходы= Выходы

А Б Б А Б А( (s (n+1),s (n+1)) , y (n) )=ФПВ( (s (n),s (n)) , x (n) )

А Б⊂⊂⊂⊂Выходы Входы

А А А А А ААвтомат = (Состояния ,Входы ,Выходы ,Исходное_состояние ,ФПВ )

Б Б Б Б Б БАвтомат = (Состояния ,Входы ,Выходы ,Исходное_состояние ,ФПВ )

А Б⊂⊂⊂⊂Выходы Входы

А Б⊂⊂⊂⊂Выходной_сигнал Входной_сигнал

Page 46: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Это похоже на ограничение типов (type constraint), в языках программирования,

когда параметром функции может быть только класс, производный от указанного. Мы уже сталкивались с примером простых ограничений, когда рассматривали композицию функций в п. 2.1.5.

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

Нейтральный элемент объединённого автомата, конечно же, нейтральный символ

алфавита А

Входы . Выходной алфавит:

Пространством состояний объединённого автомата будет произведение множеств. Автомат в состоянии (sА(n),sБ(n)) означает что автомат А в состоянии sА(n) и

автомат Б в состоянии sБ(n). Исходное состояние С таким же успехом мы можем получить пространство состояний объединённого

автомата взяв произведение множества состояний исходных автоматов в обратном порядке.

Автомат в этом случае получился бы иной, но оба были бы эквивалентны.

Поскольку нет никакой видимой разницы, какой автомат выбрать, поэтому выберем автомат полученный как (4.3).

Чтобы описание объединённого автомата было полным, требуется определить функцию преобразования состояний и выходов, используя функции составляющих автоматов. Здесь есть один тонкий момент. Поскольку наша композиция синхронная, выходной символ автомата А появляется одновременно с приходом входного символа, выходной символ автомата Б появляется также одновременно с приходом его входного символа, а сигнал на выходе объединённого автомата появляется одновременно с появлением входного сигнала. Однако в этом кроется парадокс, поскольку причинно-следственный принцип требует, чтобы появление символа на выходе автомата А предшествовало появлению выходного символа автомата Б. Это явное противоречие является неотъемлемой чертой синхронной композиции. К нему нужно относиться с повышенным вниманием в системах с обратной связью, в которых всё усложняется тем, что выходной символ, появляющийся одновременно с входным, в то же время является и входным символом автомата, который, по логике «в лоб», должен послужить одной из причин появления самого себя.

В случае последовательной композиции, интуитивно понятно, что требуется сделать, чтобы получить функцию преобразования состояний и выходов. Сначала мы определяем реакцию автомата А. Пусть мы на n-ном шаге, входной символ xА(n), а текущее состояние s(n) = ( sА(n), sБ(n) ) ,где sА(n) состояние автомата А, а sБ(n) состояние автомата Б. Автомат А переходит в состояние sА(n+1) и на его выходе символ yА(n).

АВходы= Входы

БВыходы= Выходы

А Б××××Состояния = Состояния Состояния

,А Б

Исходное_состояние= (Исходное_состояние Исходное_состояние )

Б А××××Состояния = Состояния Состояния

(4.3)

А А А А А( s (n+1) , y (n) )=ФПВ ( s (n) , x (n) ) (4.4)

Page 47: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Выходной символ yА(n) становится входным для автомата Б. Под воздействием этого входного символа, автомат Б переходит в состояние sБ(n+1) и на его выходе символ yБ(n).

Выходной символ автомата Б это и есть выходной символ объединённого автомата,

а новое состояние объединённого автомата будет s(n+1) = ( sА(n+1), sБ(n+1) ). Отсюда На рисунке 4.3. приведена сводка описания последовательной композиции. Пример 4.2. На рисунке 4.4. (а) показано последовательное соединение двух автоматов.

Пространство состояний объединённого автомата. Алфавиты и исходное состояние: Таблица переходов и выходов: Текущее

состояние Символы на входе

0 1 нейс (0,0) ((0,0),0) ((1,1),1) ((0,0), нейс) (0,1) ((0,0),1) ((1,1),0) ((0,1), нейс) (1,0) ((1,1),1) ((0,0),0) ((1,0), нейс) (1,1) ((1,1),0) ((0,0),1) ((1,1), нейс)

Эта таблица переходов и выходов соответствует диаграмме состояний и переходов

для автомата, показанного на рис 4.4. (б). Петли соответствующие нейтральному символу на входе не показаны на диаграмме.

Обратите внимание, что состояния (0,1) и (1,0) не достижимы из исходного состояния. Состояние s называется достижимым (reachable), если существует такая последовательность входных символов, которая может привести автомат из исходного состояния в состояние s. Возникает предположение, что автомат с меньшим числом состояний может иметь такие же линии поведения. На самом деле, если мы рассмотрим только достижимые состояния, то заметим, что выходные символы полностью повторяют входные! Элементарный автомат из одного состояния будет демонстрировать такие же линии повеления. (Упражнение 8 даёт методику определения достижимых состояний для произвольного автомата).

Такое простое поведение не является столь явным когда мы рассматриваем автомат показанный на рис 4.4. (а). Нам пришлось сконструировать объединённый автомат, для того чтобы сделать такой вывод. По сути автоматы А и Б можно рассматривать как пару устройств кодер-декодер. Входная битовая последовательность заменяется автоматом А на иную входную последовательность (промежуточный сигнал между автоматами А и Б), а затем автомат Б восстанавливает из промежуточного сигнала исходный.

Такой вид кодирования известен как формат БВН-1 без возвращения к нулю, с перепадом при передаче 1 (differential precoding). При этом способе кодирования, когда

Б Б Б Б Б А( s (n+1) , y (n) )=ФПВ ( s (n) , x (n)= y (n) ) (4.5)

А Б Б А Б А( (s (n+1),s (n+1)) , y (n) )=ФПВ( (s (n),s (n)) , x (n) )

, , ,А Б

××××Состояния = Состояния Состояния = { (0,0) (0,1) (1,0) (1,1) }

, ,Входы = Выходы = { 0 1 нейс }

,Исходное_состояние = (0 0)

Page 48: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

на вход кодера поступает символ 0, то значение промежуточного сигнала остаётся без изменения. Когда на вход кодера поступает сигнал 1, то промежуточный сигнал меняет значение на инверсное. Или выражаясь другими словами, сигнал 1 на входе является командой изменить_выходной_символ, а сигнал 0 на входе является командой не_менять_выходной_символ.

а) б) Рисунок 4.4. Пример последовательной композиции.

4.4. Автоматы с раздельными входами и раздельными выходами. Композиция с мультипликативной формой входов и выходов. Product-form inputs and outputs

Описываемая формулой (3.1) модель подразумевает, что на каждом шаге

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

Автомат, изображённый на рисунке 4.5, представлен как блок с двумя входными и двумя выходными стрелками. Они красноречиво говорят о том, что автомат получает входные сигналы из двух разных источников. Например, для устройства Автоответчик из главы 3. символ приветствие_сыграно, может приходить не из той части схемы, их которой приходит сигнал трубка_снята.

Каждая из таких стрелок называется порт (port). Каждому порту соответствует некий набор символов, который называется алфавит порта (port alphabet), что отражено на рисунке 4.5.

Page 49: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Рисунок 4.5. Автомат с раздельными входами и выходами. Алфавит каждого из портов должен включать в себя нейтральный символ.

Множество символов Входы, это произведение множеств символов ассоциированных с каждым их входных портов. Конечно, множества для произведения могут быть взяты в любом порядке, и соответственно мы получим различные объединённые автоматы. Разные, но эквивалентные.

На рисунке 4.5. два входных порта и два выходных порта. Верхний входной порт может подавать автомату любой символ из алфавита ВходыА, включая символ нейс. Нижний входной порт может подавать автомату любой символ из алфавита ВходыБ, включая символ нейс. Фактическое входное значение, вызывающее реакцию автомата это значение из набора

Входы = ВходыА × ВходыБ Нейтральный символ для этого алфавита есть пара (нейс, нейс). Выходное

значение, которым отреагирует автомат будет из набора Выходы = ВыходыА × ВыходыБ что означает, если на n-ном шаге автомат отреагировал значением (yА(n) , yБ(n)), то

верхний порт покажет символ yА(n), а нижний порт символ yБ(n). Эти символы могут быть поданы по раздельности на входы автоматов – абонентов. Опять же, нейтральный символ - пара (нейс, нейс).

Пример 4.3. Входной алфавит устройства Автоответчик, показанного на рис 3.1. В классическом исполнении устройства автоответчик, символы гудок и

трубка_снята приходят из части схемы (часто это специализированная микросхема) которая обслуживает телефонную линию. Символ приветствие_сыграно приходит из другой части схемы. например устройства воспроизведения магнитной аудиозаписи, или цифрового аудиоустройства, после того, как приветственное сообщение сыграно. Символ конец_сообщения поступает из другого аудиоустройства, которое осуществляет запись сообщения звонящего. Таким образом, более точная модель, описывающая автоответчик, должна иметь три раздельных входных порта, как это показано на рисунке 4.6. На этом рисунке кроме того показано, что выходные символы тоже поделены на три группы, которые расходятся по трём разным портам в разные части схемы.

Диаграмма показанная на рисунке 4.6. отличается от диаграммы, показанной на рисунке 3.1. несколькими особенностями. У каждого состояния есть петля. На рис. 3.1. петля была помечена символом нейс. Теперь же, условием перехода по петле является символ холостого хода автомата:

Входы= { гудок,трубка снята,приветствие сыграно, конец сообщения,нейс}

, ,холх = { нейс нейс нейс }

Page 50: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Петля олицетворяет то, что автомат не возвращается в состояние ожидания, когда на входных портах только нейсы (по стрелке помеченной условием иные). Обычно, когда на входе нет никаких интересующих событий, реагировать совсем не обязательно. Однако, мы подразумеваем, что этот автомат – часть более крупного автомата, то есть он в композиции с другими автоматами. А поскольку мы рассматриваем синхронные композиции, то в случае если в устройстве происходят какие-то события, все автоматы должны реагировать одновременно. И этот автомат должен будет прореагировать вместе со всеми остальными, даже если на его входе нет интересующих символов. Напомним что такая реакция называется холостой ход – состояние не меняется, на выходе нейтральные символы по всем портам. Это полно иллюстрирует смысл и предназначение обязательных нейтральных символов в каждом из входных/выходных алфавитов.

Рисунок 4.6. Устройство автоответчик в виде автомата с раздельными выходами и

раздельными выходами. Входы разделены на три порта и выходы разделены тоже на три порта.

Также на рисунке 4.6. видно, что каждое условие это набор из трёх символов,

поскольку входной алфавит получается как произведение трёх компонентов – алфавитов трёх портов. Условное обозначение «(*,трубка_снята,*)» которым помечена стрелка, идущая из состояния запись_сообщения в состояние ожидание означает

(*,трубка_снята,*) = { (нейс, трубка_снята, нейс), (конец_сообщения, трубка_снята, нейс), (нейс, трубка_снята,

Page 51: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

приветствие_сыграно), (конец_сообщения, трубка_снята,

приветствие_сыграно)} то есть символ «*» означает универсальный символ (wildcard). Любой символ

на соответствующем входе удовлетворяет этому условию. Аналогично обстоит дело с выходами. Поскольку выходных портов три, то выходы

– наборы из трёх символов. Большинство не указаны явно, что подразумевает (нейс, нейс, нейс)

4.5. Соединение автоматов без петли обратной связи. General feedforward composition.

После того как мы рассмотрели случай автоматов с раздельными входами и

выходами, мы готовы рассмотреть вариант композиции автоматов, которая совмещает в себе черты последовательной композиции (рис 4.3) и параллельной(рис 4.1). Пример показан на рис 4.7.

Рисунок 4.7. Смешанная композиция. Автомат А имеет разделённые выходы ВыходыА = ВыходыА1 × ВыходыА2 Автомат Б имеет разделённые входы ВходыБ = ВходыБ1 × ВходыБ2 Обратите внимание, что у автомата А выходы ВыходыА2 поступают как на

выходной порт объединённого автомата, так и на входной порт ВходыБ1 автомата Б. Подача символов из одного порта нескольким адресатам называется разветвление (forking). В упражнении 1 к этой главе предлагается построить объединённый автомат для такого типа композиции.

Пример 4.4. Присоединим к устройству Автоответчик показанному на рис. 4.6. модуль

управления воспроизведением, показанный на рис. 4.8, который, как следует из названия, управляет процессом воспроизведения записного автоответчиком сообщения. В его задачи входит зажигать индикатор, в случае, когда есть записанное сообщение, отслеживать нажатие пользователем, желающем прослушать ожидающее его сообщение кнопки «Прослушать». После того, как кнопка нажата, воспроизводится ожидающее сообщение. После того как сообщение проиграно, индикатор гаснет.

Page 52: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Рисунок 4.8. Модуль управления воспроизведением, подключаемый к

автоответчику. Соединение двух описанных автоматов показано на рис 4.9. На нём также показано

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

Рисунок 4.9. Соединение автомата Автоответчик и автомата Модуль управления

воспроизведением. Показанные пунктиром модули являются источниками входных символов автоматов и получателями выходных сигналов. Они не смоделированы в виде автоматов, но показана их роль в устройстве.

Интерфейс телефонной линии порождает символы гудок и трубка_снята, когда

обнаруживает соответствующие события на линии. Каждый из этих символов вызывает реакцию устройства в целом. Когда автомат Автоответчик передаёт символ автоответчик_включён, модуль воспроизведения приветствия проигрывает приветствие

Page 53: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

для звонящего. Дальше с точки зрения этого автомата некоторое время длится ожидание (во время которого могут произойти некоторые иные события), а затем приходит символ приветствие_сыграно. Аналогично работает модуль записи. По окончании записи сообщения автомат Автоответчик передаёт символ записано в модуль управления воспроизведением. Модуль управления воспроизведением, получив символ записано, зажигает индикатор. Когда пользователь нажимает кнопку «Прослушать», на вход модуля управления воспроизведением поступает символ прослушать. Этот модуль передаёт символ воспроизвести в модуль воспроизведения. Модуль воспроизведения, по прошествии некоторого времени, передаёт сигнал воспроизведено, в модуль управления воспроизведением.

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

4.6 Иерархические композиции. Hierarchical composition. Опираясь на композиции рассмотренные выше, мы можем разобраться с любым

соединением автоматов, которое не содержит обратных связей. Рассмотрим например последовательное подключение трёх автоматов, как показано на рисунке 4.10.

Рисунок 4.10. Последовательное соединение трёх автоматов. Они могут быть

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

Методы объединения автоматов мы уже рассмотрели, но только для двух

автоматов. Несложно распространить способ объединения автоматов, показанный на рис. 4.3, на случай трёх автоматов (Упражнение 2). Для этого мы сначала объединяем два верхних автомата, а затем третий автомат объединяется с результатом первой композиции. Это и называется иерархическая композиция (hierarchical composition).

Вообще, некий набор соединённых между собой автоматов можно иерархически объединить более чем одним способом. Например, в случае показанном на рисунке 4.10, мы можем объединить сначала автоматы А и Б, что даст нам автомат Г, а затем объединить автомат Г и В, что даст нам автомат Д. Или наоборот, сначала объединить автоматы Б и В, а затем объединить автомат А с полученным автоматом Е, что даст нам автомат Ж, отличающийся от Д, но эквивалентный ему.

Page 54: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

4.7. Обратная связь. Feedback. В простых устройствах с обратной связью, выходной сигнал некоего автомата

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

При синхронном подходе, композиция с обратной связью – искусный вид композиции. Для синхронной композиции выходной символ автомата одновременно является его входным символом. Причём не входным символом для следующего шага, а входным символом для этого же самого шага, то есть выходной символ является причиной появления самого себя.

Мы часто сталкиваемся с подобной ситуацией в математике. Широко распространённая задача - найти x для заданной функции f такое, что:

Решение для такого выражения в математике называется неподвижная точка

(fixed point). Этот случай сходен со случаем обратной связи, потому что значение f(x) на «выходе» этой функции совпадает со значением x на её «входе» и наоборот. Рисунок 4.12 (а) даёт пример подобной связи: выходной символ автомата одновременно является его входным символом.

Ещё более запутанная задача, включающая в себя два выражения, состоит в том, чтобы найти x и y такие, что

Аналогом этого выражения является композиция с двумя автоматами в петле

обратной связи, такая, как показана на рисунке 4.11. Рисунок 4.11. Иллюстрация к задаче о неподвижной точке Устройство Автоответчик, изображённое на рисунке 4.9, тоже можно было бы

рассматривать как композицию с обратными связями, если бы все записывающие/воспроизводящие устройства были бы представлены автоматами. Но на рисунке они показаны как часть окружающей среды.

Выражение подобное (4.6) может не иметь неподвижных точек, иметь одну неподвижную точку, или иметь множество неподвижных точек. Возьмём для примера функцию →→→→ℝ ℝℝ ℝℝ ℝℝ ℝf : такую, что 2∀ ∉∀ ∉∀ ∉∀ ∉ℝℝℝℝx , f(x)= 1+ x . Выражение (4.6) для неё

превращается в уравнение 2x = 1+ x которое не имеет решения в действительных числах. Если взять функцию f(x)= 1- x , то выражение (4.6) превращается в уравнение x = 1- x , что

даёт неподвижную точку x = 0,5 . И наконец, выражение (4.6) для функции 2f(x)= x

принимает вид 2x = x , что даёт нам две неподвижные точки x = 0 и x = 1. В контексте дискретных автоматов, композиция с обратной связью, которая не

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

x = f(x) (4.6)

, аx = f(y) y = g(x)

Page 55: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

точку среди достижимых состояний, потому что они тоже считаются несогласованными. Композиция с обратной связью, у которой имеется ровно одна неподвижная точка для каждого достижимого состояния, называется согласованной (well-formed). К счастью, согласованные композиции спроектировать несложно, и к тому же они получаются на удивление полезными. Далее мы исследуем тему обратных связей, начав рассмотрение с примера в некоторой степени условного, без входных сигналов.

4.7.1 Композиция с обратной связью, без входных сигналов. Feedback composition with no inputs.

Выходной порт автомата, показанного на рисунке 4.12 (а), напрямую присоединён

к его входному порту. Построим эквивалентный автомат, в котором обратная связь будет скрыта, как это показано на рисунке. Тогда у этого автомата не будет входов. Однако это не подходит для нашей модели, для которой необходимы какие-то входные сигналы которые будут задавать шаги работы автомата. Поэтому мы искусственно вводим входной порт, с двумя входными символами:

Входы = { шаг, нейс } как это показано на рисунке 4.12 (б). Символ шаг означает команду внутреннему

автомату сделать очередной шаг, а входной символ нейс вызывает холостой ход этого автомата. Выходной алфавит автомата:

Выходы = ВыходыА Рисунок 4.12. Пример композиции с обратной связью без входных сигналов. Это нехарактерный пример синхронных/реактивных систем, и поэтому требует

введения такого искусственного алфавита. На практике, однако, такие автоматы обычно состыкованы с другими автоматами, как это показано на рис 4.13, благодаря чему нет необходимости искусственно вводить какие бы то ни были входные порты. Объединённый автомат соответствующий такой композиции, включающей в себя, в том числе, автомат у которого нет ни одного входного порта, будет делать очередной шаг, каждый раз, когда на входе появится любой не нейтральный символ. Поэтому такой объединённый автомат не нуждается в искусственном введении входного порта.

Page 56: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Рисунок 4.13 Композиция с обратной связью, подключённая к ещё одному

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

с обратной связью с автомата, показанного на рис. 4.12, потому что это самый простой вариант композиции. Чтобы можно было замкнуть петлю обратной связи обязательно должно выполняться условие.

Предположим, что на n-ном шаге текущее состояние ∈∈∈∈ А

s(n) Cостояния . Требуется

найти выходной символ ∈∈∈∈ Аy(n) Выходы . А поскольку этот же символ является входным,

он должен удовлетворять условию: где s(n+1) следующее состояние. Сложность заключается в том, что неизвестное

значение y(n) стоит в обеих частях уравнения. Если мы найдём y(n), то соответствующее ему s(n+1) автоматически определяется функцией ФПВА. Поэтому, чтобы упростить обсуждение, избавимся от вычисления s(n+1), и будем работать с функцией выходов (ФВ):

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

входного символа. Теперь задача формулируется так: дано текущее состояние s(n) и есть известная функция ФВА. Найти y(n) такое, что:

где s(n) известная константа. Таким образом, это выражение вида (4.6), решение

которого (если таковое существует) и есть неподвижная точка. Одно решение известно априори. Это нейтральный символ поскольку

Анейс = ФВ (s(n), нейс) , по определению. Но это не то решение, которое

нас интересует. Нас интересует решение для не нейтрального символа y(n). Выше мы говорили, что композиция, показанная на рисунке 4.12, называется

согласованной, если для каждого из её достижимых состояний ∈∈∈∈ Аs(n) Cостояния , есть

такой не нейтральный символ y(n), который является решением выражения (4.7). Во всех иных случаях композиция называется несогласованной. Если ком позиция согласованная, то объединённый автомат определяется как:

А( s(n+1) , y(n) )=ФПВ ( s(n) , y(n) )

⊂⊂⊂⊂А АВыходы Входы

→→→→А А А АФВ : Состояния × Входы Выходы

Аy(n) =ФВ ( s(n) , y(n) ) (4.7)

y(n) = нейс (и кроме того ) s(n+1) = s(n)

Состояния = СостоянияА

Входы = {шаг, нейс} Выходы = ВыходыА

Исходное_состояние = Исходное_состояниеА

if (x(n) = шаг) (s(n), y(n)) // y(n) != нейс if (x(n) = нейс) (s(n), x(n))

ФПВ(s(n), x(n)) =

Page 57: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Обратите внимание, что объединённый автомат определяется только для случая

согласованной композиции, то есть существует единственный символ y(n) являющийся решением выражения (4.7).

Следующий пример иллюстрирует разницу между согласованными и несогласованными композициями. Он подсказывает методику решения уравнений типа (4.7) для частного случая систем с реакцией определяемой внутренним состоянием, которые занимают важную нишу среди всех систем.

Рисунок 4.14. Три примера композиций с обратными связями. Варианты (б) и (в)

несогласованные. Вариант (б) не имеет неподвижной точки для состояния 2. Вариант (в) имеет по две неподвижных точки для каждого из состояний.

Пример 4.5. Рассмотрим три композиции с обратной связью, показанные на рисунке 4.14. Во

всех тёх случаях, исходные автоматы имеют одинаковые входные/выходные алфавиты.

Входы= Выходы = {true, false, нейс}

Page 58: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Входной алфавит объединённого автомата {шаг, нейс} , как это показано на рис.

4.12. В нашем случае мы не показываем входные порты объединённого автомата, чтобы не загромождать чертёж. Нам требуется найти решение y(n) (отличное от нейс) уравнения (4.7).

Рассмотрим автомат (а). Предположим что автомат в своём исходном состоянии s(n) = 1. Из него ведут две стрелки, соответствующие обоим не нейтральным входным символам. Для обоих вариантов выходной символ y(n) = false. Поскольку выходной символ false, то и входной символ в тот же самый момент тоже false. Следовательно имеется неподвижная точка – решение уравнения (4.7) и она единственная для этого состояния:

Реакцией на такой символ будет переход из состояния 1 в состояние 2, а выходным

символом объединённого автомата false. Предположим теперь, что автомат в состоянии 2. Аналогично предыдущему

состоянию, из него ведут две стрелки, соответствующие обоим не нейтральным входным символам. Для обоих вариантов выходной символ y(n) = true. Поскольку выходной символ true, то и входной символ в тот же самый момент тоже true. Следовательно, имеется неподвижная точка – решение уравнения (4.7) и она единственная для этого состояния:

Реакцией на такой символ будет переход из состояния 2 в состояние 1, а выходным

символом объединённого автомата false. Поскольку для каждого достижимого состояния имеется единственная

неподвижная точка, эта композиция согласованная. Объединённый автомат на каждом шаге меняет своё состояние на

противоположное, и на его выходе будет последовательность: в ответ на входную последовательность Диаграмма состояний и переходов объединённого автомата приведена на рис. 4.15. Рисунок 4.15. Объединённый автомат, соответствующий композиции рис.

4.14 (а)

АФВ ( 1, false ) = false

АФВ ( 2, true ) = true

{false, true, false, true, false, true, ...}

{шаг, шаг, шаг, шаг, шаг, шаг, ...}

Page 59: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Теперь рассмотрим автомат рис. 4.14 (б). Когда автомат в исходном состоянии 1, рассуждения аналогичны предыдущему случаю. Здесь также имеется одна неподвижная точка, выходной и входной символ false, и происходит переход в состояние 2. Но когда автомат оказывается в состоянии 2, получается иная картина. Если искомый символ на входе false, то он вызовет появление на выходе символа true. Если искомый символ на входе true, то он вызовет появление на выходе символа false.

То есть уравнение А

ФВ ( 2, y(n) ) = y(n)не имеет решений отличных от символа

нейс. Следовательно, рассматриваемая композиция несогласованная. Рассмотрим автомат рис. 4.14 (в). Эта композиция с обратной связью также

несогласованная, но по иной причине. Пусть автомат в исходном состоянии 1. Если искомый входной символ true, то выходной символ тоже true. То есть true это неподвижная точка, и выходной символ автомата true, а сам он остаётся в прежнем состоянии. Однако, если искомый символ false, то выходной символ тоже false. То есть false это тоже неподвижная точка, выходной символ автомата будет false, а сам он переходит в состояние 2. То есть здесь проблема в том, что существует два решения, две неподвижных точки.

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

4.7.2. Выходы, определяемые состоянием. State-determined output

У автомата рис. 4.14 (а) из каждого состояния выходит по две стрелки, которые

помечены одним и тем же символом, вне зависимости от того, какой символ на входе. То есть выходной символ в этом случае зависит только от состояния и не зависит от входного символа. В состоянии 1 выходной символ y(n) = false, а в состоянии 2 y(n) = true. Каждый из этих символов является неподвижной точкой для соответствующих состояний, и исходя из этого сразу понятно, что эта композиция - согласованная.

Говорят, что автомат имеет выходы, определяемый состоянием (state-determined output), если для каждого из его достижимых состояний ∈∈∈∈ А

s(n) Cостояния выходной

символ y(n) = Выхs, соответствует всем переходам, исходящим из этого состояния, в ответ на любой не нейтральный входной символ.

В случае если мы охватываем петлёй обратной связи автомат с выходами

определяемыми состоянием, то результатом такой композиции будет объединённый автомат:

А sФВ ( s(n) , y(n) ) =Вых

Состояния = СостоянияА

Входы = {шаг, нейс} Выходы = ВыходыА

Исходное_состояние = Исходное_состояниеА

if (x(n) = шаг) ФПВА(s(n), Выхs), где - Выхs выходной символ, единственный для этого состояния, вне зависимости от входного символа

if (x(n) = нейс) (s(n), x(n))

ФПВ(s(n), x(n)) =

Page 60: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Если автомат с выходами определяемыми состоянием охватить петлёй обратной

связи, в которую включен любой другой автомат, то объединённый автомат будет также согласованным, что иллюстрируется следующим примером.

а) б) Рисунок 4.16. Автомат А с выходами определяемыми состоянием, автомат Б нет.

Композиция, объединяющая эти автоматы петлёй обратной связи – согласованная. Объединенный автомат показан на рис (б). Обратите внимание, что состояние (1,2) недостижимо

Page 61: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Пример 4.6. Даны два автомата А и Б, соединённые петлёй обратной связи, как это показано на

рисунке 4.16. Легко заметить что это автоматы показанные на рис. 4.14 и рассмотренные ранее. Автомат А тот, который показан на рис. 4.14 (а), автомат Б тот который показан на рис. 4.14 (б). Автомат А с выходами определяемыми состоянием, автомат Б – нет. Полученная композиция – согласованная.

Чтобы в этом убедиться, предположим, что каждый автомат в своём исходном состоянии (1 для обоих). Автомат А порождает выходной символ false, независимо от того, что на его входе. Выходной символ автомата А поступает на вход автомата Б. Автомат Б под воздействием входного символа false порождает выходной символ false и переходит в состояние 2. Выходной символ автомата Б поступает на вход автомата А. Автомат А под воздействием входного символа false переходит в состояние 2. (И А и Б совершают свой переход одновременно в нашей синхронной/реактивной модели). Аналогичным образом мы можем определить выходной символ и переход для каждого из остальных состояний. Диаграмма состояний полученного объединённого автомата приведена на рис 4.16 (б). Обратите внимание, что состояние (1,2) недостижимо из исходного состояния (1,1). Следовательно мы можем его игнорировать при анализе того, согласованная ли это композиция.

Входной алфавит объединённого автомата {шаг, нейс} . Выходной алфавит совпадает с выходным алфавитом автомата А {true, false, нейс} . Пространство состояний

А Б××××Состояния Состояния . Функцию переходов и выходов зададим в виде таблицы:

Текущее состояние

Символы на входе шаг нейс

(1,1) ( (2,2) , false) ( (1,1), нейс) (2,2) ( (2,1) , true) ( (2,2), нейс) (1,2) ( (1,2) , false) ( (1,2), нейс) (2,1) ( (2,1) , true) ( (2,1), нейс)

Автоматы, выходы которых зависят не только от состояния, тоже могут давать

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

а) б) Рисунок 4.17. Выходы автомата (а) определяются не только состоянием, тем не

менее композиция с обратной связью получается согласованной. На рис (б) объединённый автомат

Page 62: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Пример 4.7. Рассмотрим автомат, показанный на рис. 4.17. Внутренний автомат имеет

выходной алфавит: Входной алфавит: Выходы автомата определяются не только состоянием. Например, как следует из

диаграммы, из состояния выходят две стрелки, одной из которых соответствует выходной символ false, другой maybe. Тем не менее, уравнение (4.7) имеет по одному решению для каждого состояния.

АФВ ( 1, false ) = false и

АФВ ( 2, true ) = true. Следовательно это

согласованная композиция, объединённый автомата показан на рис. 4.17 (б)

Определить поведение автомата, выходы которого зависят не только от состояний,

часто бывает намного сложнее, даже если композиция согласована. Далее, в п. 4.7.4. мы изучим методику конструирования, которая во многих случаях оказывается эффективна для быстрого вычисления неподвижной точки и определения того, является ли она единственной. Тем не менее, такая методика работает не всегда. В частности для примера (4.7) она даёт осечку. Если входной алфавит конечный, есть единственная методика, дающая гарантированный результат – метод подстановки. То есть перепробовать в качестве решения уравнения (4.7) все возможные значения y(n), для каждого достижимого состояния. Прежде чем мы рассмотрим упомянутую процедуру, введём более интересный вариант композиции.

4.7.3 Композиция с обратной связью, с входными сигналами. Feedback composition with inputs.

Рассмотрим автомат, показанный на рисунке 4.18. Рисунок 4.18. Композиция с обратной связью с входными сигналами. Он имеет два входных и два выходных порта. Выходной порт 2 соединён с

входным портом 2 петлёй обратной связи. Нам требуется построить эквивалентный автомат с одним входом, одним выходом, в котором обратная связь будет скрыта, как показано на рисунке. Исходный автомат похож на тот, который приведён на рис. 4.12, за исключением того, что у него появился дополнительный входной порт и дополнительный выходной порт. Методика построения объединённого автомата сходная, но выкладки более громоздки. Для заданного состояния и текущего входного «внешнего» символа мы должны вычислить «неизвестное» - выходной символ.

Исходный автомат – автомат с разделёнными входами и разделёнными выходами. Его входной и выходной алфавиты:

ВходыА = ВходыА1 × ВходыА2

АВыходы = {true, false, maybe, нейс}

АВходы = {true, false, нейс}

Page 63: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

ВыходыА = ВыходыА1 × ВыходыА2 Для того чтобы можно было замкнуть, должно выполняться условие ВыходыА2 ⊂ ВходыА2 Функция выходов автомата А: Её удобно записать в виде произведения множеств где ФВА1 – вычисляет выходной символ для первого порта, ФВА2 – вычисляет

выходной символ для второго порта: Предположим, что на n-ном шаге текущее состояние автомата ∈∈∈∈ А

s(n) Cостояния ,

а внешний входной символ ∈∈∈∈1 А1x (n) Входы . Требуется найти неизвестный выходной

символ ∈∈∈∈1 2 А(y (n) , y (n)) Входы такой, что:

Символ y2(n) присутствует в обеих частях уравнения, потому что вход x2

подключен к выходу y2. Разделив выходные сигналы различных портов, получим В приведённых уравнениях s(n) и x1(n) известны, а y1(n) и y2(n) неизвестны.

Заметим, что если уравнение (4.10) имеет единственное решение y2(n), тогда входной символ будет (x1(n), y2(n)), и отсюда можно определить следующее состояние будет s(n+1) и выходной символ y1(n). Неподвижная точка здесь играет такую же роль как и в случае уравнения (4.7).

Композиция, приведённая на рис 4.18, называется согласованной (well-formed), если для каждого из достижимых состояний ∈∈∈∈ А

s(n) Cостояния и для каждого входного

символа ∈∈∈∈ А1x(n) Входы существует единственный, не нейтральный символ,

∈∈∈∈2 А2y (n) Выходы , который является решением уравнения (4.10). Если композиция

согласованная, тогда соответствующий ей объединённый автомат будет:

→→→→А А А АФВ : Состояния × Входы Выходы

,А А1 А2ФВ = (ФВ ФВ )

→→→→А1 А А А1ФВ : Состояния × Входы Выходы

→→→→А2 А А А2ФВ : Состояния × Входы Выходы

А 1 2 1 2ФВ ( s(n) , (x (n) , y (n)) ) = (y (n) , y (n))

А1 1 2 1ФВ ( s(n) , (x (n) , y (n)) ) = y (n)

А2 1 2 2ФВ ( s(n) , (x (n) , y (n)) ) = y (n)

(4.8)

(4.9)(4.10)

Page 64: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Напомню, что определение наборов и функций преобразования приведено в п 3.1.1. а) б) Рисунок 4.19 Пример согласованной композиции. На рис (а) исходный автомат, на

рис (б) результат композиции. Пример 4.8. На рисунке 4.19 показан автомат А имеющий два входных порта и один выходной.

Автомат охвачен обратной связью.

А××××ℝ ℝℝ ℝℝ ℝℝ ℝВходы =

АℝℝℝℝВыходы =

АℝℝℝℝСостояния =

Таким образом, автомат А это автомат с бесконечным количеством входных символов, бесконечным количеством выходных символов и бесконечным количеством состояний.

На шаге n, на его входе символ ( x1(n), x2(n) ). Если текущее состояние s(n), то следующее состояние будет s(n+1), а выходной символ y(n). Используя эти обозначения, определим функцию переходов и выходов.

Или эквивалентная запись: Получается что выход автомата А зависят от состояния. Обратная связь связывает

выходной порт со входным портом x2, то есть x2(n) = y(n). Для заданного текущего состояния s(n) и входного символа x(n) уравнение (4.10) примет вид:

А 1 2

1 2

( s(n+1) , y(n) ) = ФПВ ( s(n) , ( x (n), x (n) ) )

= ( 0,5s(n) + x (n)+ x (n) , s(n) )

А 1 2

1 2

s(n+1) = ФП ( s(n) , ( x (n), x (n) ) )

= 0,5s(n) + x (n)+ x (n)

А 1 2y(n) = ФВ ( s(n) , ( x (n), x (n) ) ) = s(n)

А 1 2 2ФВ ( s(n) , ( x (n), x (n) ) ) = x (n)

Page 65: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

отсюда неподвижная точка: а объединённый автомат определяется как:

ℝℝℝℝВходы = ℝℝℝℝВыходы = ℝℝℝℝСостояния =

У объединённого автомата единственный вход, сам он изображён на рис. 4.19 (б).

4.7.4 Конструктивная методика для композиций с обратной связью. Constructive procedure for feedback composition

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

В этом пункте мы опишем очень практичную методику поиска неподвижной точки, которая работает во многих (однако не во всех) случаях. Это так называемая конструктивная методика (constructive procedure). Её «конструктивизм» в том, что она довольно проста, весьма механистична, т.е. не требует каких-то научных озарений и может дать ответ является ли данная точка неподвижной точкой, или забраковать её за конечное число итераций. Подход к решению этой задачи прост. Для каждой реакции начинаем с невыясненного символа, имеющего значение X. Потом, используя то, что уже стало известно о символах на входе каждого автомата, определяем максимум возможного о символах на выходе этого автомата. Новая полученная информация станет основой для исследования следующего автомата. Автоматы можно рассматривать в любой последовательности, если не удалось ничего определить о каком-то автомате, оставляем его до лучших времён и переходим к следующему. Таким образом, мы пройдём все автоматы и вернёмся к началу, располагая более полной информацией, чем это было вначале. Повторяем описанную процедуру, рассматривая повторно каждый из автоматов, у которого ещё есть невыясненные сигналы, до тех пор, пока все символы не будут определены, или пока не окажется, что про какие-то символы уже нельзя выяснить ничего более определённого. Проиллюстрируем эту методику примером, состоящим только из одного автомата, но следует понимать, что методика работает для любого количества автоматов.

Рисунок 4.20. Композиция с обратной связью, с выходами, которые зависят не

только от состояния.

2x (n) = s(n)

ФПВ( s(n) , x(n) ) = ( 0,5s(n) + x(n)+ s(n) , s(n) )

= ( 1,5s(n) + x(n) , s(n) )

Page 66: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Пример 4.9. На рисунке 4.20 приведена композиция с обратной связью с выходами, которые

зависят не только от состояния. Однако, несмотря на это, при помощи описанной конструктивной методики мы можем определить, существует ли единственная неподвижная точка для каждого из состояний. Предположим что текущее состояние a, а на входе композиции символ шаг. Вначале считаем, что в петле обратной связи символ Х (в рассматриваемой композиции один автомат, но если бы их было больше, можно было бы рассматривать их в любом порядке). Изучая автомат А, мы видим, что поскольку выходы определяются не только состоянием, то невозможно однозначно определить какой символ окажется на выходе. Однако, при более внимательном рассмотрении, оказывается, что выходной символ порта 2 зависит только от состояния, и поэтому определён. Его значение 1. Теперь символ в петле обратной связи определён, заменяем Х на 1.

Повторяем процедуру. Напомню, что мы можем выбирать для рассмотрения любой

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

Теперь положим, что текущее состояние b. Как и в прошлый раз, считаем, что в петле обратной связи символ Х. И опять мы видим, что поскольку выходы определяются не только состоянием, то невозможно однозначно определить какой символ окажется на выходе. И как прежде, при более внимательном рассмотрении, оказывается, что выходной символ порта 2 зависит только от состояния, и поэтому определён и его значение 0. Заменяем Х в петле обратной связи на 0.

Повторяем процедуру с известным символом в петле обратной связи. Символ 0 на входе автомата вызывает его переход обратно в состоянии b, а на выходе автомата пара (0,0).

Напомним, что линии поведения автомата, это множество всех пар (x,y) в которых x – символ на входе, y – символ на выходе. Для рассматриваемого автомата возможен только один вариант входной последовательности (если не брать в расчёт нейтральные символы):

(шаг, шаг, шаг, ...)

И как мы только что определили, выходная последовательность будет:

(1, 0, 0, ...) Отсюда:

Линии_поведения ={( (шаг, шаг, шаг, ...) , ( 1, 0, 0, ...) )} Эта методика может применяться вообще к любой композиции. Если процедура

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

Page 67: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Пример 4.10 Для устройства Автоответчик, показанного на рис. 4.9 есть модуль записи.

Смоделируем его. В частности, как это отражено на рис 4.21, нам важно показать тот факт, что запись

сообщения прекращается и в случае превышения заданного интервала длительности и в случае, когда звонящий положил трубку. Сделаем это при помощи конечного автомата с двумя состояниями. Обратите внимание, что у автомата модуль записи выходы зависят не только от состояния. Например, в состоянии ожидание, на выходах может быть пара (нейс, начать_запись) или (нейс, нейс), для разных не нейтральных символов на входе. Автоматы Модуль записи и Автоответчик, соединены петлёй обратной связи. Удостоверимся что композиция согласованная. Во-первых, обратим внимание на то, что в состоянии ожидание выходным символом верхнего порта (через который осуществляется обратная связь) в любом случае будет нейс (рис. 4.22). Отсюда получатся, что в этом состоянии в принципе не может возникнуть такой выходной символ, который покажет, что эта композиция несогласованная. Если такая ситуация и может возникнуть, то только в состоянии запись. В этом состоянии выходной символ неизвестен до тех пор, пока неизвестен входной символ. Однако мы видим, что переход в это состояние происходит только по приходу символа записать. В свою очередь из рисунка 4.6 видно, что этот символ производится только при переходе в состояние запись сообщения. И на всех стрелках, выходящих из этого состояния видно, что выходной символ нижнего порта (через который замкнута обратная связь) – нейс для любого входного символа. Развивая это наблюдение, и рассмотрев все выходящие из состояния переходы, мы можем удостовериться, что получившаяся композиция – согласованная.

Рисунок 4.21. Устройство автоответчик с обратной связью между его

компонентами.

Page 68: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Рисунок 4.22. Автомат, реализующий модуль записи

4.7.5. Метод полного перебора. Exhaustive search

Если композиция содержит в петле обратной связи, хотя бы один автомат с

выходами определяемыми состоянием, задача поиска фиксированной точки проста. Если нет ни одного подобного автомата, можно попытаться применить конструктивную методику, рассмотренную в предыдущем пункте. К сожалению, если в какой-то момент выясняется, что дальнейшее уточнение ситуации невозможно, это ещё не значит что композиция несогласованная. В частности, эта методика даёт сбой для примера 4.7 (диаграмма переходов рис.4.17), несмотря на то, что композиция получается согласованной. Для этого примера мы можем определить неподвижную точку, перепробовав разные варианты символов в петле обратной связи. Этот метод называется метод полного перебора (exhaustive search). Когда требуется выполнить исследование этим методом, мы будем поочерёдно подставлять в цепь обратной связи все возможные символы. Если при подстановке какого-либо символа получается противоречие, он отбраковывается. Подобный перебор производится для каждого из достижимых состояний.

Возьмём в качестве примера автомат, показанный на рис. 4.17. Предположим, что он в состоянии 1. На выходе автомата А не может быть символ maybe, поскольку в таком случае этот символ окажется на входе автомата. То, что реакция на входной символ maybe явно не показана, означает, что он подобен нейтральному символу, то есть автомат остаётся в том же состоянии, а на его выходе символ нейс. Полученное противоречие доказывает, что символ maybe не может быть неподвижной точкой. Если после отбраковки всех символов дающих противоречия остаётся по одному варианту для каждого из достижимых состояний, значит композиция согласованная.

Метод полного перебора применим к случаю рис. 4.17, только потому, что у этого автомата конечное количество состояний и конечное количество переходов из каждого состояния. Если хоть одно из этих условий нарушается, метод полного перебора становится неприменим. Таким образом, существуют композиции, которые согласованны, но для которых конструктивная методика не даёт ответа(см текст на следующей странице.). Даже если метод полного перебора применим теоретически, на практике число возможных комбинаций может быть столь велико, что нет практической возможности воспользоваться этим методом.

4.7.6 Недетерминированные автоматы. Nondeterministic machines

Недетерминированные автоматы могут соединяться друг с другом также, как и

детерминированные. Надо сказать, что поскольку детерминированные автоматы частный случай недетерминированных, то два разных типа автоматов могут соединяться в единую композицию. Композиции без обратной связи просты и работают точно так же, как описанные ранее аналогичные композиции детерминированных автоматов

Page 69: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

(см. упражнения 14 и 15). Композиции с обратной связью требуют небольшого усовершенствования процесса анализа.

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

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

⊂⊂⊂⊂Допустимые_входы Входы , ⊂⊂⊂⊂Допустимые_следующие_состояния Состояния

⊂⊂⊂⊂Допустимые_выходы Выходы Для некоего отдельного автомата входящего в композицию вход полностью

определён, когда множество Допустимые_входы содержит ровно один элемент. Для него же вход полностью не определён, когда Допустимые_входы не содержит ни одного символа.

Итерации происходят, как было описано ранее. Для каждого автомата в композиции, выясняется всё, что возможно о его выходах и следующих состояниях, с учётом всего, что известно о его входах, то есть множества Допустимые_входы . В результате могут быть добавлены новые элементы в множества Допустимые_следующие_состояния и Допустимые_выходы . Когда в ходе итерации не добавлено ни одного нового элемента, процесс останавливается. Если ни одно из множеств Допустимые_входы

или Допустимые_выходы не остались пустыми,

композиция согласованная.

Page 70: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Углублённый материал: Конструктивная семантика. Constructive Semantics

Термин «семантика» подразумевает смысл. Мы описали композиции

использующие понятие синхронности, которое делает особенно интересными композиции с обратной связью. Когда мы вводим в рассмотрение понятие «согласованные», мы в сущности, ограничиваем количество допустимых композиций. Композиции, которые оказываются несогласованными, выпадают из рассмотрения, поскольку в рамках конструктивной семантики, они попросту не имеют смысла.

Один из способов охарактеризовать композицию как осмысленную, дать методику её оценки. Полученная процедура называется операционная семантика (operational semantics). Выше мы изложили три методики вычисления реакции для композиций автоматов, содержащих обратные связи. Если хоть один из автоматов в петле обратной связи – автомат с выходами определяемыми состоянием, реакция рассчитывается тривиально. Если ни один из автоматов не обладает этим свойством, мы применяем конструктивную методику, описанную в пункте 4.7.4. Однако, для некоторых композиций в петлях обратной связи могут остаться невыясненные символы после применения этой процедуры. На крайний случай есть метод полного перебора, описанный в пункте 4.7.5. Однако метод полного перебора не всегда применим, даже если теоретически он подходит для конкретного случая. Количество вариантов, которые придётся рассмотреть, может оказаться столь велико, что это будет не осуществимо на практике. Есть автоматы, которые, если поместить их в петлю обратной связи, дадут согласованную композицию, однако не существует конструктивной методики, чтобы определить их реакцию, и нет никакого способа показать, что композиция согласованная. Соответственно, для такой композиции не существует операционной семантики.

Такая ситуация не является необычной для сферы компьютеров и для математики. Известная теорема Гёделя о неполноте (1931), например, утверждает(грубо говоря), что в любой формальной логической системе существуют утверждения, которые истинны, но доказать это невозможно. Это аналогично тому, что могут существовать согласованные композиции, но не для каждой из них можно указать методику демонстрирующую их согласованность. Примерно в те же годы, Алан Тьюринг и Алонсо Чёрч дали примеры функций, которые не могут быть вычислены любой методикой, кроме полного перебора.

Используя эти исследования, Джерард Берри предложил называть обладающими конструктивной семантикой (have a constructive semantics) те синхронные композиции, которые согласованы, и чья согласованность может быть доказана при помощи конструктивной методики приведённой в пункте 4.7.4. Когда эта методика даёт осечку, мы обьявляем такую композицию неприемлемой. Это очень практичное решение, оно годится для многих случаев из жизни. Подробней об этом можно узнать из

G. Berry, The ConstructiveSemantics of Pure Esterel, Book Draft, http://www-sop.inria.fr/meije/esterel/doc/mainpapers.html.

Page 71: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

4.8. Итоги. Многие системы проектируются как дискретные автоматы. Обычное положение

вещей, когда модель строится как композиция компонентов - автоматов. В этой главе были рассмотрены синхронные композиции (synchronous composition). Определение характеристик композиций с обратной связью (feedback composition) может оказаться непростой задачей, поскольку входной символ внутреннего автомата может являться его же выходным символом на этом же самом шаге. Композиция с обратной связью называется согласованной (well-formed) если, все сигналы внутри композиции, для каждого внутреннего автомата имеют по одному не нейтральному и непротиворечивому символу для каждого достижимого состояния, и каждого входного символа.

Описание систем как композиций более простых автоматов, помогает во многих случаях. Главное – это помогает лучшему пониманию. На блок-диаграммах, описывающих структуру системы, чаще всего выделяются компоненты, реализующие отдельные функции, присущие системе в целом. Может оказаться, что некоторые компоненты уже разработаны, и можно осуществить их повторное использование. Модель автоответчика, изображённая на рисунке 4.9. включает в себя такие готовые узлы как интерфейс телефонной линии, модуль записи, и т.д. Композиция также упрощает описание. Если описаны внутренние автоматы и известен тип композиции, поведение системы в целом вытекает из этих данных, если применять описанные выше правила композиции. Компиляторы синхронных языков программирования и средства проверки автоматов делают это автоматически.

Существует три процедуры для определения поведения композиции дискретных автоматов с обратными связями. Самая простая процедура применима если в любую указанную петлю обратной связи входит автомат с выходами определяемыми состоянием. В таком случае реакция определяется элементарно. Если в петле обратной связи нет ни одного автомата с выходами определяемыми состоянием, можно применить более трудоёмкую т.н. конструктивную методику (constructive procedure) описанную в п. 4.7.4. Однако эта методика даёт результаты не во всех случаях. Наиболее трудаёмкий метод – метод полного перебора используется, если два предыдущих способа не дали результата. Однако метод полного перебора в принципе неприменим для автоматов с бесконечным числом состояний, и даже когда он применим теоретически, количество вариантов для перебора может быть столь велико, что этот способ неприменим практически.

Упражнения. В некоторых из приведённых ниже упражнений, вам будет предложено придумать

автомат, выполняющий некоторую заданную работу. Разработка будет проще и результат получится элегантней в том случае, если удачно подобран набор состояний. Несмотря на то что пространство состояний для автомата с требуемыми характеристиками не уникально, сконструировать используя разные пространства состояний, выбор состояний несложен. Каждая задача помечена значком E, T, C, означающие степень сложности задачи. Задачи помеченные значком Е, решаются на ходу. Задачи помеченные Т, требуют предварительного обдумывания. Помеченные C имеют более чем один вариант решения.

1. E Дайте описание композиции, показанной на рис. 4.7. используя описания её

внутренних автоматов, подобно тому, как это сделано для более простых примеров, показанных на рис. 4.1 и 4.3.

Page 72: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

2. E Дайте описание композиции, показанной на рис. 4.10. используя описания её

внутренних автоматов, подобно тому, как это сделано для более простых примеров, показанных на рис. 4.1 и 4.3. Решите задачу двумя способами:

а) Непосредственным произведением пространств состояний для всех трёх внутренних автоматов.

б) Получите композицию А и Б (автомат Г), после чего получите композицию автоматов Г и В.

Прокомментируйте, как соотносятся с собой модели, полученные первым и вторым способом.

3. Т Для автомата Модуль_задержки, приведённого в упражнении 5 а) к предыдущей

главе: а) Создайте модель, которая будет являться последовательной композицией двух

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

б) Все ли состояния пространства состояний полученной модели достижимы? Если нет, приведите пример недостижимых состояний.

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

г) Приведите формулу, для определения размерности пространства состояний для N последовательно соединённых модулей задержки.

4. С Есть автомат Парковочный счётчик, рассмотренный в примере 3.1. в предыдущей

главе, и автомат Счётчик по модулю N, рассмотренный п упражнении 4 к предыдущей главе. Взяв за основу эти два автомата, придумайте пару автоматов:

- автомат, моделирующий автовладельца, который паркует машину, в исходном состоянии модели, после чего кладёт 25 центов каждые 30 минут.

- автомат, моделирующий полицейского, который каждые 45 минут проверяет парковочный счётчик, и выписывает квитанцию каждый раз, когда обнаруживает, что заказанное автовладельцем время истекло. Для простоты, условимся, что полицейский выписывает квитанцию каждый раз, когда обнаруживает, что время истекло, а автовладелец никогда не забирает машину с парковки.

Вы можете представить модель в виде блок-схемы, подобно тому, как это сделано на рис 4.9, и описать словами, какие изменения нужно внести в каждый из исходных автоматов. Приведите диаграмму состояний для дополнительных автоматов, которые вам понадобятся. Сколько времени пройдёт до того момента, когда автовделец получет первую квитанцию?

Положим, что имеется единый для всех автоматов счётчик, генерирующий символ tick каждую минуту.

Обратите внимание, что выходной алфавит устройства Счётчик по модулю N не совпадает с входным алфавитом устройства Парковочный счётчик. Так же выходной алфавит устройства Парковочный счётчик не совпадает с входным алфавитом устройства Счётчик по модулю N. Таким образом, требуются промежуточные автоматы, перекодирующие эти алфавиты. Промежуточные автоматы требуется описать детально, а не просто в виде блока на блок-схеме. (Подсказка: автоматы осуществляющие перекодировку, должны выполнять операцию переименование, и иметь одно состояние).

Page 73: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

5. С Дан автомат описываемый как Состояния = {0,1,2,3} Входы = {увеличить, уменьшить, сброс, нейс} Выходы = {0, нейс} Исходное состояние = 0 По сути это счётчик. Входной символ увеличить приводит к увеличению значения

счётчика на 1 (по модулю 4). Входной символ уменьшить приводит к уменьшению значения счётчика на 1 (по модулю 4). Входной символ сброс, приводит к тому, что значение счётчика становится равным 0 вне зависимости от предыдущего состояния. Выходной символ нейс, во всех состояниях, за исключением, когда автомат переходит в состояние 0, тогда на выходе символ 0. Например, если текущее состояние 3, и на входе символ увеличить, новое состояние будет 0 и символ на выходе будет 0. Если текущее состояние 0, а входной символ уменьшить, то следующее состояние будет 3, а выходной символ нейс.

а) Дайте функцию переходов и выходов для этого автомата и нарисуйте для него диаграмму состояний и переходов.

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

в) Приведите имитационную связь между унитарным автоматом и последовательной композицией и имитационную связь между последовательной композицией и унитарным автоматом.

6. С Дорога оборудована пешеходным переходом со светофором. Основное состояние –

горит зелёный для автомобилей, для пешеходов, соответственно красный. Когда пешеход нажимает на кнопку, на 30 секунд загорается жёлтый для автомобилей, после чего на 30 секунд загорается красный для автомобилей. В то время когда для автомобилей горит красный цвет, для пешеходов загорается зелёный. Когда проходит 30 секунд, красный свет сменяется зелёным. Если в то время, пока горит красный для автомобилей, пешеход повторно нажмёт кнопку, то время работы красного увеличивается до минуты.

Разработайте модель данной системы, которая будет содержать по крайней мере два автомата Автосветофор и Пешеходный светофор, Состояние каждого автомата должно отражать текущий цвет светофора, например Автосветофор должен иметь как минимум три состояния, для зелёного, для жёлтого и для красного цветов. Однако, каждый цвет может соответствовать более чем одному состоянию. Например, для красного цвета может быть более чем одно состояние. Для моделей естественно, когда их внутренние состояния являются отражением состояний реальной системы.

При разработке используйте готовый автомат Таймер, такой, что если на его вход подать символ Старт, то через 30 секунд он выдаст символ Таймаут. Достаточно привести диаграммы состояний и переходов для разрабатываемых автоматов. Изложите все предположения и допущения которые вы использовали.

Page 74: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

7. Е Предположим, имеются два автомата А и Б. Предположим что размеры их входных

алфавитов Iа и Iб, выходных алфавитов Oа и Oб, количество состояний Sа и Sб, соответственно. Определите размеры алфавитов и количество состояний для следующих композиций:

а) Параллельная б) Последовательная в) С обратной связью по типу приведённому на рис. 4.16 8. Т Пример 2 показывает автомат, у которого есть состояния, недостижимые из

исходного состояния. Имеется рекурсивный алгоритм, определяющий достижимые состояния для любого недетерминированного автомата

В этом алгоритме наборы Достижимые_состояния(n), n = 0,1,…, Состояния

рекурсивно определяются как:

Иначе: Достижимые_состояния(n+1) есть набор состояний, в которые автомат может перейти из каждого состояния из набора Достижимые_состояния(n) за один шаг, под воздействием любого из входных символов.

а) Покажите, что для всех n справедливо выражение Достижимые_состояния(n) ⊂ Достижимые_состояния(n+1). б) Покажите, что Достижимые_состояния(n) это множество состояний, в которые

автомат может попасть из Исходного состояния за n и менее шагов. Покажите, что если для некоторого n верно выражение

Достижимые_состояния(n) = Достижимые_состояния(n+1). то верно и равенство Достижимые_состояния(n) = Достижимые_состояния(n+k) для всех k ≥ 0. в) Предположим что выражение 4.11 стало верным при n = N. Покажите, что

Достижимые_состояния(N) множество всех достижимых состояний, т.е. множество включающее в себя все состояния, в которые может попасть автомат из своего исходного состояния под воздействием любых комбинаций входных символов.

г) Пусть общее количество состояний N. Покажите, что выражение 4.11 будет верным при n = N.

д) Вычислите достижимые состояния для всех n для автомата изображённого на рис. 4.4.

е) Пусть количество состояний бесконечно. Покажите что множество достижимых состояний определяется как

Автомат = (Состояния,Входы,Выходы,Исходное_состояние,ФДПВ)

(4.11)

∞∞∞∞∪∪∪∪ n=0

Достижимые_состояния(n)

Page 75: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

9. Т Алгоритм, приведённый в Упражнении 8 можно рассматривать как поиск

неподвижной точки (fixed point). Пусть имеется недетерминированный автомат Определим функцию :℘ → ℘℘ → ℘℘ → ℘℘ → ℘Следующий_шаг (Состояния) (Состояния) которая

отображает подмножества Состояния в подмножества Состояния (напомним, что ℘℘℘℘(А) показательное множество (powerset), множество всех подмножеств, входящих в A), следующим образом:

Как это следует из определения неподвижной точки (fixed point), неподвижной

точкой в данном случае будет любое подмножество S ⊂ Состояния, такое что Следующий_шаг(S) = S

а) Покажите, что и ∅, и Состояния – неподвижные точки функции Следующий_шаг.

б) Пусть Достижимые_состояния множество всех состояний, которые достижимы из Исходного_состояния. Покажите, что Достижимые_состояния тоже неподвижная точка.

в) Покажите, что Достижимые_состояния первая неподвижная точка, включающая состояние Исходное_состояние.

10.С Вспомните Модуль управления воспроизведением, изображённый на рис. 4.8. и

Распознаватель кодов, изображённый на рис. 3.4. Изобразите Распознаватель кодов в виде блока, и подключите его к Модулю управления воспроизведением таким образом, чтобы можно было прослушать сообщение только после корректного ввода кода 1100. Модуль управления воспроизведением придётся соответствующим образом модифицировать.

11. E Рассмотрим автомат, охваченный петлёй обратной связи, входной и выходной

алфавиты которого: {1,2,3,нейс}

Автомат = (Состояния,Входы,Выходы,Исходное_состояние,ФДПВ)

Page 76: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

Является ли эта композиция согласованной? Если да, то приведите последовательность выходных символов для первых 10 шагов.

12 Е В этой задаче исследуется следующее обстоятельство – удачно спроектированный

модуль задержки, добавленный петлю обратной связи способен сделать согласованной любую композицию:

а) Даны входной и выходной алфавиты:

Входы = Выходы = {true, false, absent} спроектируйте автомат, у которого в первом шаге на выходе символ false, а в

последующих шагах на выходе значение, полученное на входе в предыдущем шаге. Это устройство аналогичное устройству Модуль_задержки из упражнения 5 глава 3, с одним отличием – на первом шаге на выходе символ false вместо символа absent.

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

13. С Разработайте автомат, охваченный обратной связью, как это показано на рис. 4.12

такой, чтобы генерируемая им последовательность выходных символов была: a,b,c,a,b,c,… (как обычно, между этими символами может присутствовать произвольное

количество нейтральных символов) 14. Е Видоизмените рис. 4.1 так, чтобы он стал изображать параллельную композицию

недетерминированных автоматов. 15. Е Видоизмените рис. 4.3 так, чтобы он стал изображать последовательную

композицию недетерминированных автоматов. 16. С,Т Два компьютера должны обмениваться данными. Обмен данными должен быть

гарантированным, а пакеты данных в линии связи между этими ПК могут теряться. Предложен следующий алгоритм: Пусть компьютер А передаёт данные, компьютер Б принимает. После того, как А передал очередной пакет, он заводит таймер. Если Б принял пакет, он отправляет подтверждение. (Подтверждение, как и пакет, могут потеряться). Если таймер досчитал, но А так и не принял подтверждение, он передаёт пакет заново, Если подтверждение пришло до того как таймер досчитал, отправляется следующий пакет.

а) Разработайте автомат А и автомат Б, реализующие этот протокол. б) Разработайте недетерминированный автомат с двумя состояниями,

моделирующий линию связи ведущую от А к Б и аналогичную копию моделирующую линию связи от Б к А. Не забывайте что линия связи может корректно доставить пакет или потерять его.

в) Объедините все четыре автомата в единую систему. г) Пусть пакет данных будет передан корректно, но за период времени

превышающий время таймера. Что произойдёт в этом случае?

Page 77: Структура и анализ систем и сигналов - WordPress.com · 2017-07-03 · Структура и ... систем Беркли , Калифорния

17. Т Даны следующие автоматы:

Автоматы А и Б имеют следующие входной и выходной алфавиты

Входы = Выходы = {0,1,нейс}

Автомат В имеет такой же выходной алфавит, но входной алфавит

ВходыС = {шаг, нейс}

а) Какие из этих автоматов детерминированные? б) Изобразите диаграмму состояний и переходов, показав только те состояния,

которые достижимы из исходного. в) Определите поведение указанной композиции. 18 Т Композиция с обратной связью, показанная на рис 4.14 в) несогласованная,

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