Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
1 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 Interpretator
Пример 2.
Interpretator Meteorology
Contents Temp : Empty, Cloud : Binary(2), Wind : BynaryCoded(3), Rain : Major(3);
Temp SetParameters 10, 273;
Cloud SetParameters 0.1;
Wind SetParameters 0.2;
Rain SetParameters 0.15
End Interpretator
Стандарт второго уровня компонента интерпретатор ответа
Запросы к компоненту интерпретатор ответа можно разбить на пять групп:
1. Интерпретация.
2. Изменение параметров.
3. Работа со структурой.
4. Инициация редактора и конструктора интерпретатора ответа.
5. Обработка ошибок.
Поскольку нейрокомпьютер может работать одновременно с несколькими сетями, то и компонент интерпретатор ответа должен иметь возможность одновременной работы с несколькими интерпретаторами. Поэтому большинство запросов к интерпретатору содержат явное указание имени интерпретатора ответа. Ниже приведено описание всех запросов к компоненту интерпретатор ответа. Каждый запрос является логической функцией, возвращающей значение истина, если запрос выполнен успешно, и ложь — при ошибочном завершении исполнения запроса.
В запросах второй и третьей группы при обращении к частным интерпретаторам используется следующий синтаксис:
<Полное имя частного интерпретатора>::=<Имя интерпретатора>.<Псевдоним частного интерпретатора> [[ <Номер экземпляра>]]
При вызове ряда запросов используются предопределенные константы. Их значения приведены в табл. 30.
Таблица 30. Значения предопределенных констант компонентов интерпретатор ответа и оценка
Название Величина Значение Empty 0 Интерпретирует один сигнал как действительное число. Binary 1 Кодирование номером канала. Знаковый интерпретатор Major 2 Кодирование номером канала. Максимальный интерпретатор. BynaryCoded 3 Двоичный интерпретатор. UserType –1 Интерпретатор, определенный пользователем.Запрос на интерпретацию
Единственный запрос первой группы выполняет основную функцию компонента интерпретатор ответа — интерпретирует массив сигналов.
Интерпретировать массив сигналов (interpretate)Описание запроса:
Pascal:
Function Interpretate(IntName: PString; Signals: PRealArray; Var Reliability, Answers: PRealArray): Logic;
C:
Logic Interpretate(PString IntName, PRealArray Signals, PRealArray* Reliability, PRealArray* Answers)
Описание аргумента:
IntName — указатель на строку символов, содержащую имя интерпретатора ответа.
Signals — массив интерпретируемых сигналов.
Answers — массив ответов.
Reliability — массив коэффициентов уверенности в ответе.
Назначение — интерпретирует массив сигналов Signals, используя интерпретатор ответа, указанный в параметре IntName.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в качестве аргумента IntName дан пустой указатель, или указатель на пустую строку, то исполняющим запрос объектом является первый интерпретатор ответа в списке интерпретаторов компонента интерпретатор.
3. Если список интерпретаторов компонента интерпретатор пуст или имя интерпретатора ответа, переданное в аргументе IntName в этом списке не найдено, то возникает ошибка 501 — неверное имя интерпретатора ответа, управление передается обработчику ошибок, а обработка запроса прекращается.
4. Производится интерпретация ответа интерпретатором ответа, имя которого было указано в аргументе IntName.
5. Если во время выполнения запроса возникает ошибка, то генерируется внутренняя ошибка 504 — ошибка интерпретации. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.
Остальные запросы
Ниже приведен список запросов, исполнение которых описано в разделе «Общий стандарт»:
aiSetCurrent — Сделать интерпретатор ответа текущим
aiAdd — Добавление нового интерпретатора ответа
aiDelete — Удаление интерпретатора ответа
aiWrite — Запись интерпретатора ответа
aiGetStructNames — Вернуть имена частных интерпретаторов
aiGetType — Вернуть тип частного интерпретатора
aiGetData — Получить параметры частного интерпретатора
aiGetName — Получить имена параметров частного интерпретатора
aiSetData — Установить параметры частного интерпретатора
aiEdit — Редактировать интерпретатор ответа
OnError — Установить обработчик ошибок
GetError — Дать номер ошибки
FreeMemory — Освободить память
В запросе aiGetType в переменной TypeId возвращается значение одной из предопределенных констант, перечисленных в табл. 30.
При исполнении запроса aiSetData генерируется запрос SetEstIntParameters к компоненте оценка. Аргументы генерируемого запроса совпадают с аргументами исполняемого запроса
Ошибки компонента интерпретатор ответа
В табл. 31 приведен полный список ошибок, которые могут возникать при выполнении запросов компонентом интерпретатор ответа, и действия стандартного обработчика ошибок.
Таблица 31. Ошибки компонента интерпретатор ответа и действия стандартного обработчика ошибок.
№ Название ошибки Стандартная обработка 501 Неверное имя интерпретатора ответа Занесение номера в Error 502 Ошибка считывания интерпретатора ответа Занесение номера в Error 503 Ошибка сохранения интерпретатора ответа Занесение номера в Error 504 Ошибка интерпретации Занесение номера в ErrorСтандарт первого уровня компонента оценка
Данный раздел посвящен описанию стандарта хранения на диске описания компонента оценка. Построение оценки происходит в редакторе оценок. В данном стандарте предлагается ограничиться рассмотрением только локальных оценок, поскольку использование нелокальных (глобальных) оценок сильно усложняет компонент оценка, а область применения нелокальных оценок узка по сравнению с локальными оценками.
Оценка всегда является составной, даже если ответом сети является одна величина. В состав этого объекта входят частные оценки. Кроме того, в описание оценки включаются правила распределения выходных сигналов сети между частными оценками и расположения оценок, вычисляемых частными оценками, в едином массиве оценок. Кроме того, различные частные оценки могут иметь разную значимость. В этом случае общая оценка определяется как сумма частных оценок с весами, задающими значимость.
Таким образом, оценка при выполнении запроса на оценивание массива выходных сигналов сети получает на входе массив выходных сигналов сети, массив правильных ответов и массив их достоверностей, а возвращает два массива — массив оценок и массив производных оценки по выходным сигналам сети — и величину суммарной оценки. Возможны два режима оценивания: оценивание без вычисления массива производных оценки по выходным сигналам сети, и оценивание с вычислением массива производных.
Каждая частная оценка получает на входе свой массив сигналов (возможно из одного элемента), правильный ответ и его достоверность, а на выходе вычисляет оценку и, при необходимости, массив производных оценки по выходным сигналам сети.