让语言为常规。
因式分解是单词集的最大对,其中(X ,Y )
- ,
其中 | 。X ∈ X ,ÿ ∈ ÿ }
如果每个对与都是或Y \就是最大不是\ subseteq Y'。
是否有一个简单的步骤来找出最大对?
例:
令。计算集合:
其中。
另一个例子:
和 因式分解设置与
让语言为常规。
因式分解是单词集的最大对,其中(X ,Y )
其中 | 。X ∈ X ,ÿ ∈ ÿ }
如果每个对与都是或Y \就是最大不是\ subseteq Y'。
是否有一个简单的步骤来找出最大对?
例:
令。计算集合:
其中。
另一个例子:
和 因式分解设置与
Answers:
正如对该问题的评论中所建议的那样,我将尝试给出该问题的(不幸的是部分的)答案,至少是在我本人已理解该问题的程度上(这意味着您很可能会发现错误,如果发现了)一种更简短或清楚地解释以下要点之一的方法,请随时相应地编辑答案):
首先,应该注意的是,如果我们要计算语言的因式分解,则实际上不必计算语言的通用自动机。
从在我的评论中提到的纸 ¹,有一个正规的语言,那就是左,右因素之间的一一对应关系,考虑到语言的左因素,相应的权系数是唯一确定的,反之亦然。更准确地说,我们有以下内容:
令为的因式分解。那么 也就是说,任何左因子都是右商的交集,并且任何右因子是左商的交集。相反地,左商数任何交集是的右侧因子,以及右商数任何交集是的左因子。大号Ŷ = ⋂ X ∈ X X - 1大号,X = ⋂ ý ∈ ý大号ÿ - 1,大号大号大号大号
请注意,对于常规语言,只有有限的左右商集,因此问题可以减少到计算语言的左右商,然后计算它们的 -stable闭包,即在交点下闭合的商的最小超集。这些恰好是右因子和左因子,因此通常很容易看出哪些对是子集。大号
为了说明以上几点,请考虑问题中的第一个示例(在本文中我也认为这是不正确的):
令。现在,左商是集合为,即,这些词在可与前缀,即。什么时候对于不同的?当且仅当和可以增加到单词时才是这种情况具有完全相同的后缀。这意味着,用更熟悉的术语来说,它们与Nerode等效,并且在Nerode类中附加到单词所需的后缀恰好是各自的左商。
对于,我们看到我们的Nerode等价类是
可以使用以下集合扩充它们(即,这些是相应类中单词的左商):
因此,我们的分解集的形式为。
现在,对于左因子,我们使用该答案开头的方程式:
对于,这个收益率,为我们得到和,我们得到。您可以通过检查(懒得陈述正式证明的最流行借口)或显式计算右商(这与计算左商相当,尽管不完全相似)来看到这一点。因此,我们的分解为,其中
总结一下(当您要求一个简单的过程时):