在遗传算法里面,一个染色体(chromosome,有时候也叫做基因,genome) 是一些引数构成的集合,用来定义遗传算法尝试解决问题的各种答案可能。 染色体常常使用一个简单的字串来表示,不过有很多种其他的数据结构也可以使用。
染色体的设计跟引数使用是根据被解决问题的特殊需求来设定的。一个简单的范例是,我们假设一个问题是要找出一个整数10011011
这个字串。
更实际一点的问题是我们可能想要解决一个旅行推销员问题。对这个问题,我们的目的是要找出一个距离最短,让我们的推销员可以拜访完所有城市的顺序。假设我们现在有六座城市,分别是 A、B、C、D、E、和F。那么一个照顺序列出拜访城市的字串可能就是一个不错的染色体设计。这样设计的话,像是DFABEC
就是我们可能在族群(population)内遇到的其中一个染色体。
会在遗传算法里面使用到的突变算子(mutation operator)和交配算子(crossover operator)对整个族群的影响也必须要在设计染色体的时候给予考量。