Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
B = B + Sqr(Signals[I] + C);
If Direv Then Back[I] = 2 * Weight * (Signals[I] + C);
End;
End;
Estim = Weight*B
End
Contents Temp : Empty1, Cloud : Binary1(2), Wind : BynaryCoded1(3), Rain : Major1(3);
Cloud Link Meteorology.Cloud {Связываем оценки с интерпретаторами}
Wind Link Meteorology.Wind
Rain Link Meteorology.Rain
Temp SetParameters 10, 273; {Устанавливаем значения параметров оценок}
Cloud SetParameters 0.1; {и интерпретаторов}
Wind SetParameters 0.2;
Rain SetParameters 0.15
Weights 1, 1, 1, 1
Signals NumberOf(Signals,Temp) +NumberOf(Signals, Cloud) + NumberOf(Signals, Wind) + NumberOf(Signals, Rain)
Connections
Temp.Signals <=> Signals[1];
Cloud.Signals[1..2] <=> Signals[2; 3];
Wind.Signals[1..3] <=> Signals[4..6];
Rain.Signals[1..3] <=> Signals[7..9]
Temp.Answer <=> Answer[1];
Cloud.Answer[1..2] <=> Answer[2];
Wind.Answer[1..3] <=> Answer[3];
Rain.Answer[1..3] <=> Answer[4]
End Estimation
Пример 2.
Estimation Meteorology
Contents Temp : Empty, Cloud : Binary(2), Wind : BynaryCoded(3), Rain : Major(3);
Cloud Link Meteorology.Cloud {Связываем оценки с интерпретаторами}
Wind Link Meteorology.Wind
Rain Link Meteorology.Rain
Temp SetParameters 10, 273; {Устанавливаем значения параметров оценок}
Cloud SetParameters 0.1; {и интерпретаторов}
Wind SetParameters 0.2;
Rain SetParameters 0.15
End Estimation
Стандарт второго уровня компонента оценка
Запросы к компоненте оценка можно разбить на пять групп:
1. Оценивание.
2. Изменение параметров.
3. Работа со структурой.
4. Инициация редактора и конструктора оценки.
5. Обработка ошибок.
Поскольку нейрокомпьютер может работать одновременно с несколькими сетями, то и компонент оценка должен иметь возможность одновременной работы с несколькими оценками. Поэтому большинство запросов к оценке содержат явное указание имени оценки. Ниже приведено описание всех запросов к компоненту оценка. Каждый запрос является логической функцией, возвращающей значение истина, если запрос выполнен успешно, и ложь — при ошибочном завершении исполнения запроса.
В запросах второй и третьей группы при обращении к частным оценкам используется следующий синтаксис:
<Полное имя частной оценки>::= <Имя оценки>.<Псевдоним частной оценки> [[ <Номер экземпляра>]]
При вызове ряда запросов используются предопределенные константы. Их значения приведены в табл. 30.
Запрос на оценивание
Единственный запрос первой группы выполняет основную функцию компонента оценка — вычисляет оценку и, если требуется, массив производных оценки по оцениваемым сигналам.
Оценить массив сигналов (Estimate)Описание запроса:
Pascal:
Function Estimate(EstName: PString; Signals, Back, Answers, Reliability: PRealArray; Direv: Logic; Var Estim: Real): Logic;
C:
Logic Estimate(PString EstName, PRealArray Signals, PRealArray* Back, PRealArray Answers, PRealArray Reliability, Logic Direv,real* estim)
Описание аргумента:
EstName — указатель на строку символов, содержащую имя оценки.
Signals — указатель на массив оцениваемых сигналов.
Back — указатель на массив производных оценки по оцениваемым сигналам.
Answers — указатель на массив правильных ответов.
Reliability — указатель на массив достоверностей правильных ответов.
Direv — признак необходимости вычисления производных (False — не вычислять).
Estim — вычисленная оценка.
Назначение — вычисляет оценку массива сигналов Signals, используя оценку, указанную в параметре EstName.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в качестве аргумента EstName дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является первая оценка в списке оценок компонента оценка.
3. Если список оценок компонента оценка пуст или имя оценки, переданное в аргументе EstName, в этом списке не найдено, то возникает ошибка 401 — неверное имя оценки, управление передается обработчику ошибок, а обработка запроса прекращается.
4. Производится вычисление оценки оценкой, имя которой было указано в аргументе EstName.
5. Если во время выполнения запроса возникает ошибка, то генерируется внутренняя ошибка 404 — ошибка оценивания. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.
Остальные запросы
Ниже приведен список запросов, исполнение которых описано в разделе «Общий стандарт»:
esSetCurrent — Сделать оценку текущим
esAdd — Добавление новой оценки
esDelete — Удаление оценки
esWrite — Запись оценки
esGetStructNames — Вернуть имена частных оценок
esGetType — Вернуть тип частной оценки
esGetData — Получить параметры частной оценки
esGetName — Получить имена параметров частной оценки
esSetData — Установить параметры частной оценки
esEdit — Редактировать оценку
OnError — Установить обработчик ошибок
GetError — Дать номер ошибки
FreeMemory — Освободить память
В запросе esGetType в переменной TypeId возвращается значение одной из предопределенных констант, перечисленных в табл. 30.
Кроме того, во второй группе запросов есть запрос SetEstIntParameters аналогичный запросу esSetData, но определяющий частную оценку, параметры которой изменяются, по полному имени связанного с ней интерпретатора ответа.
Установить параметры (SetEstIntParameters)Описание запроса:
Pascal:
Function SetEstIntParameters(IntName: PString; Param: PRealArray): Logic;
C:
Logic SetEstIntParameters(PString IntName, PRealArray Param)
Описание аргументов:
IntName — указатель на строку символов, содержащую полное имя частного интерпретатора ответа.
Param — адрес массива параметров.
Назначение — заменяет значения параметров частной оценки, связанной с интерпретатором ответа, указанного в аргументе IntName, на значения, переданные, в аргументе Param.
Описание исполнения.
1. Запрос передается всем частным оценкам всех оценок в списке оценок компонента оценка.
2. Если частная оценка связана с частным интерпретатором ответа, имя которого указано в аргументе IntName, то текущие значения параметров частной оценки заменяются на значения, хранящиеся в массиве, адрес которого передан в аргументе Param.
Ошибки компонента оценка
В табл. 34 приведен полный список ошибок, которые могут возникать при выполнении запросов компонентом оценка, и действия стандартного обработчика ошибок.
Таблица 34. Ошибки компонента оценка и действия стандартного обработчика ошибок.
№ Название ошибки Стандартная обработка 401 Неверное имя оценки Занесение номера в Error 402 Ошибка считывания оценки Занесение номера в Error 403 Ошибка сохранения оценки Занесение номера в Error 404 Ошибка вычисления оценки Занесение номера в ErrorСтандарт второго уровня компонента исполнитель
В данном разделе описаны запросы исполнителя с алгоритмами их исполнения. При описании запросов используется аргумент Instruct, являющийся целым числом, принимающим значение одной из предопределенных констант, приведенных в табл. 35, или суммы любого числа этих констант. Аргумент Instruct является совокупностью шести битовых флагов.
Таблица 35. Предопределенные константы компонента исполнитель
Название Идентификатор Значение Десят. Шестн. Вычислять оценку 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В запросах не указываются используемые сеть, оценка и интерпретатор ответа, поскольку компонент исполнитель всегда использует текущие сеть, оценку и интерпретатор ответа.