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

         Begin

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

                   R = Back.OutSignals[1] / Sqr(Parameters[1] + Abs(InSignals[1]);

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

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

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

                   Back.Parameters[1] = Back.Parameters[1] + R * InSignals[1]

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

End S_Train                                                                 {Конец описания обучаемого гиперболического

                                                                                                                          сигмоидного элемента}

{Не обучаемый гиперболический сигмоидный элемент Char – характеристика}

Element S_NotTrain( Char : Real)

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

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

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

         Begin

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

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

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

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

         Begin

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

                   Back.InSignals[1] = Back.OutSignals[1] * Char /

                                                                                              Sqr(Char + Abs(InSignals[1]);

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

End S_NotTrain            {Конец описания гиперболического сигмоидного элемента}

Element Pade(Char : Real)     {Паде преобразователь Char  – характеристика}

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

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

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

         Begin

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

                   OutSignals[1] = InSignals[1] / (Char+ InSignals[2])

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

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

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

         Begin

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

                   R = Back.OutSignals[1] / (Char + InSignals[2]);

                   Back.InSignals[1] = R;

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

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

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

End Pade                                                                      {Конец описания Паде преобразователя}

Element Sign_Mirror                        {Зеркальный пороговый элемент}

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

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

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

         Begin

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

                   If InSignals[1] > 0 Then OutSignals[1] = 1

                                                                                              Else OutSignals[1] = 0

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

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

         Begin

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

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

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

End Sign_Mirror                                        {Конец описания зеркального порогового элемента}

Element Sign_ Easy                         {Прозрачный  пороговый элемент}

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

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

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

         Begin

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

                   If InSignals[1] > 0 Then OutSignals[1] = 1

                                                                                      Else OutSignals[1] = 0

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

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

         Begin

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

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

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

End Sign_Easy                                          {Конец описания прозрачного порогового элемента}

Element Adaptiv_Sum( N : Long)              {Адаптивный сумматор на N входов}

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

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

         Parameters N                                           {N параметров – весов связей}

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

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

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

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

         Begin

                   R = 0;                                                                  {Выходной сигнал равен скалярному }

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

                            R = R + InSignals[I] * Parameters[I];      {на массив параметров}

                   OutSignals[1] = R

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

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

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

         Begin

                   For I=1 To N Do Begin

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

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

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

                            Back. Parameters[I] = Back. Parameters[I] +

                                                                                                       Back.OutSignals[1] * InSignals[I]

                   End

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

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

{Адаптивный неоднородный сумматор на N входов}

Страницы: 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 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.