以下のようなプログラムを書いたのですが、何故かプログラムが動きません。
どのように改善すれば良いのでしょうか?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test2</title>
</head>    
<body>
<script type="text/javascript">
    var S1 = [0,0,1,1];
    var S2 = [0,1,0,1]; 
    var T = [0,1,1,0];
    var z11,z12,z21,z22,z31,z32,w1,w2,w3,U1-1,U1-2,U2,A2,A1,Y,i,E,j;
    i=z11=z12=z21=z22=z31=z32=w1=w2=w3=U1-1=U1-2=U2=A1=A2=Y=E=j=0;
    w1= Math.random();
    w2= Math.random();
    w3= Math.random();
    z11= Math.random();
    z12= Math.random();
    z21= Math.random();
    z22= Math.random();
    z31= Math.random();
    z32= Math.random();
    var ep = 0.1;
    
    function sigmoid(x){
        return 1/(1 + Math.exp(x));
    };
        
    for(i = 0;i < 1000; i++){
        
        j = i%4;
        
        //中間層1つめの出力
        U1-1 = z11 * S1[j] + z21 * S2[j] + z31;
        A1 = sigmoid(-U1-1);
        
        //中間層2つめの出力
        U1-2 = z12 * S1[j] + z22 * S2[j] + z32;
        A2 = sigmoid(-U1-2);
        
        //出力層の出力
        U2 = w1 * A1 + w2 * A2 + w3;
        Y = sigmoid(-U2);
        E = 1/2 * (Y - T[j])*(Y - T[j]);
        
        /*if(j == 3){
            console.log(E);
        }*/
        z11 = z11 - ep * (Y - T[j]) * Y * (1 - Y) * w1 * A1 * (1 - A1) * S1[j];
        z21 = z21 - ep * (Y - T[j]) * Y * (1 - Y) * w1 * A1 * (1 - A1) * S2[j];
        z31 = z31 - ep * (Y - T[j]) * Y * (1 - Y) * w1 * A1 * (1 - A1);
        z12 = z12 - ep * (Y - T[j]) * Y * (1 - Y) * w2 * A2 * (1 - A2) * S1[j];
        z22 = z22 - ep * (Y - T[j]) * Y * (1 - Y) * w2 * A2 * (1 - A2) * S2[j];
        z32 = z32 - ep * (Y - T[j]) * Y * (1 - Y) * w2 * A2 * (1 - A2);
        w1 = w1 - ep * (Y - T[j]) * Y * (1 - Y) * A1;
        w2 = w2 - ep * (Y - T[j]) * Y * (1 - Y) * A2;
        w3 = w3 - ep * (Y - T[j]) * Y * (1 - Y);
        
        
    
    }
</script>
    
    <p>
    <script type="text/javascript">    
        document.write(ep);
    </script>
    
    <script type="text/javascript">
        document.write(sigmoid(w1*sigmoid(-z31)+w2*sigmoid(-z32)+w3));
    </script>
    
    <script type="text/javascript">
        document.write(sigmoid(w1*sigmoid(-(z21+z31))+w2*sigmoid(-(z22+z32))+w3));
    </script>
    <script type="text/javascript">
        document.write(sigmoid(w1*sigmoid(-(z11+z31))+w2*sigmoid(-(z12+z32))+w3));
    </script>
    <script type="text/javascript">
        document.write(sigmoid(w1*sigmoid(-(z11+z21+z31))+w2*sigmoid(-(z12+z22+z32))+w3));
    </script>
    </p>
    
</body>
</html>