乔姆斯基普通形式规则

时间:2014-06-27 13:35:09

标签: grammar automata chomsky-normal-form

在这个旧的考试问题中,我需要将语法转换为CNF,但我怀疑所提供的解决方案是错误的。

语法:

S -> aAB|a|aA|aB|AbB|b|Ab|bB
A -> aA|a|cC|c
B -> bB|b|dD|d
C -> cC|c
D -> dD|d

在第一步中,我为四个终端设置变量:

V -> a
X -> b
Y -> c
Z -> d

在第二步中,我用变量替换终端(现在只用S中的产品):

S -> VAB|a|VA|VB|AXB|AX|XB

在第三步中,我将VAB中的AB替换为U -> AB,所以我得到:

S -> VU|a|VA|VB|AXB|AX|XB

在解决方案中,我不明白S-productions AbB和bB(我已经设置为AXB和XB)发生了什么。这是S-productions提供的答案:

S → VU|a|VA|VB|UX|b|AX|BX

为什么AbB设置为UX而bB设置为BX?不应该至少将bB设置为XB吗?

0 个答案:

没有答案