在minecraftpe中造台图灵机

图灵机是一种抽象的计算机器,是另一种体系的电脑。它有一条无限个单元格的纸带,每次检查一格是否满足某一特定状态,对其进行处理并移动到下一格。每个单元格要么包含一个符号,要么是空白,另外有一个读写头,一次仅指向一个单元格。读取和输入均在一条纸带上。
mc的红石元件体系是图灵完全的,因此我尝试在mc中建造图灵机。这台机器可以根据需要编入不同的程序,目前我已设计了加法程序,计算斐波那契数列程序,判断当前输入数字是否是奇数程序。只要你设计正确的程序,理论上图灵机可以解决所有电脑能解决的问题。



事实上我总共建了两台图灵机,但第一台效果不太好,仅作为一个实验品,而第二台我把它设计成可扩展的了。

我的机器分为:纸带移动部分,显示部分,接口部分,状态器以及那长长的一行行的命令集。下面是详细说明。

楼主 我的小号H  发布于 2019-02-12 22:31:00 +0800 CST  
二楼备用

楼主 我的小号H  发布于 2019-02-12 22:33:00 +0800 CST  
纸带部分,我用方块和玻璃来表示有和无,图中是钻石块和金块,其他块也可以。把块的有无转换成信号的原理是利用红石火把给块充能,然后交错布线导出信号。圆圈处是写头,它可以交换上下的方块,效果就像往带上写0或1。纸带的移动靠四角活塞的时序推出。


楼主 我的小号H  发布于 2019-02-12 22:38:00 +0800 CST  
这是张早期的照片,我把纸带部分封装起来了
最终导出7个接头,蓝色线亮表示一个周期完成,绿色是读头读取信号线,中间白色是写入线,它分出两条:写一和写零,由比较器判断。最右边三条是移动方向线,分别代表左移保持和右移。

楼主 我的小号H  发布于 2019-02-12 22:41:00 +0800 CST  
显示器部分,由于我的字符集只有0和1,因此屏幕可以很简单,只是起提示作用,不必绕到后面直接看方格

楼主 我的小号H  发布于 2019-02-12 22:43:00 +0800 CST  
未完待续……

楼主 我的小号H  发布于 2019-02-12 22:44:00 +0800 CST  
这是状态码库,指示机器应该按照哪一行的指令来做事。实际上它就是4个RS寄存器并排放,共可存储16种状态。我建的时候没有压缩电路,但预留了扩展的空间,意味着它可以有32、64或更多状态。
理想图灵机有无限个状态,但实际运算用不着这么多


楼主 我的小号H  发布于 2019-02-13 09:09:00 +0800 CST  
下面的内容如果不介绍图灵机的编程原理,我想你们可能很难理解。摘抄:“
每个循环周期检查以下内容
1. 如果机器处于状态s1,且磁头正在读取符号L1
2. 切换到状态s2,写入符号L2并将头向右移动。
状态S1和S2可以是机器的任何状态,符号L1和L2实际上可以是任何符号。头部可以移动一格右,一格左,或停留在它所在的地方。


楼主 我的小号H  发布于 2019-02-13 09:11:00 +0800 CST  
我们还是已一个实际的例子来说明吧!图中的红石灯表明机器已写入程序,只要拉下拉杆或单击按钮让灯对应的亮/灭,就是编程的过程了。一楼的图显示屏前面长长一排就是编程模块。


这里的第二行,从上往下数第二根石柱和第三根之间,由灯的亮灭(01)转换成口语表达是:
当前是0011状态,读到1,则写入1,右移并转入0011状态。

楼主 我的小号H  发布于 2019-02-13 11:57:00 +0800 CST  
对应每一位比较,我采用的是同或门,3*7*5=105的体积,没有压缩纯原创。多个并排成一行后用与门连接

楼主 我的小号H  发布于 2019-02-13 12:16:00 +0800 CST  


这条蓝线对应上面提到的蓝线,每一周期给一个短信号。上一楼说判断用与门连接,蓝线给每一个与门打开,合适的指令行就会接通执行。

楼主 我的小号H  发布于 2019-02-13 12:24:00 +0800 CST  
接下来是往纸带上写入0或1,然后三项单选器


三项单选器也是我自己原创的,作用是告诉机器应该把纸带往左往右移一格或者停留原地。



楼主 我的小号H  发布于 2019-02-13 12:30:00 +0800 CST  



然后是把机器状态转入s2,信号由紫色线传出,通往状态寄存器。因为空间挤,我采用了平面一格高交叉布线。

楼主 我的小号H  发布于 2019-02-13 12:35:00 +0800 CST  
艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日)是图灵机模型的提出者,他当年并没有真正的生产出图灵机,后来世界上有许多人用不同的方式模拟接近造出了不同的图灵机,有用高级语言写程序,有用乐高积木搭建,也有实实在在的机械被造出来。但是,我使用搜索引擎检查发现,在mcpe平台上,国内没有一台图灵机被造出来,扩大到PC端,只有某游戏网站的佚名截图和一个2013年百度贴吧的半截帖子(那个人没讲完就弃坑了)。剩下的都是YouTube上的视频(看不了)。国内玩家有造CPU的、造电脑的、造各种机械的,说明国人的创造力还是不差的,那为什么没人造图灵机呢?要知道图灵机在计算机史上是奠基性的伟大概念啊。我想我可以做一个先行者。经过两代的改进变有了今天这台机械。
我保证,我的图灵机的每一个模块都是自己独立想出来的,我这里指的是红石元件组成的模块,根源思想当然还是归功图灵先生。前面提到的寄存器,同或门,单选器,纸带的传送等结构完全是我自己设计自己解决技术难题,因此和那些大佬现成的已经压缩好的别的机械用的模块肯定还有差距。如果各位有什么好的建议或想法,欢迎在本帖留言回复我。

楼主 我的小号H  发布于 2019-02-14 00:35:00 +0800 CST  
可怜红石技术帖没人看,4天回复不够一页

楼主 我的小号H  发布于 2019-02-15 20:29:00 +0800 CST  
天哪,沉寂三个月后居然浮上来了。

楼主 我的小号H  发布于 2019-09-30 21:20:00 +0800 CST  
这台机器已经旧了,我正在计划建新的电路,也是大工程。至于完成时间嘛,以年为单位计算。被爆吧期间,欢迎各位自由回复。

楼主 我的小号H  发布于 2020-04-02 10:31:00 +0800 CST  


楼主 我的小号H  发布于 2020-08-07 23:29:00 +0800 CST  

楼主:我的小号H

字数:1878

发表时间:2019-02-13 06:31:00 +0800 CST

更新时间:2021-04-02 02:15:37 +0800 CST

评论数:243条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看