09-习题
5.8 习题
1.为 GeneticAlgorithm 添加代码,使其支持高级的锦标赛选择法,以便有时可根据概率从大到小依次选择次优或第三优的染色体。
2.为第3章的约束满足框架添加一个新函数,该函数用遗传算法求解任意CSP。适应度的值可以是染色体能够满足的约束数量。
3.创建一个实现了 Chromosome 的 BitString 类。回想一下第1章中的位串。然后用这个新类来解决5.3节中的简单算式问题。如何将该问题编码为位串呢?
[1] 参见Artem Sokolov和Darrell Whitley的Unbiased Tournament Selection(GECCO’05,June 25–29,2005,Washington,D.C.,U.S.A.)。
[2] Reza Abbasian和Masoud Mazloom的“Solving Cryptarithmetic Problems Using Parallel Genetic Algorithm”(2009 Second International Conference on Computer and Electrical Engineering)。
[3] 例如,如果仅将1除以均匀分布的整数值,那么最终接近于0的数字会多于接近于1的,这可能会导致出乎意料的结果,典型的微处理器对浮点数的解读方式就是如此难以捉摸。还有一种方法可以把求最小值问题转化为求最大值问题,即简单地将符号取反(把正变成负),但这只能在所有值都为正数时才有用。
[4] 参见Steven Skiena的《算法设计指南(第2版)》的第267页。
[5] 参见A. E. Eiben和J. E. Smith的Introduction to Evolutionary Computation, Second Edition的第80页。