📄 mutation.java
字号:
package net.leonmax.rpsGame.gaEngine;
import net.leonmax.rpsGame.*;
public class Mutation {
Population[] mutate(Population[] p) {
int mutNum = (int)((double)GlobalData.pop_num * (double)GlobalData.pop_size * GlobalData.mutRatio);
RanMachine r = new RanMachine();
r.resetCandidate(GlobalData.pop_num * GlobalData.pop_size);
System.out.println();
for (int i = 0; i < mutNum; i++)
{
int mutPoint = r.elect() + 1;
int mutPop = mutPoint / GlobalData.pop_size; // the population where mutation point located
int mutPos = mutPoint - mutPop * GlobalData.pop_size; // the position of the mutation point in the population
if (mutPos == 0) mutPop--;
else mutPos--;
RanMachine rps = new RanMachine();
rps.resetCandidate(3);
p[mutPop].setGaSeq(mutPos,rps.ranRPS(p[mutPop].getGaSeq(mutPos)));
System.out.print("Mutate Point"+mutPoint+"\t\t");
System.out.print("Mutate Population"+mutPop+"\t\t");
System.out.println("Mutate Position"+mutPos+"\t\t");
}
System.out.println();
return p;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -