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

ДМ Практикум

.pdf
Скачиваний:
43
Добавлен:
11.04.2015
Размер:
3.48 Mб
Скачать

 

0

1

2

1

 

2 1 1 0

 

 

 

 

 

1

0

1

0

 

 

 

1 0 1

 

0

 

 

 

 

а)

 

;

б)

 

 

;

 

 

 

2

1

0

1

 

 

 

1 1 0

 

0

 

 

 

 

 

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

0 0 0 2

 

 

 

 

 

0

1

2

0

 

0

2

0 0

 

 

 

 

 

1

0

0

0

 

 

 

2

0

0

 

0

 

 

 

 

в)

 

;

г)

 

.

 

 

 

2

0

0

2

 

 

 

0

0

0

 

2

 

 

 

 

 

0

0

2

 

 

 

 

 

0

2 0

 

 

 

 

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

1

1

8.20 Граф задан матрицей весов W (G) =

 

5

 

4

 

1

 

4

.

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

1

 

Вес его минимального остова равен

а) 5;

б) 4;

в) 7;

г) 6.

8.21 Три шага алгоритма Дейкстры приведены в таблице:

v*, d (v *), p (v *)

d (v1 )

d (v2 )

d (v3 )

d (v4 )

d (v5 )

d (v6 )

d (v7 )

d (v8 )

 

 

 

 

 

 

 

 

 

v1,0,

4

1

2

6

 

 

 

 

 

 

 

 

 

v6 ,1,1

4

4

5

2

6

 

 

 

 

 

 

 

 

 

v7 , 2,1

3

4

5

6

 

 

 

 

 

 

 

 

 

Ведущая вершина на четвертом шаге

а) v7 ; б) v2 ; в) v3 ;

г) v4 .

8.22 Три шага алгоритма Дейкстры приведены в таблице:

81

v*, d (v *), p (v *)

d (v1 )

d (v2 )

d (v3 )

d (v4 )

d (v5 )

d (v6 )

d (v7 )

d (v8 )

 

 

 

 

 

 

 

 

 

v1,0,

4

2

1

 

 

 

 

 

 

 

 

 

v5 ,1,1

4

6

2

5

2

 

 

 

 

 

 

 

 

 

v4 , 2,1

4

3

5

6

2

 

 

 

 

 

 

 

 

 

Расстояние от вершины v1 до вершины v8 равно

а) 1;

б) 2;

в) 3;

г) 4.

8.23Хроматическое число графа, изображенного на рисунке 8.3, равно

а) 1;

б) 2;

в) 3;

г) 4.

Рисунок 8.3

8.24Хроматическое число графа, изображенного на рисунке 8.4, равно

а) 1;

б) 2;

в) 3;

г) 4.

Рисунок 8.4

82

Глава IX. Конечные детерминированные автоматы

Конечным детерминированным автоматом (к.д.а.) называется пятерка

X ,Y , S,λ,δ

, где X = {x1, x2 ,...xn} - входной алфавит, Y = {y1, y2 ,...ym} - алфа-

вит выхода,

S = {s0 , s1, s2 ,...sk } - алфавит состояний с выделенным начальным

состоянием s0 , δ : X × S S - функция переходов, λ : X × S Y - функция вы- ходов. Работа автомата осуществляется в дискретные такты времени t = 1,2,3... .

Задается автомат с помощью таблицы переходов-выходов (рисунок 9.1) или

диаграммы Мура (рисунок 9.2).

Рисунок 9.1

Рисунок 9.2

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

 

λ

(

)

 

y (t) =

 

x (t),s (t) ;

 

 

 

 

и канонических уравнений: s (t + 1) = δ (x (t),s (t)); t = 1,2,3... .

 

 

 

 

 

 

 

 

 

 

 

 

s (1) = s0.

 

 

 

 

 

Для этого элементы X ,

Y и S кодируются:

 

 

 

x

= (x1

, x

2

,...xk ) ,

y

s

= ( y1

, y

2

,...yl ) ,

s

= (s1, s2

,...sm ) .

j

j

 

j

j

 

s

 

s

s

i

i i

i

Кодовые слова следует выбирать минимально возможной длины, началь- ное состояние кодируется словом (00…0).

83

Функциональным элементом называется устройство, вычисляющее эле- ментарную функцию. Элемент, способный удержать единицу информации в те- чении одного такта, называется единичной задержкой или триггером. Зная ка- нонические уравнения к.д.а. можно построить схему логического устройства, которое его реализует (рисунок 9.3). Для построения схемы используем элемент единичной задержки и элементы, порожденные функциями &, ,¬ (рисунок 9.4). Память устройства содержит в себе необходимое количество элементов задержки.

Рисунок 9.3

Рисунок 9.4

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

Шаг 1. Разбиваем состояния автомата на классы эквивалентности «по выходам». При этом в одном классе оказываются состояния, которые одинаково реагируют на входные символы на выходе: si s j , если

λ(x, si ) = λ(x, s j ) x X .

Шаг 2. Полученные на предыдущем шаге классы разбиваем «по перехо- дам». При этом эквивалентными считаем состояния, которые одинаково реагируют на входные символы при переходе, т.е. попадают в один и тот же класс эквивалентности, построенный ранее: si s j , если

