Запросы к компоненту исполнитель, Позадачная обработка (TaskWork) - Функциональные модели универсального нейрокомпьютера

В данном разделе описаны запросы исполнителя с алгоритмами их исполнения. При описании запросов используется аргумент Instruct, являющийся целым числом, принимающим значение одной из предопределенных констант, приведенных в табл. 3., или суммы любого числа этих констант. Аргумент Instruct является совокупностью шести битовых флагов.

Таблица 3

Предопределенные константы компонента исполнитель

Название

Иденти-
Фикатор

Значение

Десят.

Шестн

Вычислять оценку

Estimate

1

H0001

Интерпретировать ответ

Interpret

2

H0002

Вычислять градиент

Gradient

4

H0004

Подготовка к контрастированию

Contrast

8

H0008

Перейти к следующему примеру

NextExample

16

H0010

Остановиться в конце обучающего множества

StopOnEnd

32

H0020

Устанавливать ответы

PutAnswers

64

H0040

Устанавливать оценки

PutEstimations

128

H0080

Устанавливать уверенность в ответе

PutReliability

256

H0100

В запросах не указываются используемые сеть, оценка и интерпретатор ответа, поскольку компонент исполнитель всегда использует текущие сеть, оценку и интерпретатор ответа.

Позадачная обработка (TaskWork)

Описание запроса:

Pascal:

Function TaskWork(Instruct, Handle : Integer; Var Answers, Reliability : PRealArray; Var Estim : Real) : Logic;

C:

Logic TaskWork(Integer Instruct, Integer Handle, PRealArray* Answers, PRealArray* Reliability; Real* Estim)

Описание аргументов:

Instruct - содержит инструкции о способе исполнения.

Handle - номер сеанса в задачнике.

Answers - указатель на массив вычисленных ответов.

Reliability - указатель на массив коэффициентов уверенности сети в ответах.

Estim - оценка решения примера.

Назначение - производит обработку одного примера.

Переменные, используемые при исполнении запроса

InArray, RelArray - адреса массивов для обменов с задачником.

Back - адрес массива для обменов с оценкой.

Описание исполнения.

Если в любой момент исполнения запроса возникает ошибка при исполнении запросов к другим компонентам, то исполнение запроса прекращается, возвращается значение ложь, ошибка компонента исполнитель не генерируется.

    1. Если в аргументе Instruct установлен бит Gradient и не установлен бит Estimate, то выполнение запроса прекращается, и генерируется ошибка 001 - Некорректное сочетание флагов в аргументе Instruct. 2. Если в аргументе Instruct установлен бит Gradient, то генерируется запрос к сети NullGradient с аргументом Null. 3. Если в аргументе Instruct установлен бит NextExample, то генерируется запрос к задачнику Next с аргументом Handle. (Переход к следующему примеру) 4. Генерируется запрос к задачнику Last с аргументом Handle. (Проверка, существует ли пример) 5. Если запрос Last вернул значение истина, то 5.1. Если в аргументе Instruct установлен бит StopOnEnd, то исполнение запроса прекращается, возвращается значение ложь. (Примера нет, переход на начало не нужен) 5.2. Генерируется запрос к задачнику Home с аргументом Handle. (Переход на начало обучающего множества) 6. Переменной InArray присваивается значение Null и генерируется запрос к задачнику Get с аргументами Handle, InArray, tbPrepared (Получает от задачника предобработанные входные сигналы) 7. Генерируется запрос к сети Forw, с аргументами Null, InArray (выполняется прямое функционирование сети). 8. Освобождается массив InArray 9. Присваивает переменной Data значение Null и генерирует запрос к сети GetNetData с аргументами Null, OutSignals, Data (Получает от сети выходные сигналы). 10. Если в аргументе Instruct установлен бит Interpret, то 10.1. Генерируется запрос к интерпретатору ответа Interpretate с аргументами Data, Answers, Reliability. (Производит интерпретацию ответа) 10.2. Если в аргументе Instruct установлен бит PutAnswers, то генерируется запрос к задачнику Put с аргументами Handle, Answers, tbCalcAnswers (Передает задачнику вычисленные ответы) 10.3. Если в аргументе Instruct установлен бит PutReliability, то генерируется запрос к задачнику Put с аргументами Handle, Reliability, tbCalcReliability (Передает задачнику вычисленные коэффициенты уверенности в ответе) 11. Если в аргументе Instruct установлен бит Gradient, то создается массив Back того же размера, что и Data. В противном случае переменной Back присваивается значение Null. 12. Если в аргументе Instruct установлен бит Estimate, то 12.1. Переменной InArray присваивается значение Null и генерируется запрос к задачнику Get с аргументами Handle, InArray, tbAnswers (Получает от задачника правильные ответы) 12.2. Переменной RelArray присваивается значение Null и генерируется запрос к задачнику Get с аргументами Handle, RelArray, tbCalcReliability (Получает от задачника достоверности ответов) 12.3. Генерируется запрос к оценке Estimate с аргументами Data, Back, InArray, RelArray, Direv, Estim. Вместо Direv передается ноль, если в аргументе Instruct установлен бит Gradient, и 1 в противном случае. (Вычисляет оценку примера и, возможно, производные) 12.4. Если в аргументе Instruct установлен бит PutEstimations, то генерируется запрос к задачнику Put с аргументами Handle, Estim, tbEstimations (Передает задачнику оценку примера) 12.5. Освобождает массивы InArray и RelArray. 13. Если в аргументе Instruct установлен бит Gradient, то генерируется запрос к сети Back, с аргументами Null, Back. Освобождает массив Back. (Выполняется обратное функционирование сети) 14. Освобождается массив Data. 15. Если в аргументе Instruct установлен бит Contrast, то генерируется запрос к контрастеру ContrastExample с аргументом истина. 16. Завершает исполнение, возвращая значение истина

Похожие статьи




Запросы к компоненту исполнитель, Позадачная обработка (TaskWork) - Функциональные модели универсального нейрокомпьютера

Предыдущая | Следующая