词混合与布拉杰利娜效应

形式语言中的词混合:布拉杰利娜效应

1 引言

交叉配对聚合酶链式反应(XPCR)是一种实验性DNA协议,首次在[11]中提出,用于从异质DNA链池中提取包含给定子链的所有DNA链。XPCR随后被用于实现多种DNA重组算法[13],,以构建SAT问题的解空间[9],以及用于诱变 [12]。该技术的组合能力已在[23],中通过逻辑符号方案进行了解释,而用于创建组合文库的算法则在[10,12]中得到了改进和实验验证。

称为重叠组装的形式语言操作,最初在[5]中以自组装(self‐assembly)的名称提出,并在[3,7,8],中进一步研究,该操作还模拟了XPCR的一个特例:当两个字符串 αx和 xβ具有非空的重叠部分 x时,它们的重叠组装结果为字符串 αxβ。一种称为“剪切操作”的重叠组装特例在[18,19],中进行了研究,该特例中的重叠部分仅由一个字母组成,并在[20]中被推广到任意长度的重叠。文献中还研究了其他类似的操作,例如“短连接”[4],,其仅使用最大长度的(可能为空的)重叠部分进行连接。

本文档由 funstory.ai 的开源 PDF 翻译库 BabelDOC v0.5.10 (http://yadt.io) 翻译,本仓库正在积极的建设当中,欢迎 star 和关注。

回到激发重叠组装研究的生物过程,XPCR 已被成功用于连接两个不同的基因,如果它们连接了兼容的引物 [10]。形式上, αAγ 和 γDβ 被组合以产生 αAγDβ (这里 A 和 D 是基因序列, α、 γ 和 β 是使用的引物)。然而,当 A= D 时,即当通过 XPCR 组合包含相同基因的两个序列时,结果并不如预期。更具体地说,当使用 XPCR 对两个字符串 αAγ 和 γAβ 进行操作时,实验反复产生了 αAβ 的结果,而非预期的 αAγAβ。

在本文中,我们定义并研究了一种称为词混合的形式语言操作,该操作形式化了XPCR中实验观察到的结果:当两个共享非空重叠A的词 xAy1和 y2Az进行词混合时,结果为 xAz。有趣的是,这一现象在语言学中也独立存在,被称为“混成词”或“组合词”,并促成了英语中诸如smog(smoke + fog)、 labradoodle(labrador + poodle)、emoticon(emotion +icon)以及布拉杰利娜(Brad +Angelina)等词的产生。

本文组织如下。第2节详细说明了词混合研究背后的生物学动机,并介绍了主要定义和符号。第3节研究乔姆斯基层级中各类语言在词混合、其右逆和左逆以及迭代词混合下的封闭性质。第4节探讨涉及词混合的语言方程解的存在性可判定性,第5节研究该操作应用于正则语言时的描述状态复杂度。

2 预备知识

字母表 Σ是符号的有限非空集合。 Σ∗表示包括空字 λ在内的所有由 Σ构成的词的集合,而 Σ+表示所有由 Σ构成的非空词的集合。词 w的长度记为 lg(w)。

对于词w, x, y, z ∈ Σ∗,若满足 w= xyz,则称子词 x、 y和 z前缀、中缀和后缀,分别为 w的。pref(w)、inf(w)和suff(w)分别包含 w的所有前缀、中缀和后缀。该记号可推广至语言,即suff(L) = ⋃w ∈ L suff(w)。词 w ∈ Σ ∗的镜像定义为mi(λ) = λ,且当 w= a1a2… ak时,mi(w) = ak… a2a1。该定义自然地推广到语言,即mi(L) = ⋃w ∈ L mi(w)。

语言 L ⊆ Σ∗的补集是 Lc= Σ∗\L。对于两种语言L1和 L2, L1关于 L2 的右商定义为 L1L−1 2 ={u ∈Σ∗|∃uv ∈ L1, v ∈ L2},,而 L1关于 L2的左商定义为L−1l 2 L1={v ∈Σ∗|∃uv ∈ L1, u ∈ L2}.

本文所建模的生物现象是在基于XPCR的实验中观察到的,最初旨在实现两个或多个基因(基因组DNA链)的连接。具体观察到的情况是[10],在需要连接的两个基因为同一基因的特殊情况下,即当两个输入DNA链分别为 αAγ和 γAβ时(这里 A表示一个基因序列),使用引物 α和β进行基于PCR的扩增后,得到的输出为 αAβ。该输出不同于预期结果 αAγAβ,后者才是原本预期的结果。(事实上,在使用XPCR连接两个不同基因 A和 D的实验中,若这两个基因两侧带有引物,即当两个输入链分别为 αAγ和 γDβ时,实验结果输出为 αAγDβ。这种“预期”的XPCR输出由前述的重叠组装操作所建模,其定义为 αAγ+ γDβ= αAγDβ)。

将这种实验中新观察到的现象推广到输入字符串的末尾词不同的情况,我们将这种字符串重组建模如下:给定字母表 Σ上的两个非空词 x, y,我们定义 x与 y的词混合,或简称为混合,为
x y={z ∈Σ + | ∃α, β, γ1, γ2 ∈Σ ∗,∃w ∈Σ +: x= αwγ1, y= γ2wβ, z= αwβ}.

混合的定义可以扩展到语言 L1和 L2,通过
L1 L2= ⋃
x∈L1,y∈L2
x y.

对于一个实际的模型,我们需要额外的限制条件,例如 w、 γ1和 γ2应具有足够的长度,并且不应作为子串出现在其他相关字符串中。

我们还可以将混合运算扩展到语言上的迭代版本。设 L ⊆Σ ∗为一个语言。我们通过
L 0= L和 L i= L L i−1定义 L的迭代(词)混合。我们通过 L定义其迭代混合闭包。
L ∗= ⋃
iě0 L i.

我们观察到,迭代混合操作的结果可以通过具有空上下文剪接规则[17]的剪接系统生成。[17]中的剪接规则形式为(u1, z, u2; u3, z, u4)。对于此类规则,如果我们有字符串 x= x1u1zu2x2和 y= y1u3zu4y2,则可以得到词 x1u1zu4y2。当 u1, u2, u3, u4= λ时,该剪接规则称为空上下文规则。容易看出,语言 L ∗可以从形如(λ, w, λ; λ, w, λ)的剪接方案生成,其中每个词 w ∈ Σ+对应一条规则。迭代混合与剪接之间的关系将在第3节中更详细地讨论。

3 封闭性质

在本节中,我们证明正则、上下文无关和递归可枚举语言族在混合下是封闭的,而上下文敏感语言族则不是。本节还包含乔姆斯基层级语言族在词混合的右逆和左逆以及迭代词混合下的封闭性质。

以下引理表明,词混合等价于仅使用单字母重叠的受限版本。
引理1。 如果 x、 y是 Σ+中的非空词,则
x y={z ∈Σ+ | ∃α, β, γ1, γ2 ∈Σ ∗, ∃a ∈Σ: x= αaγ1, y= γ2aβ, z= αaβ}.

这一结果可以自然地推广到语言。然后,根据该引理,我们可以证明两种语言的词混合可以通过组合右商、连接、左商和并集运算得到,如下所示。
命题2. 给定语言 L1, L2 ⊆Σ +,
L1 L2= ⋃
a∈Σ
(L1(aΣ∗)−1) a((Σ∗a)−1lL2).

推论3. 每个满AFL在词混合下封闭。

我们注意到,正则语言、上下文无关语言和递归可枚举语言族都是全AFL类[28]。

命题4。 上下文敏感语言族在词混合下不封闭。
证明。 设L0是 Σ上的一个递归可枚举语言,且不是上下文有关的。已知可以构造一个 Σ ∪{a, b}上的上下文有关语言 L1,其中a, b ∈ Σ,使得 L1由形如 Pbai的词组成,其中 i ě 0和 P ∈ L0,并且对于每个 P ∈ L0,都存在一个 i ě 0,使得 P bai ∈ L1(参见例如[28])。
由于显然 L1 {b}={P b | P ∈ L0}不是上下文敏感的,因此上下文敏感语言族在与单例词的词混合下不封闭。

回想一下,给定一个二元词操作 ,当且仅当对于任意三个词 u, y, w ∈Σ ∗,以下关系成立时: w ∈(u y) 当且仅当 y ∈(u ˝ w),称二元词操作 ˝为的右逆。换句话说,若可通过另一个操作数 u和结果中的一个词 w ∈(u y)恢复 u y中的右操作数 y,则称操作 ˝为的右逆。现在将二元词操作 r定义为 u r w=⋃a ∈ Σ Σ∗a((u(aΣ∗)−1a) −1 l w)。非正式地说,给定一个词 w= αaβ ∈(αaγ1 γ2aβ),当输入为混合结果 w= αaβ ∈(u y)和左操作数 u= αaγ1时,操作 r输出词混合的右操作数 y= γ2aβ。 r的定义可以自然地扩展到语言上。

命题5. 运算 r是 的右逆。
证明。 如果 w ∈ u y,则存在 α, β, γ1, γ2 ∈ Σ ∗, b ∈ Σ使得w= αbβ, u= αbγ1, y= γ2bβ由引理1成立。于是,我们有 y=γ2bβ ∈ Σ ∗bβ= Σ ∗b((αb)−1l (αbβ)) ⊆ Σ ∗b((((αbγ1)(bΣ ∗)−1)b)−1l(αbβ)) ⊆⋃a∈ΣΣ ∗a((((αbγ1)(aΣ ∗)−1)a)−1l(αbβ))。
如果 y ∈ u r w= ⋃a∈ΣΣ ∗a(((u(aΣ∗)−1)a)−1l w),则存在 b ∈Σ 和 γ2 ∈Σ ∗ w ∈ (u bΣ∗ b y= γ2b γ−1l 3 w −1 bΣ∗ −1) b γ−1l 3 w=(u bΣ∗ −1) b( γ2b −1l γ2b γ−1l 3 w) ,( ( ) ) 使得 ( )。
这意味着 ( ) ( ) ( ) ( ) ( ( )) 包含于 (u(bΣ∗)−1) b((Σ∗b)−1ly) ⊆⋃a∈Σ(u(aΣ∗)−1) a((Σ∗a)−1ly)= u y.
推论6. 正则语言族和递归可枚举语言族在混合的右逆下封闭。此外,如果L1是任意语言且 L2是正则语言,则 L1 r L2是正则的;如果L1是正则语言且 L2是上下文无关语言,则 L1 r L2是上下文无关的。

命题7。 上下文无关语言族在混合的右逆下不封闭。
证明。 考虑上下文无关语言 L1={a$(bi1ai1$) ···(binain$) | n ě1, im ě 1对于 1 ď m ď n}, L2={(aj1$b2j1) ···(ajk$b2jk)(aj$c2j) | j ě 1, k ě1, jm ě 1,以及正则语言 R={$c∗}。
我们现在证明 (L1 r L2) ∩ R={$c2 n | n ě 2}。由于R中的词以 $ 开头且仅包含一个符号 $,因此 L1 r L2中的词具有 R中词的模式的唯一情况是重叠字母为 $ 的词对,且来自L1的词中以 $ 结尾的前缀与来自 L2的词中最后一次出现的 $ 处结尾的前缀相匹配。更准确地说,设 u= a$bi1 ai1$bi2 ai2$··· bi mai m$ ··· binain$ ∈ L1 和 v=aj1$b2j1 aj2$b2j2 ··· ajm$b2jmaj$c2j ∈ L2. 要使词 w ∈(L1 r L2)属于 R,我们必须有
a$bi1 ai1$bi2 ai2$··· bi mai m$= aj1$b2j1 aj2$b2j2 ··· ajm$b2jmaj$,
这表示 j1= 1, j2= i1= 2j1= 2,…, j= im= 2jm= 2m。因此,w=$c2j=$ c2 m +1,这意味着 (L1 r L2) ∩ R={$c2 n | n ě 2}。
由于上下文无关语言族在与正则语言的交集下封闭,因此它在混合的右逆下不封闭。

命题8. 上下文有关语言族在混合的右逆下不封闭。

回忆一下,给定一个二元词操作 ,二元词操作 ˝ 被称为的左逆,当且仅当对于任意三个词 x, v, w ∈Σ ∗,以下关系成立: w ∈(x v) 当且仅当 x ∈(w ˝ v) [22]。

命题9。 混合的左逆可以用混合的右逆和镜像表示为 w l v=mi(mi(v) r mi(w))。
由于乔姆斯基层级中的所有语言族在镜像下封闭,因此它们在词混合的左逆下的封闭性质与在词混合的右逆下的封闭性质相同。

我们现在考虑迭代混合操作 ∗。回顾一下,如第2节所述,对于任意语言 L ⊆Σ∗,语言 L∗可以通过基于定义为六元组的无上下文剪接规则的剪接系统生成,如[17]中所示。如[1],所示,任何使用六元组定义规则的剪接系统,也可以通过[27],中定义的剪接系统实现,该系统使用四元组规则(见定义10)。

这一联系,结合命题2,使我们能够用所谓的简单剪接系统来表达迭代词混合 [24],,而简单剪接系统本身是基于四元组剪接规则的剪接系统的一个特例。

定义10([27])。 设 σ=(Σ, R)为一个剪接方案,其中 Σ是字母表, R是一组规则 R ⊆Σ ∗#Σ ∗$Σ ∗#Σ ∗。一条规则(u1, u2; u3, u4)是一个词 u1#u2$u3#u4 ∈ R。对于两个字符串 x, y ∈Σ ∗,我们有
σ(x, y)={x1u1u4y2 |x= x1u1u2x2, y= y1u3u4y2; x1, x2, y1, y2 ∈Σ ∗, u1#u2$u3#u4 ∈ R}.
对于语言 L,我们定义 σ(L)= L∪⋃x,y∈L σ(x, y),并定义 L的迭代剪接为 σ∗(L) =⋃iě0 σ i(L),其中 σ0(L)= L且 σi+1(L)= σ(σi(L))。

简单剪接方案是如上所述的剪接方案,但仅限于形式为 (a, λ; a, λ) 的规则,适用于 a ∈Σ。注意,对于在 Σ 上的两种语言 L1 和 L2,我们现在有
L1 L2= ⋃
x∈L1,y∈L2
σ(x, y),
其中 σ是简单剪接方案 σ=(Σ, R),且 R=Σ#λ$Σ#λ。这一观察结果,结合命题2中关于两种语言的词混合可表示为 L1 L2= ⋃a∈Σ(L1(aΣ ∗)−1)a ((Σ∗a)−1lL2) 的结论,得到以下结果。

命题11。 对于任意语言 L ⊆ Σ∗,我们有 σ(L)= L L和σ∗ (L)= L ∗。

我们注意到,剪接方案 σ 是有限的,因为规则的数量仅取决于 Σ 中符号的数量,并且它是单元的,因为这些规则使用的词长度至多为 1。我们还注意到,尽管在 [24] 中考虑的情况限制为 L 是有限语言的情形,但其中得到的剪接系统的性质意味着以下封闭性质。

命题12。 每个满AFL在迭代词混合下封闭。

证明。 回顾 L∗= σ∗(L),且 σ∗是有限一元集。对于剪接规则 u1#u2$u3#u4,词 u1和 u4称为可见位点,而 u2和 u3为不可见位点。在[26],中已证明,满AFL类在具有有限个可见位点的正则剪接系统下封闭。由于 σ∗ 是有限的,因此σ∗ 的规则仅包含有限个可见位点。

现在,我们将给出当 L是正则语言时 L∗的一个显式构造。我们需要以下关于由迭代混合操作生成的词结构的引理。

引理13。 设 L ⊆ Σ+为一个语言。则对于每个词 w ∈ L∗,存在 n ∈ N,使得存在词 ui ∈ inf(L) 1 ď i ď n和 αj ∈Σ ∗, 1 ďj ď n以及符号 ak ∈Σ, 1 ď k ď n −1,其中
1. 对于 n> 1,(a) w= α1a1α2a2 ··· an−1αn,(b) ui= ai−1αiai ∈ inf(L)对所有 2 ď i ď n −1成立, (c) u1= α1a1 ∈pref(L)和 un= an−1αn ∈ suff(L),
2. u1= w ∈ L对于 n= 1。

命题14。 给定一个非确定性有限自动机 A,存在一个可有效构造的非确定性有限自动机 A′,用于识别语言 L(A)∗

这种构造为我们提供了一种方法,用于测试正则语言 L是否在迭代混合下封闭。

命题15. 设 L为正则语言。可以判定 L是否在 ∗下封闭。

设 L, B ⊆Σ∗为两个语言。我们称 B是 L的一个基(关于 ),如果 L= B ∗。在[24],中已证明,判断一个正则语言是否由一个简单剪接方案和一个有限语言基生成是可判定的。在此,我们将该结果推广至基不必为有限的情形。

理论 em16. 可以判定一个正则语言在 上是否具有基 ∗.

因此,我们不仅能够判断一个正则语言是否在 ∗下封闭,而且如果它是封闭的,我们还知道总存在一个有限基来生成它。

推论17. 设 L是一个在 ∗下封闭的正则语言。那么 L可由一个有限基生成。

注意,在 [24]由简单剪接方案生成的语言根据定义被假定具有有限基。其中还表明,这些简单剪接方案生成的语言类是正则语言族的一个子类。此处我们没有有限基的限制,而推论17表明,允许正则基并不会比将基限制为有限时赋予简单剪接方案和迭代词混合更强的能力。

4 判定问题

本节研究形如 X L= R和 L Y= R的语言方程的解的存在性,其中 L, R是给定的已知语言, X, Y是未知语言,而 是词混合操作。

命题18。 对于给定的正则语言 L和 R,方程 L Y= R存在解 Y是可判定的。
证明。 根据 [22],由于 r是词混合的右逆,如果给定方程存在解 Y,则 Y ′= (L r Rc)c也是一个解。此外,在这种情况下, Y ′是最大解,即它包含该方程的所有其他解。由于正则语言族在 r和补运算下封闭,判断解是否存在的算法首先构造 L Y ′,它也是正则语言,并检查 L Y ′是否等于 R。由于正则语言的相等性是可判定的 [25],,当问题“ L Y ′是否等于 R?”的答案为“是”时,则该方程存在解,且 Y ′就是一个解;若答案为“否”,则该方程无解。

命题19。 对于正则语言 L和 R,方程 X L= R存在解 X是可判定的。

命题20. 对于正则语言 L和 R,方程 L {w}= R存在单例解{w}是可判定的。
证明。 如果 R为空,则方程 L {w}= R存在单例解{w}当且仅当 L未使用字母表 Σ中的所有字母。该判定算法将检查所有正则语言L∩Σ ∗aΣ∗的空性,其中 a ∈Σ:若其中有任意一个为空,则{w}={a}是一个单例解,否则不存在单例解。

我们现在考虑 R非空的情况。如果方程 L {w}= R存在一个单例解{w},其中 L, R ⊆Σ+, w ∈Σ +,那么存在一个长度为 k ě 1的最短单例解,记作 ws= a1a2 ··· ak,满足a1, a2,…, ak ∈Σ。现在我们要证明,任何接受 R的有限状态自动机的状态数至少为 k。

如果 lg(ws) = 1,那么 λ∈/ R,因此识别 R的任何有限状态机的状态数至少为2,这大于 ws的长度。

假设 k ě 2。对 1 ď i< k定义Li=(L ai)ai+1 ··· ak,并定义Lk= L ak。那么,我们有 R=⋃ k i=1 Li。注意 L 1 ⊆⋃ k i=2 Li,否则a2a3 ··· ak将成为比 ws更短的单例解——矛盾。

设 α ∈ L 1 ⊆ R; α可表示为 α= α 1 a 1 a 2 ··· ak,其中 α 1 ∈Σ ∗。现在假设 R被一个具有 n< k个状态的确定性有限自动机 M=(Q,Σ, δ, q0 , F)所识别。则存在一个推导 q0α1a1a2 ··· ak=⇒ ∗ qi 1 a1a2 ··· ak=⇒ qi 2 a2 ··· ak=⇒ ···=⇒ qi k ak=⇒ qi k +1 .

因为 M有 n< k个状态,所以在集合{qi2, qi3,…, qik+1}中有一个状态出现了两次。

如果 qij= qik+1 其中 2 ď j ď k,那么 α1a1 ··· aj−1(aj ··· ak)+ ⊆ R,因此存在一个词 α2 ∈Σ∗ 使得 α1a1 ··· aj−1(aj ··· ak)+α2 ⊆ L。于是我们有 α ∈ α1a1 ··· aj−1(aj ··· ak) +α2 ak ⊆ Lk ⊆⋃ k i=2 Li。

如果 qij= qih 其中 2 ď j< h ď k,那么 α1a1 ··· aj−1(aj ··· ah−1)+ah··· ak ⊆R,因此存在一个词 α2 ∈Σ ∗ 使得 α1a1 ··· aj−1(aj ··· ah−1)+α2 ⊆ L。然后 α ∈(α1a1 ··· aj−1(aj ··· ah−1) +α2 ah−1)ah··· ak ⊆ Lh−1 ⊆⋃ k i=2 Li。

在任何一种情况下,对于所有词 α ∈ L1, α ∈⋃k i=2 Li。因此,我们得到 L1 ⊆⋃ k i=2 Li,这是一个矛盾。

对于方程 L Y= R,如果存在单例解,则存在一个长度最小为 k 的单例解 ws,且任何生成 R 的有限状态机的状态数至少为 k。如果生成 R 的最小确定性有限自动机具有 k 个状态,则判断单例解存在的算法将检查所有形如 β 的词,其中 lg(β) ď k。若该算法找到一个字符串 β 使得 L {β}= R,则答案为“是”,否则为“否”。

命题 21. 对于正则语言 L和 R,方程{w} L= R存在单例解{w}是可判定的。

命题 22. 对于正则语言 R和上下文无关语言 L,方程 L {w}= R存在单例解 {w}是不可判定的。
证明。 假设为了推出矛盾,对于正则语言 R 和上下文无关语言 L,方程 L {w}= R 存在单例解{w} 是可判定的。

给定字母表Σ上的任意上下文无关语言 L′,可以构造上下文无关语言 L1=#Σ+# ∪ L′$,其中#,$ ∈/Σ。注意到方程 L1 {w}= Σ∗$有单例解{w}当且仅当L′=Σ∗,且该解为{w}={$}。因此,如果我们能判定命题中的问题,则我们就能判定对于任意上下文无关语言 L′是否 L′=Σ∗,而这是不可能的。

推论23。 对于正则语言 R和上下文无关语言 L,方程 L Y= R存在解 Y是不可判定的。

命题24。 1.对于正则语言 R和上下文无关语言 L,方程{w} L= R存在单例解{w}是不可判定的。2.对于正则语言 R和上下文无关语言 L,方程 X L= R存在解 X是不可判定的。

5 状态复杂度

由命题2可知,正则语言族在词混合下封闭。因此,我们可以考虑两个正则语言上词混合操作的状态复杂度。

正则语言。回顾命题2,两种语言的混合可以表示为一系列并集、连接和商运算的组合。虽然这些操作中每一个的状态复杂度是已知的,但一组操作组合的状态复杂度不一定等于各个操作状态复杂度的复合[29]。

首先,为了说明起见,我们将构造一个非确定性有限自动机(NFA),用于识别由两个确定性有限自动机(DFAs)给出的语言的混合。设 Am=(Qm,Σ, δm, sm, Fm) 是一个具有 m ě 1个状态的确定性有限自动机,用于识别语言Lm;并设 An=(Qn,Σ, δn, sn, Fn) 是一个具有 n ě 1个状态的确定性有限自动机,用于识别语言 Ln。我们构造一个非确定性有限自动机 B′=(Q′,Σ, δ′, s′, F′),其中 Q′= Qm ∪ Qn、 s′= sm、 F′= Fn δ′ Q′ ×Σ → 2Q′ q ∈ Q′,且转移函数: 对所有和 a ∈Σ定义如下
δ′(q, a)=
⎧ ⎪⎨ ⎪⎩
⋃p∈Qn δn(p, a) if q ∈ Qm and δm(q, a) is not the sink state,
δm(q, a) if q ∈ Qm and δm(q, a) is the sink state,
δn(q, a) if q ∈ Qn.

在图1中,我们定义了两个确定性有限自动机 Am和 An,并展示了由上述构造方法得到的非确定性有限自动机 B′。直观上,该自动机 B′首先读取输入词,假设它是被 Am识别的某个词的前缀。由于混合仅发生在一个符号上,该自动机会猜测混合发生在哪个符号处。一旦发生混合,自动机便继续运行,并假设余下的部分是被 An识别的某个词的后缀。

示意图0

命题25。 非确定性有限自动机 B′识别语言 Lm Ln。

现在,利用相同的基本思想,我们将构造一个确定性有限自动机,用于识别由两个给定的确定性有限自动机 Am和 An所识别的两种语言的混合语言。我们构造一个确定性有限自动机 A′=(Q′,Σ, δ′, s′, F′),其中
– Q′= Qm × 2Qn,– s′=(sm, H),– F′={(q, P) ∈ Qm × 2Qn | P ∩ Fn = H},– δ′((q, P) a)=(δm(q, a) P′) 对于 a ∈Σ,其中
P′={⋃p∈P δn(p, a) if δm(q, a) is the sink state,
⋃p∈Qn δn(p, a) otherwise.

图2展示了按照上述构造方法得到的确定性有限自动机 A′ ,其中 Am和 An是图1中所示的确定性有限自动机。A′的每个状态均由 Am的一个状态和 An的一组状态子集组成。非正式地,我们可以将一个词的计算过程分为两个阶段。在第一阶段,会到达形如(q, P)的状态,其中 q不是 Am的吸收状态。在此阶段,集合P仅由输入符号决定,因为该机器试图猜测发生混合的符号。在第二阶段,机器进入状态(qH, P),其中 qH是 Am的吸收状态。第二阶段仅在发生混合且已读取的输入不再属于被 Am识别的词的前缀时才会出现。在此阶段,集合 P由 An的转移函数决定。我们将在下文中对此进行形式化说明。

命题26。 确定性有限自动机 A′识别语言 Lm Ln。

状态集 A′中的状态数量简单计数可达 m2n个。我们将证明,根据字母表的大小,并非所有这些状态都一定是可达的。首先,我们考虑字母表为一元的情况。

定理27. 设 Lm和 Ln是在一元字母表上定义的正则语言,其中 Lm被一个 m-状态的确定性有限自动机识别, Ln被一个 n-状态的确定性有限自动机识别。那么 Lm Ln的状态复杂度在 Lm和 Ln均为有限时为 m+ n−1,否则为1。此外,该上界是可达的。

现在,我们将考虑当语言定义在大小大于1的字母表上时的状态复杂度。

引理 28。 确定性有限自动机 A′最多需要(m−1)·(k−1)+2n+1个状态,其中k= |Σ| ď 2n。

引理 29. 设 k ě 3和 m, n ě 2。存在定义在具有 k个字母的字母表上的确定性有限自动机族 A m,其具有 m个状态,以及 B n,其具有 n个状态,使得识别Am B n的确定性有限自动机至少需要(m−1) ·(k −1)+ 2n+ 1个状态。

这些结果共同给出了以下定理。

定理30。 设 Am是一个具有 m个状态的确定性有限自动机,用于识别语言 Lm,且设 An是一个具有 n个状态的确定性有限自动机,用于识别语言 Ln,其中 Lm和 Ln是在大小为 k的字母表 Σ上定义的。那么 sc(Lm Ln) ď(m−1)·(k −1)+ 2n+ 1, 并且该界限在最坏情况下可以达到。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值