我意识到数组不是在 PHP 中以这种方式构建的。但是我是第一次尝试遗传算法,因为 PHP 是我最熟悉的语言,所以我用 PHP 编写它,稍后我将其更改为 Python。无论如何,我有两个输入数组,其中一个是:
$geneValues = array(
'0000' => 0,
'0001' => 1,
'0010' => 2,
'0011' => 3,
'0100' => 4,
'0101' => 5,
'0110' => 6,
'0111' => 7,
'1000' => 8,
'1001' => 9,
'1010' => '+',
'1011' => '-',
'1100' => '*',
'1101' => '/');
每个键都是一个存储值的“基因”。除了初始数组设置之外,我正在尝试完全放弃此操作,我有一个函数通过将上述数组基因随机组合成一个多维数组来创建初始种群,该数组将基因分组到,你猜对了,染色体。所以我可以有一个看起来像这样的染色体:011010100111
意思=>6 + 7
这一切都很好。但是,我正处于需要实际“计算”染色体的地步,但是由于加法运算符必须在数组中的引号中,因此它会产生文字+
而不是运营商。我的问题是,有什么方法可以让我的数组中的运算符成为实际的运算符,我知道可以做到这一点的函数,我能想到的唯一其他选择是将基因硬编码为当我进行计算时的操作员,这是我试图避免的。
如果需要,我会发布整个代码,它没有什么敏感的,只是试图简化我进入神经网络的方式,并认为我将从实现遗传算法开始。有人有解决办法吗?