超过常规语言 L 和 D(L)
Posted
技术标签:
【中文标题】超过常规语言 L 和 D(L)【英文标题】:over regular Languages L and D(L) 【发布时间】:2015-07-22 09:25:12 【问题描述】:假设你有一个操作 D 定义为 D(L) = nm| n,m ∈ L 其中 L 是 SIGMA 上的语言。如果 L 是正则的并且 D(L) 也应该是正则的。
我试图通过这样做来证明这一点:
正则语言的定义:如果存在 L = L(M) 的 DFA M,则语言 L⊆Σ* 是正则语言。 所以我们知道,由于 L 是正则的,所以有一个 DFA A = (Q, Σ, δ, q0, F),包括:
有限状态集 (Q)
称为字母表 (Σ) 的有限输入集
一个转移函数(δ : Q × Σ → Q)
开始状态 (q0)
接受状态(F⊆Q)
接受L。所以应该有一个NFA L' = (Σ, Γ, S, σ0, δ, w):
Σ 是输入字母表(一组有限的非空符号)。 Γ 是输出字母表(一组有限的非空符号)。 S 是有限的非空状态集 σ0 为初始状态 δ 是状态转移函数 w 是输出函数。这对吗?
【问题讨论】:
【参考方案1】:你的证明让我很困惑。我正在写提示以证明语言 D: = nm |如果语言 L 是正则,则 n, m ∈ L 是正则的。
提示:D 是两种常规语言 Ln 和 Lm 的串联(笛卡尔积),其中 Ln = Lm = L — hance D 也是一种常规语言。检查wiki。
绘制 DFA,
-
为 La 绘制 M(Ln) 一个 DFA,起始状态为 Qn0 和 Fn 是一组最终状态。
为 Lm 绘制一个 DFA,M(Lm),起始状态为 Qm0 和 Fm 是一组最终状态。两个 DFA 相同,只是状态名称不同。
从 Fn 中的每个最终状态添加空转换,以开始状态 Qm0。 — 这是 NFA。
一一删除空转换 - 现在生成的 DFA 接受语言 D。
注意:如果你不解释它如何完全接受语言 D,你的老师不会给你满分。你必须写第五点 - 因为在消费 an ∈ L 后,你达到了 F 中的最终状态之一n,然后在不消耗任何符号的情况下切换到 DFA M(Lm) 的开始状态,然后在处理任何 m ∈ L 后,您到达 a Fn 中的最终状态有可能证明 D 是常规语言。选择一本好书,学习如何正式编写这些步骤。
写正则表达式:
-
假设 Ln 有 N 个正则表达式
假设 M 正则表达式为 Lm
那么 NM 就是 D 的正则表达式
再次解释 NM 如何接受 D。
【讨论】:
以上是关于超过常规语言 L 和 D(L)的主要内容,如果未能解决你的问题,请参考以下文章