Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОДМ_Розд 3.doc
Скачиваний:
19
Добавлен:
11.11.2019
Размер:
352.77 Кб
Скачать

3.6. Основні поняття теорії скінченних автоматів

Скінченним автоматом називається система S={A, Q, V, }, у якої A={a1,…,am},Q={q1,…qn},V={v1,…,vk}- скінченні множини (алфавіти); a : Q x A  Q і : Q x A  V - функції, визначені на цих множинах. А називається вхідним алфавітом, V - вихідним алфавітом, Q - алфавітом стану;  - функцією переходів,  - функцією виходів. Якщо, крім того, в автоматі S виділено один стан, який називається початковим (будемо вважати, що цей стан q0), то отриманий автомат називається ініціальним і позначається ( S, q0 ) ; таким чином, по неініціальному автомату з n станами можна n різноманітними способами визначити ініціальний автомат.

Оскільки функції  і визначені на скінченних множинах, їх можна задавати таблицями. Звичайно дві таблиці зводяться в одну таблицю  і , яка називається таблицею переходів-виходів автомата або автоматною таблицею.

Приклад. Табл. 3.5 задає функції переходів і виходів для автомата з алфавітами A = { a1, a2, a3}, Q = {q1, q2, q3, q4}, V = {v1, v2}.

Таблиця 3.5.

Табличне завдання скінченного автомата

A1

a2

a3

q1

q3 / v1

q3 / v2

q2 / v1

q2

q4 / v1

q1 / v1

q1 / v1

q3

q2 / v1

q3 / v1

q3 / v2

q4

q4 / v1

q2 / v1

q1 / v2

Ще один поширений і наочний спосіб завдання автоматів - орієнтований мультиграф, називаний графом переходів або діаграмою переходів. Вершини графа відповідають станам; якщо  (qi, aj) = qk і (qi, aj)= vl, то з qi у qk йде ребро, на якому написані aj і vl . Граф переходів для таблиці 3.5 зображений на рис. 3.7. Кратні ребра не обов'язкові; наприклад два ребра з q2 у q1 можна замінити одним, на якому будуть написані обидві пари a3/v1 і a2/v1 . Для будь-якого графа переходів у кожній вершині qi виконані такі умови, що називаються умовами коректності:

1) для будь-якої вхідної букви ai є ребро, що виходить із qi, на якому написане aj (умовна повнота);

2) будь-яка буква aj зустрічається тільки на одному ребрі, що виходить із qi (умова несуперечності або детермінованості).

Для даного автомата S його функції S і S можуть бути визначені не тільки на множині А усіх вихідних букв, але і на множині А* усіх вхідних слів. Для будь-якого вхідного слова jj2jkqi, aj1, aj2, …, ajk

 qi, aj1), aj2), … , ajk-1), ajk).

Іншим способом це традиційне визначення можна представити так:

1)  ( qi , aj ) задається автоматною таблицею S;

2) для будь-якого слова А* і будь-якої букви аj

qi,ajqi,aj).

Рис. 3.7. Граф скінченного автомата

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

За допомогою розширеної функції  визначається (індуктивно) розширена функція .

qiajqjaj).

Зафіксуємо в автоматі S початковий стан q1, і кожному вхідному слову  = аj1, аj2, …, аjk поставимо у відповідність слово  у вихідному алфавіті

q1, aj1q1,aj1aj2q1,aj1,…,ajk.

Ця відповідність, що відображає вхідні слова у вихідні, називається автоматним відображенням, а також автоматним оператором. Якщо результатом застосування оператора до слова  є вихідне слово , то це будемо позначати відповідно S (q1, ) =  або S( ) = . Число букв у слові , як звичайно, є довжиною  і позначається або l(

Автоматне відображення має такі властивості:

  • слова  і  = S( ) мають однакову довжину;

  • якщо  =  і S()=  , де =  , то S(  )= .

Остання властивість відбиває той факт, що автоматні оператори - це оператори, які, переробляючи слово зліва праворуч, не «заглядають вперед». При цьому i - а буква вихідного слова залежить тільки від перших i - букв вихідного слова.

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