Exemple #1
0
        public int[] learnFunction(logicFunction2 func, string method) //2 аргумента
        {
            float[] inputs;
            float[] answer;
            int[]   successes = new int[3] {
                0, 0, 0
            };
            if (method == "BP")
            {
                for (int i = 0; i < 4000; i++)
                {
                    inputs    = generateInputs(2, 0, 1);
                    answer    = func(inputs[0], inputs[1]);
                    inputs[0] = activate(inputs[0], "sigmoid");
                    inputs[1] = activate(inputs[1], "sigmoid");
                    if (trainBP(inputs, answer)) // Выполняем функцию тренировки
                    {
                        successes[0]++;          //Если ответ был верным, добавляем счетчик верных ответов
                        successes[2]++;          //Счетчик верных ответов подряд
                    }
                    else
                    {
                        successes[1]++;   //Счетчик неверных ответов
                        successes[2] = 0; //Сбарос счетчика верных ответов подряд
                    }
                }
            }
            else
            {
                for (int i = 0; i < 2000; i++)
                {
                    inputs    = new float[2];
                    inputs[0] = activate(rnd.Next(0, 2), "");
                    inputs[1] = activate(rnd.Next(0, 2), "");
                    answer    = func(inputs[0], inputs[1]);
                    if (trainUsual(inputs, answer)) // Выполняем функцию тренировки
                    {
                        successes[0]++;             //Если ответ был верным, добавляем счетчик верных ответов
                        successes[2]++;             //Счетчик верных ответов подряд
                    }
                    else
                    {
                        successes[1]++;   //Счетчик неверных ответов
                        successes[2] = 0; //Сбарос счетчика верных ответов подряд
                    }
                }
            }

            return(successes);
        }
Exemple #2
0
        //2 аргумента
        public int[] learnFunction(logicFunction2 func, string method)
        {
            float[] inputs;
            float[] answer;
            int[] successes = new int[3] { 0, 0, 0 };
            if (method == "BP")
            {
                for (int i = 0; i < 4000; i++)
                {
                    inputs = generateInputs(2, 0, 1);
                    answer = func(inputs[0], inputs[1]);
                    inputs[0] = activate(inputs[0], "sigmoid");
                    inputs[1] = activate(inputs[1], "sigmoid");
                    if (trainBP(inputs, answer)) // Выполняем функцию тренировки
                    {
                        successes[0]++; //Если ответ был верным, добавляем счетчик верных ответов
                        successes[2]++; //Счетчик верных ответов подряд
                    }
                    else
                    {
                        successes[1]++; //Счетчик неверных ответов
                        successes[2] = 0; //Сбарос счетчика верных ответов подряд
                    }
                }
            }
            else
            {
                for (int i = 0; i < 2000; i++)
                {
                    inputs = new float[2];
                    inputs[0] = activate(rnd.Next(0, 2), "");
                    inputs[1] = activate(rnd.Next(0, 2), "");
                    answer = func(inputs[0], inputs[1]);
                    if (trainUsual(inputs, answer)) // Выполняем функцию тренировки
                    {
                        successes[0]++; //Если ответ был верным, добавляем счетчик верных ответов
                        successes[2]++; //Счетчик верных ответов подряд
                    }
                    else
                    {
                        successes[1]++; //Счетчик неверных ответов
                        successes[2] = 0; //Сбарос счетчика верных ответов подряд
                    }
                }
            }

            return successes;
        }