KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Е. Миркес - Учебное пособие по курсу «Нейроинформатика»

Е. Миркес - Учебное пособие по курсу «Нейроинформатика»

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Е. Миркес, "Учебное пособие по курсу «Нейроинформатика»" бесплатно, без регистрации.
Перейти на страницу:

 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

  If InSignals[1] > 0 Then OutSignals[1] =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

  If InSignals[1] > 0 Then OutSignals[1] =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 {Конец описания адаптивного сумматора}

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

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

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

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

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

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

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

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

 Begin

  R = Parameters[N+1]; {Выходной сигнал равен сумме N+1 параметра}

  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;

  {Поправка к (N+1)-у параметру равна сумме ранее вычисленной поправки и попраки к выходному сигналу}

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

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

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

Element Square_Sum(N: Long) {Квадратичный сумматор на N входов}

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

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

 Parameters (Sqr(N) + N) Div 2 {N(N+1)/2 параметров – весов связей}

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

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

  Long I,J,K; {I,J,K – переменные типа длинное целое }

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

 Begin

  K = 1; {K – номер обрабатываемого параметра}

  R = 0;

  For I = 1 To N Do {I,J – номера входных сигналов}

   For J = I To N Do Begin

    R = R + InSignals[I] * InSignals[J] * Parameters[K];

    K = K + 1

   End;

  {Выходной сигнал равен сумме всех попарных произведений входных сигналов, умноженных на соответствующие параметры}

  OutSignals[1] = R

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

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

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

  Long I, J, K; {I,J,K – переменные типа длинное целое }

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*