Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Самарасінгхе_кр

.pdf
Скачиваний:
12
Добавлен:
15.02.2015
Размер:
513.53 Кб
Скачать

Міністерство освіти і науки України ПЕРВОМАЙСЬКИЙ ПОЛІТЕХНІЧНИЙ КОЛЕДЖ Первомайського політехнічного інституту

Національного університету кораблебудування імені адмірала Макарова

КУРСОВА РОБОТА

з дисципліни «Комп’ютерна схемотехніка»

на тему: Загальна характеристика скінченних автоматів

Студента 3 курсу 311-ОКС групи напряму підготовки

6.050102 «Комп’ютерна інженерія» спеціальності 5.05010201 – «Обслуговування комп’ютерних систем і мереж» Самарасінгхе К.В.

Керівник: викладач відділення «Обслуговування комп’ютерних систем» Бойко Д.А.

Оцінка: _________________

Члени комісії _______________ Бойко Д.А.

_______________ Калашніков О.В.

_______________ Клига Л.Ф.

м. Первомайськ – 2013 рік

ЗМІСТ

Вступ

3

1 Класифікація скінченних автоматів

4

1.1

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

4

1.2

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

10

1.2.1 Автомат Мілі

10

1.2.2 Автомат Мура

12

1.3

Відмінність між детермінованими і недетермінованими автоматами

14

2 Використання кінцевих автоматів

17

2.1

Розпізнавання регулярних виразів

17

2.1.1 Мови й регулярні вирази

18

2.1.2 Автоматні граматики й регулярні вирази

20

Висновок

22

Література

23

 

 

КППІ 5.05010201.311.13.17 ПЗ

 

Змн. Арк.

№ докум.

Підпис Дата

 

 

 

Розроб.

Самарасінгхе К В.

 

Літ.

Арк.

Аркушів

Перевір.

Бойко Д.А.

 

 

2

23

 

 

Пояснювальна записка

КППІ 311-ОКС

Н. Контр.

Клига Л.Ф.

 

 

 

 

 

Затверд.

 

 

 

 

 

ВСТУП

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

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

специфікація і верифікація систем взаємодіючих процесів (зокрема, протоколів комунікації), мови опису документів і об'єктно-орієнтованих програмних систем,

оптимізація логічних програм та інші.

 

Арк.

КППІ 5.05010201.311.13.17 ПЗ

3

Змн. Арк. № докум. Підпис Дата

1 КЛАСИФІКАЦІЯ СКІНЧЕННИХ АВТОМАТІВ

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

Акцептори і розпізнавачі (також виявлювачі послідовностей) продукують двійковий вихід, кажучи або так або ні на питання прийняті автоматом вхідні дані чи ні. Всі стани скінченного автомату (СА) можуть бути або допустимі або ні.

Коли всі вхідні дані оброблені, якщо поточний стан є допустимим, значить вхід прийнятий; інакше відхилений. Як правило на вхід подаються символи (літери);

дії не використовуються. Приклад на рис.1 демонструється СА який приймає слово «nice». В цьому СА єдиний допустимий стан це 7.

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

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

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

Щоб описати роботу розпізнавача, уведемо поняття конфігурації. Конфігурація

 

Арк.

КППІ 5.05010201.311.13.17 ПЗ

4

Змн. Арк. № докум. Підпис Дата

розпізнавача визначається станом si і ще не прочитаною частиною вхідного ланцюжка α' на стрічці: (si, α').

У кожному такті відбувається зміна конфігурації розпізнавача. Якщо такту роботи відповідає конфігурація (sk, pα'), де p – символ, розташований під читаючою головкою, і, якщо визначено функцію переходів φ(sk, p)=si, те формується нова конфігурація (si, α'), що відповідає наступному такту роботи.

Зміну конфігурацій позначають спеціальним символом і записують так

(формула 1):

