我想开发一个基因程序,可以解决一般问题,比如在电脑游戏中生存。由于这是为了娱乐/教育,我不想使用现有的库。
我想出了以下想法:
输入是一个包含 N 个整数的数组。遗传程序由多达 N 个 AST 组成,每个 AST 从一些数组元素中获取输入,并将其输出写入单个特定数组元素。
AST 可以是任意复杂的,并且仅包含四个算术运算符(+、-、*、/),并且可以对给定数组的常量和固定元素进行操作(无随机访问)。
所以对于 [N=3],我们有 3 个 AST,例如:
a[0] = {a[0] + 1}
a[1] = {a[0] + a[1]}
a[2] = {a[0] * 123 + a[1]}
N AST 一个接一个地执行,并且无限重复。
现在我的问题是,这个系统是否足够“强大”(图灵完备?)还是无法解决游戏 AI 常见的一些问题?