Рефераты. Функциональные модели универсального нейрокомпьютера

Back.Parameters)

В методе Forw в левой части оператора присваивания могут фигурировать имена любых переменных и элементов предопределенного массива выходных сигналов (OutSignals). В выражении, стоящем в правой части оператора присваивания могут участвовать любые переменные, аргументы элемента и элементы предопределенных массивов входных сигналов (InSignals) и параметров (Parameters).

В методе Back в левой части оператора присваивания могут фигурировать имена любых переменных, элементов предопределенных массивов входных сигналов обратного функционирования (Back.InSignals) и параметров (Back.Parameters). В выражении, стоящем в правой части оператора присваивания, могут участвовать любые переменные, аргументы элемента и элементы предопределенных массивов входных (InSignals) и выходных (OutSignals) сигналов и параметров (Parameters).Отметим важную особенность вычисления поправок к параметрам. Поскольку один и тот же параметр может использоваться несколькими элементами, при вычислении поправки к параметру вычисленное значение нужно не присваивать соответствующему элементу массива Back.Parameters, а добавлять. При этом в теле метода элементы массива Back.Parameters не могут фигурировать в правой части оператора присваивания. Эта особенность вычисления поправок к параметрам обрабатывается компонентом сеть.

Описание элемента завершается ключевым словом End за которым следует имя элемента.

Пример описания элементов

NetBibl Elements;                                      {Библиотека элементов}

Element Synaps                                                  {Обычный синапс}

         InSignals 1                                                         {Один входной сигнал}

         OutSignals 1                                                      {Один выходной сигнал}

         Parameters 1                                                     {Один параметр – вес связи}

         Forw                                                                            {Начало описания прямого функционирования}

         Begin

{Выходной сигнал – произведение входного сигнала на параметр}

                   OutSignals[1] = InSignals[1] * Parameters[1]

         End                                                                                       {Конец описания прямого функционирования}

         Back                                                                            {Начало описания обратного функционирования }

         Begin

{Поправка к входному сигналу – произведение поправки к выходному сигналу на параметр}

                   Back.InSignals[1] = Back.OutSignals[1] * Parameters[1];

{Поправка к параметру – сумма ранее вычисленной поправки к параметру на произведение поправки к обратному сигналу на входной сигнал}

                   Back.Parameters[1] = Back.Parameters[1] + Back.OutSignals[1] *

 InSignals[1]

         End                                                                                       {Конец описания обратного функционирования}

End Synaps                                                                           {Конец описания синапса}

Element Branch(N : Long)               {Точка ветвления на N выходных сигналов}

         InSignals 1                                                         {Один входной сигнал}

         OutSignals N                                                      {N выходных сигналов}

         Forw                                                                            {Начало описания прямого функционирования}

                   Var Long I;                                                        {I – длинное целое – индекс}

         Begin

                   For I=1 To N Do                             {На каждый из N выходных сигналов передаем }

                            OutSignals[I] = InSignals[1]                              {входной сигнал}

         End                                                                                       {Конец описания прямого функционирования}

         Back                                                                            {Начало описания обратного функционирования }

                   Var                                                                              {Описание локальных переменных}

                            Long I;                                                      {I – длинное целое – индекс}

                            Real R;                                                      {R – действительное – для накопления суммы}

         Begin

                   R = 0;

                   For I=1 To N Do                             {Поправка ко входному сигналу равна сумме }

                            R = R + Back.OutSignals[I];                             {поправок выходных сигналов}

                   Back. InSignals[1] = R

         End                                                                                       {Конец описания обратного функционирования}

End Branch                                                                  {Конец описания точки ветвления}

Element Sum(N Long)                     {Простой сумматор на N входов}

         InSignals N                                                                  {N входных сигналов}

         OutSignals 1                                                      {Один выходной сигнал}

         Forw                                                                            {Начало описания прямого функционирования}

                   Var                                                                              {Описание локальных переменных}

                            Long I;                                                      {I – длинное целое – индекс}

                            Real R;                                                      {R – действительное – для накопления суммы}

         Begin

                   R = 0;

                   For I=1 To N Do                             {Выходной сигнал равен сумме входных}

                            R = R + InSignals[I];

                   OutSignals[1] = R

         End                                                                                       {Конец описания прямого функционирования}

         Back                                                                            {Начало описания обратного функционирования}

                   Var Long I;                                               {I – длинное целое – индекс}

         Begin

                   For I=1 To N Do                             {Поправка к каждому входному сигналу равна }

                            Back.InSignals[I] = Back.OutSignals[1] { поправке выходного сигнала}

         End                                                                                       {Конец описания обратного функционирования}

End Sum                                                                                {Конец описания простого сумматора}

Element Mul                                                                {Умножитель}

         InSignals 2                                                         {Два входных сигнала}

         OutSignals 1                                                      {Один выходной сигнал}

         Forw                                                                            {Начало описания прямого функционирования }

         Begin

                                                                  {Выходной сигнал равен произведению входных сигналов}

                   OutSignals[1] = InSignals[1] * InSignals[2]

         End                                                                                       {Конец описания прямого функционирования}

         Back                                                                            {Начало описания обратного функционирования }

         Begin

{Поправка к каждому входному сигналу равна произведению поправки выходного сигнала на другой входной сигнал}

                   Back.InSignals[1] = Back.OutSignals[1] * InSignals[2];

                   Back.InSignals[2] = Back.OutSignals[1] * InSignals[1]

         End                                                                              {Конец описания обратного функционирования}

End Mul                                                                       {Конец описания умножителя}

Element S_Train                                       {Обучаемый гиперболический сигмоидный элемент}

         InSignals 1                                                {Один входной сигнал}

         OutSignals 1                                             {Один выходной сигнал}

         Parameters 1                                            {Один параметр – характеристика}

         Forw                                                                  {Начало описания прямого функционирования}

         Begin

{Выходной сигнал равен отношению входного сигнала к сумме параметра и абсолютной величины входного сигнала}

                   OutSignals[1] = InSignals[1] / (Parameters[1] + Abs(InSignals[1])

         End                                                                                       {Конец описания прямого функционирования}

         Back                                                                            {Начало описания обратного функционирования}

                   Var Real R;                                               {R – действительное}

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.