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); }
//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; }