Перетин контексту, вільного з регулярними мовами


16

Перетин контекстної вільної мови L із звичайною мовою M, як кажуть, завжди вільний від контексту. Я зрозумів переконливі конструкції продукту, але все ще не розумію, чому це контекстно, але не регулярно.

Мова, породжена таким перетином, має рядки, які приймаються як PDA, так і DFA. Оскільки його приймає DFA, чи не повинен він бути звичайною мовою? Плюс, якщо перехрестя регулярне, воно також передбачає вільний контекст, оскільки всі звичайні мови також без контексту.

Чи може хтось мені пояснити, чому мова, отримана таким перехрестям, не є регулярною?


12
Розглянемо. * Як звичайну мову та її перетин із вільним контекстом.
AProgrammer

1
Це були б рядки без контексту. Але ці рядки також генеруються звичайною мовою, тож це була б контекстна мова, яка також є регулярною.
sanjeev mk

8
Мова може бути звичайною. Але зазвичай це не так. Подумайте ще раз про контрприклад, поданий AProgrammer. Мабуть, це має бути відповідь. Кожна вільна мова - це підмножина звичайної мови. Це правда, що перетин мов CF та REG буде прийнято DFA REG, але також має значення те, що відхилено.
Karolis Juodelė


1
@DW Доречно, але хтось запропонував це як дура, і це не все. Це питання задає питання, чому перехрестя не завжди регулярне; інший запитує, чому перехрестя не завжди є нерегулярним. Конкретна постановка цього питання (якщо говорити про рядки, які приймаються і DFA, і PDA, тому вони приймаються DFA, тому мова є регулярною, правда?) Означає, що відповіді на інше питання не знаю " я справді не відповів на це добре.
Девід Річербі

Відповіді:


20

Якщо без контексту, то PDA P приймає його. Якщо M регулярний, то існує DFA F, який приймає його. Мова перетину складається з слів, які розпізнаються P і F .LПМЖПЖ

Будь-яке слово , яке знаходиться на перетині приймається , але не всі слова, які приймаються F в перетині: тільки ті, які також прийняті P .ЖЖП

Перехресний доказ добутку складається з побудови автомата який містить механіку як Р, так і F , і який приймає лише слова, за які приймаються обидві сторони. Автомат крос-продукту - це КПК (і тому розпізнана мова є без контексту) - інтуїтивно зрозуміло, оскільки перехресний продукт з n- державою DFA складається з отримання n копій P та додавання ( q , a , [ q ] ) стрілки між погоджують станами в P , де DFA маєПЖПЖннП(q,а,[q])Пастрілки. Результат взагалі не є кінцевим автоматом (навіть не недетермінованим), оскільки частина покладається на стек, і ця залежність не знижується в PF в цілому.ППЖ

Тривіальний приклад є те , що * є регулярним, і якщо L є контекстно-вільної , але не регулярно , то L * = L є контекстно-вільним , але не регулярно.АLLА=L


2
+1 Я майже опублікував відповідь, еквівалентну вашому останньому реченню. Чесно кажучи, решта відповіді здається непотрібною. :)
Patrick87

не отримано "додавання (q, a, [q]) стрілок між відповідними станами в P, де у DFA є стрілки.". Неможливо уявити, яким буде КПК продукту.
Anir
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.