Пересечение контекста бесплатно с обычными языками


16

Говорят, что пересечение языка L, не зависящего от контекста, с обычным языком M всегда является контекстно-свободным. Я понял доказательство создания перекрестного продукта, но до сих пор не понимаю, почему он не контекстный, а не регулярный.

Язык, генерируемый таким пересечением, имеет строки, которые принимаются как PDA, так и DFA. Поскольку он принят DFA, разве это не должен быть обычный язык? Кроме того, если пересечение является регулярным, оно также подразумевает отсутствие контекста, поскольку все обычные языки также не зависят от контекста.

Может кто-нибудь объяснить мне, почему язык, полученный таким пересечением, не является регулярным?


12
Рассмотрим. * Как обычный язык и его пересечение с контекстным.
AProgrammer

1
Это были бы строки из контекстно-свободного. Но эти строки также генерируются обычным языком, так что это будет контекстно-свободный язык, который также является обычным.
sanjeev mk

8
Язык может быть регулярным. Но обычно это не так. Подумайте еще раз о контрпримере, приведенном AProgrammer. Наверное, должен быть ответ. Каждый контекстно-свободный язык является подмножеством обычного языка. Это правда, что пересечение языков CF и REG будет принято DFA из REG, но это также имеет значение, что отклонено.
Каролис Юоделе


1
@DW Соответствует, но кто-то предложил это как обман, и это не так. Этот вопрос спрашивает, почему пересечение не всегда регулярно; другой спрашивает, почему пересечение не всегда нерегулярно. Конкретная постановка этого вопроса (речь идет о строках, которые принимаются как DFA, так и PDA, поэтому они принимаются DFA, поэтому язык является регулярным, верно?) Означает, что ответы на другой вопрос не не очень хорошо на это отвечаю.
Дэвид Ричерби

Ответы:


20

Если зависит от контекста, то есть PDA P, который принимает его. Если M регулярно, то есть DFA F, который принимает его. Язык пересечения состоит из слов, которые распознаются P и FLPMFPF .

Любое слово, которое находится на пересечении, принимается , но не все слова, которые принимаются F, находятся на пересечении: только те слова, которые также принимаются PFFP .

Доказательство перекрестного произведения состоит в построении автомата который содержит механику как P, так и F , и который принимает только те слова, которые принимают обе стороны. Автомат кросс-продукт представляет собой портативный компьютер (и , следовательно, признанным языком является контекстно свободной) - интуитивно, так как векторное произведение с п -state DFA состоит из взятия п копий Р и добавление ( д , , [ д ] ) стрелки между согласующими состояниями в P , где DFA имеетPFPFnnP(q,a,[q])Paстрелы. Результат не является конечным автоматом вообще (даже недетерминированным), потому что часть опирается на стек, и эта зависимость не исчезает в PFPPF в целом.

Тривиальным примером является то, что является регулярным, и если L не зависит от контекста, но не является регулярным, то L A = L не зависит от контекста, но не является регулярным.ALLA=L


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

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