2013-03-11 1 views
0

Так что я нашел человека, с просьбой о контекстно-свободной грамматики для не палиндромов здесь: Context free grammar for non-palindromeКонтекст свободной грамматики для не-палиндромов

И данные CFGs были:

R -> XRX | S 
S -> aTb | bTa 
T -> XTX | X | <epsilon> 
X -> a | b 

и

R -> aRa | bRb | S 
S -> aTb | bTa 
T -> aTa | bTb | a | b | <epsilon> 

Мой вопрос: не будет ли это 'aaabba' не принят этим CFG, несмотря на то, что это не палиндром? ли это CFG быть более правильным, если это было правило, больше как:

T -> aTa | bTb | aTb | bTa | a | b | <epsilon> 

вместо последней строки, приведенные выше? Или я что-то не понимаю? : <

+1

Вероятно, лучше подходит для http://cs.stackexchange.com. –

+0

, который находится в начале? S или R? – nneonneo

+0

Я догадывался, что R с его вершины? –

ответ

0

Первый в порядке, но второй нет.

Для первой, последовательность

R -> XRX -> aRa -> aSa -> aaTba -> aaXTXba -> aaaTbba -> aaabba. 

Я считаю, что вы правы, говоря, второй не способен генерировать все не-палиндромов.

+0

Ой, так что X в XTX может быть другим? > _ < –

+0

'X -> a | b' означает 'X' может быть и, и выбор не зависит от каждого найденного' X'. Точно так же вы можете использовать R R -> XRX один раз, а далее - R -> S. – nneonneo

+0

Благодарю вас! <3 –

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