Beispiel #1
0
        public void TestPowReceptiveField()
        {
            var rf = new PowReceptiveField(60.0, 30.0);

            Assert.AreEqual(1.0, rf.Normalize(60.0));
            Assert.AreEqual(0.75, rf.Normalize(75.0));
            Assert.AreEqual(0.75, rf.Normalize(45.0));
            Assert.AreEqual(0.0, rf.Normalize(90.0));
            Assert.AreEqual(0.0, rf.Normalize(30.0));
        }
        public void TestNetworkInputPort_Pow()
        {
            var rfs = new Dictionary<int, IReceptiveField>();
              rfs[0] = new PowReceptiveField(0.0, 2.0f);
              rfs[1] = new PowReceptiveField(1.0, 2.0f);
              rfs[2] = new PowReceptiveField(2.0, 2.0f);
              rfs[3] = new PowReceptiveField(3.0, 2.0f);
              rfs[4] = new PowReceptiveField(4.0, 2.0f);

              var arr = new []{0.0, 0.0, 0.0, 0.0, 0.0};
              Assert.AreEqual(arr.Length, rfs.Count);

              var port = new NetworkInputPort(arr, rfs);

              port.Set(2.5);
              Assert.IsTrue(arr.SequenceEqual(new []{0.0, 13.125, 28.125, 28.125, 13.125}));

              port.Set(2.0);
              Assert.IsTrue(arr.SequenceEqual(new []{0.0, 22.5, 30.0, 22.5, 0.0}));
        }
Beispiel #3
0
        public void TestNetworkInputPort_Pow()
        {
            var rfs = new Dictionary <int, IReceptiveField>();

            rfs[0] = new PowReceptiveField(0.0, 2.0f);
            rfs[1] = new PowReceptiveField(1.0, 2.0f);
            rfs[2] = new PowReceptiveField(2.0, 2.0f);
            rfs[3] = new PowReceptiveField(3.0, 2.0f);
            rfs[4] = new PowReceptiveField(4.0, 2.0f);

            var arr = new [] { 0.0, 0.0, 0.0, 0.0, 0.0 };

            Assert.AreEqual(arr.Length, rfs.Count);

            var port = new NetworkInputPort(arr, rfs);

            port.Set(2.5);
            Assert.IsTrue(arr.SequenceEqual(new [] { 0.0, 13.125, 28.125, 28.125, 13.125 }));

            port.Set(2.0);
            Assert.IsTrue(arr.SequenceEqual(new [] { 0.0, 22.5, 30.0, 22.5, 0.0 }));
        }