先决条件–图灵机
语言L = {0 2n 1 n | n> = 0}表示一种语言,其中我们仅使用2个符号,即0和1。在开始的语言中,其数字为0,后面紧跟数字1的一半。任何属于此类的字符串都将被该语言接受。
例子 :
输入: 001输出:是输入: 00001输出: NO输入: 或空字符串输出:是
基本表述–
计算开始:
磁带包含输入字符串w,磁带头位于w的最左侧,图灵机处于启动状态Q0。
基本思路:
磁带头读取w的最左边的符号,即0,并使之为空白,然后在遍历字符串的最右边1并将其设为空白之后,将下一个最左边的0变为空白。在第n种方法中,我们将字符串缩减为0 2n-2 1 n-1 。如果该字符串属于语言L,则最后将留空字符串,并因此被机器接受。
所用符号的含义:
R,L –任一侧的一个单元的移动方向。
B空白
0,1 –要测试其组合字符串的符号。
工作程序:
- 步骤1:
众所周知,字符串开头的零个数是个数的两倍。因此,我们首先将前两个零设为空白,然后从状态Q0转到Q1,再从状态Q1转到Q2。 - 第2步:
将它们设置为Blank后,我们将遍历字符串的末尾,直到在状态Q3中获得最右边的1并将其设置为Blank到达状态Q4。 - 步骤3:
现在,我们将向后移动直到获得字符串最左边的零,然后从Q4返回到状态Q0。 - 第四步:
我们只是通过使最左边的两个零为空白和最右边的1为空白来减少字符串,如果该字符串属于该语言,则它将被保留为空,因此在状态Q5(即最终状态)下被接受。如果字符串为空,则在第5季度也将被接受。