<Главная процедура>::= Main
<Блок инициации>::= Init
<Блок шага обучения>::= InstrStep
<Блок завершения>::= Close
<Конец описания учителя> End Instructor
Язык описания учителя является наиболее простым из всех языков описания компонент. Фактически все синтаксические конструкции этого языка описаны в разделе «Общий стандарт»
. В теле функции, являющемся частью главной процедуры недопустим оператор возврата значения, поскольку главная процедура не является функцией. Три раздела главной функции — блок инициации, блок одного шага обучения и блок завершения являются фрагментами одной процедуры. Выделение этих разделов необходимо для выполнения запроса «Выполнить N шагов обучения». Выполнение главной процедуры происходит следующим образом. Выполняется блок инициации. Выполнение блока одного шага обучения сети производится до тех пор, пока не наступит одно из следующих событий:1. программа выйдет из блока одного шага обучения сети прямым переходом на метку в другом разделе;
2. нарушится условие, указанное в конструкции InstStep;
3. компонент учитель получит запрос «Прервать обучение сети»;
4. в случае выполнения запроса «Выполнить N шагов обучения» блок одного шага обучения сети выполнен N раз.
Далее выполняется блок завершения обучения.
В данном разделе приведены описания некоторых методов обучения, описанных в разделе «Описание алгоритмов обучения
».Пример 1.
Instructor
Main
Label
Static
Integer
Real
String
Integer
Color
Integer
Var
PRealArray
Real
Real
Integer
Integer
String
Init
Begin
If Not
QName = "InitSession"; {Задаем имя запроса}
Map = NewArray(mRealArray, 3); {Создаем массив для аргументов запроса}
If
TPointer(Map^[1]) = @InstColor; {Заносим адрес первого аргумента}
TPointer(Map^[2]) = @OperColor; {Заносим адрес второго аргумента}
TPointer(Map^[3]) = @Handle; {Заносим адрес третьего аргумента}
If Not
If Not
{Собственно начало обучения}