图灵机
首先,您需要了解什么是图灵机,而通过图灵机,我假设您说的是Universal Turing Machine。这是由计算机科学教父艾伦·图灵创造的概念机器。
机器由一些组件组成。首先,包含输入的无限磁带。有点像..
1-0-1-1-1-1-0-1-0-1-0
然后是一组规则..
if 1 then 0
if 0 then 1
所以当机器命中1时,输出是0,按照规则。当读取头设置为机器时,我们定义机器命中一个值。读头就像图灵机中的当前位置。所以它会去..
1-0-1-1
^------------Current head.
然后下一次迭代:
1-0-1-1
^----------Current Head
这台机器实际上是在模拟逐位NOT 功能。你也可以在图灵机中设置一个状态,例如:
if 1 then enter state 1
if 0 then enter state 0
有什么大不了的吗?突然的例子,现在你可以做这样的事情:
1. if 1 and in state 1 output 1 and enter state 0
2. if 1 and in state 0 output 0 and enter state 1
3. if 0 and in state 0 output 1 and enter state 1
4. if 0 and in state 1 output 0 and enter state 0
我们定义一个状态作为我们的默认状态。在这个例子中,我们称之为state 0。所以当机器启动时,它会看到一个 1。好吧,我在 state 0,我刚刚得到一个 1,所以我要执行规则编号 2。输出0 并输入state 1。下一个数字是0。好吧,我在state 1,所以我调用规则号4。看看这是怎么回事?通过添加状态,您真正打开了您可以做的事情。
现在,通用图灵机就是所谓的Turing Complete。这意味着它可以计算任何可计算的序列。包括,你的作业规范!
你的作业
那么让我们在图灵机的背景下看看你的作业。
机器的目的是打印出来..
0 1 00 01 11 000 001 011 111
所以我们知道我们需要维护一个状态。我们也知道,国家需要越来越深。因此,如果您用户输入000,我们需要能够知道我们要输出三个字符。
就家庭作业帮助而言,恐怕我应该负责任地给你所有这些。对图灵机有很好的了解,以及对您需要这样做的理解,应该会导致您开始研究解决方案。