Регулярні мови, які неможливо виразити лише за допомогою двох операцій регулярного виведення


12

Я думав, що всі регулярні мови можуть бути виражені регулярними виразами (якщо мова є регулярною, це можна виразити за допомогою регулярного вираження), але мені сказали, що для цього вам потрібні всі три регулярні операції (конкатенація, об'єднання та зірка). тримати.

Наприклад, мені сказали, що якщо я можу використовувати лише операції згенерування з’єднання та конкатенації (2 з 3), то існує звичайна мова, яку я не можу описати лише з цими двома.

Те саме з зіркою Kleene та союзом. Наведіть кілька прикладів цього?

Відповіді:


19

З єдиним об'єднанням і об'єднанням ви не можете описати жодну нескінченну мову. Об'єднання та конкатенація можуть створювати лише безліч рядків. Маючи лише союз та зірку Кліна, ви не можете описати таку мову, як , оскільки немає способу об'єднати вираз, що генерує лише a, із виразом, що породжує лише b . Маючи лише конкатенацію та зірку Клейна, ви не можете описати таку мову, як L = { a , b } .L={аб}абL={а,б}


3
.... і неможливий без об'єднання. {а,б}
Рафаель

То чому я не можу описати L = {a, b} без об'єднання? Це тому, що вони не можуть бути представлені у вигляді окремих елементів із зіркою та конкатенацією? Це могло робити лише ab, bb, aba тощо?
користувач3295674

@ user3295674 Саме так.
DylanSp

і щось на зразок L = {a *} не було б можливим при просто об'єднанні та конкатенації, правда? Дуже дякую!
користувач3295674

Я навіть не розумію, як би визначалася зірка без наявності конкатенації.
Г. Бах

11

Можливо, цікавіше питання - висота зірки . Інша відповідь зазначає, що якщо ви не можете використовувати зірочку, то ви можете створювати лише обмежені мови. Що робити, якщо вам не дозволено гніздовати зірок (тому щось на зразок заборонено)? Що робити, якщо вам дозволяється гніздовати лише зірок на два рівні глибоко? d рівні глибокі? Виявляється, для кожного d існують регулярні вирази, виражені в гніздування d, але не в гніздування d - 1 . Посилання містить кілька прикладів.(абc)гггг-1


4

А(аб)(а(аб)б)(аа)

Якщо тепер можна використовувати зіркові, але не вкладені зірки, то відкритою проблемою (принаймні 45 років) є знати, чи можна отримати всі звичайні мови. Це питання відоме як узагальнена проблема висоти зірки . Це схоже на проблему з висотою зірки, про яку згадував Юваль Філіус, з тією різницею, що доповнення тепер дозволено.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.