private void initializeNetwork(int insnum,int outsnum){
        int i;
        int f;
        for(i=0;i<insnum;i++){
            InputNeuron_Add neuron=new InputNeuron_Add();
            neuron.setInputID(i);
            if(tracker==null)
                System.out.println("Historical Tracker is null :: NeuralNetwork");
            if(usingSpeciation)
                neuron.setInnovationNum(i);
            else
                neuron.setInnovationNum(nodeCnt++);
            neurons.add(neuron);
            nodes.add(neuron);
        }
        for(f=0;f<outsnum;f++){
            OutputNeuron_Add neuron=new OutputNeuron_Add();
            neuron.setOutputID(f);
            if(usingSpeciation)
                neuron.setInnovationNum(f+i);
            else
                neuron.setInnovationNum(nodeCnt++);
            neurons.add(neuron);
            nodes.add(neuron);
        }
        ArrayList<InputNeuron> ins=findInputs();
        ArrayList<OutputNeuron> outs=findOutputs();
        for(i=0;i<ins.size();i++)
            for(f=0;f<outs.size();f++)
                makeConnection(ins.get(i),outs.get(f),insnum+outsnum+f+i*outs.size());
    }