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

4.2. Визначення основних понять формальних мов

Визначення 4.1. Алфавітом називають скінченну непорожню множину символів (літер). Позначатимемо алфавіт знаком Σ.

Приклад 4.1. Найчастіше використовуються наступні алфавіти:

  1. Σ = {0,1} – бінарний чи двійковий алфавіт;

  2. Σ = {a , bz} – множина літер англійського алфавіту.

Визначення 4.2. Ланцюжком, чи інколи словом, реченням, рядком, в алфавіті Σ називають скінченну послідовність символів з Σ.

Приклад 4.2 Послідовність 01101 – це ланцюжок у бінарному алфавіті Σ = {0,1}. Ланцюжок 111 також є ланцюжком у цьому алфавіті.

Визначення 4.3. Порожній ланцюжок – це ланцюжок, який не містить жодного символу. Цей ланцюжок позначається ε. Його можна розглядати як ланцюжок у довільному алфавіті.

Визначення 4.4. Довжина слова (послідовності) w позначається |w|; якщо Σ  Σ, то довжина послідовності, утвореної з w видаленням тих символів, що не належать Σ, позначається |w|Σ; якщо a  Σ, то |w|a означає |w|{a} і задає кількість входжень символу a в w.

Приклад 4.3. Для ланцюжка abcbacaacccb маємо:

|abcbacaacccb| = 12, |abcbacaacccb|{ac}9, |abcbacaacccb|c=5.

Визначення 4.5. Якщо w та u – ланцюжки в алфавіті Σ, то ланцюжок wu (результат дописування слова u в кінець слова w) називається конкатенацією (катенацією, зчепленням) слів w та u. Іноді конкатенацію слів позначають wu.

Визначення 4.6. Якщо w – ланцюжок в алфавіті Σ, то ланцюжок називається n-ю степенню w і позначається w n.

За визначенням, w 0=.

Приклад 4.4. a3=aaa, a2b3c=aabbbc,

(abcbacaacccb)2= abcbacaacccbabcbacaacccb.

Визначення 4.7. Множина всіх ланцюжків в алфавіті Σ позначається Σ* і називається вільною напівгрупою, породженою Σ. Множина всіх непорожніх ланцюжків позначається Σ+.

Приклад 4.5. Якщо Σ ={a}, то Σ*={, a, aa, aaa, …}, Σ+={a, aa, aaa, …}.

Термін «вільна напівгрупа» веде своє походження з алгебри. Напівгрупою називається множина з асоціативною бінарною операцією. Якщо така множина має одиничний елемент, то її називають моноїдом. Напівгрупа вільна, якщо ніяких інших співвідношень (крім асоціативності) немає. В теорії формальних мов часто вважають, що напівгрупа має одиничний елемент. Множину Σ* можна розглядати як вільну напівгрупу з одиницею. Конкатенація є асоціативною операцією, а порожній ланцюжок  є одиницею, тому що для довільного ланцюжка w маємо w = w= w. Такий розгляд множини ланцюжків Σ* дозволяє перейти до більш багатої структури напівгрупи та використати алгебраїчні властивості для дослідження цієї множини. Іншою обставиною є те, що подаючи множину послідовностей у вигляді напігрупи, ми ототожнюємо символ з послідовністю довжини 1, що складається з цього символу. Тому замість двохосновної моделі (алфавіт та множина послідовностей), яка розрізняє символи та послідовності, розглядається лише одна основа – множина ланцюжків. Це спрощує дослідження.

Визначення 4.8. Ланцюжок t є підланцюжком ланцюжка w, якщо w=utv для деяких ланцюжків u та v.

Нарешті, введемо поняття формальної мови.

Визначення 4.9. Якщо , то називається формальною мовою (або просто мовою) над алфавітом (в алфавіті ).

Приклад 4.6. Множина ланцюжків {anbncn | n0} = {, abc, a2b2c2, a3b3c3,…} є формальною мовою над алфавітом {a, b, c}.

Зауважимо, якщо L є мовою над Σ, то можна стверджувати, що L – це мова над будь-яким алфавітом Σ, що містить Σ. Інакше кажучи, є певна консервативність поняття мови до розширення алфавіту. Крім того, є монотонність множини мов відносно розширення алфавіту, бо це веде до збільшення множини мов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]