⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 individual.java

📁 这是用遗传编程算法来拟合曲线的一个经典程序
💻 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 + -