Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 18.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.17 Mб
Скачать

3. Абстрактні автомати

Дана концепція автоматів є дуже важливою у цій галузі, оскільки в ній розглядається математична модель автоматів, а також досліджують їх моделі без реалізації.

Для опису автомата використовується поняття послідовності. Послідовність зручно розглядати як часову розгортку, що змінюються дискретно і приймає значення t = 0,1,2,3, ....

Відліки такого часу будемо називати тактами. У кожному такті будемо задавати значення дискретних змінних X(t), Y(t) і S(t).

X(t) - змінна, значення якої представляються символами вхідного алфавіту X = {X0, X1, ... XN -1} (вхідними символами);

Y(t)- змінна зі значеннями символів вихідного алфавіту Y={Y0, Y1, ...YM-1};

S(t) - змінна зі значеннями символів алфавіту станів автомата S = {S0, S1, ..., SK-1}.

Автомат здійснює перетворення символів, потактно приймаючи вхідні символи X і формуючи вихідні - Y, а також змінюючи свої стани S.

При скінченності всіх алфавітів автомат називається скінченним, хоча він може перетворювати послідовності нескінченної довжини.

З точки зору властивостей перетворень, виконуваних автоматами різних видів, всі вони виявляються в кінцевому рахунку еквівалентними: можуть представляти тільки регулярні події.

У той же час різні види можуть більшою чи меншою мірою підходити для вирішення різних завдань аналізу та синтезу автоматів.

Функції переходів і виходів можуть задаватися різними способами. Найчастіше використовуються табличні і графові способи задавання. Приклад табличного задавання наведено на рисунку 3.

Рис. 3. Задавання функцій переходів і виходів автомата

N=3 K=3 M=3

При заданні автомата у вигляді графу, стани S ототожнюються з вершинами графа. Дуги - зваженими символами Х, задають S=Ф(X, S) (рис. 4).

Рис. 4. Задавання функцій переходів S=Ф(X, S) у вигляді графа

Y = F(X,S) задається вагою дуги (рис. 5).

Рис. 5. Задавання функцій переходів Y = F(X,S) у вигляді графа

При Y = F(S) замість розстановки Yj на всіх дугах, що виходять з Sk, Yj зважують вершину Sk (рис. 6).

(*) (**)

Рис. 6. Приклад графів автоматів

Функції переходів і виходів можуть мати область визначення, меншу в порівнянні з усіма можливими наборами значень їх аргументів. При цьому ми отримуємо неповністю визначені автомати.

Знаючи функції переходів і виходів, можна описати поведінку автомата, що сприймає деяку вхідну послідовність, якщо відомо стан, в якому знаходився автомат в такт появи першого символу вхідної послідовності.

Говорячи про автомати, ми припускаємо можливість використання їх для опису або реалізації перетворень дискретної інформації.

При цьому мається на увазі наявність системи домовленостей (інтерпретації), за якою можна встановити відповідність реального часу тактам автомата.

При інтерпретації потрібно на півосі часу виділити інтервали з номерами 0,1,2, ..., що задають такти автомата (рис. 7):

Рис. 7. Діаграма тактів автомата

Тривалість тактів (і пауз між ними) може бути будь-якою, аж до певного моменту часу. Способи розмітки часу також можуть бути різними; ми виділимо 2 з них, що визначають різні класи автоматів. З цією метою будемо розглядати автомат як об'єкт, який обмінюється вхідними і вихідними сигналами (представляють символи вхідного і вихідного алфавіту) із зовнішнім середовищем:

Такти можна виділити за допомогою деяких «таймерів» (давачів тактів), загальних як для автомата, так і для «зовнішнього середовища», наприклад, у вигляді генератора синхроімпульсів, що сигналізує про наявність такту (рис. 8).

Рис. 8. Схема джерела тактів

Автомати, що працюють в такій системі тактів, називаються синхронними. Таким чином, в синхронному автоматі X і Y, такти повинні формуватися в певний час, що задається давачем тактів. Фізична модель може інтерпретуватися як синхронний автомат, наприклад, наступним чином.

Маємо генератор СІ, який виділяє на півосі часу інтервали Т (рис. 9).

Рис. 9. Діаграма тактів автомата

Нехай під час цих інтервалів вхідні дії Х і вихідні реакції Y фізичної моделі, а також внутрішні сигнали, що представляють стани S, не змінюються (зміна X, Y і S відбувається тільки між інтервалами Т). У такому випадку інтервали Т відповідають тактовим імпульсам. Якщо поведінку фізичної моделі при цьому можна описати функціями переходів і виходів, то її можна розглядати як автомат.

Зафіксуємо часову діаграму функціонування розглянутої фізичної моделі (рис. 10):

Рис. 10. Діаграма функціонування фізичної моделі

Для синхронних автоматів найбільш природні і найбільш вживані задавання вигляду:

I - як правило називають автоматом Мілі,

II - автоматом Мура;

III - будемо називати автоматом Мілі із затримкою.

Можна шукати інтерпретацію, при якій деякий фізичний пристрій може розглядатися (описуватися) як автомат. Це задача аналізу.

Можна будувати фізичну модель, яку при певній інтерпретації можна вважати автоматом з необхідним законом функціонування. Це задача синтезу.

Виділяти такти за допомогою генератора синхроімпульсів (СІ) можна по різному (для різних фізичних моделей краще підходять різні інтерпретації) (рис. 11):

Рис. 11. Діаграми тактів фізичних моделей ЦА

В асинхронних автоматах початок і закінчення тактів визначається за фактом зміни Х на вході автомата.

Паузи між тактами представлені моментами змін Х (рис. 12).

Рис. 12. Представлення пауз між тактами на часовій діаграмі тактів

Таким чином, для асинхронних автоматів такт формується зовнішнім середовищем (X і Y в асинхронному автоматі можуть формуватися в довільний період часу).

Зміна X(t) для асинхронних автоматів говорить про початок наступного такту (t+1). Нове значення X(t+1) розглядається як причина зміни стану S(t) і появи нового S(t+1). S(t+1) появляється як реакція на X(t+1) відразу ж: S(t+1) = (X(t+1), S(t)).

Функції переходів такого виду становлять найбільший інтерес через труднощі фізичного моделювання асинхронних автоматів з

S(t+1) =(X(t), S(t)).

Функції виходів зазвичай мають вигляд:

Y(t) = F( X(t), S(t)) , або

Y(t) = F(S(t)).

В результаті отримуємо:

В синхронних і в асинхронних автоматах найчастіше ми маємо справу з ініціалізованими автоматами, тобто з такими, для яких задані початкові стани S(0).