相同类的对象相互影响

时间:2017-05-02 00:12:14

标签: java genetic-algorithm

我正在研究遗传算法,现在我一直坚持填充,因为链接类的两个独立的数组实例似乎互相影响,我无法弄清楚原因。

这是我的问题的相关代码,如果您需要更多,请告诉我们:

private ArrayList<Link> mNetwork = new ArrayList<Link>();
private ArrayList<Link> network = new ArrayList<Link>();

public GeneticAlgorithm(ArrayList<Link> network, int populationSize,
        int tournamentsSize, double crossoverProb, double mutationProb) {
    mNetwork = network;
    mPopulationSize = populationSize;
    mTournamentsSize = tournamentsSize;
    mCrossoverProb = crossoverProb;
    mMutationProb = mutationProb;

createInitialPopulation();

}

public void createInitialPopulation() {     
    for(int z = 0; z < mPopulationSize; z++){
        network = mNetwork;
        for(int i = 0; i < network.size(); i++){
           int linkRan = ran.nextInt(10);
            if(linkRan == 6){
                network.get(i).setActive(1);
                if(mNetwork.get(i).getActive() ==network.get(i).getActive(){
                    System.out.println("These Shouldn't match");
                }
}
                else{
                    network.get(i).setActive(0);

            }
}
}
}

“这些不应该匹配”每次打印出来,我不知道为什么,这是一个问题,因为我想使用初始网络作为填充时重置值的方法。

此外,Link类没有设置为静态或类似的东西,但如果你想看到更多的代码只是问,因为我很确定这应该是所有必要的,但它很可能不会是

0 个答案:

没有答案