- 5
- 0
- 约2.58千字
- 约 13页
- 2019-12-25 发布于四川
- 举报
Company Logo LOGO 利用遗传算法结局N皇后问题 答辩人:曾镇东 授课老师:汤德佑副教授 班级:2011级软件2班 学号:201121029363 华南理工大学软件学院 日期:2011.12.02 1.问题描述 输入: 皇后的个数N 输出: 在N*N的国际象棋上得一种摆放方式,使得满足以下约束 约束:约束包括了行,列,两条对角线; 列:规定每一列放一个皇后,不会造成列上的冲突; 行:当第I行被某个皇后占领后,则同一行上的所有空格都不能再放皇后,要把以I为下标的标记置为被占领状态 2.遗传算法的基本描述 遗传算法基于N皇后的详细描述 编码方式: 利用每一个皇后在每一列所在的行数(上面为第一行)为该基因的基因值。 任意一个包含N个元素的序列{s1,s2…..sn},当对于任意一 个基因Si,都有Si属于区间[1,N],这样一个序列就是符合编码规则的序列。 适应度: F(s) = 互不攻击的皇后对数; 最佳适应度:(表示找到可行解) F(best) = Cn2(表示任意两对皇后都不攻击) 初始化种群 显然可知,当序列中出现了两个或两个以上同样的基因,说明在同一行中存在至少两个皇后,这两个皇后必然会相互攻击。所以,一个包含[1,N]的每个基因且每个基因只出现一次的才有可能为可行解。所以我们通过以下产生初始化序列。 我们首先将
原创力文档

文档评论(0)