Exemplo n.º 1
0
        private void RefreshDgwParametersAF()
        {
            dgwEditParametersAF.Rows.Clear();
            int countParameters = LibraryOfActivateFunctions.GetCountParametersOfAF(cbActivateFunction.SelectedItem.ToString(),
                                                                                    LibraryOfActivateFunctions.GetterParameter.ActivateFunctionName);
            ActivateFunction af = LibraryOfActivateFunctions.GetActivateFunction(cbActivateFunction.SelectedItem.ToString(),
                                                                                 LibraryOfActivateFunctions.GetterParameter.ActivateFunctionName);


            for (int i = 0; i < countParameters; i++)
            {
                string[] row = new string[2];
                row[0] = Convert.ToString(af.GetNameOfParameter(i));
                row[1] = Convert.ToString(af.GetDefaultValueOfParameter(i));
                dgwEditParametersAF.Rows.Add(row);
                dgwEditParametersAF.Rows[i].Cells[0].ReadOnly = true;
            }
        }
Exemplo n.º 2
0
        private void btnUse_Click(object sender, EventArgs e)
        {
            int countInputNeurons  = dbHandler.SelectCountInputParametersInTask(lbTaskSelected.Text);
            int countOutputNeurons = 1;
            ActivateFunction af    = LibraryOfActivateFunctions.
                                     GetActivateFunction(dbHandler.SelectActivateFunctionTypeByNeuroNet(lbNetSelected.Text),
                                                         LibraryOfActivateFunctions.GetterParameter.TypeOfActivateFunctionName);
            List <double> valuesOfParametersAF = dbHandler.SelectValuesOfParametersOfAF(lbNetSelected.Text);
            int           k = 0;

            foreach (double item in valuesOfParametersAF)
            {
                af.SetValueOfParameter(k, item);
                k++;
            }

            int countNeurons = dbHandler.SelectCountNeuronsInNet(lbNetSelected.Text);

            bool[,] connections = new bool[countNeurons, countNeurons];
            double[,] weights   = new double[countNeurons, countNeurons];
            List <Tuple <int, int, double> > ls = dbHandler.SelectLearnedTopology(lbNetSelected.Text,
                                                                                  lbSelSelected.Text, LearningAlgorithmsLibrary.GetNameOfTypeOfAlgoritm(lbLASelected.Text));

            for (int i = 0; i < countNeurons; i++)
            {
                for (int j = 0; j < countNeurons; j++)
                {
                    connections[i, j] = false;
                    weights[i, j]     = 0.0;
                }
            }
            foreach (Tuple <int, int, double> item in ls)
            {
                connections[item.Item2, item.Item1] = true;
                weights[item.Item2, item.Item1]     = item.Item3;
            }
            int[]    neuronsInLayers = dbHandler.SelectNeuronsInLayers(lbNetSelected.Text);
            NeuroNet net             = new NeuroNet(countInputNeurons, countOutputNeurons, neuronsInLayers, connections, weights, af);

            NeuroNetSolvingWindow solvingWnd = new NeuroNetSolvingWindow(net);

            solvingWnd.Show();
        }
Exemplo n.º 3
0
        public List <string[]> SelectParametersOfAF(string NeuroNetName, int countNeurons, string NameAF)
        {
            int IDAF = LibraryOfActivateFunctions.GetCountParametersOfAF(NameAF,
                                                                         LibraryOfActivateFunctions.GetterParameter.ActivateFunctionName);
            ActivateFunction af = LibraryOfActivateFunctions.GetActivateFunction(NameAF,
                                                                                 LibraryOfActivateFunctions.GetterParameter.ActivateFunctionName);

            if (IDAF != -1)
            {
                List <string[]> ls = new List <string[]>();

                connector.ConnectToDB();
                SQLiteCommand cmd        = new SQLiteCommand(connector.connection);
                int[]         neurons    = new int[countNeurons];
                double[]      valuesPars = new double[IDAF];
                cmd.CommandText = "SELECT AFParameters " +
                                  "FROM NeuroNet,TASK WHERE NeuroNet.TaskID = TASK.ID AND NeuroNet.Name ='" +
                                  NeuroNetName + "'";
                try
                {
                    string line = Convert.ToString(cmd.ExecuteScalar());

                    int      k   = 0;
                    int      j   = 0;
                    string   buf = "";
                    string[] row;

                    while (j < line.Length)
                    {
                        row = new string[2];
                        if (line[j] != ' ')
                        {
                            buf += line[j];
                        }
                        else
                        {
                            row[0] = af.GetNameOfParameter(k);
                            row[1] = buf;
                            ls.Add(row);
                            k++;
                            buf = "";
                        }
                        j++;
                    }

                    row    = new string[2];
                    row[0] = af.GetNameOfParameter(k);
                    row[1] = buf;
                    ls.Add(row);
                }
                catch (SQLiteException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                connector.DisconnectFromDB();
                return(ls);
            }
            else
            {
                throw new Exception("No such name of Activate Function!");
            }
        }