Ejemplo n.º 1
0
        /// <summary>
        /// Добавление образа, который песептрону необходимо будет распознать
        /// Если образ уже был добавлен , возвращает 0
        /// </summary>
        /// <param name="img"></param>
        /// <returns></returns>
        public int Add(NeuroImage img)
        {
            if (img.Enters.Length != enterSize || img.Results.Length != resultSize)
            {
                throw (new Exception("Персептрон был настроен на " + enterSize + " входов и " +
                                     resultSize + "выходов, а в образе присутствует " + img.Enters.Length + " входов и " +
                                     img.Results.Length + "выходов"));
            }


            if (!Contains(img))
            {
                Image.Add(img);
                return(1);
            }
            else
            {
                return(0);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Метод проверяет содержится ли образ в обучающей выборке
        /// </summary>
        /// <param name="Image"></param>
        /// <param name="img"></param>
        /// <returns></returns>
        public bool Contains(NeuroImage img)
        {
            //выбираем все входные образы
            var query = (from x in Image
                         select x.Enters).ToArray();

            for (int i = 0; i < query.Length; i++)
            {
                bool flag = true;
                for (int j = 0; j < img.Enters.Length; j++)
                {
                    if (query[i][j] != img.Enters[j])
                    {
                        flag = false;
                    }
                }
                if (flag == true)
                {
                    return(true);
                }
            }
            return(false);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Add one image,perceptron recognized
        /// return 0 if this image contains else return 1
        /// </summary>
        /// <param name="enter">enter image</param>
        /// <param name="result">exit image</param>
        public int Add(double[] enter, double[] result)
        {
            NeuroImage img = new NeuroImage(enter, result);

            return(Add(img));
        }