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

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

Читать бесплатно Е. Миркес - Учебное пособие по курсу «Нейроинформатика». Жанр: Программирование издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Pascal:

Procedure Forw(InSignals, OutSignals, Parameters: PRealArray);

Procedure Back(InSignals, OutSignals, Parameters, Back.InSignals, Back.OutSignals, Back.Parameters: PRealArray);

C

void Forw(PRealArray InSignals, PRealArray OutSignals, PRealArray Parameters)

void Back(PRealArray InSignals, PRealArray OutSignals, PRealArray Parameters, PRealArray Back.InSignals, PRealArray Back.OutSignals, PRealArray 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 – действительное}

 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 {Конец описания обучаемого гиперболического сигмоидного элемента}

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

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

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

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

 Begin

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

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

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

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

 Begin

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

Перейти на страницу:

Е. Миркес читать все книги автора по порядку

Е. Миркес - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Учебное пособие по курсу «Нейроинформатика» отзывы

Отзывы читателей о книге Учебное пособие по курсу «Нейроинформатика», автор: Е. Миркес. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


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