- •Розділ 3. Основи теорії скінченних автоматів
- •3.1. Логічні функції
- •3.2. Приклади логічних функцій
- •3.3 Зв'язок логічних функцій і функціональних схем
- •3.4. Канонічне представлення логічних функцій
- •3.5. Задача мінімізації логічних функцій
- •3.6. Основні поняття теорії скінченних автоматів
- •3.7. Абстрактна і структурна теорії скінченних автоматів
- •3.8. Зіставлення скінченних автоматів
- •3.9. Синхронні мережі з автоматів
- •3.10. Приклад синтезу скінченного автомата
- •Перетворимо вихідну таблицю в спеціальну форму з виділенням вхідних-вихідних сигналів і внутрішніх станів.
- •3.11. Програмна реалізація логічних функцій і автоматів
3.8. Зіставлення скінченних автоматів
Нехай S=(As, Qs, Vs, ss) і Т=(Aт, Qт, Vт, ss) - два автомати. Трійка відображення f: Аs Aт, g: QsQт, h: VsVт називається гомоморфізмом автомата S в автомат Т, якщо для будь-яких а Аs, qQs, vVs виконані умови
т ( g(q), f(a) ) = gs (q, a)
т ( g(q), f(a) ) = h s (q, a)
Автомат Т називається гомоморфним автомату S. Якщо всі три відображення сюр'єктивні, то ця двійка автоматів називається гомоморфізмом S на Т. Якщо, крім того, ці три відображення взаємно однозначні, то вони називаються ізоморфізмом S на Т; автомати, для яких існує ізоморфізм, називаються ізоморфними. Ясно, що потужності відповідних алфавітів ізоморфних автоматів повинні бути однаковими.
Поняття ізоморфізму для автоматів має такий зміст: автомати S і Т ізоморфні, якщо входи, виходи і стани S можна перейменувати так, що таблиця переходів автомата S перетвориться в таблицю переходів автомата Т.
Приклад. Візьмемо автономний автомат S, заданий у табл. 3.10, а як Т-автономний автомат, граф якого наведений на рис. 3.10. Існує гомоморфізм S у Т.
Таблиця 3.10.
Завдання автомата S
q |
1 2 3 4 5 6 7 8 9 |
a |
3/0 4/0 4/0 7/0 4/2 5/0 6/1 9/0 9/1 |
w
w
v
v v
v v
Рис. 3.10. Автомат Т
Ніякий стан S не відобразився в r5; зауважимо, що r5 неможливо досягти з інших станів. Це - загальне правило: якщо стан Т не входить в область значень g при гомоморфізмі, то воно повинно бути недосяжним для будь-якого стану з цієї області, інакше порушиться умова гомоморфізму. Якщо з автомата Т стан r5 разом з інцидентним йому ребром видалити, то одержимо новий автомат Т; описана трійка відображень є гомоморфізмом S у Т і S на Т. Як показує цей приклад, кількість станів і вихідних букв при гомоморфізмі може не зберігатися.
3.9. Синхронні мережі з автоматів
Якщо автомати розглядати як пристрої з входами і виходами, то приєднання виходів одних автоматів до входів інших дає схему або мережу з автоматів, всі автомати якої працюють одночасно. Під станом мережі з m одночасно працюючих автоматів S1, ..., Sm (компонент мережі) розуміється вектор (qi1, ..., qim), де qij - стан автомата Sj. Тому в загальному випадку кількість можливих станів мережі дорівнює добутку чисел станів її складових компонент. Виникає питання, чи є мережа з автоматів автоматом; якщо так, то як одержати її опис з опису її підавтоматів?
Насамперед необхідно відзначити, що вектор - стан мережі вказує, в яких станах знаходяться компоненти мережі в деякий момент часу. Таким чином, при описі автоматних мереж - на відміну від абстрактних автоматів - необхідно явно вводити поняття часу. Існує два основних способи введення часу - синхронний і асинхронний. Синхронний спосіб полягає в наступному. Уводиться шкала часу, що ділиться на відрізки однакової довжини (такти); межі тактів називаються моментами автоматного часу і нумеруються натуральними числами, починаючи з нуля. Довжина такту приймається за одиницю часу. Вхідне слово (послідовність букв) розглядається як часова послідовність сигналів або імпульсів (кожний сигнал відповідає букві); інтервал між сусідніми імпульсами дорівнює в точності довжині такту. Отже, слово довжини k займає в часі рівно k тактів. Його букви можна вважати функціями від часу: a(t) - буква, що з'явилася на вході в момент t. Автоматні функції і реалізуються з затримкою. Час затримки функції дорівнює одиниці (q(t), a(t))=q(t+1); стан q(0) визначено заздалегідь. Час затримки функції звичайно вважається рівним нулю: (q(t), a(t))=v(t), але іноді рівним одиниці (q(t), a(t))=v(t+1). В другому випадку повинно бути визначене v(0). Таким чином, під дією послідовності вхідних сигналів однакової довжини кожний з автоматів породжує послідовність проміжних або внутрішніх сигналів (що реалізують стани) і послідовність вихідних сигналів, причому довжини тактів цих послідовностей збігаються з довжиною кожного такту. Даним способом на практиці досягається загальна синхронізація - за рахунок зовнішніх таймерів, що синхронізують, або за рахунок ідеальних часових характеристик і середовища, в яких вони функціонують, на даному рівні розгляду несуттєво.
Перед тим, як говорити про мережі з автоматів загального вигляду, розглянемо деякі основні види з'єднання автоматів.
1. Паралельне з'єднання (рис. 3.11). Розрізняються з'єднання із загальними і роздільними входами (алфавітами).
S1
S1
А1
V1
V1
A
S2
S2
A2
V2 V2
Рис. 3.11. Паралельне з'єднання автоматів
Для випадку, коли паралельне з'єднання автоматів представлено парою автоматів S1 = {A1, Q1, V1, 1, 1}; S2 = {A2, Q2, V2, 2, 2}, то його можна розглядати як один автомат S = {A, Q, V, , }, що визначається в такий спосіб: A = A1A2, Q = Q1Q2, V = V1V2. Таким чином, вхідний сигнал автомата S - це пара символів: a = (a1, a2); стан автомата S - це пара станів: q = (q1, q2), де q1 Q1, q2 Q2. Далі (q, a) = ((q1, q2), (a1, a2)) = (1(q1, a1), 2(q2, a2)), тобто зміна станів відбувається незалежно й одночасно. Аналогічно (q, a) = =(1(q1, a1), 2(q2, a2)) = (v1, v2), де v1 V1; v2 V2. При цьому автомат S називається прямим добутком автоматів S1 і S2.
Для іншого варіанта паралельного з'єднання вхідні алфавіти S1, S2 і S збігаються. Тому (q, a) = (1(q1, a), 2(q2, a)).
Послідовне з'єднання автоматів показано на рис. 3.12.
S1
S2
A1 A2=V1 V2
Рис. 3.12. Послідовне з'єднання автоматів
Цю мережу можна описати як автомат S = {A, Q, V, , }, причому A=A1, V=V2, V1=A2 і Q = Q1 Q2. Для визначення і істотна затримка функції 1. Якщо затримка 1 дорівнює нулю, то
1(q1(t), a(t)) = V1(t);
q(t+1) = (q1 (t+1), q2(t+1)) =
= (1(q1(t), a(t)), 2(q2(t), 1(q1(t), a(t)))).
Вираз у лівій частині залежить тільки від q(t) і a(t) і, отже, визначає q(t+1) як функцію від цих змінних. Ця функція і є функція для S.
Якщо ж час затримки 1 дорівнює одиниці, то одержимо
q(t+1) = (1(q1(t), a(t)), 2(q2(t), 1(q1(t-1), a(t-1)))).
1(q1(t), a(t)) = V1(t+1);
Таким чином, залежність тільки від попереднього такту не утворюється, і необхідно ускладнювати автоматний опис такої мережі.
Методи одержання єдиного автоматного опису для мереж з автоматів називаються методами композиції автоматів. Ці методи вирішують задачу аналізу мереж, оскільки дослідження поводження мереж зручно проводити при наявності автоматного опису: таблиці переходів або графа переходів.
