Зміст:
Регулярні множини
Нехай — скінчений алфавіт. Регулярна множина в алфавіті визначається рекурсивно:
-
— пуста множина — це регулярна множина в алфавіті ;
-
— пусте слово — регулярна множина в алфавіті ;
-
— однолітерна множина — регулярна множина в алфавіті ;
-
Якщо та — регулярні множини, то такими є наступні множини:
-
(операція об’єднання);
-
(операція конкатенації);
-
(операція ітерації).
-
-
Ніякі інші множини, окрім побудованих на основі 1–4 не є регулярними множинами.
Таким чином, регулярні множини можна побудувати з базових елементів 1-3 шляхом скінченого застосування операцій об’єднання, конкатенації та ітерації.
Регулярні вирази
Регулярні вирази позначають регулярні множини таким чином, що:
-
позначає регулярну множину ;
-
позначає регулярну множину ;
-
позначає регулярну множину ;
-
Якщо та позначають відповідно регулярні множини та , то
-
позначає регулярну множину ;
-
позначає регулярну множину ;
-
позначає регулярну множину .
-
-
Ніякі інші вирази, окрім побудованих на основі 1–4 не є регулярними виразами.
Алгебра регулярних виразів
Оскільки ми почали вести мову про вирази, нам зручніше перейти до поняття алгебри регулярних виразів. Для кожної алгебри одним з важливих питань є питання еквівалентних перетворень, які виконуються на основі тотожностей у цій алгебрі. Сформулюємо основні тотожності алгебри регулярних виразів:
-
(ліва асоціативність додавання);
-
(права асоціативність додавання);
-
( — нейтральний елемент за додаванням);
-
(ліва асоціативність множення);
-
(права асоціативність множення);
-
(комутативність додавання);
-
( — нейтральний елемент за множенням);
-
( — нульовий елемент за множенням);
-
(ліва дистрибутивність множення відносно додавання);
-
(права дистрибутивність множення відносно додавання).
У алгебри регулярних виразів є і некласичні властивості:
-
;
-
;
-
;
-
.
Лінійні рівняння
За аналогією з класичними алгебрами розглянемо лінійне рівняння в алгебрі регулярних виразів: , де , — регулярні вирази.
Взагалі кажучи таке рівняння (в залежності від та ) може мати безліч розв’язків.
Серед всіх розв’язків рівняння з регулярними коефіцієнтами виберемо найменший розв’язок , який назвемо найменша нерухома точка.
Щоб перевірити, що справді розв’язок рівняння в алгебрі регулярних виразів, підставимо його в початкове рівняння та перевіримо тотожність виразів на основі системи тотожних перетворень:
Системи рівнянь
В алгебрі регулярних виразів також розглядають і системи лінійних рівнянь з регулярними коефіцієнтами:
Метод розв’язування системи лінійних рівнянь з регулярними коефіцієнтами нагадує метод виключення Гауса.
-
Для , використавши систему тотожних перетворень, записати -е рівняння у вигляді: , де — регулярний вираз в алфавіті , а — регулярний вираз виду
де () — регулярні коефіцієнти. Далі, в правих частинах рівнянь зі змінними в лівій частині рівняння підставити замість значення .
-
Для розв’язати -е рівняння яке зараз має вигляд , де , — регулярні вирази в алфавіті , і підставити його розв’язок у коефіцієнти рівнянь зі змінними .
Приклад. Розв’язати систему :
Розв’язок:
-
З першого рівняння
-
Підставляємо у друге рівняння, воно набуває вигляду
Або, після спрощень:
Звідки знаходимо:
-
Підставляємо у вираз для :
Тут можна розкрити дужки, але зараз у цьому немає потреби.
Контрольні запитання
-
Яка множина називається регулярною (в алфавіті )?
-
Як регулярні вирази позначаються регулярні множини?
-
Які класичні тотожності алгебри регулярних виразів ви знаєте?
-
Які не класичні тотожності алгебри регулярних виразів ви знаєте?
-
Який розв’язок лінійного рівняння називається найменшою нерухомою точкою?
-
Доведіть, що згаданий у попередньому рівняння вираз справді є розв’язком.
-
Сформулюйте алгоритм Гауса розв’язування систем лінійних регулярних рівнянь.
-
Розв’яжіть систему :
(традиційні відповіді можна переглянути у коментарях у вихідному коді цієї сторінки)