資源簡介
采用遺傳算法解決八皇后問題,包含以下遺傳算法步驟:
選擇方式:輪盤賭,繁殖池,競技選擇
交叉方式:順序交叉,部分匹配交叉
變異方式:交換變異,插入變異,倒序變異
變異概率可選擇
代碼片段和文件信息
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Random;
import?java.util.Scanner;
import?javax.swing.JScrollPane;
import?javax.swing.JTextArea;
class?Entity{
public?List?code?=?new?ArrayList();
public?int?fitness;
public?int?newFitness?=?28;
void?updateFitness(){
fitness?=?0;
?for(int?i=0;i<8;i++){
?for(int?j=i;j<8;j++)
?if(code.get(i)!=code.get(j)&&Math.abs(i-j)!=Math.abs((int)code.get(i)-(int)code.get(j)))
?fitness++;
?}
?check();
}
void?check(){
if(fitness?==?28){
//GeneticQueen.show1();
GeneticQueen.endtime?=?System.currentTimeMillis();
double?cost?=?(GeneticQueen.endtime-GeneticQueen.starttime)/1000;
//System.out.println(“找到解??!執(zhí)行次數(shù)為:“+(GeneticQueen.number+1));
System.out.println(“找到解??!執(zhí)行次數(shù)為:“+
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-06-01?15:28??遺傳算法解決八皇后問題\
?????文件???????18165??2019-06-01?15:22??遺傳算法解決八皇后問題\GeneticQueen.java
?????文件????????4642??2019-05-31?23:26??遺傳算法解決八皇后問題\QueenWindow.java
- 上一篇:小波分析的DSP實現(xiàn)代碼
- 下一篇:遺傳算法求解01背包問題+我的報告
評論
共有 條評論