百科问答小站 logo
百科问答小站 font logo



你无意中发现过哪些图灵完全的系统? 第1页

  

user avatar   xylet 网友的相关建议: 
      

Wireworld是著名的元胞自动机之一,当然也不是我亲自发现的,是由著名计算机科学家Brian Silverman在1987年提出的。它和其他元胞自动机具有类似的规则,也就是每帧每格的新状态只由上一帧该格及其邻近的格子决定。


Wireworld中格子的四种可能状态:
- 空(黑):始终为空。
- 电子头(蓝):下一帧变为电子尾。
- 电子尾(红):下一帧变为导线。
- 导线(黄):如果附近8格有一个或两个电子头,则在下一帧变为电子头,否则维持导线。

根据上述规则,一个电子头和一个电子尾组成的“电子信号”可以在一根呈直线的导线中单向传播,并和另一个电子信号迎头相撞时“湮灭”。不仅如此,电子信号在遇到较为复杂的连接点时也会展现出不同的特性;如下图的二极管可以做到只允许信号从一边通过,而阻止另一边过来的信号。


在wireworld中,你可以只凭导线和一个或多个初始的电子信号制作出逻辑门,频率放大器,只读内存,触发器,锁存器等等基本电子元件。具体的实例示范可以参考下述网站:
karlscherer.com/Wirewor




只要你对计算机原理有足够的了解,在2D的wireworld里完全就能做出计算机来。而且wireworld的规则及其简洁,编写难度低,具有强烈的电路感,是图灵完备系统中非常美观的存在。



其他类似的图灵完备的元胞自动机还有兰顿蚂蚁等,有兴趣的可以研究一下。

至于我是怎么发现的。。。



你们知道有个手游叫the sandbox吗?(一度是我除了围棋以外唯一玩的手游)。它采用了wireworld规则来设计电路,不过游戏本身其实也是复杂元胞自动机的概念(包括落沙,水流处理等),是真正的“沙盒”游戏。评论里还提到了The Powder Toy,也是“沙盒”游戏非常好的示范。

等我学会了GPU编程,好想自己写一个巨大无比的sandbox来玩玩啊。




  

相关话题

  如何学习几何学(现代微分几何,包括微分流形,黎曼几何等)? 
  学了计算机后感觉各种软件其实都不可靠,信不过电脑怎么办? 
  为什么会有人到处宣传C#易用,同时说java直接抄就能写程序,然而自己一直写C++? 
  数列的极限定义,为什么我证明是错的? 
  现代数学里有哪些本质的结论? 
  国内是否有教授现代数学(非应付考试)的机构? 
  我喜欢的女生的QQ好友验证问题是8730579,是什么意思? 
  中国象棋的走法是有限的吗?如果有限,有没有先走或者后走的人必赢的可能? 
  数列收敛的 ε-N 定义怎么理解?其作用是什么? 
  什么是动态规划(Dynamic Programming)?动态规划的意义是什么? 

前一个讨论
什么是图灵完备?
下一个讨论
JSON 可以替代 XML,为什么网页不用 JSON 格式来写呢?





© 2025-01-30 - tinynew.org. All Rights Reserved.
© 2025-01-30 - tinynew.org. 保留所有权利