乔姆斯基范式 - 计算理论

时间:2010-12-13 17:23:09

标签: computer-science chomsky-normal-form

我想将语法改为乔姆斯基范式(CNF)。

这是示例

S--> AB | ɛ

A--> aASb | a

B--> bS

我试着解决这个问题

S --> [A] [B]

[A] --> [aA] [Sb] | [a]

[aA] --> [a] A

[Sb] --> s [b]

[a] --> a

[b] --> b

我不确定答案。有人可以告诉我它是对还是错?

1 个答案:

答案 0 :(得分:1)

一个错误是你删除了S --> ɛ转换。您需要(CNF特别允许S --> ɛ,即使AnyNonTerminalOtherThanS --> ɛ不是)。

然后规则[A] --> [a]应为[A] --> a,因为如果您在RHS上只有一个项目,那么它必须是终端。

[aA] --> [a] A
[Sb] --> s [b]

这两个似乎是拼写错误,因为As不存在。你可能意味着:

[aA] --> [a] [A]
[Sb] --> [S] [b]

除此之外,你所拥有的是正确的。