资源简介
里面含实验演示.jar IA实验报告二.doc 源代码和文档
代码片段和文件信息
package control;
import java.util.ArrayList;
import java.util.Random;
import modle.Individual;
import modle.QuestionFile;
import tool.RandomNumber;
import view.CreateTestPaper;
public class Generate {
public double viaration_degree = 0.005;
public static int xuanze_num = 10;
public static int tiankong_num = 5;
public static int jisuan_num = 2;
public static int jianda_num = 2;
public static final int[][] difficult_array = {
{ 0 9 8 7 6 5 4 3 2 1 } { 0 2 4 6 8 9 7 5 3 1 }
{ 0 1 2 3 4 5 6 7 8 9 } };
public ArrayList initial(int pop_size QuestionFile q) {
ArrayList init_pop = new ArrayList();
Individual ind;
for (int i = 0; i < pop_size; i++) {
ind = new Individual(q.getXuanze_questions().size() xuanze_num q
.getTiankong_questions().size() tiankong_num q
.getJisuan_questions().size() jisuan_num q
.getJianda_questions().size() jianda_num);
ind.fitness = individualFunction(ind q);
init_pop.add(ind);
}
computeSelectChoice(init_pop);
return init_pop;
}
public ArrayList update(ArrayList old_pop
QuestionFile q) {
ArrayList new_pop = new ArrayList();
int ind1 ind2;
while (new_pop.size() < old_pop.size()) {// 选择交叉
ind1 = selectIndividualUseChoice(old_pop);
do {
ind2 = selectIndividualUseChoice(old_pop);
} while (ind2 == ind1);
crossover(new_pop old_pop ind1 ind2);
}
Individual ind;
for (int i = 0; i < new_pop.size(); i++) {
ind = new_pop.get(i);
ind.Viaration(viaration_degree);
ind.fitness = individualFunction(ind q);
}
computeSelectChoice(new_pop);
return new_pop;
}
public void crossover(ArrayList new_pop
ArrayList old_pop int ind1 int ind2) {
Individual new_ind1 = old_pop.get(ind1).copy();
Individual new_ind2 = old_pop.get(ind2).copy();
int[] temp;
switch (RandomNumber.randomIntNumber(1 4)) {
case 1:
temp = new_ind1.xuanze_chrom;
new_ind1.xuanze_chrom = new_ind2.xuanze_chrom;
new_ind2.xuanze_chrom = temp;
break;
case 2:
temp = new_ind1.tiankong_chrom;
new_ind1.tiankong_chrom = new_ind2.tiankong_chrom;
new_ind2.tiankong_chrom = temp;
break;
case 3:
temp = new_ind1.jisuan_chrom;
new_ind1.jisuan_chrom = new_ind2.jisuan_chrom;
new_ind2.jisuan_chrom = temp;
break;
default:
temp = new_ind1.jianda_chrom;
new_ind1.jianda_chrom = new_ind2.jianda_chrom;
new_ind2.jianda_chrom = temp;
break;
}
new_ind1.parent1 = ind1;
new_ind1.parent2 = ind2;
new_ind2.parent1 = ind1;
new_ind2.parent2 = ind2;
new_pop.add(new_ind1);
new_pop.add(new_ind2);
}
public int findBestIndividual(ArrayList new_pop) {
int fitness = new_pop.get(0).fitness;
int position = 0;
for (int i = 1; i < new_pop.size(); i++) {
if (new_pop.get(i).fitnes
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 115712 2010-05-02 17:03 遗传算法自动组卷\GA_Test\IA实验报告二.doc
文件 749 2010-05-02 15:32 遗传算法自动组卷\GA_Test\questionFile\填空题\10923757.xm
文件 660 2010-05-02 15:32 遗传算法自动组卷\GA_Test\questionFile\填空题\11468767.xm
文件 665 2010-05-02 15:32 遗传算法自动组卷\GA_Test\questionFile\填空题\15582114.xm
文件 650 2010-05-02 15:31 遗传算法自动组卷\GA_Test\questionFile\填空题\19537476.xm
文件 678 2010-05-02 15:31 遗传算法自动组卷\GA_Test\questionFile\填空题\20432397.xm
文件 616 2010-05-02 15:31 遗传算法自动组卷\GA_Test\questionFile\填空题\21548172.xm
文件 575 2010-05-02 15:31 遗传算法自动组卷\GA_Test\questionFile\填空题\29140465.xm
文件 557 2010-05-02 15:31 遗传算法自动组卷\GA_Test\questionFile\填空题\30541453.xm
文件 681 2010-05-02 15:31 遗传算法自动组卷\GA_Test\questionFile\填空题\31278839.xm
文件 569 2010-05-01 23:32 遗传算法自动组卷\GA_Test\questionFile\填空题\31436753.xm
文件 1079 2010-05-02 15:46 遗传算法自动组卷\GA_Test\questionFile\简答题\11707096 - 复制.xm
文件 682 2010-05-02 15:30 遗传算法自动组卷\GA_Test\questionFile\简答题\11707096.xm
文件 630 2010-05-02 15:22 遗传算法自动组卷\GA_Test\questionFile\简答题\17548445 - 复制.xm
文件 686 2010-05-02 15:29 遗传算法自动组卷\GA_Test\questionFile\简答题\17548445.xm
文件 630 2010-05-02 15:29 遗传算法自动组卷\GA_Test\questionFile\简答题\21866740 - 复制.xm
文件 922 2010-05-02 15:29 遗传算法自动组卷\GA_Test\questionFile\简答题\21866740.xm
文件 633 2010-05-02 15:23 遗传算法自动组卷\GA_Test\questionFile\简答题\5450181 - 复制.xm
文件 585 2010-05-01 23:26 遗传算法自动组卷\GA_Test\questionFile\简答题\5450181.xm
文件 634 2010-05-02 15:29 遗传算法自动组卷\GA_Test\questionFile\简答题\7219514 - 复制.xm
文件 953 2010-05-02 15:29 遗传算法自动组卷\GA_Test\questionFile\简答题\7219514.xm
文件 996 2010-05-02 15:26 遗传算法自动组卷\GA_Test\questionFile\计算题\13783459 - 复制.xm
文件 632 2010-05-02 15:26 遗传算法自动组卷\GA_Test\questionFile\计算题\13783459.xm
文件 1021 2010-05-02 15:26 遗传算法自动组卷\GA_Test\questionFile\计算题\229713.xm
文件 721 2010-05-02 15:47 遗传算法自动组卷\GA_Test\questionFile\计算题\22971385 - 复制.xm
文件 717 2010-05-02 00:11 遗传算法自动组卷\GA_Test\questionFile\计算题\22971385.xm
文件 1129 2010-05-02 15:28 遗传算法自动组卷\GA_Test\questionFile\计算题\23163273 - 复制.xm
文件 701 2010-05-02 15:28 遗传算法自动组卷\GA_Test\questionFile\计算题\23163273.xm
文件 921 2010-05-02 15:27 遗传算法自动组卷\GA_Test\questionFile\计算题\2989062 - 复制.xm
文件 605 2010-05-02 00:11 遗传算法自动组卷\GA_Test\questionFile\计算题\2989062.xm
............此处省略106个文件信息
评论
共有 条评论