ДМ_л11_2012.ppt
- Количество слайдов: 25
Скінченні автомати. Методи задання автоматів Лекція 11 Теорія автоматів 1
Алфавіти та слова в них Нехай X = {x 1, x 2, . . . , xm} і Y = {y 1, y 2, . . . , yn} – дві довільні множини елементів, які називатимемо алфавітами, а їх елементи – літерами алфавітів. Скінченну впорядковану послідовність літер називатимемо словом у заданому алфавіті. Позначимо через (X) і (Y) множини всіх слів в алфавітах X та Y, відповідно. У такому випадку перетворення дискретної інформації можна задати як відображення f множини слів (X) у множину слів (Y). Методи задання автоматів 2
Алфавітне відображення Відображення 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. Методи задання автоматів 3
Інтуїтивне поняття автомата (1) Абстрактний автомат є динамічною системою із такими властивостями: üнаявність довільного числа станів автомата, що відрізняються; üмиттєве здійснення переходу із одного стану автомата в інший; üперехід із одного стану в інший не раніше, ніж за деякий проміжок часу ( >0 – інтервал дискретності); üчисло різноманітних вхідних і вихідних літер (сигналів) є скінченним; üвхідні літери – причина переходу автомата з одного стану до іншого, а вихідні – реакція автомата на вхідні літери, які належать до моментів часу, що визначаються відповідними переходами автомата. Методи задання автоматів 4
Інтуїтивне поняття автомата (2) Враховуючи це, можна казати, що абстрактний автомат функціонує у дискретному часі t, який набуває значень t = 0, 1, 2, . . На кожний вхідний сигнал x(t) (t>0) автомат реагує вихідним сигналом y(t). Розрізнюють два види автоматів: синхронні та асинхронні (перехід з одних станів до інших здійснюється через нерівні проміжки часу). Зупинимось на законах функціонування автоматів. Методи задання автоматів 5
Функція переходів автомата Стан q(t) автомата у момент часу t однозначно визначається попереднім станом q(t– 1) і вхідним сигналом x(t). Тому можна записати q(t) = (q(t– 1), x(t)), або : Q X Q, де – функція, що визначає наступні стани автомата, позначається (q, x) і називається функцією переходів, Q – алфавіт станів автомата, X – алфавіт вхідних сигналів. Методи задання автоматів 6
Функція виходів звичайна та зсунута (1) Вихідний сигнал y(t) реального автомата завжди з'являється після вхідного сигналу x(t). Але щодо моменту часу t переходу автомата зі стану q(t– 1) до стану q(t) вихідний сигнал y(t) може з'явитися раніше або пізніше від цього моменту часу. Тому справедливими є такі вирази y(t) = (q(t– 1), x(t)), y(t) = (q(t), x(t)), (1) (2) де (q, x) – функція виходів звичайна (1) або зсунута (2). Методи задання автоматів 7
Функція виходів звичайна та зсунута (2) Функція виходів однозначно визначає вихідну літеру автомата залежно від стану q(t– 1) у попередній момент часу та вхідного сигналу x(t), якщо це звичайна функція виходів; або ж від стану q(t), в який автомат переходить у поточний момент часу, і вхідного сигналу x(t) у випадку зсунутої функції виходів. Методи задання автоматів 8
Два роди автоматів Враховуючи роботу реальних автоматів, розрізнюють два роди абстрактних автоматів. Автоматами першого роду називаються такі, що описуються рівняннями q(t) = (q(t– 1), x(t)), y(t) = (q(t– 1), x(t)) (3) (4) і визначають закон функціонування цих автоматів. Автоматами другого роду називаються такі, закон функціонування яких задається рівняннями q(t) = (q(t– 1), x(t)), (5) y(t) = (q(t), x(t)), (6) де t = 0, 1, 2, . . Методи задання автоматів 9
Правильні автомати Абстрактні автомати будь-якого роду називаються правильними, якщо їх вихідний сигнал y(t) не залежить явно від вхідного сигналу x(t), а визначається тільки станом q(t– 1) або q(t). Закони функціонування правильних автоматів визначаються рівняннями q(t) = (q(t– 1), x(t)), y(t) = (q(t– 1)), (7) (8) q(t) = (q(t– 1), x(t)), y(t) = (q(t)). (9) (10) Надалі автомати першого роду (рівняння 3– 4) називатимемо автоматами Мілі, а правильні автомати другого роду (рівняння 9– 10) – автоматами Мура. Методи задання автоматів 10
Методи задання автоматів Існує кілька методів задання абстрактних автоматів: üаналітичний; üгеометричний; üматричний. Методи задання автоматів 11
Аналітичний метод задання (1) Задано абстрактний автомат A за існування сукупності об'єктів: üскінченна множина X = {xi}, i I = {1, 2, . . . , m} – вхідний алфавіт автомата; üскінченна множина Y = {yj}, j J = {1, 2, . . . , n} – вихідний алфавіт автомата; üдовільний алфавіт Q – алфавіт станів; üдовільний елемент q 1 Q – початковий стан автомата; üвідображення : Q X Q, що будь-якому q Q і кожній вхідній літері x X зіставляє стан qk Q, тобто функції переходів (q, x); üвідображення : Q X Y, що будь-якому q Q і кожній вхідній літері x X зіставляє вихідну літеру y Y, яка визначає звичайну або зсунуту функцію виходів (q, x). Методи задання автоматів 12
Аналітичний метод задання (2) Таким чином, запис A =
Відображення, що індукує автомат (1) У кожний момент часу на вхід автомата подається вхідний сигнал 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) = уj 1, . . . , y(k) = уjk, що визначається відомими відображеннями і . Методи задання автоматів 14
Відображення, що індукує автомат (1) Послідовність відповідає слову на виході r = уj 1, уj 2, …, уjk із множини (Y). Тому r = f(p). Для кожного вхідного слова p (X) зіставляємо відповідне йому вихідне слово r (Y) й у такий спосіб одержуємо шукане відображення f, що індукує скінченний автомат A. Методи задання автоматів 15
Функції (q, x) і (q, x) Відображення : Q X Q і : Q X Y однозначно визначають функції (q, x) і (q, x), що задають закон функціонування автомата A. Їх можна записати у вигляді матриць, рядки яких відповідають різним літерам вхідного алфавіту X, а стовпчики – різним станам автомата A (літерам алфавіту Q). На перетині xі-го рядка та qk-го стовпчика таблиці переходів (q, x) записується стан ql автомата, до якого він переходить зі стану qk при надходженні вхідного сигналу xi, а у таблиці виходів (q, x) – вихідна літера yj, що з'являється на виході автомата. Методи задання автоматів 16
Еквівалентність автоматів Два абстрактних автомати A та B з однаковими вхідним X і вихідним Y алфавітами називаються еквівалентними, якщо індукують одне й те саме відображення f множини (X) у (Y). Встановимо взаємозв'язок між автоматами першого та другого роду. Нехай задано автомат другого роду A =
Інтерпретація автомата Якщо підставити до цього рівняння значення q(t) = (q(t– 1), x(t)), то одержимо рівняння y(t) = ( (q(t– 1), x(t)) = (q(t– 1), x(t)), що визначає звичайну функцію виходів '(q, x), яка характеризує автомат першого роду. Таким чином, за рахунок підстановки до зсунутої функції виходів (q, x) автомата другого роду функції переходів (q, x) одержуємо автомат першого роду A' =
Геометричний метод задання Цей метод задання зводиться до зображення орієнтованого графа, вершинами якого є стани автомата (позначаються q Q), а біля кожного ребра (qk, ql) записуються літера вхідного алфавіту xi X (викликає перехід автомата зі стану qk до стану ql), і літера вихідного алфавіту yj Y (з'являється на виході автомата). Якщо розглядається автомат першого роду, то вихідна літера yj визначається парою (qk, xi), якщо – другого роду, то вихідна літера yj залежить від (ql, xi). Початковий стан автомата позначається q 1 Q. Орієнтований граф з ребрами, навантаженими літерами вхідного та вихідного алфавітів, однозначно задає певний скінченний автомат. Методи задання автоматів 19
Автомат як орієнтований графоїд Графи із навантаженими ребрами називають графоїдами. Орієнтований графоїд – геометрична інтерпретація абстрактного автомата. Від графоїда легко перейти до задання скінченного автомата за допомогою навантаженого прадерева, яке описує відображення множини всіх вхідних слів у множину всіх вихідних слів. Прадерево будується у такий спосіб. Методи задання автоматів 20
Формування прадерева Фіксуємо вершину, що відповідає початковому стану q 1 Q та є вершиною першого рангу (коренем) прадерева. Із кореня проводимо m дуг (m – потужність множини X, m=|X|), які називаються дугами першого рангу. Кожна дуга заходить у вершину другого рангу (m вершин). Із кожної вершини другого рангу проводимо m дуг другого рангу, які закінчуються m 2 вершин третього рангу і т. д. Кожній дузі приписується літера xi X і в дужках – літера yj Y вихідного алфавіту. Крім того, кожній вершині другого та більших рангів приписується стан qk Q, визначений за графоїдом. Методи задання автоматів 21
Використання прадерев Прадерева використовуються як мова задання автоматних відображень. Побудування графоїда за навантаженим прадеревом – це задача абстрактного синтезу скінченних автоматів. Методи задання автоматів 22
Матричний метод задання Реалізується заданням прямокутних матриць, які називаються таблицями переходів і виходів (q, x) та (q, x). Але частіше використовується квадратна матриця, яку називають матрицею з'єднань автомата. Рядки та стовпчики цієї матриці відповідають різним станам автомата, причому перші рядок і стовпчик відповідають початковому стану q 1 Q. На перетині qk-го рядка та ql-го стовпчика ставиться літера вхідного алфавіту xi X або диз'юнкція вхідних літер, які викликають перехід автомата зі стану qk до ql, а в дужках – літера вихідного алфавіту yj Y або диз'юнкція вихідних літер, що з'являються на виході автомата. Якщо жодна з літер вхідного алфавіту не переводить автомат зі стану qk до ql, то на відповідному перетині ставиться 0. Методи задання автоматів 23
Властивість матриці з’єднань Матриця з'єднань автомата має таку властивість: у будьякому її рядку кожна літера вхідного алфавіту має зустрічатися не більше одного разу, що пов'язано з однозначністю функції переходів і виходів автомата й називається умовою однозначності. Методи задання автоматів 24
Методи задання автоматів 25


