值此端午节之际,正赶上屈原的忌日,艾伦·图灵的100周年诞辰,google选择了纪念后者,笔者认为这很自然,毕竟屈原忌日和端午节年年有,图灵这位计算机祖师级人物的百年忌日只有一个。 今天的doodle(艾伦·图灵互动doodle)上的那台老式机器是什么呢?它就是大名鼎鼎的图灵机,是现代电子计算机的理论模型基础。 图灵机的原理是什么呢?它的设计者图灵的基本思想是用机器来模拟人们用纸笔进行数学运算的过程,他把这样的过程看作下列两种简单的动作:
1、在纸上写上或擦除某个符号;2. 2、 把注意力从纸的一个位置移动到另一个位置;
而在每个阶段,人要决定下一步的动作,依赖于 (a)此人当前所关注的纸上某个位置的符号和(b)此人当前思维的状态。 为了模拟人的这种运算过程,图灵构造出一台假想的机器,该机器由以下几个部分组成:
1、一条无限长的纸带。纸带被划分为一个接一个的小格子,每个格子上包含一个来自有限字母表的符号,字母表中有一个特殊的符号表示空白。2. 2、一个读写头。该读写头可以在纸带上左右移动,它能读出当前所指的格子上的符号,并能改变当前格子上的符号。3. 3、一套控制规则TABLE。它根据当前机器所处的状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作,并改变状态寄存器的值,令机器进入一个新的状态。4. 4、一个状态寄存器。它用来保存图灵机当前所处的状态。5. 5、图灵认为这样的一台机器就能模拟人类所能进行的任何计算过程。
( 以上关于图灵机的描述参考了[维基百科关于图灵机的条目](http://zh.wikipedia.org/wiki/%E5%9B%BE%E7%81%B5%E6%9C%BA "维基百科关于图灵机的条目"),并且有所缩略。)
在doodle中,两排按钮代表了控制规则,要求修改控制规则的黄色部分,图灵机按照新的控制规则执行后,纸带上的值等于显示器上的值。一共有六道题,每道题要求纸带上的值为Google的logo每个字母的颜色的二进制值。
控制规则中每个按钮的含义如下:
通过把玩,发现google给的题目并不是只有一套,这边就举一题,解释题意以及给出一种解法,
要求将01111变成10000, 控制规则如下:
- 1、左移2. 2、左移3. 3、如果值为(0),执行4,否则执行64. 4、值置为(0)5. 5、如果值为(0),执行7,否则结束6. 6、值置为(0)7. 7、右移8. 8、如果值为空,结束,否则跳转到3
答案: