コード例 #1
0
        /// <summary>
        /// Création de la carte à la première itération, puis algorithme de Kohonen aux suivantes
        /// </summary>
        private void Carte_Button_Click(object sender, EventArgs e)
        {
            if (NbLignes_TextBox.Enabled)
            {
                try
                {
                    // Récupération du nombre de lignes et de colonnes de la carte
                    NbLignes   = Convert.ToInt32(NbLignes_TextBox.Text);
                    NbColonnes = Convert.ToInt32(NbColonnes_TextBox.Text);
                    NbLignes_TextBox.Enabled   = false;
                    NbColonnes_TextBox.Enabled = false;

                    // Création de la carte
                    Carte = new Carte(NbLignes, NbColonnes, 2, Image.Width);

                    // Affichage des observations (données du fichier « dataetclassif.txt »)
                    // et des neurones de la carte que l’on vient de construire
                    Crayon.Color = Color.White;
                    Graphe.FillRectangle(Crayon.Brush, 0, 0, Image.Width, Image.Height);
                    AfficherDonnees();
                    AfficherNeurones();
                }

                catch (Exception Ex)
                {
                    MessageBox.Show(Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

            else
            {
                try
                {
                    NbIterations++;
                    Classes_Button.Enabled = true;
                    Nouveau_Button.Enabled = true;

                    // Récupération du coefficient d’apprentissage et de la distance de voisinage entre 2 neurones
                    CoefApprentissage = Convert.ToDouble(CoefApprentissage_TextBox.Text);
                    DistanceNeurones  = Convert.ToInt32(DistanceNeurones_TextBox.Text);

                    // Effectuation d’un apprentissage
                    Carte.AlgoKohonen(Observations, CoefApprentissage, DistanceNeurones);

                    // Affichage du résultat
                    Crayon.Color = Color.White;
                    Graphe.FillRectangle(Crayon.Brush, 0, 0, Image.Width, Image.Height);
                    AfficherDonnees();
                    AfficherNeurones();
                }

                catch (Exception Ex)
                {
                    MessageBox.Show(Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }