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


12

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

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


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

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

Відповіді:


19

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

L2=((L1L2)L1)(L1L2)=((L1L2)L1¯)(L1L2)

Ми знаємо:

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

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


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

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

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

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

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

-4

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


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