(sk,α) |→ (si, α').

(1)

Якщо існує послідовність конфігурацій, що відповідає послідовності тактів роботи розпізнавача А формула (2)

(si, α1) |→ (si2, α2) |→… |→ (sik, αk),

(2)

то позначають її у такий спосіб (формула 3):

(si1, α1) |→* (sik, αk)

(3)

Конфігурація, утворена початковим станом s0 і ще не прочитаним вхідним ланцюжком α називається початковою конфігурацією й позначається (s0, α).

Конфігурація, утворена кінцевим станом з множина F і порожнім ланцюжком, називається кінцевою або заключною конфігурацією.

Вхідне слово (ланцюжок) α називається припустимим для розпізнавача А,

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

Множина ланцюжків L, що допускають розпізнавачем А, назвемо мовою,

що допускають цим розпізнавачем L(А) (формула 4).

 

Арк.

КППІ 5.05010201.311.13.17 ПЗ

5

Змн. Арк. № докум. Підпис Дата

L(А) = {α | α* й (s0, α) |→ * (sk, F) і sk F}

(4)

Як ілюстрація розглянемо роботу розпізнавача А1, що визначаться множинами: P = {0, 1}, S = {A, B, C, D}, F = {D}. Функція переходів цього

розпізнавача задається таблицею 1:

Таблиця 1 Таблиця переходів розпізнавача А1

pk

0

1

 

 

 

A

B

A

 

 

 

D

C

A

 

 

 

C

D

C

 

 

 

D

-

-

 

 

 

Рисунок 2 Діаграма переходів розпізнавача А1

Робота розпізнавача для вхідного ланцюжка 01001 може бути представлена у вигляді послідовності конфігурацій рис 2 (A, 01001) → (B, 1001) → (A, 001) → (B, 01) → (C, 1) → (C, 0), яка показує, що ланцюжок не допускається розпізнавачем А1, оскільки він не досягає скінченного стану після прочитання всіх вхідних символів.

Уведені поняття дозволяють визначити зв'язок між формальними граматиками й розпізнавачами шляхом установлення відповідності мов,

породжуваних граматиками, і мов, що допускають розпізнавачами.

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

 

Арк.

КППІ 5.05010201.311.13.17 ПЗ

6

Змн. Арк. № докум. Підпис Дата

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

Цій діаграмі відповідає лівостороння граматика, формула 5 якої має вигляд:

R = {<I>→<B>b, <B>→<B> b, <B>→<Z> a, <Z>→<Z> a}.

(5)

Щоб показати справедливість цього твердження, розглянемо побудову граматики по заданій діаграмі переходів розпізнавача. Така побудова полягає в наступному. Для кожної пари станів розпізнавача X й Y, з'єднаних дугою, що виходить із X, що заходить в Y і позначеної вхідним символом p, побудуємо правило граматики виду <X>> a <Y>, якщо стан Y не є кінцевим станом розпізнавача, або – правило <X>> a, якщо Y – скінченний стан.

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

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

Застосуємо описаний спосіб побудови до розпізнавача А1. У результаті одержимо граматику з формули 6:

R= <A> → 1 <A>,<A> → 0 <B>, <B> → 1 <A>, <B> → 0 <C>, <C>→ 1 <C>, <C>→ 0.

(6)

Розглянемо ще один приклад побудови граматики для розпізнавача А2, що заданий діаграмою переходів, зображеної на рис. 3

 

Арк.

КППІ 5.05010201.311.13.17 ПЗ

7

Змн. Арк. № докум. Підпис Дата

Рисунок 3 Діаграма переходів розпізнавача А2

Цей розпізнавач має однокінцевий стан, що збігається з його початковим станом F= {I}.

Цю обставину варто врахувати при побудові правила граматики, що відповідає переходу зі стану B у стан I.

Сама граматика, побудована по діаграмі розпізнавача А2, має вигляд: R=<I>→0<I>

<I>→1<A>

<A>→0<A>

<A>→1<B>

<B>→0<B>

<B>→1<I>

Друге твердження, що показує зв'язок автоматних граматик і розпізнавачей,

формулюється в такий спосіб.

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

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

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

Перетворення заданої граматики виконується в такий спосіб.

 

Арк.

КППІ 5.05010201.311.13.17 ПЗ

8

Змн. Арк. № докум. Підпис Дата

Доповнимо алфавіт VА ще одним символом <Z>.Всі заключні правила граматики виду <A>→ a перетворимо в правила виду <A>→ a<Z>. Додамо правило <Z>→ $. Інші правила залишимо без зміни.

Побудова діаграми переходів розпізнавача виконується за наступними правилами:

1)поставимо у відповідність кожному нетермінальному символу вузол

графа,

2)для кожного правила <A>a<B> з'єднаємо дугою вузли A й B і відзначимо цю дугу символом a,

3)вузол, відзначений початковим символом граматики, приймемо як початковий вузол, а вузли, відзначені символом <Z>, як скінченні вузли графа

(вузли, для яких є правила Z > $, уважаємо заключними).

У результаті побудови одержуємо розпізнавач, що допускає мова,

породжувана заданою граматикою, оскільки кожному виводу ланцюжка → у

заданій граматиці відповідає послідовність переходів у побудованій діаграмі переходів розпізнавача.

Як приклад побудуємо розпізнавач для граматики Г2.1(формула 7)

Г2.1: R= {<I>→ a <I>, <I>→ a <A>, <A>→ b <A>, <A>→ b}

(7)

Після перетворення одержуємо граматику Г2.1' і діаграму переходів шуканого розпізнавача у вигляді (формула 8):

Г2.1': R= {<I>→ a <I>, <I>→ a <B>, <B>→ b<B>, <B>→ b<Z>, <Z>→ $}

(8)

Діаграма розпізнавача A3, побудована по цій граматиці, зображена на рис.4

 

Арк.

КППІ 5.05010201.311.13.17 ПЗ

9

Змн. Арк. № докум. Підпис Дата

Рисунок 4.Діаграма переходів розпізнавача A3, побудованого для правобічної граматики Г2.1'

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

1.2.1 Автомат Мілі

Рисунок 5 Автомат Мілі

Wk = ψ(Pi, Sj)

(9)

W (t+1) = ψ (P(t), S(t))

(10)

Нове вихідне слово в автоматі Міля визначається станом, у якому був автомат і вихідне слово, що надійшло на автомат рис. 5

Був у стані → надійшов у стан (формула 9).

Автомат Мілі P, W, S, s0 (формула 10).

Функції виходу задаються трьома способами:

a)Перерахування (формула 11)

 

Арк.

КППІ 5.05010201.311.13.17 ПЗ

10

Змн. Арк. № докум. Підпис Дата