Подтвердить что ты не робот

Грамматика, принимающая пустое множество по правилу S-> S

Это была проблема задания домашнего задания, о которой я знаю, что неправильно ответил. Я дал:

S -> ''

означает, что S дает пустую строку. Я знаю, что пустой набор и пустая строка не совпадают. По словам моего профессора, ответ:

S -> S

Теперь этот ответ кажется мне странным:

  • Он никогда не завершится.
  • Это не столько язык, сколько отсутствие.

Я понимаю с строго математической точки зрения, я не собираюсь никуда с номером два. Однако требуется ли прерывание языка? Наличие языка, который может продолжаться вечно, звучит хорошо, но тот, который никогда не закончится, звучит неправильно, и я думал, что спрошу, знает ли кто-нибудь, есть ли это требование языка или нет.

4b9b3361

Ответ 1

Из Страница официальной грамматики Wikipedia:

язык G, обозначаемый как L (G), определяется как все те предложения, которые могут быть получены в конечном числе шагов от стартового символа S.

Начиная с S, применение производственного правила один раз к S дает S. Применение правила дважды дает S. По индукции, применяя правило, любое конечное число все равно дает S. Так как никакие предложения не могут быть выведены на конечном числе шагов, язык пуст, поэтому ваш профессор прав.

Альтернативными способами определения грамматики, принимающей пустой набор, являются L(G) = {} (язык пуст) или P = {} (набор производственных правил пуст).