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

Литература / Дополнительная литература / Зайцев Д. А. Математические модели дискретных систем

.pdf
Скачиваний:
115
Добавлен:
29.02.2016
Размер:
916.71 Кб
Скачать

(перевод с украинского)

Государственный комитет связи и информатизации Украины Одесская национальная академия связи им. А.С. Попова

__________________________________________________________________________

Д.А.Зайцев

МАТЕМАТИЧЕСКИЕ МОДЕЛИ ДИСКРЕТНЫХ СИСТЕМ

Учебное пособие по дисциплине «Математическое моделирование информационных систем»

для подготовки магистров в области связи

Одесса 2004

Государственный комитет связи и информатизации Украины Одесская национальная академия связи им. А.С. Попова

__________________________________________________________________________

Д.А.Зайцев

МАТЕМАТИЧЕСКИЕ МОДЕЛИ ДИСКРЕТНЫХ СИСТЕМ

Учебное пособие по дисциплине «Математическое моделирование информационных систем»

для подготовки магистров в области связи

УТВЕРЖДЕНО методическим советом академии Протокол № 8 от 9.03.2004 г.

Одесса 2004

1

УДК 51.681.3

План НМВ 2004 г.

Зайцев Д. А. Математические модели дискретных систем: Учебн. пособие. - Одесса: ОНАС им. А.С. Попова, 2004. - 40 стр.

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

Ответственный редактор –

Рецензент –

канд.физ.-мат.наук, доцент

 

И.В. Стрелковская

ОДОБРЕНО на заседании кафедры сетей связи и

рекомендовано в печать Протокол № 10 от 24.04.2003 г.

Одесса 2004

2

Содержание

Введение ...…………………………………………………………………...... 4

1 Конечные автоматы...………………………………………………………... 4

1.1Определение конечного автомата...……………………………………..... 4

1.2Автоматы Мили и Мура...………………………………………………..... 6

1.3Минимизация конечных автоматов...…………………………………...... 9

2 Сети Петри...…………………………………………………………………. 11

2.1Сети Петри и моделирование систем...…………………………........…... 11

2.2Уравнение состояний и свойства сетей Петри...……………………........ 17

2.3Структурный анализ сетей Петри...…………………………………......... 23

2.4Граф покрывающих маркировок...…………………………………........... 28

3 Машины Тюринга...………………………………………………….............. 31

3.1Интуитивное понятие алгоритма...……………………………………….. 31

3.2Описание машины Тюринга...……………………………………….......... 32

3.3Алгоритмически неразрешимые проблемы...………………………......... 36

3.4Метод сведения...…………………………………………………………... 38

Контрольные вопросы...……………………………………………….............. 40

Задачи...……………………………………………………………………......... 42

Список рекомендованной литературы...…....………………………………… 43

Список дополнительной литературы...…....…………………………….......... 43

3

Введение

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

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

1.1 Определение оконченного автомата

Рассмотрим абстрактную систему, традиционно называемую математиками "черный ящик" (рис. 1.1), которая преобразует подаваемые на ее вход символы x определенного алфавита X в выходные символы y алфавита Y. Таким образом можно представить поведение большинства дискретных систем, применяемых в различных областях техники, особенно вычислительной.

x

q

y

 

 

 

 

 

Рисунок 1.1 - „Черный ящик”

Автомат – это такая система, функция которой может быть описана с помощью использования множества внутренних состояний Q {q} таким образом, что для каждого внутреннего состояния указано, в какое следующее состояние попадет система при получении входного символа x, и какой символ y формируется на выходе. Выделяется начальное состояние системы. В случае конченых множеств X, Y, а, также, Q, автомат называют конечным.

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

4

этажа: X {C1, C2, C3}; выходной алфавит состоит из перемещений на один или два этажа вверх или книзу, а также остановки лифта: Y {U1, U 2, D1, D2, S} ; состояние соответствует этажу, на котором находится автомат: Q {q1, q2 , q3}; для определенности выберем начальное состояние q1 . Функцию переходов автомата удобно представлять диаграммой состояний (рис. 1.2).

 

 

 

q3

С3|S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C2|D1

C3|U1

 

 

 

 

 

 

 

 

 

 

 

 

C1|D2

 

 

С2|S

 

C3|U2

 

 

 

 

q2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C1|D1

C2|U1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С1|S

 

 

 

 

 

 

q1

 

 

 

 

 

 

Рисунок 1.2 - Автомат для управления лифтом

 

 

Итак, конечный автомат – это пятерка A

( X ,

Q, Y , q0 , F ) , где

X

{x}

конечный

входной алфавит, Y {y}

конечный

выходной алфавит,

Q

{q}

конечное

множество внутренних состояний,

q0

– начальное состояние, F:

X Q Y

Q – функция переходов.

Как было

рассмотрено выше,

функция

переходов может быть наглядно представлена диаграммой состояний. Удобным бывает также матричное представление функции переходов. Приведем матрицу переходов для построенного ранее автомата:

Q/X

C1

C2

C3

 

 

 

 

q1

q1 |S

q2 |U1

q3 |U2

 

 

 

 

q2

q1 |D1

q2 |S

q3 |U1

q3

q1 |D2

q2 |D1

q3 |S

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

5

его формального описания - диаграммы состояний или матрицы переходов. В схемотехнике под синтезом автомата иногда понимают реализацию автомата на заданной элементной базе.

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

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

Итак, автомат Мура – это шестерка B

( X , S, Y , s0 , P,

R) , где X

{x}

конечный входной алфавит, Y

