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

Дискретная математика & математическая логика

..pdf
Скачиваний:
47
Добавлен:
15.11.2022
Размер:
19.42 Mб
Скачать

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

Считается, что реле х2 исправно и ситуация 11 не возникает. Переход из 4-го такта в 1-й обусловлен естественным снижением температуры до следующего нагрева. Строим граф объединения строк (рис. 6.4):

Рис. 6.4. Граф объединения строк

Таким образом, получаем всего две строки. Строим минимизированную таблицу переходов:

201

Определяем все переходы:

а

b01,

b

а10,

поэтому карта Карно тривиальна (на одну переменную):

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

z(t)

y(t)

 

 

 

 

 

 

 

х2х1

 

 

 

 

 

 

 

00

01

 

11

10

 

 

 

 

 

 

 

 

 

 

 

0

1

 

3

2

 

 

 

0

0

 

0

 

 

1

 

 

 

 

0

 

 

 

 

 

 

0

 

0

 

 

 

0

 

 

 

 

1

1

4

5

 

7

8

 

y(t + 1)

 

1

 

1

 

 

 

0

 

 

 

 

 

 

 

 

 

 

z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

В тактах 1, 4 и строках z = 0, в тактах 2, 3 и строках z = 1. Получим символическую форму записи функций, описываю-

щих автомат:

y(t + 1) = D(t) = P(t) = 1, 4, 5 [0, 2, 6],

z = 4, 5, 6 [0, 1, 2].

Абстрактный синтез завершен. Проводим минимизацию по таблице переходов-выходов (начинаем структурный синтез):

y(t + 1) = D(t) = P(t) = (1 3 5 7) (4 5) → (–1) (10–) = x1 y x2 ,

z = y(t).

202

Построим релейно-контактную схему (рис. 6.5):

Рис. 6.5. Схема автомата

6.3. СИНТЕЗ СИНХРОННОГО АВТОМАТА

6.3.1. Синтез счётчика

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

Пусть необходимо синтезировать счетчик с коэффициентом счета 5 на базе JK-триггеров. Построим граф переходов, у которого будет5 вершин– рис. 6.6:

Рис. 6.6. Граф переходов счётчика с коэффициентом счёта 5

203

Ввиду того, что коэффициент счёта 5, необходимо три элемента памяти (intlog52 = 3). Получим таблицу переходов-выходов, вкоторой указывается, как автомат-счетчик переходит из текущего

состояния– кода строки, в последующее–

код в клетке у3(t + 1) у2(t + 1)

y1(t + 1), или сокращенно у3у2y1(t + 1):

 

 

 

 

 

 

 

 

 

 

 

 

y3(t)

 

y2 (t) y1 (t)

 

 

 

 

00

01

11

10

 

 

 

 

 

 

 

0

000

001

011

010

 

 

 

001

010

100

011

 

 

 

 

 

 

 

1

100

101

111

110

y3 y2 y1 (t +1)

 

 

000

–––

–––

–––

 

 

 

 

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

Используя таблицу возбуждения JK-триггера,

y(t)

 

y(t + 1)

 

 

0

 

1

 

0

0

 

1

 

 

~

 

~

 

1

~

 

~

J

 

1

 

0

K

получим таблицу возбуждения заданного счётчика:

y3(t)

 

 

 

 

y2(t) y1(t)

 

 

 

 

 

 

00

 

01

 

11

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

000

 

001

 

011

 

010

 

 

 

 

0

 

001

 

 

01

 

1 − −

 

0 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

− − −

 

 

− −1

 

11

 

0

 

 

 

 

100

 

101

 

111

 

110

 

 

J3 J2 J1

 

1

 

00

− − −

− − −

− − −

 

 

 

 

 

 

− − −

− − −

− − −

 

K3K2 K1

 

 

 

1 − −

 

204

Из таблицы (она же карта Карно) получим минимизированные функции управления триггерами:

J3 = y2 y1 , J2 = y1 , J1 = y3 , K3 = 1, K2 = y1 , K1 = 1.

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

6.3.2. Синтез автомата-распознавателя с повторяющимися символами

Пример. Синтезируем синхронный автомат, распознающий последовательность 0–0–2–2. На правильную последовательность срабатывает индикатор z1, что значит «замок открыт». Для всех неверных наборов срабатывает z 2, что значит «замок закрыт» или «замок заблокирован».

Проведём блочный синтез (рис. 6.7):

Рис. 6.7. Разбиение автомата на блоки

При нажатии кнопки кодопреобразователь x/y формирует код а и активирует одновибратор, синхронизирующий дискретный автомат ДА. Переход осуществляется при нажатии очередной кнопки – срабатывает одновибратор и формирует один синхроимпульс.

205

Приступим к этапу абстрактного синтеза дискретного автомата ДА. Построим граф переходов для нашего синхронного автома-

та (рис. 6.8):

Рис. 6.8. Граф переходов автомата 0022

На рис. 6.8. стрелками обозначены переходы из одного состояния в другое. Дробные значения над стрелками: в числителе условия переходов в последующее состояние, в знаменателе – получаемое выходное значение. Цветом обозначены конечные состояния автомата, зелёный – для разрешённой последовательности 0022, красный – для запрещённых.

Используя рис. 6.8, строим таблицу переходов автомата Мура

0022:

y1 y2 y3

(t)

 

 

ab

 

00

01

 

10

11

 

 

 

000

 

1

6

 

6

6

001

 

2

6

 

6

6

010

 

6

6

 

6

3

011

 

6

6

 

6

4

100

 

5

5

 

5

5

101

 

6

6

 

6

6

Можно построить автомат Мура, в котором в состоянии 5

(100)формируется сигнал z1 – открытие «замка», а в состоянии 6

(101)z 2 – тревога, подбор кода.

206

Построим таблицу переходов-выходов автомата Мили 0022:

 

y1 y2 y3

(t)

 

 

 

 

 

 

 

 

 

 

ab

 

 

 

 

 

 

 

 

 

 

00

 

 

 

01

 

 

10

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

000

 

001

 

101

 

101

 

101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

 

 

 

01

 

 

01

 

 

01

 

 

 

 

 

 

 

001

 

010

 

101

 

101

 

101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

 

 

 

01

 

 

01

 

 

01

 

 

 

 

 

 

 

010

 

101

 

 

101

 

011

101

 

 

 

 

 

 

 

 

 

01

 

 

 

 

01

 

 

 

00

 

 

 

01

 

 

 

 

 

 

 

011

 

101

 

 

101

 

100

 

101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01

 

 

 

01

 

 

00

 

 

01

 

 

 

 

 

 

 

100

 

100

 

 

100

 

100

 

100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

10

 

 

10

 

 

10

 

 

 

 

 

 

 

101

 

101

 

 

101

 

101

 

101

 

 

y1 y2 y3 (t +1)

 

 

 

 

 

01

 

 

 

 

01

 

 

 

01

 

 

 

01

 

 

 

z1z2

 

 

y1 y2 y3 (t)

– текущее состояние автомата, y1 y2 y3 (t +1) – сле-

дующее состояние, z1,

z 2 – выходные значения. После получе-

ния функций в символической форме абстрактный синтез заканчивается.

Регулярные языки и конечные автоматы

Пусть имеется алфавит А = {а1, а2, …, аs}. Одноэлементные языки а1, а2, …, аs, а также язык, содержащий только пустое слово Λ(λ , ε), будем называть элементарными языками [12].

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

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

207

Автомат с начальным состоянием v1 и заключительным состоянием v3 задан диаграммой Мура (рис. 6.9):

Рис. 6.9. Диаграмма (граф) Мура некоторого автомата

Соответствующий автомату язык L задаётся регулярным выражением

b (a + b)* + a·bа (a + b)*,

где * – звёздочка Клини, означающая итерацию.

Основная теорема теории автоматов. Язык L распознает-

ся конечным детерминированным автоматом тогда и только тогда, когда L – регулярный язык.

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

В соответствии с одной из классификаций языков можно различать:

автоматы-распознаватели. Множество всех слов, распознаваемых автоматом – язык;

автоматы-формирователи. Они формируют регулярные выражения языка;

автоматы-преобразователи. Они могут преобразовывать выражение одного языка в выражение другого языка («переводить»).

208

7. ЭЛЕМЕНТЫ ТЕОРИИ ИГР

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

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

Таким образом, игра – это конфликт с чётко сформулированными условиями.

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

Часто результат выражается числом, даже если это просто выигрыш (1) или проигрыш (0). Мы будем полагать, что выигрыш (проигрыш) каждого игрока выражается числом.

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

209

Парные игры

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

Игры с нулевой суммой

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

Конечные игры

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

Платёжная матрица

Платёжная матрица, или матрица (таблица) игры с нулевой суммой:

 

 

С1

 

 

С2

 

 

С3

 

 

С4

 

 

 

 

 

 

 

 

 

 

К1

 

k11

 

k12

 

k13

 

k14

К2

 

k21

 

k22

 

k23

 

k24

К3

 

k31

 

k32

 

k33

 

k34

Здесь К – « красный» игрок, С – « синий». У красного три стратегии, у синего четыре. kij – выигрыш (проигрыш) «красного», т.е. проигрыш (выигрыш) «синего».

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

210

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]