使用遗传算法演化矩阵

Evolving a matrix using a genetic algorithm

我最近发现了遗传算法,在做了一些研究后,我找不到任何关于如何进化比向量或字符串更复杂的结构的例子。 假设我正在使用协方差矩阵进行某个计算(例如计算马哈拉诺比斯距离),我想寻找一个更好的矩阵来完成这项工作并使某个标准最小化,是否有关于如何计算的经典示例演化矩阵和使用哪些交叉算子?

谢谢!

任何由数字(或任何其他元素)组成的固定大小和形状的结构都可以重写为一维向量并返回。然后,您可以使用任何您喜欢的适用于向量的运算符。

如果您想直接使用矩阵(或任何其他结构),您总是可以设计自己的运算符,但矩阵基本上 一个向量,只是用不同的语言编写方法。对于矩阵情况,有多种可能的运算符(交叉):

  • 交换 rows/columns(在 parents 之间)
  • 交换子矩阵(上面的概括)
  • Continuous-space 交叉方法,如 BLX-alpha、PCX、算术交叉...这些都是为向量设计的,但您只需将矩阵视为向量(实际上并没有什么不同)。

突变可能或多或少与 vector-like 相同 - 您只需改变元素(或其中一些)即可。