如何实现epsilon过渡?

时间:2013-04-16 00:11:43

标签: java parsing cyk

我目前正在尝试使用epsilon过渡implement CYK。算法如何处理epsilon转换?如果不是,您将如何实施它? (我正在使用Java)

1 个答案:

答案 0 :(得分:1)

您正在寻找的答案是here 它所说的是任何epsilon转换都可以表示为更少的简单转换。 epsilon过渡是模糊的。为了计算这种模糊性,您需要从给定的转换中生成所有可能的结果。

示例1:

A -> aA | e

A-> a
A-> aA

示例2:

B->A b A
A->a | e

B -> z | A z | z A | A z A
A -> a

其中e代表ε(ε)跃迁

您可以看到,您必须从epsilon转换中生成所有可能的结果,以便掩盖歧义。我认为如何在计算上表达歧义是很有趣的。

来源例如2 here