使用元胞自动机的算术表达式的求值

问题描述 投票:0回答:1

Stephen Wolfram谈到了称为细胞自动机的事情。这个想法是通过简单的规则和初始配置来构建看似复杂的系统。 video中展示了一些示例,例如Milton Bradley的生活游戏。

现在,我听到了小道消息,通过使用计算机科学,可以对算术表达式进行建模和求解。因此,对于我的最终APCS项目,我想使用+,-,*或/接受给定的表达式,并使用元胞自动机对其进行建模。如果任何人都有资源,您可以指向我或关于如何实现此目标的一些想法,将不胜感激。

java arithmetic-expressions cellular-automata
1个回答
0
投票

您选择的主题名称是算术表达式的求值,可以找到很多示例,他们正在讨论here

具有Rule 110的蜂窝自动化被认为是图灵完备的,因为它可以模拟计算机的最小模型Turing machine

因此,您需要找到一个Turing机器或将其编写到Turing机器上,该编译器会将算术表达式转换为Turing机器可以理解的指令。 Here他们正在讨论此类内容,并引用以ruby编写的现有expressions-to-turing-machine-instructions编译器。

为表达式语言创建解析器并不难(解析器世界中的hello-world示例),您可以使用Antlr,在其中可以找到完整的示例,也可以依赖existing Java implementations

剩余部分是图灵机杠杆规则110的实现,该规则能够执行已编译的代码。也许有些困难,但是之前已经做过:图灵机的原始仿真使用以下模拟策略:图灵机→2标记系统→循环标记系统→规则110(存在改进之处[1]]

人们还必须告诉图灵机如何进行加,减等操作,默认情况下它无法执行此操作。 Here他们正在讨论加法,以及减法和乘法的链接。

© www.soinside.com 2019 - 2024. All rights reserved.