- •Введение
- •1. Элементы теории множеств
- •1.1.Понятие множества.
- •1.2. Способы задания множеств.
- •1.3. Свойства множеств.
- •1.4. Конечные и бесконечные множества.
- •1.5. Подмножества.
- •1.6. Множество как абстракция.
- •1.7. Операции над множествами.
- •1.8.Декартово произведение множеств
- •1.9. Контрольные задания
- •2. Отношения
- •2.1. Общие положения
- •2.2. Задание отношений.
- •2.3. Виды отношений.
- •2.3.1. Рефлективность.
- •2.3.2. Симметричность.
- •2.3.3. Транзитивность.
- •2.4. Отношение эквивалентности
- •2.5. Функция.
- •2.6. Отношение как базовое понятие в реляционных
- •2.7. Контрольные задания
- •3. Элементы алгебры логики
- •3.1. Силлогизмы Аристотеля.
- •3.2. Высказывания.
- •3.3. Исчисление высказываний и
- •3.4. Функции алгебры логики
- •3.5. Равносильности алгебры логики
- •3.6. Одна логическая задача
- •3.7. Реализация функций в элементных базисах
- •3.9. Совершенная конъюнктивная нормальная форма
- •3.10. Реализация операции суммирования в компьютере
- •3.11. Контрольные задания
- •4. Элементы теории графов
- •4.1. История возникновения
- •4.2. Основные понятия
- •4.3. Матрицы графа
- •4.4. Деревья
- •4.5. Раскраска
- •5. Элементы теории алгоритмов
- •5.1. Интуитивное понятие алгоритма
- •5.2. Свойства алгоритмов
- •5.3. Вычислительные и комбинаторные алгоритмы
- •5.5. Асимптотические оценки сложности алгоритма
- •Порядки сложности алгоритма
- •5.6. Комбинаторный взрыв
- •6. Полиномиальные алгоритмы
- •6.1. Построение минимального остовного дерева.
- •6.1.1. Жадный алгоритм
- •6.1.2. Алгоритм Прима
- •6.2. Контрольные задания
- •7. Эвристические алгоритмы
- •7.1. Алгоритм последовательной раскраски
- •7.2. Контрольные задания
- •8. Сетевое планирование
- •8.1. Основные понятия
- •8.2 Параметры сетевого планирования
- •8.3. Вычисление параметров сетевого графика
- •8.4. Контрольные задания
- •9. Элементы абстрактной теории автоматов
- •9.1. Определение абстрактного автомата
- •9.2. Методы задания автоматов
- •9.3. Связь между моделями Мили и Мура.
- •9.4.1. Преобразование автомата Мура в автомат Мили
- •9.4.2. Преобразование автомата Мили в автомат Мура
- •9.5. Контрольные задания
- •10. Уточнение понятия алгоритма
- •10.1. Машина Тьюринга
- •Для каждого алгоритма u из класса к1 существует равносильный ему алгоритм l из класса к2.
- •10.2. Нормальный алгоритм Маркова
9.4.2. Преобразование автомата Мили в автомат Мура
Ограничение: у автомата Мили не должно быть преходящих состояний, то есть состояний, в которые не входит ни одна дуга, но из которого есть исходящие дуги.
Н
апример,
у автомата Мили S7 преходящим S7
является состояние а1.
a2
a1 a3
Задан автомат Мили:
SA={AA, ZA, WA,A, A, a1A}, где AA={a1,…am,…,aM}, ZA={z1,…,zf,…zF}, WA={w1,…,wg,…,wG};
A реализует отображение AAZA в AA;
A реализует отображение AAZA на WA;
a1A=a1-начальное состояние.
Требуется построить автомат Мура: SB={AB, ZB, WB, B, B, a1B}, у которого
ZB= ZA={z1,…,zf,…zF}, WB= WA={w1,…,wg,…,wG}.
Для определения AB каждому состоянию asAA поставим в соответствие множество Аs всевозможных пар вида (as, wg), где wg- выходной сигнал, приписанный входящей в as дуге:
AS ={(as, wg)(am, zf)=as и (am, zf)= wg}
w1
w2
as AS ={(as ,w1), (as, w2), (as, w3)}
w1
w3
Вместо одного состояния as в автомате Мура будет три состояния.
Множество состояний автомата SB получим как объединение множеств
AS
(S=1,…,M): AB=
Определение функции выходов B:
Каждому состоянию автомата Мура SB, представляющему собой пару вида (as,wg), ставится в соответствие выходной сигнал wg.
Определение функции переходов:
Если в автомате Мили SA был переход A(am, zf)=as и при этом выдавался выходной сигнал A(am, zf)=wk, то в SB будет переход из множества состояний Am, порождаемых am, в состояние (as, wk) под действием входного сигнала zf.
wi am, wi zf
zf wk
am as Am as, wk
wj
zf
am, wj
В качестве начального состояния a1B можно взять любое из состояний множества A1, которое порождается начальным состоянием a1 автомата SA.
Пример. Дан автомат Мили S1
S1 a1
a2 a3
w1 z2
|
a1 |
a2 |
a3 |
|
|
a1 |
a2 |
a3 |
z1 |
a3 |
a1 |
a1 |
z1 |
w1 |
w1 |
w2 |
|
z2 |
a1 |
a3 |
a2 |
z2 |
w1 |
w2 |
w1 |
AA={a1, a2, a3}, ZA={z1, z2}, WA={w1, w2}, a1A=a1.
Функции и определяются графом автомата либо таблицами переходов и выходов. Требуется построить эквивалентный ему автомат Мура.
Получим
ZB= ZA={z1, z2}, WB= WA={w1, w2}.
Построим множество состояний AB:
A1={(a1, w1), (a1, w2)}={b1, b2}.
A2={(a2, w1)}={b3}.
A3={(a3, w1), (a3,w2)}={b4, b5}.
AB=A1A2A3={b1, b2, b3, b4, b5}. a1B=b1.
С каждым состоянием, представляющим собой пару, отождествим выходной сигнал, являющийся вторым элементом этой пары:
B(b1)=(b3)=(b4)=w1; B(b2)=(b5)=w2.
S8
b1
b2 b5
b3 b4
Построим функцию B.
В автомате Мили: a3=(a1, z1) В автомате Мура: b4=(b1, z1)
w1=(a1,
z1) b4=(b2,
z1)
a1 b1, b2 w1=(b4)
(a3, w1)b4
В автомате Мили: a1=(a1, z2) В автомате Мура: b1=(b1, z2)
w1=(a1, z2) b1=(b2, z2)
a
1
b1, b2 w1 z2
w1=(b1)
(a1, w1)b1 b2 b1
В автомате Мили: a1=(a2, z1) В автомате Мура: b1=(b3, z2)
w1=(a2, z1) w1=(b1)
a
2
b3 w1
(a1, w1)b1 b3 b1
В автомате Мили: a3=(a2, z2) В автомате Мура: b5=(b3, z2)
w2=(a2, z2) w2=(b5)
a
2
b3 w2
(a3, w2)b5 b3 b5
В автомате Мили: a1=(a3, z1) В автомате Мура: b2=(b4, z1)
w2=(a3,
z1) b4 b2=(b5,
z1)
a3 b4, b5 w2 w2=(b2)
(a1, w2)b2 b5 b2
В автомате Мили: a2=(a3, z2) В автомате Мура: b3=(b4, z2)
w1=(a3,
z2) b4 b3=(b5,
z2)
a3 b4, b5 w1 w1=(b3)
(a2, w1)b3 b5 b3
Отмеченная таблица переходов автомата S8 будет иметь вид:
-
w1
w2
w1
w1
w2
b1
b2
b3
b4
b5
z1
b4
b4
b1
b2
b2
z2
b1
b1
b5
b3
b3
Примем за начальное состояние b1.
П
z1
z1
z2
z1
z2
z2
b1
b4
b2
b1
b4
b3
b5
w1
w1
w2
w1
w1
w1
w2
Входное слово:
Последовательность состояний:
Выходное слово:
Заменив bi на ai, i=1,…,5, получим автомат Мура S5.
Снимем с автомата Мили ограничение на наличие преходящих состояний. Рассмотрим пример.
Д
ан
автомат Мили S7 S7
ZA=ZB={z1, z2}; WA=WB={w1, w2}; a1A=a1. z1 w2
A1=; a2
A2={(a2, w1), (a2, w2)}={b1,b2}
A3={(a3, w1), (a3, w2)}={b3,b4} z1 a1 a3
К множеству состояний A1A2A3={b1, b2, b3, b4} добавим состояние (a1, -)=b5, порождаемое переходящим состоянием a1, считая, что выходной сигнал в состоянии a1 не определен. a1B=b1.
1
)
a2=(a1,
z1) 2) a2=(a2,
z1) b1
w1=(a1, z1) b5 b1 w2=(a2, z1) b2 b2
b1
3
)
a3=(a1,
z2) 4) a3=(a2,
z2) b4
w1=(a1, z2) b5 b3 w2=(a2, z2) b2
b3
b3
5) a2=(a3, z2) 6) a2=(a3, z1) b2
w1=(a3, z2) b4 b1 w2=(a3, z1) b4
В итоге получим автомат Мура S9, отмеченная таблица переходов которого будет иметь вид:
-
w1
w2
w1
w2
-
b1
b2
b3
b4
b5
z1
b2
b2
b2
b2
b1
z2
b4
b4
b1
b1
b3
S9 b1
b5 b2
b4 b3
Из вышеизложенного следует, что при переходе от автомата Мура к автомату Мили число состояний автоматов не меняется, в то время как при обратном переходе число состояний в автомате Мура, как правило, возрастает. Таким образом, если перейти от автомата Мили к автомату Мура, а затем обратно, то получим два эквивалентных автомата Мили с различным числом состояний.
