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

Теория вычислительных процессов и структур. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
2. Структурная теория автоматов, напротив, рассматривает
главным образом структуру автомата, а также его входных и выходных сигналов. Проблемами структурной теории являются способы построе­ния автоматов из элементарных автоматов, способы кодирования вход­ных и выходных сигналов с помощью элементарных сигналов и т.д.
Конечным автоматом является автомат, множество внутрен­них состояний и множество значений входных сигналов, которые ко­нечны.
Математическая модель цифрового автомата задается совокуп­ностью следующих объектов:
1. X = {x1(t), x2(t),…, xn(t)} – конечное множество входных сиг-
налов, или входной алфавит;
2. Y = {y1(t), y2(t),…, yk(t)} – конечное множество выходных
сигналов, или выходной алфавит;
3. Q = {q1(t), q2(t),…, qs(t)} – множество состояний автомата;
4. δ : Q X Q – функция переходов;
5. λ : Q X Y – функция выходов;
6. q0  Q – начальное состояние автомата.
Таким образом, можно сказать, что, используя понятие абст­рактного автомата, мы имеем дело с отображением множества слов входного алфавита X во множество слов выходного алфавита Y. Отме­тим, что разбиение множества состояний автомата на подмножества, которые объединяют отдельные состояния, приводит к понятию по-
давтомата.
При рассмотрении задач цифровых автоматов, как правило, вводится автоматное время. Функционирование автомата рассматри­вается через дискретные интервалы – времена конечной продолжи­тельности, или интервалы дискретности. Каждому интервалу дис­кретности t соответствует свой выходной сигнал y(t). Предполагается, что выходной сигнал может возникнуть только после появления соот­ветствующего этому же моменту времени входного сигнала с одно­временным переходом из состояния q(t – 1) в состояние q(t).
Автомат может быть охарактеризован объемом памяти (число его состояний) и наличием механизма случайного выбора. Если пове­дение и структура автомата в любой момент времени однозначно оп­ределены в зависимости от текущей входной информации и состояния автомата, то это детерминированный автомат. Если поведение и структура автомата зависят от случайного выбора, то это вероятност-
ный автомат.
31
Цифровые автоматы можно также разделить на два класса в за-
,..2,1)),(),1(()(
)),(),1(()(
ttxtqty
txtqtq
,..2,1)),(),(()(
)),(),1(()(
ttxtqty
txtqtq
висимости от способа, которым в них введено автоматное время:
1. Синхронные автоматы. Моменты времени, в которых фик-
сируются изменения состояний автомата, заданы специальным уст­ройством, называемым генератором синхросигналов. Он выдает им­пульсы через равные промежутки времени, порождая тем самым постоянный интервал дискретности.
2. Асинхронные автоматы. Моменты перехода автомата из
одного состояния в другое зависят от определенных событий. Интер­вал дискретности в таких автоматах является переменным.
Для синхронных автоматов в зависимости от способа опреде­ления выходного сигнала существует два подхода:
1) в автоматах первого рода выходной сигнал y(t) однозначно определяется входным сигналом x(t) и состоянием q(t – 1) автомата в предшествующий момент времени;
2) в автоматах второго рода выходной сигнал y(t) однозначно определяется входным сигналом x(t) и состоянием q(t) в данный мо­мент времени.
Соответствующие законы функционирования могут быть запи-
саны следующим образом:
- для автомата первого рода:
- для автомата второго рода:
Легко показать, что для каждого автомата второго рода суще-
ствует эквивалентный ему автомат первого рода. В самом деле, пред­положим, что с помощью приведенных выше уравнений задан произ­вольный автомат второго рода. Построим для него новую функцию
λ
(q, x) = λ(δ(q(t – 1), x(t)), x(t)).
1
32
Подставим это выражение в уравнение для y(t):
,..2,1)),(),1(()(
)),(),1(()(
ttxtqty
txtqtq
,..2,1)),(()(
)),(),1(()(
ttqty
txtqtq
y(t) = λ(δ(q(t – 1), x(t)), x(t)) = λ1(q(t – 1), x(t)).
Получили новый автомат первого рода, заданный той же функцией перехода δ(q, х) и функцией выходов λ1(q, х).
Автомат первого рода называют автоматом Мили, а частный случай автомата второго рода y(t) = λ(q(t)) – автоматом Мура (G.H. Mealy и E.F. Moor). Далее будем рассматривать именно эти ав­томаты.
4.2. Способы задания автоматов
Для того, чтобы задать или описать автомат, существует три основных способа, являющихся эквивалентными: аналитический, табличный и графический.
4.2.1. Аналитический способ
Закон функционирования автомата задается с помощью урав­нений. Фактически мы уже познакомились с этим способом задания автоматов, однако для наглядности выпишем соответствующие урав­нения для автоматов Мили и Мура.
Для автомата Мили уравнения имеют вид
Уравнения для автоматов Мура:
4.2.2. Табличный способ
В основе табличного способа лежит построение таблиц, строки которых помечены символами входного алфавита, а столбцы – состоя­ниями.
33
Различают таблицы переходов и таблицы выходов.
q1 q2
q3
…
qs
x1 y
11 y12
y13 … y1s
x2
y
21 y22
y23 … y2s
x3
y
31 y32
y33 … y3s
… … … … …
…
x
n
y
n1 yn2
yn3
…
yns
q1 q2
q3
…
qs
x1 q
11 q12
q13 … q1s
x2
q
21 q22
q23 … q2s
x3
q
31 q32
q33 … q3s
… … … … …
…
x
n
q
n1 qn2
qn3
…
qns
В таблице переходов на пересечении строки и столбца указы­вается соответствующее состояние, в которое переходит автомат в со­ответствии с функцией переходов δ (табл. 4.1).
Таблица 4.1
Общий вид таблицы переходов для автомата Мили
δ : Q X Q, qij = δ(qj, xi)
В таблице выходов на пересечении строк и столбцов указыва­ется выходной сигнал, получаемый как результат функции выходов λ (табл. 4.2).
Таблица 4.2
Общий вид таблицы выходов для автомата Мили
λ : Q X Y, yij = λ(qj, xi)
Для автомата Мили возможен также вариант совмещенной таблицы, когда на пересечениях строк и столбцов указываются и состояния, и выходы (табл. 4.3).
34
Таблица 4.3
q1 q2
q3
…
qs
x1 q11 / y11
q12 / y12
q13 / y13
…
q1s / y1s
x2
q21 / y21
q22 / y22
q23 / y23
…
q2s / y2s
x3
q31 / y31
q32 / y32
q33 / y33
…
q3s / y3s
… … …
… … …
x
n
qn1 / yn1
qn2 / yn2
qn3 / yn3
…
qns / yns
y
01 y02
y03 … y0s
q1 q2
q3
…
qs
x1 q
11 q12
q13 … q1s
x2
q
21 q22
q23 … q2s
x3
q
31 q32
q33 … q3s
… … … … …
…
x
n
q
n1 qn2
qn3
…
qns
Общий вид совмещенной таблицы переходов и выходов
для автомата Мили
В автомате Мура выходной сигнал зависит только от состояния, поэтому для данного автомата достаточно одной таблицы переходов, в которой каждый столбец помечен и состоянием qj, и вы­ходным сигналом y0j = λ(qj), см. табл. 4.4.
Таблица 4.4
Общий вид таблицы переходов для автомата Мура
δ : Q X Q, qij = δ(qj, xi), λ : Q Y, y0j = λ(qj)
Двойные индексы для выходных сигналов использованы для того, чтобы подчеркнуть, что это – общие обозначения и что в кон­кретной задаче совпадение индексов выходного сигнала и соответст­вующего состояния вовсе не обязательно.
Если области определения функций δ и λ совпадают и равны {Q X}, то такой автомат называется полностью определенным. Если существуют пары (qi, xj)  {Q X}, для которых функции δ и λ не оп- ределены, то такой автомат называется не полностью определенным, или частичным. При заполнении соответствующих таблиц при зада­нии частичного автомата на местах неопределенных состояний ста­вится прочерк.
35
Еще одной возможностью табличного задания автомата явля-
q1 q2
q3
…
qs
q1 x11 / y11
x12 / y12
x13 / y13
…
x1s / y1s
q2
x21 / y21
x22 / y22
x23 / y23
…
x2s / y2s
q3
x31 / y31
x32 / y32
x33 / y33
…
x3s / y3s
… … …
… … …
q
s
xn1 / ys1
xs2 / ys2
xs3 / ys3
…
xss / yss
y
01 y02
y03 … y0s
q1 q2
q3
…
qs
q1 x
11 x12
x13 … x1s
q2
x
21 x22
x23 … x2s
q3
x
31 x32
x33 … x3s … … … … … …
q
s
x
s1 xs2
xs3
…
xss
ется построение матрицы переходов и выходов.
Для автомата Мили она строится следующим образом. Строки и столбцы отмечаются состояниями, а на их пересечениях размещают­ся соответствующие им входные и выходные сигналы. Если под дей­ствием входного сигнала xij происходит переход из состояния qi в со­стояние qj с выдачей выходного сигнала yij, то в ячейку на пересечении строки qi и столбца qj записывается xij / yij (табл. 4.5).
Таблица 4.5
Общий вид матрицы переходов и выходов для автомата Мили
Для матрицы переходов и выходов автомата Мура строки и столбцы также отмечаются состояниями, однако столбцы дополни­тельно помечаются соответствующими выходными сигналами, а на пересечении строк и столбцов указываются только входные сигналы (табл. 4.6).
Таблица 4.6
Общий вид матрицы переходов и выходов для автомата Мура
4.2.3. Графический способ
Графический способ задания автомата использует аппарат гра­фов. Граф автомата представляет собой ориентированный граф, вер-
36
шины которого соответствуют состояниям, а дуги – переходам между ними.
При описании автомата Мили дуги помечаются входными и выходными сигналами подобно способу, использованному в ячейках табл. 4.3.
При описании автомата Мура входными сигналами помечают­ся дуги графа, а выходные сигналы указываются рядом с состояниями (можно сравнить это с двумя заглавными строками табл. 4.4).
Для графа автомата должно выполняться условие однознач­ности: из одной и той же вершины не должно выходить двух дуг с одинаковыми входными сигналами.
Если вершина графа имеет только исходящие дуги, но не имеет входящих дуг, то соответствующее состояние автомата называется
преходящим.
Если вершина графа не имеет исходящих дуг, но имеет хотя бы одну входящую дугу, то соответствующее состояние автомата называ­ется тупиковым.
Если вершина графа не имеет ни входящих, ни исходящих дуг, то соответствующее состояние называется изолированным.
4.2.4. Примеры графического и табличного задания автоматов Мили и Мура
Ниже в качестве примеров приведены графические и таблич-
ные представления автоматов Мили и Мура. Автомат Мили обозначен A1, а автомат Мура – A2. Их изображения с помощью графов представ­лены соответственно на рис. 4.2 и 4.3.
Рис. 4.2. Пример графа автомата Мили A
37
1
q1 q
2
q
3
q
4
x1 q2 / y
3
q1 / y
1
q4 / y
3
q4 / y
3
x
2
q4 / y
3
q3 / y
2
q3 / y
4
q3 / y
4
y1 y
2
y
2
y
3
q1 q
2
q
3
q
4
x1 q3 q
2
q
3
q
3
x
2
q2 q
4
q
2
q
4
Рис. 4.3. Пример графа автомата Мура A
2
Табл. 4.7–4.10 иллюстрируют табличный способ задания этих автоматов с помощью совмещенной таблицы переходов и выходов, таблицы переходов и матрицы переходов и выходов соответственно.
Таблица 4.7
Совмещенная таблица переходов и выходов для автомата A
Таблица переходов для автомата A2
38
1
Таблица 4.8
Таблица 4.9
q1 q2
q3
q4
q1 -
x1 / y3
-
x2 / y3
q2
x1 / y1
-
x2 / y2
-
q3 - -
x2 / y4
x1 / y3
q4 - - x2 / y4
x1 / y3
y1 y2
y2
y3
q1 q2
q3
q4
q1 - x2
x1
-
q2
- x1 - x2
q3
- x2
x1
-
q4 - -
x1
x2
Матрица переходов и выходов для автомата A1
Таблица 4.10
Матрица переходов и выходов для автомата A2
В зависимости от специфики решаемой задачи исследователь может выбрать для себя удобный метод представления рассматривае­мого автомата.
39
5. СЕТИ ПЕТРИ
5.1. Концепция сети Петри
Одним из мощных инструментов математического моделиро­вания дискретных систем являются сети Петри. Они были предложе­ны немецким математиком и исследователем в области информатики Карлом Петри и получили его имя.
Спектр задач, решаемых с помощью сетей Петри, достаточно широк. Они позволяют создавать описание алгоритмов, программ, устройства вычислительных систем и действующих в них вычисли­тельных процессов и т.д. Также сети Петри используются для решения задач анализа, синтеза и оптимизации, связанных с моделями и сред­ствами параллельной обработки информации.
Функционирование реальной системы зависит от времени, причем это время носит непрерывный характер. В моделях дискрет­ных систем принимается допущение, что события привязаны к опре­деленным интервалам времени. В сложных асинхронных системах структура взаимодействия событий может иметь весьма нетривиаль­ную динамическую структуру. Несколько упростить задачу моделиро­вания можно, если рассматривать не связи между событиями, а те ус­ловия, при которых то или иное событие может реализоваться.
Данная идея и применяется в сетях Петри. Можно сформули­ровать основную концепцию следующим образом: функционирование системы представляется как реализация определенных событий в со­ответствии с выполнением некоторых условий. От конкретных физи­ческих и функциональных особенностей рассматриваемой системы при этом абстрагируются.
Примеры событий: выполнение команды программы, запуск некоторого процесса, присваивание значения переменной и т.д.
Примеры условий: достаточное количество оперативной памя­ти, определенное значение переменной, выполнение того или иного логического условия и т.д.
В зависимости от условий событие может произойти один или несколько раз, запустив тем самым определенные действия, а может не произойти вовсе. Для реализации одного события в некоторых случаях требуется выполнение сразу нескольких условий. Таким об­разом, процесс, порождаемый дискретной системой, может быть
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]