
- •010400.62 Прикладная математика и информатика
- •Предисловие
- •1. Элементы математической логики
- •1.1. Логические связки и их таблицы истинности
- •1.2. Свойства логических операций
- •1.3. Функции алгебры логики и их свойства
- •1.4. Совершенные формы
- •1.5. Многочлены Жегалкина
- •Примеры решения задач
- •Упражнения
- •Вопросы для самоконтроля и повторения
- •2. Множества и отображения
- •2.1. Множества
- •2.2. Операции над множествами.
- •2.3. Свойства операций над множествами
- •2.4. Отображения множеств
- •Примеры решения задач
- •Упражнения
- •Вопросы для самоконтроля и повторения
- •3. Элементы комбинаторного анализа
- •Примеры решения задач
- •Упражнения
- •Вопросы для самоконтроля и повторения
- •4. Элементы теории графов
- •4.1. Основные понятия теории графов
- •4.2. Основные операции над графами
- •4.3. Матрицы графов
- •4.4. Мосты, деревья
- •4.5. Алгоритмы построения минимального остовного дерева
- •4.6 Задача о кратчайшем пути и алгоритм Дейкстры для ее решения
- •4.7. Дерево кратчайших путей
- •4.8. Гамильтоновы циклы и гамильтоновы графы
- •4.9. Эйлеровы циклы и эйлеровы графы
- •Примеры решения задач
- •Алгоритм Дейкстры-Прима
- •Упражнения
- •Вопросы для самоконтроля и повторения
- •5. Теория кодирования
- •5.1. Основные понятия теории кодирования
- •5.2. Проблема взаимной однозначности
- •5.3. Коды Хемминга
- •Примеры решения задач
- •Упражнения
- •Вопросы для самоконтроля и повторения
- •6. Теория автоматов
- •6.1. Основные понятия теории автоматов
- •6.2. Способы задания конечного автомата
- •Примеры решения задач
- •Упражнения
- •Вопросы для самоконтроля и повторения
- •7. Задания для самостоятельной работы
- •Библиографический список
- •Мария Николаевна Рыжкова Андрей Владимирович Макаров
- •010400.62 Прикладная математика и информатика
Примеры решения задач
1). По таблицам Милли и Мура найти выходное слово при входном слове x1x2x2x2x1
Таблица 6.3
Автомат Мили |
Автомат Мура |
|||||||||
xj\ai |
a0 |
a1 |
a2 |
a3 |
yg |
y2 |
y1 |
y1 |
y3 |
y2 |
x1 |
a1/y1 |
a2/y3 |
a3/y2 |
a0/y1 |
xj/ xj |
a0 |
a1 |
a2 |
a3 |
a4 |
x2 |
a0/y2 |
a0/y1 |
a3/y1 |
a2/y3 |
x1 |
a2 |
a1 |
a3 |
a4 |
a2 |
|
x2 |
a3 |
a4 |
a4 |
a0 |
a1 |
Для автомата Милли:
a). Изначально автомат находится в состоянии a0. При поступлении на вход первого символа x1 автомат перейдет в состояние a1 и на выходе будет символ y1.
b). При поступлении на вход второго символа x2 автомат находится уже в состоянии a1, состояние изменится на a0, а на выходе получим y1, и т.д.
c). На выходе получим слово y1y1y2y2y1.
Для автомата Мура:
a). Изначально автомат находится в состоянии a0. При поступлении на вход первого символа x1 автомат перейдет в состояние a2 и на выходе будет символ y2.
b). При поступлении на вход второго символа x2 автомат находится уже в состоянии a2, состояние изменится на a4, а на выходе получим y1, и т.д.
c). На выходе получим слово y2y1y2y1y2.
2). Для приведенных в примере 1) таблиц Милли и Мура построить графы для задания автоматов.
Для автомата Милли:
a). Нарисуем четыре вершины графа, каждая из которых соответствует одному из состояний автомата.
b). Соединим две вершины, если есть переход между соответствующими состояниями. Над ребрами напишем через дробь входной и выходной сигнал.
Рис. 6.1
Для автомата Мура:
a). Нарисуем пять вершин графа, каждая из которых соответствует одному из состояний автомата. Через дробь к состоянию припишем соответствующее значение выходного сигнала.
b). Соединим две вершины, если есть переход между соответствующими состояниями. Над ребрами напишем входной сигнал.
Рис. 6.2
3). Представить в виде конечного автомата элемент задержки.
Решение
Элемент задержки представляет собой устройство, имеющее один вход и один выход, причем, значение выходного сигнала в момент времени t совпадает со значением сигнала в предыдущий момент времени. Схематично элемент задержки изобразим следующим образом:
Рис. 6.3
Предположим, что входной, и, следовательно, выходной алфавит есть: X{0,1}, Y{0,1}. Кроме того, А{0,1} – под состоянием элемента задержки в момент времени t понимается содержание элемента памяти в данный момент. Таким образом, а(t) = X(t – 1), Y(t) = а(t) = X(t – 1).
Зададим элемент задержки таблицей, где х1 = 0, х2 = 1, а1 = 0, а2 = 1.
(x1; a1) = (0; 0) = 0 (x1; a1) = (0; 0) = 0
(x1; a2) = (0; 1) = 0 (x1; a2) = (0; 1) = 1
(x2; a1) = (1; 0) = 1 (x2; a1) = (1; 0) = 0
(x2; a2) = (1; 1) = 1 (x2; a2) = (1; 1) = 1
Таблица 6.4
x\a |
0 |
1 |
0 |
= 0, = 0 |
= 0, = 1 |
1 |
= 1, = 0 |
= 1, = 1 |
Для представления этого автомата системой булевых функций используем таблицу автомата: находим числа k, r, s, удовлетворяющие условиям:
2k-1 < m < 2k,
2r-1 < n < 2r,
2s-1 < p < 2s,
где m = 2, n = 2, p = 2 - число символов множеств.
При этом видно, что k, r, s равны числу разрядов, в двоичном представлении чисел m, n, p: k = 1, r = 1, s = 1, k + r + r + s = 4, т.о. таблица истинности содержит четыре строки.
Таблица 6.5
x |
y |
|
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
4). Представить в виде конечного автомата двоичный сумматор последовательного действия.
Решение
Данный сумматор представляет собой устройство, осуществляющее сложение двух чисел в двоичной системе исчисления. На входы сумматора подаются числа х1 и х2, начиная с младших разрядов. На выходе формируется последовательность, соответствующая записи числа х1 + х2 в двоичной системе исчисления.
Рис. 6.4
Входной и выходной алфавит заданы однозначно: Х = {00, 01, 10, 11}, Y = {0, 1}. Множество состояний определяется значением переноса при сложении соответствующих разрядов чисел х1 и х2. Если при сложении некоторых разрядов образовался перенос, то будем считать, что сумматор перешел в состояние a1. При отсутствии переноса будем считать, что сумматор находится в состоянии a0.
Сумматор задается таблицей (если состояние а0, то при комбинациях 00, 01, 10 – сумма будет 0 или 1, при 11 – сумма равна 10, есть перенос – состояние меняется на а1; если состояние а1 – то подразумеваем, что прошлым действием был перенос и 1 держим «в уме», теперь при сложении 00 будет на выходе 1 (с учетом 1 «в уме»), следующее состояние а0 – переноса не было, при сложении 01 или 10, то с учетом единицы в уме получаем 10, наблюдаем перенос и состояние устанавливаем в а1, на выходе 0, при сложении 11, то с учетом единицы в уме получаем 11, наблюдаем перенос и состояние устанавливаем в а1, на выходе 1):
Таблица 6.6
х\а |
a0 |
a1 |
текущее состояние |
00 |
a0; 0 |
a0; 1 |
следующее состояние; выход |
01 |
a0; 1 |
a1; 0 |
|
10 |
a0; 1 |
a1; 0 |
|
11 |
a1; 0 |
a1; 1 |
|