δ(x, si ) δ(x, s j ) x X . Таким образом происходит «раздробление» уже

84

существующих классов. Возвращаемся на начало шага 2, и повторяем процесс до тех пор, пока количество классов не перестанет увеличивать- ся.

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

X = {2,3, 4,5}.

Реакция отца может быть следующая: Н –« не реагирует»; Рругает»; Х – «хвалит»; У утешает», т. е. выходным алфавитом будем считать множество

Y = {Н, Р, Х ,У}.

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

та:

s1 - «начальное состояние»;

 

 

s2

- «предыдущая оценка

двойка»;

 

 

s3

- «предыдущая оценка

тройка»;

 

 

s4

- «предыдущая оценка

четверка»;

 

 

s5

- «предыдущая оценка

пятерка».

Поведение родителя может быть, например, таким:

 

 

 

 

 

 

 

 

 

 

S\X

2

 

3

4

5

 

 

 

 

 

 

 

 

 

 

 

s1

s2 /Р

s3 /Н

s4 /Н

s5 /Х

 

 

 

 

 

 

 

 

 

 

 

s2

s2 /Р

s3 /Р

s4 /Х

s5 /Х

 

 

 

 

 

 

 

 

 

 

 

s3

s2 /Р

s3 /Н

s4 /Н

s5 /Х

 

 

 

s4

s2 /У

s3 /Н

s4 /Н

s5 /Х

 

 

 

s5

s2 /У

s3 /У

s4 /Н

s5 /Х

 

 

Состояния

 

 

 

 

 

 

s1 и s3 эквивалентны, данный к.д.а. можно минимизировать,

приняв за начальное состояние s3

(отметим этот факт символом *):

 

 

 

 

 

 

 

 

 

 

S\X

2

 

3

4

5

 

 

 

 

 

 

 

 

 

 

 

s2

s2 /Р

s3 /Р

s4 /Х

s5 /Х

 

 

 

s3 *

s2 /Р

s3 /Н

s4 /Н

s5 /Х

 

 

 

 

 

 

 

 

 

 

 

s4

s2 /У

s3 /Н

s4 /Н

s5 /Х

 

 

 

s5

s2 /У

s3 /У

s4 /Н

s5 /Х

 

 

 

 

 

 

 

 

 

 

 

85

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

Конечные автоматы могут рассматриваться не только как преобразовате- ли информации, реагирующие на входные сигналы, но и как распознаватели последовательностей входных сигналов. Конечное множество входных сигна- лов называется словарем V, элементы словаря символами, последовательно- сти символов словаря предложениями или цепочками. Множество предложе- ний (конечной длины) над словарем V называется языком LV . Любой конечный механизм задания языка называется грамматикой. Роль распознающей (за- дающей критерий принадлежности произвольной последовательности симво- лов данному языку) грамматики может выполнять конечный автомат без выхо- да. Язык, для которого существует распознающий его конечный автомат, назы-

вается автоматным языком.

Конечным детерминированным автоматом - распознавателем называ-

ется четверка X , S,δ , F , где X = {x1, x2 ,...xn} - входной алфавит,

S = {s0 , s1, s2 ,...sk } - алфавит состояний с выделенным начальным состоянием s0 ,

δ : X × S S - функция переходов;

F S - множество заключительных со-

стояний.

 

 

Пример 9.2. Построить к.д.а. –

распознаватель для языка LV = {ab,ccc}

над словарем V = {a,b,c} .

 

 

Конечный автомат будет иметь 2 заключительных состояния (по числу

распознаваемых им цепочек) s2 и s5 . Зададим к.д.а диаграммой Мура (рисунок

9.5):

Рисунок 9.5

* Идея примера взята из книги Карпов Ю. Г. Теория автоматов. – СПб: Питер, 2003г.

86

А) Контрольные вопросы

9.1Дайте определение конечного детерминированного автомата. В чем со- стоит содержательный смысл состояний к.д.а.?

9.2Перечислите способы задания и способы реализации к.д.а..

9.3Является ли детерминированным автомат без выхода, изображенный на рисунке 9.6?

Рисунок 9.6

9.4Постройте детерминированный автомат, эквивалентный изображенному на рисунке 9.6.

9.5Опишите алгоритм минимизации к.д.а.

Б) Задачи и упражнения

9.6Постройте конечный автомат, т.е. определите множества S, X,Y и задай- те функции переходов и выходов (постройте таблицу и диаграмму Мура), для следующих функций:

а) y (t) = x (t 1) , y (1) = 0 ;

б) y (t) = x (t 2) , y (1) = 0, y (2) = 0 ;

в) y (t) = x (t −1) x (t) , y (1) = 1;

г) y (t) = x (t 2) x (t 1) , y (1) = y (2) = 1;

д) y (t) = x (t) x (t −1) … x (1) ;

е) y (t) = x (t) x (t −1) … x (1) ,

здесь x (t) ,y (t) B, B = {0,1}, t = 1,2, 3,

87

