Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
spz / шпори.doc
Скачиваний:
100
Добавлен:
23.02.2016
Размер:
1.56 Mб
Скачать

Детерміновані і недетерміновані кінцеві автомати.

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

Кінцеві автомати поділяються на детерміновані та недетерміновані.

Детермінований кінцевий автомат

  • Детермінованим кінцевим автоматом (ДКА) називається такий автомат, в якому для кожної послідовності вхідних символів існує лише один стан, до якого автомат може перейти з поточного.

  • Недетермінірованний кінцевий автомат (НКА) є узагальненням детермінованого. Недетермінірованность автоматів досягається двома способами:

Існують переходи, помічені порожній ланцюжком ε

З одного стану виходить кілька переходів, помічених одним і тим же символом

Якщо розглянути випадок, коли автомат заданий наступним чином: , Де:

  • S - безліч стартових станівавтомата, таке що ;

Тоді з'являється третя ознака недетермінізма - наявність декількох початкових (стартових) станів у автомата .

Існує теорема, яка говорить, що "Будь недетермінірованний кінцевий автомат може бути перетворений в детермінований так, щоб їхні мови збігалися" (такі автомати називаються еквівалентними). Однак, оскільки кількість станів в еквівалентному ДКА в гіршому випадку зростає експоненціально із зростанням кількості станів вихідного НКА, на практиці подібна детермінізації не завжди можлива. Крім того, кінцеві автомати з виходом в загальному випадку не піддаються детермінізації.

В силу останніх двох зауважень, незважаючи на велику складність недетермінованих кінцевих автоматів, для завдань, пов'язаних з обробкою тексту, переважно застосовуються саме НКА.

Модель ка.

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

Існують різні варіанти завдання кінцевого автомата. Наприклад, кінцевий автомат може бути заданий за допомогою п'яти параметрів: , Де:

  • Q - множина станівавтомата;

  • q 0-початкове (стартове) станавтомата ( );

  • F - множина заключних(абодопускають)станів, таких що ;

  • Σ - допустимий вхідний алфавіт(кінцеве безліч допустимих вхідних символів), з якого формуються рядки, зчитувальні автоматом;

  • δ - задане відображення множини в безліч підмножин Q:

(Іноді δ називають функцією переходів автомата).

Автомат починає роботу в стані q 0,зчитуючи по одному символу вхідного рядка. Лічені символ переводить автомат в новий стан з Q відповідно до функції переходів. Якщо після завершення зчитування вхідного слова (ланцюжки символів) автомат виявляється в одному з допускають станів, то слово "приймається" автоматом. У цьому випадку говорять, що воно належить мові даного автомата. В іншому випадку слово "відкидається".

Розпізнавачі і перетворювачі. Визначення. Загальні поняття.

Існує дві різних групи автоматів: Акцептори/Розпізнавачі і Перетворювачі(Трансдуктори).

Акцептори і розпізнавачі

СА акцептор: виконує розбір слова "nice"

Акцептори і розпізнавачі (також виявлювачі послідовностей) продукують двійковий вихід, кажучи або так або ні на питання прийняті автоматом вхідні дані чи ні. Всі стани СА можуть бути або допустими або ні. Коли всі вхідні дані оброблені, якщо поточний стан є допустимим, значить вхід прийнятий; інакше відхилений. Як правило на вхід подаються символи (літери); дії не використовуються. Приклад на зображенні показує СА який приймає слово «nice». В цьому СА єдиний допустимий стан це 7.

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

Початковий стан

Початковий стан зазвичай показується зі стрілкою «звідкись».

Допустимі (або кінцеві) стани

Приклад скінченного автомата; цей приклад показує автомат, який визначає чи двійкове число має непарну кількість 0, де це допустимий стан.

Допустимі стани (також відомі як кінцеві стани) це такі, що якщо автомат знаходиться в них це означає, що вхідний рядок, наскільки він опрацьований, належить мові що розпізнається. Зазвичай позначається двома колами.

Приклад допустимого стану з'являється в діаграмі праворуч: a детермінований скінченний автомат (ДСА), що визначає чи двійковий вхідний рядок містить парну кількість 0.

S1 (який є початковим станом) показує стан в якому парна кількість 0 була введена. Цей автомат опиниться в допустимому стані, якщо двійковий рядок містить парну кількість 0 (включно з рядком, що не містить 0 взагалі). Приклади рядків розпізнаваних цим ДСА це порожній рядок, 1, 11, 11..., 00, 010, 1010, 10110, і подібні ...

Перетворювачі (Трансдуктори)

Перетворювачі виробляють вихід, що базується на даному вході і/або на станах з використанням дій. Вони використовуються для керування і в галузі математичної лінгвістики. Тут вирізняють два типи:

Соседние файлы в папке spz