在minecraftpe中造台图灵机
minecraftpe吧
全部回复
仅看楼主
level 12
我的小号H 楼主
图灵机是一种抽象的计算机器,是另一种体系的电脑。它有一条无限个单元格的纸带,每次检查一格是否满足某一特定状态,对其进行处理并移动到下一格。每个单元格要么包含一个符号,要么是空白,另外有一个读写头,一次仅指向一个单元格。读取和输入均在一条纸带上。
mc的红石元件体系是图灵完全的,因此我尝试在mc中建造图灵机。这台机器可以根据需要编入不同的程序,目前我已设计了加法程序,计算斐波那契数列程序,判断当前输入数字是否是奇数程序。只要你设计正确的程序,理论上图灵机可以解决所有电脑能解决的问题。
事实上我总共建了两台图灵机,但第一台效果不太好,仅作为一个实验品,而第二台我把它设计成可扩展的了。
我的机器分为:纸带移动部分,显示部分,接口部分,状态器以及那长长的一行行的命令集。下面是详细说明。
2019年02月12日 14点02分 1
level 12
我的小号H 楼主
二楼备用
2019年02月12日 14点02分 2
level 12
我的小号H 楼主
纸带部分,我用方块和玻璃来表示有和无,图中是钻石块和金块,其他块也可以。把块的有无转换成信号的原理是利用红石火把给块充能,然后交错布线导出信号。圆圈处是写头,它可以交换上下的方块,效果就像往带上写0或1。纸带的移动靠四角活塞的时序推出。
2019年02月12日 14点02分 4
level 12
我的小号H 楼主
这是张早期的照片,我把纸带部分封装起来了
最终导出7个接头,蓝色线亮表示一个周期完成,绿色是读头读取信号线,中间白色是写入线,它分出两条:写一和写零,由比较器判断。最右边三条是移动方向线,分别代表左移保持和右移。
2019年02月12日 14点02分 5
level 12
我的小号H 楼主
显示器部分,由于我的字符集只有0和1,因此屏幕可以很简单,只是起提示作用,不必绕到后面直接看方格
2019年02月12日 14点02分 6
level 12
我的小号H 楼主
未完待续……
2019年02月12日 14点02分 7
level 13
顶![喷][大拇指]
2019年02月12日 15点02分 8
level 9
睡前一顶
2019年02月12日 16点02分 9
level 13
dd[滑稽][大拇指]
2019年02月12日 17点02分 10
level 12
我的小号H 楼主
这是状态码库,指示机器应该按照哪一行的指令来做事。实际上它就是4个RS寄存器并排放,共可存储16种状态。我建的时候没有压缩电路,但预留了扩展的空间,意味着它可以有32、64或更多状态。
理想图灵机有无限个状态,但实际运算用不着这么多
2019年02月13日 01点02分 11
level 12
我的小号H 楼主
下面的内容如果不介绍图灵机的编程原理,我想你们可能很难理解。摘抄:“
每个循环周期检查以下内容
1. 如果机器处于状态s1,且磁头正在读取符号L1
2. 切换到状态s2,写入符号L2并将头向右移动。
状态S1和S2可以是机器的任何状态,符号L1和L2实际上可以是任何符号。头部可以移动一格右,一格左,或停留在它所在的地方。
”
2019年02月13日 01点02分 12
level 11
不玩sr了?[滑稽][大拇指]图灵机好评
2019年02月13日 01点02分 13
你怎么在这边[滑稽]sr也一直在玩,不过图灵机搞得比较久了。
2019年02月13日 03点02分
level 12
我的小号H 楼主
我们还是已一个实际的例子来说明吧!图中的红石灯表明机器已写入程序,只要拉下拉杆或单击按钮让灯对应的亮/灭,就是编程的过程了。一楼的图显示屏前面长长一排就是编程模块。
这里的第二行,从上往下数第二根石柱和第三根之间,由灯的亮灭(01)转换成口语表达是:
当前是0011状态,读到1,则写入1,右移并转入0011状态。
2019年02月13日 03点02分 15
上面的s1对应0011,L1对应1,s2对应0011,L2对应1。由此可见s12、L12是可以重复的,这一行的作用是在什么都不影响的情况下右移一格。
2019年02月13日 04点02分
level 8
sdl,wsl
2019年02月13日 04点02分 16
怎么你也发这两个。
2019年02月13日 04点02分
level 12
我的小号H 楼主
对应每一位比较,我采用的是同或门,3*7*5=105的体积,没有压缩纯原创。多个并排成一行后用与门连接
2019年02月13日 04点02分 17
1 2 3 4 5 6 尾页