{y} – конечный выходной алфавит,

S

{s}

конечное множество внутренних состояний, s0

– начальное состояние, P:

X

S

S

– функция переходов,

R : S Y – функция выходов.

 

 

 

 

 

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

двоичной системе счисления. Алфавит входных символов:

X

{0,

1,

,

},

алфавит выходных

символов

Y {0, 1};

выдача символа

0

соответствует

нераспознанной цепочке символов, выдача символа 1 соответствует правильно распознанной цепочке символов. Итак, множество состояний делится на два подмножества: промежуточные и заключительные. Диаграмма состояний автомата представлена на рис. 1.3.

+

s1

0

 

 

-1

 

0

0,1

s0

s2

 

 

1

 

Рисунок 1.3 - Автомат для распознавания целых чисел

Начальное состояние автомата s0 ; функция выходов: R(s0 ) 0 , R(s1 ) 0 , R(s2 ) 1. Отметим, что переходы из состояний определены не для всех символов алфавита. Чтобы построить полностью определенный автомат, распознаватель часто

6

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

Покажем, что с помощью несложных построений произвольный автомат Мили может быть преобразован в автомат Мура. Поскольку в автомате Мура выдача выходного символа происходит при попадании в определенное состояние, то для каждой пары (q, y) автомата Мили образуем состояние автомата Мура s со значением функции выходов R(s) y . Для перехода автомата Мили (q, q ) добавляем переходы из каждого состояния s, которое соответствует q, в состояние s , заданное парой (q , y) . Проиллюстрируем описанные действия на примере построения автомата Мура по автомату Мили управления лифтом (рис. 1.2); диаграмма состояний полученного автомата Мура изображена на рис. 1.4.

 

 

C3

 

 

C1

 

C3

C3

 

 

 

 

 

s6

 

 

s7

 

 

 

 

C3

 

 

 

s8

 

q3 | S

 

q3 |U1

 

q3

|U 2

 

 

 

 

 

 

 

C1

C1

 

C3

 

 

 

 

 

 

 

 

 

 

 

C3

 

 

 

C2

 

 

 

 

 

 

C3

 

 

 

 

C3

C2

 

C2

C3

 

C2

 

 

 

 

 

 

 

 

 

 

 

s3

C2

 

s4

 

 

s5

 

q2 | S

 

q2 | D1

 

q2 |U1

 

 

C2

 

 

 

 

 

 

 

 

 

C1

C1

 

C2

 

 

C1

 

 

 

 

 

 

 

 

 

C1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s0

C1

 

s1

C2

 

s2

 

q1 | S

 

q1 | D1

 

q | D2

 

 

 

 

 

C2

1

 

 

 

C1

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.4 - Автомат Мура для управления лифтом

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

7

Формально преобразование можно представить следующим образом. Пусть

задан автомат Мили

A

( X ,

Q,

Y , q0 , F ) . Соответствующий ему автомат Мура

B ( X ,

S, Y , s0 ,

P,

R) определим как S

Q Y , P(s, x)

s F (q,

x)

(q , y) ,

R(s) y

F (q, x)

(q ,

y) ;

в

качестве

начального

состояния

s0

выберем

произвольное из состояний, соответствующих q0 . Действительно, такой выбор является обоснованным, так как выдачу выходного символа в состоянии s0 мы не будем рассматривать, считая это выполненным «до начала» работы автомата.

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

+|0

s1

 

0|1

-|0

 

1|1

0|1

 

1|1

 

 

 

s0

0|1

 

s2

 

 

 

1|1

 

 

Рисунок 1.5 - Автомат Мили для распознавания целых чисел

Формально преобразование можно представить следующим образом. Пусть задан автомат Мура B ( X , S, Y , s0 , P, R) . Соответствующий ему автомат Мили A ( X , Q, Y , q0 , F ) определим, установив взаимно однозначное соответствие состояний автоматов: q s . Укажем, что в этом случае начальное состояние q0 соответствует состоянию s0 ; к функции переходов добавим генерацию выходных символов: F (q, x) (q , y) (P(s, x) s R(s) y) .

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

8

1.3 Минимизация конечных автоматов

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

Рассмотрение простого примера, представленного на рис. 1.6, позволяет сделать вывод, что один и тот же автомат может иметь множество представлений с разным количеством состояний и переходов. Так, например, состояние s4 является недостижимым из начального состояния и потому может быть изъято, а состояния s2 и s3 можно объединить; в результате получим ранее рассмотренный автомат для распознавания целых чисел (рис. 1.3). Получить минимальное представление автомата весьма важно, если в дальнейшем оно будет реализовано аппаратно. Кроме того, возникает задача для «похожих» автоматов определить формально, являются ли они эквивалентными.

+

s1

 

0

 

s4

 

 

 

 

 

 

-

1

-

 

+

 

 

 

0,1

 

 

 

 

 

s0

0

 

s2

0

s3

 

 

 

 

1

 

 

1

 

Рисунок 1.6 - Избыточный автомат для распознавания целых чисел

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

Два состояний автомата s1

и будем s2

называть n-эквивалентными, если для

произвольной входной цепочки

длиной n символов выходные цепочки символов

 

 

n

совпадают. Отношение n-эквивалентности обозначим .

Два состояний автомата s1

и будем s2

называть эквивалентными, если они

являются n-эквивалентные для произвольного неотрицательного целого n. Отношение эквивалентности обозначим .

Теорема 1.1 В конечном автомате с m состояниями два произвольных состояния являются эквивалентными тогда и только тогда, когда они (m 2) - эквивалентные.

9