Перетин та об'єднання звичайної та нерегулярної мови


12

Нехай буде регулярним, регулярним, не регулярним. Покажіть, що не є регулярним або дайте контрприклад.L 1 ∩ L 2 L 2 L 1 ∪ L 2L1L1∩L2L2L1∪L2

Я спробував це: подивіться на . Цей регулярний. Я можу побудувати для цього кінцевий автомат: регулярний, регулярний, тому видаліть усі шляхи (скінченна кількість) для з кінцевої кількості шляхів для . Таким чином, для всієї цієї речі залишилось кінцева кількість шляхів. Ця річ не відрізняється від , але як я можу довести, що об'єднання (регулярне) та (не регулярне) не є регулярним?L 1 L 2 ∩ L 1 L 1 ∩ L 2 L 1 L 2 L 1 ∖ ( L 1 ∩ L 2 ) L 2L1∖(L2∩L1)L1L2∩L1L1∩L2L1L2L1∖(L1∩L2)L2


"тому видаліть усі шляхи (кінцева кількість) для з кінцевої кількості шляхів для " - що це повинно означати? Звичайний спосіб побудувати автомат для різниці - за допомогою та відомих конструкцій для доповнення та перетину. L 1 A ∖ B = A ∩ ¯ BL1∩L2L1А∖Б=А∩Б¯
— Рафаель

Я вважаю за краще змінити назву цього питання. Сама по собі назва питання - неправильне твердження.
— nitishch

Відповіді:


19

Ми можемо довести це протиріччям. Давайте визначимо . Тоді ми можемо переформулювати :L2L1¯=Σ∗∖L1L2

L2=((L1∪L2)∖L1)∪(L1∩L2)=((L1∪L2)∩L1¯)∪(L1∩L2)

Ми знаємо:

  • Регулярні мови закриваються під союзом, перетином та доповненням
  • L1∩L2L1¯ та є регулярнимиL1∩L2
  • L2 не є регулярним

Тепер припустимо, що є регулярним: Тоді є регулярним (оскільки це лише об'єднання / перетин регулярних мов), так буде регулярним. Це суперечність, тому наше припущення помилкове, і не може бути регулярним. ( ( L 1 ∪ L 2 ) ∩ ¯ L 1 ) ∪ ( L 1 ∩ L 2 ) L 2 L 1 ∪ L 2L1∪L2((L1∪L2)∩L1¯)∪(L1∩L2)L2L1∪L2


Я думаю, що я це отримав. Але чому доповнення до звичайної мови є регулярним? Я не розумію цієї частини.
— Кевін

1
@Kevin Це добре відома лема, тому слід знайти доказ у будь-якому підручнику. Один з методів доказування - взяти скінченний автомат і поміняти стан прийому і неприйняття: ви отримаєте автомат, який розпізнає мову комплементу.
— Жил "ТАК - перестань бути злим"

А що за недетерміновані кінцеві автомати? Припустимо, у нас є автомати. , один початковий стан, дві стрілки з цього стану з в інший стан. Одне з цих станів приймає, а інше - ні. Отже . Якщо ми зараз поміняємо місцями, що приймають, він все одно прийме , тому не вважається, що він приймає мову доповнення! А={а,б}L ( M ) = { a } { a }аL(М)={а}{а}
— Кевін

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

1
@Kevin: Майк означає, що кожна звичайна мова має детермінований автомат, щоб розпізнати її, щоб ви завжди могли нею користуватися.
— reinierpost

-4

Це неправильно. Розглянемо , . регулярний, - не; але .L1={а,б}∗L2={анбн:н≥0}L1L2L1∪L2=L1


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