我正在嘗試在閱讀一本關於機器學習的書後,用Java編寫一個簡單的遺傳算法,並且偶然發現了一些基礎知識。我不熟悉Java,所以我可能錯過了一些非常簡單的東西。初學者:給Java分配數組值
個人
public class Individual {
int n;
int[] genes = new int[500];
int fitnessValue;
public int getFitnessValue() {
return fitnessValue;
}
public void setFitnessValue(int fitnessValue) {
this.fitnessValue = fitnessValue;
}
public int[] getGenes() {
return genes;
}
public void setGenes(int index, int gene) {
this.genes[index] = gene;
}
public int getN() {
return n;
}
public void setN(int n) {
this.n = n;
}
// Constructor
public Individual() {
}
}
人口
import java.util.Random;
public class Population {
public Population() {
}
public static void main(String[] args) {
Random rand = new Random();
int p = rand.nextInt(10);
int n = rand.nextInt(10);
Individual pop[] = new Individual[p];
System.out.println("P is: " + p + "\nN is: " + n);
for(int j = 0; j <= p; j++) {
for(int i = 0; i <= n; i++) {
pop[j].genes[i] = rand.nextInt(2);
}
}
}
public void addPopulation() {
}
}
此代碼的目的是填充人口和用隨機數的基因。有人可以看看我的代碼,看看我哪裏出錯了嗎?
呵呵。我剛剛在同一個問題中讀過「初學者」和「遺傳算法」。 – 2009-10-14 15:10:38
什麼問題?你預計會發生什麼? – Mark 2009-10-14 15:11:25
你目前正在做的是填充隨機數量的個人隨機部分的基因。你得到了什麼結果,你期望什麼? – msparer 2009-10-14 15:14:30