Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсова2.doc
Скачиваний:
8
Добавлен:
11.07.2019
Размер:
214.02 Кб
Скачать

Властивості регулярних мов Основні властивості регулярних мов

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

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

Регулярні множини (і однозначно пов'язані з ними регулярні мови) замк ¬ нути щодо багатьох операцій, які застосовні до ланцюжків символів. Наприклад, регулярні мови замкнуті щодо наступних операцій:

□ перетину;

□ об'єднання;

□ доповнення;

□ ітерації;

□ конкатенації;

□ гомоморфізму (зміни імен символів і підстановки ланцюжків замість символів).

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

Проблеми, розв'язні для регулярних мов

Регулярні мови є дуже зручний тип мов.Для них раз ¬ вирішимо багато проблем, нерозв'язні для інших типів мов. Наприклад, доведено, що розв'язуються є наступні проблеми:

□ Проблема еквівалентності. Дано два регулярних мови L, (V) і L2 (V). Необ ¬ хідно перевірити, чи є ці дві мови еквівалентними.

□ Проблема приналежності ланцюжка мови. Дан регулярний мову L (V) і Це ¬ нирка символів aeV *. Необхідно перевірити, чи належить ланцюжок дан ¬ ному мови.

□ Проблема порожнечі мови. Дан регулярний мову L (V).Необхідно прове ¬ ри ти, чи є ця мова порожнім, тобто знайти хоча б один ланцюжок a * X, таку що aeL (V).

Ці проблеми можна розв'язати незалежно від того, яким із трьох способів за ¬ дан регулярний мову.Отже, ці проблеми можна розв'язати для всіх спосо ¬ бов подання регулярних мов: регулярних множин, регулярних грам ¬ Матік і кінцевих автоматів.Насправді достатньо довести разрешимость будь-який з цих проблем хоча б для одного зі способів представлення мови, то ¬ гда для інших способів можна скористатися алгоритмами перетворення ¬ ня, розглянутими више1.

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

Лемма про розростанні для регулярних мов

Іноді буває необхідно довести, є чи ні деякий мову регуляр ¬ вим. Існує спосіб перевірки, є чи ні заданий мову регулярним. Цей метод заснований на перевірці так званої леми про розростанні мови.Доведено, що якщо для деякого заданого мови виконується лема про роз ¬ Растану регулярного мови, то ця мова є регулярною, якщо ж лема не виконується, то і мова не є регулярним [4. т. 1].Лемма про розростанні для регулярних мов формулюється таким обра ¬ зом: якщо дано регулярний мову і досить довгий ланцюжок символів, при ¬ належна цій мові, то в цьому ланцюжку можна знайти непустих подцепочку, яку можна повторити як завгодно багато разів,і всі отримані таким спо ¬ собом нові ланцюжка будуть належати тому ж регулярному язику2.Формально цю лему можна записати так: якщо дано мову L, то 3 константа р> О, така, що якщо aeL і | а |> р, то ланцюжок а можна записати у вигляді a = 8 (3е, де О <| р | <р, і тоді а '= 8рЧ a'eL VI> 0.

Використовуючи лему про розростанні регулярних мов, доведемо, що мова L = {а "Іоп | п> 0} не є регулярним.

Припустимо, що ця мова регулярний, тоді для нього має виконуватися лема про розростанні. Візьмемо деяку ланцюжок цієї мови a = апЬ "і запи ¬ шем її у вигляді a = 8ре.Якщо (Зба + або (ЗеЬ +, то тоді для i = 0 ланцюжок 5р ° с = 8е не належить мови L, що суперечить умовам леми, якщо ж Реа + Ь +, тоді для i = 2 ланцюжок 8р2 £ = 8рре не належить мови L. Таким чином, мова L не може бути регулярним мовою.