我一直在设计图灵机,我最近解决的是一种语言L = {w:n a (w)= n b (w)},其中w中的a的数量等于w中的b的数量。
但是,我如何设计图灵机用于一种语言,其中w的数量不等于w的b数? (例如,L = {w:n a (w)≠n b (w)}?
我一直用来参考的图书和网站定义了图灵机如下:
M =(Q,Σ,Γ,δ,q 0 ,☐,F),其中Q是状态,Σ是输入字母,Γ是磁带字母,δ是过渡,q 0 是开始状态,☐是一个空白空间,是Γ(☐εΓ)的元素,F是指定为q f 的最终状态
答案 0 :(得分:0)
如果您最近解决了a和b的数目相等的情况,那么对于不相等的情况的直接解决方案是:
这个新的TM(1)接受a和b相等的情况下TM不会接受的任何东西,(2)拒绝相等的情况下TM会接受的任何东西a和b的数字。
实际上,此过程适用于任何TM的工作,这些TM的工作仅仅是确定机器语言中输入字符串的成员资格;枚举补充语言中的字符串是行不通的,但这不一定是您所需要的(您可以通过将像这样构造的机器作为子机器,再枚举所有字符串并对其进行检查,来进行枚举)。>