自动机在教材中的描述

作为独异点的重要应用,教材中引入了有穷自动机的相关概念。限于篇幅,教材中只是简单地提到了概念性的介绍。出于兴趣,我们小组深入探究了自动机的相关知识。😕 😃 😦 😒 😡 😐 😗

摘要
定理
(1)对于任意自动机或半自动机 M M M都存在它的独异点 T M T_M TM;
(2)对于任意独异点 T T T都存在一个自动机 M M M,使 M M M的独异点 T M T_M TM同构于 T T T

一、自动机的定义与分析

半自动机

一个有穷半自动机是一个三元组 M = < Q , Σ , δ > M=<Q,\Sigma ,\delta> M=<Q,Σ,δ> ,其中 Q Q Q为有穷状态集, Σ \Sigma Σ 为有穷输入字符集, δ : Q × Σ → Q \delta :Q\times \Sigma \rarr Q δ:Q×ΣQ 为状态转移函数。

例如

请添加图片描述

自动机

一个有穷自动机是在有穷半自动机基础上的五元组 M = < Q , Σ , Γ , δ , λ > M=<Q,\Sigma,\Gamma ,\delta,\lambda> M=<Q,Σ,Γ,δ,λ> ,其中 Γ \Gamma Γ为有穷输出字符集, λ : Q × Σ → Γ \lambda:Q\times \Sigma\rarr\Gamma λ:Q×ΣΓ 是输出函数

自动机为自动机加上了输出功能,描述了在各个状态下输入不同的字符可以输出什么样的结果
例如
请添加图片描述

二、自动机的独异点

自动机的扩展

我们定义集合 Σ ∗ \Sigma^* Σ,其元素为由 Σ \Sigma Σ中的字符组成的全体字符串,并且定义 " Λ " "\Lambda" "Λ"为空字符串。
定义 δ ∗ : Q × Σ ∗ → Q \delta^*:Q\times\Sigma^*\rarr Q δ:Q×ΣQ,有
(1) δ ∗ ( S 1 , " a " ) = δ ( S 1 , ′ a ′ ) \delta^*(S_1,"a")=\delta(S_1,'a') δ(S1,"a")=δ(S1,a);
(2) δ ∗ ( S 1 , " Λ " ) = S 1 \delta^*(S_1,"\Lambda")=S_1 δ(S1,"Λ")=S1;
(3) δ ∗ ( S 1 , " a b " ) = δ ∗ ( δ ∗ ( S 1 , " a " ) , " b " ) \delta^*(S_1,"ab")=\delta^*(\delta^*(S_1,"a"),"b") δ(S1,"ab")=δ(δ(S1,"a"),"b");
定义 M ∗ = < Q , Σ ∗ , δ ∗ > M^*=<Q,\Sigma^*,\delta^*> M=<Q,Σ,δ>为半自动机M的扩展


以上描述的是半自动机的扩展,用同样的方法可以得到自动机的扩展。

其中 Σ ∗ \Sigma^* Σ δ ∗ \delta^* δ的定义与上相同,定义 Γ ∗ \Gamma^* Γ的元素是 Γ \Gamma Γ中的全部字符组成的字符串
定义 λ ∗ : Q × Γ ∗ → Γ ∗ \lambda^*:Q\times\Gamma^*\rarr\Gamma^* λ:Q×ΓΓ,
(1) λ ∗ ( S 1 , " Λ " ) = " Λ " \lambda^*(S_1,"\Lambda")="\Lambda" λ(S1,"Λ")="Λ"
(2) λ ∗ ( S 1 , " a " ) = " λ ( S 1 , ′ a ′ ) " \lambda^*(S_1,"a")="\lambda(S_1,'a')" λ(S1,"a")="λ(S1,a)"
(3) λ ∗ ( S 1 , " a b " ) = λ ∗ ( S 1 , " a " ) + λ ∗ ( δ ∗ ( S 1 , " a " ) , " b " ) \lambda^*(S_1,"ab")=\lambda^*(S_1,"a")+\lambda^*(\delta^*(S_1,"a"),"b") λ(S1,"ab")=λ(S1,"a")+λ(δ(S1,"a"),"b") (此处“+”是字符串的连接)
定义 M ∗ = < Q , Σ ∗ , Γ ∗ , δ ∗ , λ ∗ > M^*=<Q,\Sigma^*,\Gamma^*,\delta^*,\lambda^*> M=<Q,Σ,Γ,δ,λ>是自动机 M M M扩展

自动机的独异点

对于每一个 Σ ∗ \Sigma^* Σ 中的字符串,与 δ ∗ \delta^* δ一起都可以生成一个 Q → Q Q\rarr Q QQ的一元函数
例如,对于以上半自动机为例
请添加图片描述
我们发现
f a b = f a ∘ f b f_{ab}=f_a\circ f_b fab=fafb
f Λ = I Q f_\Lambda=I_Q fΛ=IQ
f a b c = ( f a ∘ f b ) ∘ f c = f a ∘ ( f b ∘ f c ) f_{abc}=(f_a\circ f_b)\circ f_c=f_a\circ (f_b\circ f_c) fabc=(fafb)fc=fa(fbfc)可结合
f a ∘ f Λ = f Λ ∘ f a = f a f_a\circ f_\Lambda=f_\Lambda\circ f_a=f_a fafΛ=fΛfa=fa (单位元)

