/// <summary>
        /// создает персептрон
        /// </summary>
        /// <param name="signal">входной сигнал перцептрона</param>
        /// <param name="architecture">информация об структуре сети</param>
        public override void Create(NeuronNetworkArchitecture architecture)
        {
            NeuronLayer layer = CreateInputLayer(architecture.CountInputNeurons);
            NeuronLayer hidLayer = null;

            for (int i = 0; i < architecture.CountHiddenLayers; i++ )
            {
                hidLayer = AddHiddenLayer(architecture.CountNeuronsInLayer);
                layer.ConnectLayer(hidLayer);
                layer = hidLayer;
            }

            //NeuronLayer hiddenLayer1 = AddHiddenLayer(2);
            //NeuronLayer hiddenLayer2 = AddHiddenLayer(2);
            NeuronLayer outputLayer = CreateOutputLayer(architecture.CountOutputNeurons);
            layer.ConnectLayer(outputLayer);

            //inputLayer.ConnectLayer(outputLayer);

            //inputLayer.ConnectLayer(hiddenLayer1);
            //hiddenLayer1.ConnectLayer(hiddenLayer2);
            //hiddenLayer1.ConnectLayer(outputLayer);
        }
 public abstract void Create(NeuronNetworkArchitecture architecture);
        private void networkParametersMenuItem_Click(object sender, RoutedEventArgs e)
        {
            NetworkParametersWindow networkParameters = new NetworkParametersWindow();
            NeuronNetworkArchitecture archtecture = new NeuronNetworkArchitecture();

            if(networkParameters.ShowDialog() == true)
            {
                archtecture.CountInputNeurons = Convert.ToInt32(networkParameters.countInputNeurons.Text);
                archtecture.CountOutputNeurons = Convert.ToInt32(networkParameters.countOutputNeurons.Text);
                archtecture.CountHiddenLayers = Convert.ToInt32(networkParameters.countHiddenLayer.Text);
                archtecture.CountNeuronsInLayer = Convert.ToInt32(networkParameters.countNeuronsInHiddenLayer.Text);

                perceptron.Create(archtecture);
                points.SetNetwork(perceptron.NeuronNetwork());
                points.InitializationWeights();

                for (int i = 0; i < clearSignal.Count; i++ )
                {
                    List<List<double>> tmp = new List<List<double>>();
                    List<double> sig = new List<double>();
                    sig.Add(clearSignal[i]);
                    tmp.Add(sig);
                    perceptron.NeuronNetwork().SetSignal(tmp[0]);
                    List<double> output = perceptron.NeuronNetwork().GetSignal();

                }

                int hh;
            }
        }