public TrainingResultP train(TrainingSetings settings, GateTrainingValuesContainer valuesContainer)
        {
            this.trainingSetings         = settings;
            this.valuesContainer         = valuesContainer;
            activationFunctions.maxError = trainingSetings.maxError;
            firstLineBuilder             = new StringBuilder();
            firstLineBuilder.Append("Trenowanie: ");
            firstLineBuilder.Append(" bramka: " + trainingSetings.gateType.ToString() + ", ");

            switch (settings.activiationFunction)
            {
            case TrainingSetings.ActiviationFunction.JUMP:
                firstLineBuilder.Append(" funkcja skokowa, ");
                trainByJumpFunction();
                break;

            case TrainingSetings.ActiviationFunction.SIGMOID:
                firstLineBuilder.Append(" funkcja sigmoidowa, ");
                trainBySigmoidFunction();
                break;

            default:
                throw new ArgumentException("Brak wybranej fukcji");
            }


            return(tResult);
        }
        public XorTrResult trainXOR(TrainingSetings settings, GateTrainingValuesContainer valuesContainer)
        {
            this.trainingSetings         = settings;
            this.valuesContainer         = valuesContainer;
            activationFunctions.maxError = trainingSetings.maxError;
            firstLineBuilder             = new StringBuilder();
            firstLineBuilder.Append("Trenowanie: ");
            firstLineBuilder.Append(" bramka: " + trainingSetings.gateType.ToString() + ", ");


            XorTrResult xorTrResult = trainByTwoNeuronsBySigmoid();

            return(xorTrResult);
        }
        public void showChartForXor(XorTrResult xorTrResult, TrainingSetings trainSettings)
        {
            list0 = new List <PointInfo>();
            list1 = new List <PointInfo>();
            activatonFunctions.maxError = trainSettings.maxError;

            preparePointListForXor(xorTrResult, trainSettings.activiationFunction);

            float[,] table0 = changeListToArray(list0);
            float[,] table1 = changeListToArray(list1);

            ChartForm chartForm = new ChartForm(table0, table1);

            chartForm.Show();
        }