예제 #1
0
        public void CanConnectNeurons()
        {
            var in1 = new Input();
            var in2 = new Input();
            var in3 = new Input();

            var dendrite1 = new Dendrite();

            dendrite1.SetConnection(in1);

            var dendrite2 = new Dendrite();

            dendrite2.SetConnection(in2);

            var dendrite3 = new Dendrite();

            dendrite3.SetConnection(in3);

            var neuron = new StepNeuron();

            neuron.Connect(dendrite1);
            neuron.Connect(dendrite2);
            neuron.Connect(dendrite3);

            var dendrite4 = new Dendrite();

            dendrite4.SetConnection(neuron);

            Assert.AreEqual(0d, neuron.Output());
        }
        public void CanConnectNeurons()
        {
            var in1 = new Input();
            var in2 = new Input();
            var in3 = new Input();

            var dendrite1 = new Dendrite();
            dendrite1.SetConnection(in1);

            var dendrite2 = new Dendrite();
            dendrite2.SetConnection(in2);

            var dendrite3 = new Dendrite();
            dendrite3.SetConnection(in3);

            var neuron = new StepNeuron();

            neuron.Connect(dendrite1);
            neuron.Connect(dendrite2);
            neuron.Connect(dendrite3);

            var dendrite4 = new Dendrite();

            dendrite4.SetConnection(neuron);

            Assert.AreEqual(0d, neuron.Output());
        }
        public void NeuronFiresRelativeToThreshold(double val, double weight, double threshold, double output)
        {
            var input1 = new Input(val);
            var dendrite1 = new Dendrite(weight);
            dendrite1.SetConnection(input1);

            var input2 = new Input(val);
            var dendrite2 = new Dendrite(weight);
            dendrite2.SetConnection(input2);

            var neuron = new StepNeuron(threshold);
            neuron.Connect(dendrite1);
            neuron.Connect(dendrite2);

            Assert.AreEqual(output, neuron.Output());
        }
예제 #4
0
        public void NeuronFiresRelativeToThreshold(double val, double weight, double threshold, double output)
        {
            var input1    = new Input(val);
            var dendrite1 = new Dendrite(weight);

            dendrite1.SetConnection(input1);

            var input2    = new Input(val);
            var dendrite2 = new Dendrite(weight);

            dendrite2.SetConnection(input2);

            var neuron = new StepNeuron(threshold);

            neuron.Connect(dendrite1);
            neuron.Connect(dendrite2);

            Assert.AreEqual(output, neuron.Output());
        }