Что это за грамматика? Контекстно-зависимый или контекстно-зависимый

Я изучаю Формальные Языки и Теорию автоматов, и у меня есть вопрос о проблеме в книге, на которую нет ответа. вопрос в том:

Является ли этот язык контекстным, регулярным или контекстно-зависимым?

L = {an wwR bn| w является (a + b) *, wR является обратным к w и n>=0 }

Я думаю, что этот язык является контекстно-зависимым, потому что для его принятия требуется как минимум два стека.

Кто-нибудь может это прокомментировать?

Благодарю.

1 ответ

Решение

Язык a n ww R b n является языком Context Free. Мы можем написать контекстную грамматику для этого языка.

S -->  aSb | R
R -->  aRa | bRb | ^

^ является нулевым символом

КПК: для языка a n ww R b n

  • строка префикса push an
  • От себя w
  • поп w в то время как сопоставить каждый символ с символом в wR
  • поп все a положить в стек и сопоставить с b в суффиксе bn

Примечание: при обработке строки языка a n ww R b n через PDA мы не знаем, где префикс an заканчивается тогда, где w заканчивается раньше wR Начнем с того, что для этого языка мы не можем нарисовать детерминированную модель КПК, хотя недетерминированный КПК возможен. И важно то, что класс недетерминированного КПК не совпадает с классом детерминированного КПК, что означает, что языки, свободные от детерминированного контекста, не равны недетерминированному свободному контексту. (фактически детерминированный является подмножеством недетерминированного КЛЛ)