于是代数系统 T M = < { f s t r i n g ∣ s t r i n g ∈ Σ ∗ } , ∘ , f Λ > T_M=<\{f_{string}|string\in \Sigma^*\},\circ,f_\Lambda> TM=<{fstringstringΣ},,fΛ> 是一个独异点

定理
(1)对于任意自动机或半自动机 M M M都存在它的独异点 T M T_M TM;
(2)对于任意独异点 T T T都存在一个自动机 M M M,使 M M M的独异点 T M T_M TM同构于 T T T


独异点和自动机之间的一一对应关系可以得到自动机的许多性质,加以应用就能解决实际问题。

三、商自动机以及自动机的化简

自动机的等价

M 1 = < Q 1 , Σ 1 , Γ 1 , δ 1 , λ 1 > M_1=<Q_1,\Sigma_1,\Gamma_1,\delta_1,\lambda_1> M1=<Q1,Σ1,Γ1,δ1,λ1> M 2 = < Q 2 , Σ 2 , Γ 2 , δ 2 , λ 2 > M_2=<Q_2,\Sigma_2,\Gamma_2,\delta_2,\lambda_2> M2=<Q2,Σ2,Γ2,δ2,λ2>是有穷自动机。如果它们满足:
(1) Σ 1 = Σ 2 = Σ ,   Γ 1 = Γ 2 = Γ \Sigma_1=\Sigma_2=\Sigma,\ \Gamma_1=\Gamma_2=\Gamma Σ1=Σ2=Σ, Γ1=Γ2=Γ;
(2) q 0 ∈ Q 1 , q 0 ′ ∈ Q 2 q_0\in Q_1,q_0'\in Q_2 q0Q1,q0Q2分别是 M 1 M_1 M1 M 2 M_2 M2的初始状态,且对于 ∀ ω ∈ Σ ∗ \forall \omega\in\Sigma^* ωΣ都有 λ 1 ∗ ( q 0 , ω ) = λ 2 ∗ ( q 0 ′ , ω ) \lambda_1^*(q_0,\omega)=\lambda_2^*(q_0',\omega) λ1(q0,ω)=λ2(q0,ω)则称 M 1 M_1 M1 M 2 M_2 M2等价的有穷自动机,记作 M 1 ∼ M 2 M_1\sim M_2 M1M2

从等价有穷自动机的定义来看,如果两个有穷自动机等价,那么意味着两个自动机在任何相同的输入字符串下都能得到相同的输出字符串,也就是说两个自动机是完全可以相互替代的。对于上述 M 1 , M 2 M_1,M_2 M1,M2,如果 M 1 M_1 M1的状态和转移函数、输出函数个数少于 M 2 M_2 M2 M 2 M_2 M2就可以化简成 M 1 M_1 M1自动机之间的化简是可以通过等价来实现的!

商自动机

定义一个 Q × Q Q\times Q Q×Q上的等价关系 ∼ = { < q 1 , q 2 > ∣ ω ∈ Σ ∗ , λ ∗ ( q 1 , ω ) = λ ∗ ( q 2 , ω ) } \sim=\{<q_1,q_2>|\omega\in\Sigma^*,\lambda^*(q_1,\omega)=\lambda^*(q_2,\omega) \} ={<q1,q2>ωΣ,λ(q1,ω)=λ(q2,ω)}
类似于商代数的概念,我们可以定义商自动机
对于有穷自动机 M = < Q , Σ , Γ , δ , λ > M=<Q,\Sigma,\Gamma,\delta,\lambda> M=<Q,Σ,Γ,δ,λ>,令 M ‾ = < Q / ∼ , Σ , Γ , δ ‾ , λ ‾ > \overline M=<Q/\sim,\Sigma,\Gamma,\overline\delta,\overline\lambda> M=<Q/,Σ,Γ,δ,λ>,满足
请添加图片描述
M ‾ \overline M M M M M的商自动机。

定理
M 2 M_2 M2 M 1 M_1 M1的商自动机,则 M 1 ∼ M 2 M_1\sim M_2 M1M2

四、结语

自动机是独异点的重要应用,自动机是处理形式语言的工具。通过寻找商代数,可以找到一个自动机的最简化的形式。这样的过程,就是化简自动机的过程。
在教材中没有深入讨论有穷自动机的化简算法,我们小组将会探究化简自动机的简单方法。

推荐参考资料:蒋宗礼《形式语言与自动机理论》:https://download.csdn.net/download/qq_33880788/10275619
百度网盘分享
链接:https://pan.baidu.com/s/1yFTJXULPmyssW6CNzh-37A?pwd=a36r
提取码:a36r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vaster4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值