1 Скінченні автомати. Методи задання автоматів Лекція 11
88-dm_l11_2012.ppt
- Количество слайдов: 25
1 Скінченні автомати. Методи задання автоматів Лекція 11 Теорія автоматів
2 Методи задання автоматів Алфавіти та слова в них Нехай X = {x1, x2, ..., xm} і Y = {y1, y2, ..., yn} – дві довільні множини елементів, які називатимемо алфавітами, а їх елементи – літерами алфавітів. Скінченну впорядковану послідовність літер називатимемо словом у заданому алфавіті. Позначимо через (X) і (Y) множини всіх слів в алфавітах X та Y, відповідно. У такому випадку перетворення дискретної інформації можна задати як відображення f множини слів (X) у множину слів (Y).
3 Методи задання автоматів Відображення f називається алфавітним, а алфавіти X та Y – вхідним і вихідним алфавітами оператора f. Кожному вхідному слову p = хі1, хі2, …, хіk відображення f зіставляє слово на виході r = уі1, уі2, …, уіk. Тому (p(X))(r(Y))[r = f(p)]. У цьому випадку f є функцією, область визначення якої – (X), а область значень – (Y). Будь-який абстрактний автомат реалізує деяке відображення f або, як кажуть, індукує деяке автоматне відображення f. Алфавітне відображення
4 Методи задання автоматів Абстрактний автомат є динамічною системою із такими властивостями: наявність довільного числа станів автомата, що відрізняються; миттєве здійснення переходу із одного стану автомата в інший; перехід із одного стану в інший не раніше, ніж за деякий проміжок часу (>0 – інтервал дискретності); число різноманітних вхідних і вихідних літер (сигналів) є скінченним; вхідні літери – причина переходу автомата з одного стану до іншого, а вихідні – реакція автомата на вхідні літери, які належать до моментів часу, що визначаються відповідними переходами автомата. Інтуїтивне поняття автомата (1)
5 Методи задання автоматів Враховуючи це, можна казати, що абстрактний автомат функціонує у дискретному часі t, який набуває значень t = 0, 1, 2, ... . На кожний вхідний сигнал x(t) (t>0) автомат реагує вихідним сигналом y(t). Розрізнюють два види автоматів: синхронні та асинхронні (перехід з одних станів до інших здійснюється через нерівні проміжки часу). Зупинимось на законах функціонування автоматів. Інтуїтивне поняття автомата (2)
6 Методи задання автоматів Стан q(t) автомата у момент часу t однозначно визначається попереднім станом q(t–1) і вхідним сигналом x(t). Тому можна записати q(t) = (q(t–1), x(t)), або :QXQ, де – функція, що визначає наступні стани автомата, позначається (q, x) і називається функцією переходів, Q – алфавіт станів автомата, X – алфавіт вхідних сигналів. Функція переходів автомата
7 Методи задання автоматів Вихідний сигнал y(t) реального автомата завжди з'являється після вхідного сигналу x(t). Але щодо моменту часу t переходу автомата зі стану q(t–1) до стану q(t) вихідний сигнал y(t) може з'явитися раніше або пізніше від цього моменту часу. Тому справедливими є такі вирази y(t) = (q(t–1), x(t)), (1) y(t) = (q(t), x(t)), (2) де (q, x) – функція виходів звичайна (1) або зсунута (2). Функція виходів звичайна та зсунута (1) Функція виходів звичайна та зсунута (1)
8 Методи задання автоматів Функція виходів однозначно визначає вихідну літеру автомата залежно від стану q(t–1) у попередній момент часу та вхідного сигналу x(t), якщо це звичайна функція виходів; або ж від стану q(t), в який автомат переходить у поточний момент часу, і вхідного сигналу x(t) у випадку зсунутої функції виходів. Функція виходів звичайна та зсунута (2)
9 Методи задання автоматів Враховуючи роботу реальних автоматів, розрізнюють два роди абстрактних автоматів. Автоматами першого роду називаються такі, що описуються рівняннями q(t) = (q(t–1), x(t)), (3) y(t) = (q(t–1), x(t)) (4) і визначають закон функціонування цих автоматів. Автоматами другого роду називаються такі, закон функціонування яких задається рівняннями q(t) = (q(t–1), x(t)), (5) y(t) = (q(t), x(t)), (6) де t = 0, 1, 2, ... . Два роди автоматів
10 Методи задання автоматів Абстрактні автомати будь-якого роду називаються правильними, якщо їх вихідний сигнал y(t) не залежить явно від вхідного сигналу x(t), а визначається тільки станом q(t–1) або q(t). Закони функціонування правильних автоматів визначаються рівняннями q(t) = (q(t–1), x(t)), (7) y(t) = (q(t–1)), (8) q(t) = (q(t–1), x(t)), (9) y(t) = (q(t)). (10) Надалі автомати першого роду (рівняння 3–4) називатимемо автоматами Мілі, а правильні автомати другого роду (рівняння 9–10) – автоматами Мура. Правильні автомати
11 Методи задання автоматів Існує кілька методів задання абстрактних автоматів: аналітичний; геометричний; матричний. Методи задання автоматів
12 Методи задання автоматів Аналітичний метод задання (1) Задано абстрактний автомат A за існування сукупності об'єктів: скінченна множина X = {xi}, iI = {1, 2, ..., m} – вхідний алфавіт автомата; скінченна множина Y = {yj}, jJ = {1, 2, ..., n} – вихідний алфавіт автомата; довільний алфавіт Q – алфавіт станів; довільний елемент q1Q – початковий стан автомата; відображення :QXQ, що будь-якому qQ і кожній вхідній літері xX зіставляє стан qkQ, тобто функції переходів (q, x); відображення :QXY, що будь-якому qQ і кожній вхідній літері xX зіставляє вихідну літеру yY, яка визначає звичайну або зсунуту функцію виходів (q,x).
13 Методи задання автоматів Таким чином, запис A =
14 Методи задання автоматів У кожний момент часу на вхід автомата подається вхідний сигнал x(t) – довільна літера вхідного алфавіту X, на виході виникає певний вихідний сигнал y(t) (t = 0, 1, 2, ...) – літера вихідного алфавіту Y. Нехай (X) і (Y) – множини вхідних і вихідних слів автомата A та p = хі1, хі2,…, хік – довільне вхідне слово, тобто p(X). Коли на вхід автомата A, що встановлений у початковий стан, надходить скінченна послідовність x(1) =хі1, ..., x(k) = хік, на виході автомата вона викликає появу однозначної послідовності y(1) = уj1, ..., y(k) = уjk, що визначається відомими відображеннями і . Відображення, що індукує автомат (1)
15 Методи задання автоматів Послідовність відповідає слову на виході r = уj1, уj2,…, уjk із множини (Y). Тому r = f(p). Для кожного вхідного слова p(X) зіставляємо відповідне йому вихідне слово r(Y) й у такий спосіб одержуємо шукане відображення f, що індукує скінченний автомат A. Відображення, що індукує автомат (1)
16 Методи задання автоматів Відображення :Q XQ і :QXY однозначно визначають функції (q, x) і (q, x), що задають закон функціонування автомата A. Їх можна записати у вигляді матриць, рядки яких відповідають різним літерам вхідного алфавіту X, а стовпчики – різним станам автомата A (літерам алфавіту Q). На перетині xі-го рядка та qk-го стовпчика таблиці переходів (q, x) записується стан ql автомата, до якого він переходить зі стану qk при надходженні вхідного сигналу xi, а у таблиці виходів (q, x) – вихідна літера yj, що з'являється на виході автомата. Функції (q, x) і (q, x)
17 Методи задання автоматів Два абстрактних автомати A та B з однаковими вхідним X і вихідним Y алфавітами називаються еквівалентними, якщо індукують одне й те саме відображення f множини (X) у (Y). Встановимо взаємозв'язок між автоматами першого та другого роду. Нехай задано автомат другого роду A =
18 Методи задання автоматів Якщо підставити до цього рівняння значення q(t) = (q(t–1), x(t)), то одержимо рівняння y(t) = ((q(t–1), x(t)), x(t)) = (q(t–1), x(t)), що визначає звичайну функцію виходів '(q, x), яка характеризує автомат першого роду. Таким чином, за рахунок підстановки до зсунутої функції виходів (q, x) автомата другого роду функції переходів (q, x) одержуємо автомат першого роду A' =
19 Методи задання автоматів Геометричний метод задання Цей метод задання зводиться до зображення орієнтованого графа, вершинами якого є стани автомата (позначаються qQ), а біля кожного ребра (qk, ql) записуються літера вхідного алфавіту xiX (викликає перехід автомата зі стану qk до стану ql), і літера вихідного алфавіту yjY (з'являється на виході автомата). Якщо розглядається автомат першого роду, то вихідна літера yj визначається парою (qk, xi), якщо – другого роду, то вихідна літера yj залежить від (ql, xi). Початковий стан автомата позначається q1Q. Орієнтований граф з ребрами, навантаженими літерами вхідного та вихідного алфавітів, однозначно задає певний скінченний автомат.
20 Методи задання автоматів Графи із навантаженими ребрами називають графоїдами. Орієнтований графоїд – геометрична інтерпретація абстрактного автомата. Від графоїда легко перейти до задання скінченного автомата за допомогою навантаженого прадерева, яке описує відображення множини всіх вхідних слів у множину всіх вихідних слів. Прадерево будується у такий спосіб. Автомат як орієнтований графоїд
21 Методи задання автоматів Фіксуємо вершину, що відповідає початковому стану q1Q та є вершиною першого рангу (коренем) прадерева. Із кореня проводимо m дуг (m – потужність множини X, m=|X|), які називаються дугами першого рангу. Кожна дуга заходить у вершину другого рангу (m вершин). Із кожної вершини другого рангу проводимо m дуг другого рангу, які закінчуються m2 вершин третього рангу і т.д. Кожній дузі приписується літера xiX і в дужках – літера yjY вихідного алфавіту. Крім того, кожній вершині другого та більших рангів приписується стан qkQ, визначений за графоїдом. Формування прадерева
22 Методи задання автоматів Прадерева використовуються як мова задання автоматних відображень. Побудування графоїда за навантаженим прадеревом – це задача абстрактного синтезу скінченних автоматів. Використання прадерев
23 Методи задання автоматів Матричний метод задання Реалізується заданням прямокутних матриць, які називаються таблицями переходів і виходів (q, x) та (q, x). Але частіше використовується квадратна матриця, яку називають матрицею з'єднань автомата. Рядки та стовпчики цієї матриці відповідають різним станам автомата, причому перші рядок і стовпчик відповідають початковому стану q1Q. На перетині qk-го рядка та ql-го стовпчика ставиться літера вхідного алфавіту xiX або диз'юнкція вхідних літер, які викликають перехід автомата зі стану qk до ql, а в дужках – літера вихідного алфавіту yjY або диз'юнкція вихідних літер, що з'являються на виході автомата. Якщо жодна з літер вхідного алфавіту не переводить автомат зі стану qk до ql, то на відповідному перетині ставиться 0.
24 Методи задання автоматів Матриця з'єднань автомата має таку властивість: у будь-якому її рядку кожна літера вхідного алфавіту має зустрічатися не більше одного разу, що пов'язано з однозначністю функції переходів і виходів автомата й називається умовою однозначності. Властивість матриці з’єднань
25 Методи задання автоматів