2014-01-13 1 views
1

В недавнем тесте, мне было предложено признать, если ниже язык контекст бесплатно:Теория: Является ли данный язык свободным или нет?

enter image description here

По мне, это контекст бесплатно, и может быть принята ниже контексте свободной грамматики, где S является начальным символом и Y является нетерминальный:

enter image description here

Однако мой ответ был признан неправильным, и поэтому, видимо, этот язык не является контекстно свободным.

Я уверен в своем ответе, но ответ меня смутил. Правильно ли я понимаю? Пожалуйста, дайте мне знать, если я что-то пропустил.

+0

Ваша грамматика генерирует 0100, которая не является частью языка – Marian

+0

Этот вопрос не соответствует теме, поскольку речь идет о теории CS; используйте один из сайтов csheory stackexchange (прочитайте их собственную помощь, чтобы решить, какой из них). – geoffspear

+0

@MarianV Спасибо. Понял проблему сейчас. –

ответ

1

Язык не является бесплатным языком! ваша грамматика неверна!

Согласно описанию языка 0 s при суффиксе должно быть меньше количества 1 s и префикса 0 s. Но с помощью грамматики вы можете создать неправильную строку следующим образом:

Шаг1: Всегда заменить S на S0
Step2: Теперь заменить S на Y

S --> S0 --> S00 --> S000 --> Y000 

Теперь вы можете заменить Y на ^ (NUL) его дает 000, эта строка не на вашем языке.

либо заменить Y на 0Y1 затем Y к ^:

Y000 ---> 0Y1000 ---> 01000 

01000 строка не в языке. Таким образом, ваша грамматика не создает один и тот же язык.

 Смежные вопросы

  • Нет связанных вопросов^_^