コード例 #1
0
        /// <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)
        {
            if (_poidsSyn != null)
            {
                double sum = _poidsSyn[0];

                for (int i = 1; i < _poidsSyn.Length; i++)
                {
                    sum += _poidsSyn[i] * (coord.BitArrayDessin[i - 1] ? CstApplication.FAUX : CstApplication.VRAI);
                }

                return((sum >= 0) ? false : true);
            }
            else
            {
                return(false);
            }
        }
コード例 #2
0
        /// <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)
        {
            string resultat = "";

            foreach (var p in _lstPerceptrons)
            {
                if (p.Value.TesterNeurone(coord))
                {
                    resultat += p.Key + ' ';
                }
            }

            if (resultat == "")
            {
                resultat = "?";
            }

            return(resultat);
        }
コード例 #3
0
        /// <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)
        {
            string sConsole = "";

            if (!_lstPerceptrons.ContainsKey(reponse))
            {
                _lstPerceptrons.Add(reponse, new Perceptron(reponse));
            }
            coordo.Reponse = reponse;
            List <CoordDessin> lstCoord = ObtenirCoordonnees() as List <CoordDessin>;//new List<CoordDessin>();

            lstCoord.Add(coordo);
            foreach (var c in _lstPerceptrons)
            {
                sConsole += c.Value.Entrainement(lstCoord);
            }
            // Pour ne pas enregistrer la base de donnée de Yann
            List <CoordDessin> lst = _gestionSortie.ObtenirCoordonneesOriginale() as List <CoordDessin>;

            lst.Add(coordo);
            _gestionSortie.SauvegarderCoordonnees(lst);
            return(sConsole);
        }