今天又考虑了一下谁养鱼的问题,觉得用遗传算法来解题值得一试,但是主要的难点有三:
- 如何让计算机理解线索?即如何表示绑定、相邻等关系?比如丹麦人喝茶的绑定关系,绿房子在白房子左边的左相邻关系等。
- 问题空间和遗传空间如何转换?问题空间是红黄蓝绿白这样的排列,如何将其转换成遗传空间的二进制编码?也就是编码问题。
- 遗传算法如何设计?包括种群规模,初始化,适应度函数,选择、交差、变异算子,终止条件等。
遗传算法本身是很好理解的,今天首先是给出第二个问题的解决办法。
|
房子1 |
房子2 |
房子3 |
房子4 |
房子5 |
颜色 |
颜色A |
颜色B |