Функция генерирует запрос к исполнителю на вычисление оценки. Если аргумент All содержит значение истина, то обучение производится по всему обучающему множеству, в противном случае — позадачно. В случае возникновения ошибки при выполнении функции он генерирует внутреннюю ошибку 605 — ошибка при исполнении внешнего запроса, передает управление обработчику ошибок, функция возвращает значение 0. В противном случае возвращается значение вычисленной оценки.
Заголовок функции:
Function CalcGradient(Handle: Integer; All: Logic): Real;
Описание аргументов
Handle — номер сеанса задачника.
All — признак обучения по всему обучающему множеству.
Функция генерирует запрос к исполнителю на вычисление градиента. Если аргумент All содержит значение истина, то обучение производится по всему обучающему множеству, в противном случае — позадачно. В случае возникновения ошибки при выполнении функции он генерирует внутреннюю ошибку 605 — ошибка при исполнении внешнего запроса, передает управление обработчику ошибок, функция возвращает значение 0. В противном случае возвращается значение вычисленной оценки.
Заголовок функции:
Function GenerateQuest(Name: PString; Arguments: PRealArray): Logic
Описание аргументов
Name — указатель на символьную строку, содержащую имя запроса.
Arguments — массив, содержащий адреса аргументов запроса.
Функция генерирует запрос к макрокомпоненту нейрокомпьютер на исполнение запроса, имя которого указано в аргументе Name, с аргументами, адреса которых указаны в аргументе Arguments. Действуют следующие ограничения. В строке, содержащей имя запроса должно содержаться только одно слово — имя запроса. Ведущие и хвостовые пробелы подавляются. В массиве Arguments должно содержаться ровно столько элементов, сколько аргументов у генерируемого запроса. В массив Arguments всегда складываются адреса аргументов, даже если в запрос данный аргумент передается по значению.
В отличие от таких компонентов как оценка, сеть и интерпретатор ответа, учитель не является составным объектом. Однако учитель может состоять из множества функций, вызывающих друг друга. Собственно учитель — это процедура, управляющая обучением сети. Ключевые слова, специфические для языка описания учителя приведены в табл. 37.
Библиотеки функций учителя содержат описание функций, необходимых для работы одного или нескольких учителей. Использование библиотек позволяет избежать дублирования функций в различных учителях. Описание библиотеки функций аналогично описанию учителя, но не содержит главной процедуры.
Таблица 37. Ключевые слова специфические для языка описания учителя
Идентификатор | Краткое описание |
---|---|
Main | Начало главной процедуры |
Instructor | Заголовок описания учителя |
InstrLib | Заголовок описания библиотеки функций |
Used | Подключение библиотек функций |
Init | Начало блока инициации |
InstrStep | Начало блока одного шага обучения |
Close | Начало блока завершения обучения |
Обозначения, принятые в данном расширении БНФ и описание ряда конструкций приведены в разделе «Описание языка описания компонентов».
<Описание библиотеки>::= <Заголовок библиотеки> <Описание глобальных переменных> <Описание функций> <Конец описания библиотеки>
<Заголовок библиотеки>::= InstrLib <Имя библиотеки> [Used <Список имен библиотек>]
<Имя библиотеки>::= <Идентификатор>
<Список имен библиотек>::= <Имя используемой библиотеки> [,<Список имен библиотек>]
<Имя используемой библиотеки>::= <Идентификатор>
<Конец описания библиотеки>::= EndInstrLib
<Описание учителя>::= <Заголовок учителя> <Описание глобальных переменных> <Описание функций> <Главная процедура> <Конец описания учителя>
<Заголовок учителя>::= Instructor <Имя библиотеки> [Used <Список имен библиотек>]