/// <summary> /// Ré-initialise le dessin et les composants. /// </summary> public void EffacerDessin() { _coordonnees = new Metier.CoordDessin(_largeur, _hauteur); _objGraphics.Clear(pZoneDessin.BackColor); pZoneDessin.Refresh(); _coordonnees = new Metier.CoordDessin(_largeur, _hauteur); }
/// <summary> /// Constructeur. Initialise la zone de dessin. /// </summary> public ucZoneDessin() { InitializeComponent(); _largeur = CstApplication.TAILLEDESSINY; _hauteur = CstApplication.TAILLEDESSINX; pZoneDessin.Image = new Bitmap(_largeur, _hauteur); _objGraphics = Graphics.FromImage(pZoneDessin.Image); _coordonnees = new Metier.CoordDessin(_largeur, _hauteur); }
/// <summary> /// Entraine les perceptrons avec un nouveau caractère /// </summary> /// <param name="coordo">Les nouvelles coordonnées</param> /// <param name="reponse">La réponse associé(caractère) aux coordonnées</param> /// <returns>Le résultat de la console</returns> public string Entrainement(CoordDessin coordo, string reponse, double cstApprentissage) { string sConsole = ""; if (_lstPerceptrons.ContainsKey(reponse) == false) { _lstPerceptrons.Add(reponse, new Perceptron(reponse)); } coordo.Reponse = reponse; _lstCoordonnes.Add(coordo); foreach (Perceptron p in _lstPerceptrons.Values) { sConsole += p.Entrainement(_lstCoordonnes, cstApprentissage); } return(sConsole); }
/// <summary> /// Test le perceptron avec de nouvelles coordonnées. /// </summary> /// <param name="coord">Les nouvelles coordonnées</param> /// <returns>Retourne la liste des valeurs possibles du perceptron</returns> public string TesterPerceptron(CoordDessin coord, double cstApprentissage, string fichier, bool phrase) { // Entrainement et load _lstCoordonnes = _gestionFichiers.ChargerCoordonnees(fichier); foreach (CoordDessin c in _lstCoordonnes) { if (_lstPerceptrons.ContainsKey(c.Reponse) == false) { _lstPerceptrons.Add(c.Reponse, new Perceptron(c.Reponse)); } } foreach (Perceptron p in _lstPerceptrons.Values) { p.Entrainement(_lstCoordonnes, cstApprentissage); } // Test string resultat = ""; bool valeur; foreach (Perceptron p in _lstPerceptrons.Values) { valeur = p.TesterNeurone(coord); if (valeur) { resultat += p.Reponse; if (phrase) { break; } } } if (resultat == "") { resultat = "?"; } return(resultat); }
/// <summary> /// Interroge la neuronnes pour un ensembles des coordonnées(d'un caractère). /// </summary> /// <param name="coord"></param> /// <returns></returns> public bool TesterNeurone(CoordDessin coord) { int resultatEstime = ValeurEstime(_poidsSyn, coord.BitArrayDessin); return(resultatEstime == CstApplication.VRAI ? true : false); }