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

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

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

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

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

我认为,这个问题不是非常适合SO,但仍然很有趣。您选择的主题名称是算术表达式的求值,其中可以找到很多示例,here他们正在讨论该主题。

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

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

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

剩余部分是图灵机杠杆规则110的实现,该规则能够执行已编译的代码。人们还必须告诉图灵机如何进行加法,减法等操作,默认情况下它无法做到这一点。 Here他们正在讨论加法,以及减法和乘法的链接。

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