# Back-propagation Algorithm

Why does Backpropagation Algorithm backpropagate a value back on a neuron with activation zero which can't have an influence on the error ? I assume binary activations of the neurons.

float[] feedbackError(bool[] inputs, float[] errors, bool[] output){

float[] feedbackError = new float[inputs.length];
for(int i = 0; i < inputs.length; i++){
float errorSum = 0.0;
for(int j = 0; j < this.weights[i].length; j++){
errorSum           += errors[j] * weights[i][j] * output[i] ; !!! This is the line I'm talking about and I added the output node which has to be corrected as multiplicator !!!
this.weights[i][j] += inputs[i] * errors[j] * 0.1 ;
}
feedbackError[i] = errorSum;
}
//Process Bias (? doesn't count to feedbackError:(!)

int i = weights.length-1;
float errorSum = 0.0;
for(int j = 0; j < this.weights[i].length; j++){
this.weights[i][j] += 1.0       * errors[j] * 0.1;
}

return feedbackError;


}

I suggest also another possible approach in my repository: Another potential candidate for training several layers in one displayed matrix (Be careful, it's very Alpha and does not converge smoothly but it's very easy and efficient in paralelization)