📄 individual.java
字号:
/*作者:徐朝*/
/*keystonexu@yahoo.com.cn*/
package kernel;
/**
* 这个类是每一个个体的类,每个对象包含一棵语法树
*/
public class Individual
{
public Program program; //这指向一棵语法树
public double standardizedFitness;//标准适应度
public double adjustedFitness; //调整后适应度
public double normalizedFitness; //正规化适应度
public int hits; //这个参数表现了生成的程序的质量
public Individual()
{
standardizedFitness = 0.0;
adjustedFitness = 0.0;
normalizedFitness = 0.0;
}
public Individual(Program p) {
program = p;
program.setParent();
//program = p;
standardizedFitness = 0.0;
adjustedFitness = 0.0;
normalizedFitness = 0.0;
hits = 0;
}
public String getParameters()
{
String str = "standardizedFitness = " + standardizedFitness + "\n";
str = str + "adjustedFitness = " + adjustedFitness + "\n";
str = str + "normalizedFitness = " + normalizedFitness + "\n";
return str;
}
public String toString()
{
return program.toString();
}
public String toString(boolean isNo)
{
return program.toString(isNo, false);
}
void setParent()
{
program.setParent();
}
//返回一个拷贝
Individual copy() {
Program p = (Program)(program.DeepClone());
p.setParent();
Individual newInd = new Individual(p);
newInd.standardizedFitness = this.standardizedFitness;
newInd.adjustedFitness = this.adjustedFitness;
newInd.normalizedFitness = this.normalizedFitness;
newInd.hits = this.hits;
return newInd;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -