資源簡介
清華大學(xué)《人工智能》5次課程大作業(yè)源碼。java版。包括遺傳算法 alpha-beta剪枝 模擬退火算法 九宮格 傳教士與野人等問題或者算法實現(xiàn)源碼。

代碼片段和文件信息
package?alpha_Beta;
import?java.io.BufferedReader;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.util.ArrayList;
import?java.util.Scanner;
public?class?AlphaBeta{
private?void?AlphaBetaCutting(Node?node)?{
max(node);
}
/*
?*?計算節(jié)點的最大值并且剪枝;
?*/
private?int?max(Node?node)?{
ArrayList?list?=?node.getChildren();
int?max?=?node.getValue();
if?(list.size()?>?0)?{
for?(int?i?=?0;?i? int?min?=?min(list.get(i));
if?(min?>?max)
max?=?min;
node.setValue(max);
int?parentMin?=?1000;
Node?parent?=?node.getParent();
/*
?*?尋找父輩最小節(jié)點中最小值
?*/
while?(parent?!=?null)?{
if?(!parent.getType()?&&?parentMin?>?parent.getValue())
parentMin?=?parent.getValue();
parent?=?parent.getParent();
}
/*
?*?當(dāng)前最大值比父輩最小節(jié)點大則Beta剪枝
?*/
if?(parentMin?<=?max)?{
int?j?=?i?+?1;
if?(j? System.out.print(“剪枝:“?+?node.getKey()?+?“:?“);
for?(j?=?i?+?1;?j? System.out.print(list.get(j).getKey()?+?“?“);
}
System.out.println();
return?max;
}
}
}
node.setValue(max);
}
return?max;
}
/*
?*?計算節(jié)點的最小值并且剪枝;
?*/
private?int?min(Node?node)?{
ArrayList?list?=?node.getChildren();
int?min?=?node.getValue();
if?(list.size()?>?0)?{
for?(int?i?=?0;?i? int?max?=?max(list.get(i));
if?(max? min?=?max;
node.setValue(min);
int?parentMax?=?-1000;
Node?parent?=?node.getParent();
/*
?*?尋找父輩最大節(jié)點中最大值
?*/
while?(parent?!=?null)?{
if?(parent.getType()?&&?parentMax? parentMax?=?parent.getValue();
parent?=?parent.getParent();
}
/*
?*?當(dāng)前最小值比父輩最大節(jié)點大則Alpha剪枝
?*/
if?(parentMax?>=?min)?{
int?j?=?i?+?1;
if?(j? System.out.print(“剪枝:“?+?node.getKey()?+?“:?“);
for?(j?=?i?+?1;?j? System.out.print(list.get(j).getKey()?+?“?“);
}
System.out.println();
return?min;
}
}
}
node.setValue(min);
}
return?min;
}
public?static?void?main(String[]?args)?throws?IOException?{
/*
?*?讀取文本文件;?構(gòu)建樹;
?*/
//?String?filePath?=
//?“E:/Workspaces/MyEclipse?8.x/ArtificialIntelligence/bin/alpha_Beta/tree1.txt“;
//?URL?path?=?AlphaBeta.class.getResource(“/“);
//?System.out.println(path);
System.out.println(“請輸入文件路徑:“);
String?filePath?=?null;
Scanner?in?=?new?Scanner(System.in);
filePath?=?in.nextLine();
if?(new?File(filePath).exists())?{
BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(
new?FileInputStream(filePath)));
MultiTree?mt?=?new?MultiTree();
boolean?v?=?false;
for?(String?line?=?br.readLine();?line?!=?null;?line?=?br
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????398??2010-10-09?15:20??ArtificialIntelligence\.project
?????文件????????301??2010-10-09?15:19??ArtificialIntelligence\.classpath
?????文件????????304??2010-12-07?16:05??ArtificialIntelligence\TSP20.txt
?????文件????????174??2010-12-07?16:05??ArtificialIntelligence\TSP10.txt
?????文件????????629??2010-10-09?15:19??ArtificialIntelligence\.settings\org.eclipse.jdt.core.prefs
?????文件???????7948??2011-01-15?19:24??ArtificialIntelligence\bin\segmentation\GASegmentation.class
?????文件???????1298??2011-01-15?19:24??ArtificialIntelligence\bin\segmentation\Pixel.class
?????文件???????8413??2011-01-15?13:58??ArtificialIntelligence\bin\segmentation\ImageSegmentation.class
?????文件???????1434??2011-01-15?13:58??ArtificialIntelligence\bin\segmentation\Unit.class
?????文件???????1116??2010-12-10?11:07??ArtificialIntelligence\bin\geneticAlgorithm\City.class
?????文件???????8292??2010-12-16?06:39??ArtificialIntelligence\bin\geneticAlgorithm\GeneticAlg1.class
?????文件???????1122??2010-12-07?16:10??ArtificialIntelligence\bin\simulatedAnnealing\City.class
?????文件???????5513??2010-12-11?08:47??ArtificialIntelligence\bin\simulatedAnnealing\TspAlgorithm.class
?????文件???????1715??2010-11-12?10:18??ArtificialIntelligence\bin\alpha_Beta\MultiTree.class
?????文件???????2570??2010-11-10?02:51??ArtificialIntelligence\bin\alpha_Beta\Node.class
?????文件???????5281??2010-11-12?10:17??ArtificialIntelligence\bin\alpha_Beta\AlphaBetaCuttingAlgorithm.class
?????文件???????5233??2010-11-12?10:40??ArtificialIntelligence\bin\alpha_Beta\AlphaBeta.class
?????文件???????5661??2010-10-20?03:03??ArtificialIntelligence\bin\st
?????文件???????5747??2010-10-20?03:03??ArtificialIntelligence\bin\st
?????文件???????4211??2010-10-16?16:41??ArtificialIntelligence\bin\missionariesAndSavage\Test.class
?????文件???????1320??2010-10-13?02:19??ArtificialIntelligence\bin\missionariesAndSavage\State.class
?????文件???????2993??2010-10-22?15:25??ArtificialIntelligence\bin\missionariesAndSavage\fr
?????文件???????3380??2010-10-22?15:25??ArtificialIntelligence\bin\missionariesAndSavage\fr
?????文件???????3661??2010-10-16?16:37??ArtificialIntelligence\bin\missionariesAndSavage\FindPath.class
?????文件???????2959??2010-10-13?02:19??ArtificialIntelligence\bin\missionariesAndSavage\AcrossRiverImproved.class
?????文件???????7776??2011-01-15?19:24??ArtificialIntelligence\src\segmentation\GASegmentation.java
?????文件???????9050??2011-01-15?10:31??ArtificialIntelligence\src\segmentation\ImageSegmentation.java
?????文件???????2629??2011-01-15?13:58??ArtificialIntelligence\src\segmentation\Unit.java
?????文件????????664??2010-12-10?11:07??ArtificialIntelligence\src\geneticAlgorithm\City.java
?????文件???????8180??2010-12-16?06:39??ArtificialIntelligence\src\geneticAlgorithm\GeneticAlg1.java
............此處省略36個文件信息
評論
共有 條評論