9.7 Минимизируйте к.д.а., заданный таблицей переходов-выходов:

X

0

1

 

2

S1

S2

S5

1

S5

 

1

0

 

S2

S6

S2

 

S5

 

0

1

1

 

а)

S2

S2

 

S7

S3

 

 

0

1

1

 

S4

S4

S3

 

S1

 

1

0

1

 

S5

S2

S5

 

S5

 

1

0

1

 

S6

S2

S6

 

S5

 

0

1

1

 

S7

S6

S6

 

S3

 

0

1

1

 

X

0

 

1

2

1 S1

0 S4

0

S6

S1

0S2

0S2

1

S2

S6

б)

 

 

 

 

1 S3

0 S4

0

S2

S3

S4

S4

 

S3

S3

1

0

0

 

 

S5

S6

 

S6

S5

0

0

1

 

 

S6

S5

 

S6

S2

0

0

1

 

 

S7

S5

 

S6

S2

0

0

1

 

 

9.8Постройте канонические уравнения для к.д.а. из задачи 9.6. а)– е).

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

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

2

(t) x(t),

 

 

y(t) = s

(t) s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(t +1) = s

 

 

 

 

 

 

(

 

 

 

 

 

 

 

 

)

 

s

 

 

(t)

x(t) s

(t) ,

 

1

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

а)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

1

( )(

 

 

 

 

 

 

 

2

( ))

,

(

 

)

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

 

 

t +1

 

= s t

 

 

x t

 

s t

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

 

s

 

= s

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

= 0,

 

 

 

 

 

 

1

 

 

 

 

 

 

 

(t) x(t),

 

 

 

 

 

 

 

(t) = s

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y2

t

= s

 

 

t

 

 

 

t

 

 

 

,

 

 

 

 

 

 

(

)

x

)

 

 

 

 

 

б)

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x t

,

 

 

 

 

s t +1 = s t

 

 

 

 

 

 

(

 

)

 

 

 

 

 

 

( )

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s 1

= 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

здесь x (t),y (t) B, B = {0,1}, t = 1,2, 3,

9.10Для функций из задачи 9.6 а)– е) постройте схемы устройств, реализующих эти функции, используя элемент единичной задержки и элементы, поро- жденные функциями &, ,¬.

9.11Постройте конечный автомат, минимизируйте его, постройте канониче-

скую таблицу, канонические уравнения. Постройте схему устройства,

88

реализующего данную функцию, используя элемент единичной задержки и элементы, порожденные функциями &, ,¬.

а)

б)

в)

г)

д)

е)

 

 

 

 

1, t ≥ 1,

y (2t −1) = x (2t −1)

 

 

 

 

 

 

 

 

 

 

 

y (2t) = x (2t) x (2t −1), t ≥ 1;

 

 

 

 

 

 

= x (2t −1)

1, t ≥ 1,

y (2t −1)

 

 

 

 

 

 

 

−1), t ≥ 1;

y (2t) = x (2t) x (2t

 

 

 

 

 

y (t) = x2 (t −1) → x1 (t), t ≥ 2,

y (1) = 1;

y (t) = x1 (t −1) x2 (t)x1(t), t ≥ 2,

y (1) = 1;

 

 

(t) x2

(t),

y (t) = x

1

 

 

 

 

 

 

 

 

y (1) = 0;

y (t) = x1 (t −1) x2 (t −2), t ≥ 2,

y (1) = 1, y (2) = 1;

здесь x (t),y (t) B, B = {0,1}, t = 1,2, 3,

9.12По схеме автомата (рисунок 9.7) постройте канонические уравнения, ка- ноническую таблицу, таблицу переходов-выходов и диаграмму Мура.

9.13Постройте конечный автомат без выхода с входным алфавитом {a,b} , воспринимающий те и только те входные слова, в которых за каждой бу- квой a следует буква b .

9.14Постройте конечный автомат без выхода с входным алфавитом {a,b} , воспринимающий те и только те слова, которые содержат подслово aba .

9.15Постройте конечный автомат без выхода с входным алфавитом {a,b,c} , воспринимающий те и только те слова, которые содержат одну букву a и одну букву b .

89

Рисунок 9.7

9.16Постройте конечный автомат без выхода с входным алфавитом {a,b,c} , воспринимающий те и только те слова, в которых первая и последняя бу- ква совпадают.

В) Тестовые задания (укажите единственный верный ответ)

9.17К.д.а. называется инициальным, если

а) в нем выделено начальное состояние;

б) входной алфавит состоит из одного элемента;

в) алфавит состояний состоит из одного элемента;

г) функция выходов не зависит от элементов входного алфавита.

9.18Логический к.д.а., заданный системой канонических уравнений

y(t) = x(t),

+ =

s(t 1) s(t), …

s(1) = 0.

а) реализует задержку входного сигнала на один такт;

б) выдает значение входного сигнала без каких-либо преобразований;

в) реализует функцию x(t −1) & x(t) , y(1) = 0 ;

г) реализует функцию x(1) & x(t) ;

9.19К.д.а., заданный диаграммой Мура (рисунок 9.8), преобразует входное слово 10011 в выходное слово

90