Рефераты. Функциональные модели универсального нейрокомпьютера

4.     Инициация редактора и конструктора интерпретатора ответа.

5.     Обработка ошибок.

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

В запросах второй и третьей группы при обращении к частным интерпретаторам используется следующий синтаксис:

<Полное имя частного интерпретатора> ::= <Имя интерпретатора>.

<Псевдоним частного интерпретатора> [[<Номер экземпляра>]]

При вызове ряда запросов используются предопределенные константы. Их значения приведены в табл. 1.

Таблица 1

Значения предопределенных констант компонентов интерпретатор ответа и оценка

Название

Величина

Значение

Empty

0

Интерпретирует один сигнал как действительное число.

Binary

1

Кодирование номером канала. Знаковый интерпретатор

Major

2

Кодирование номером канала. Максимальный интерпретатор.

BynaryCoded

3

Двоичный интерпретатор.

UserType

-1

Интерпретатор, определенный пользователем.

5.7.1.                       Запрос на интерпретацию

Единственный запрос первой группы выполняет основную функцию компонента интерпретатор ответа – интерпретирует массив сигналов.

5.7.1.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 – ошибка интерпретации. Управление передается обработчику ошибок. Выполнение запроса прекращается. В противном случае выполнение запроса успешно завершается.

5.7.2.                       Остальные запросы

Ниже приведен список запросов, исполнение которых описано в разделе «Запросы общие для всех компонентов»:

aiSetCurrent – Сделать интерпретатор ответа текущим

aiAdd – Добавление нового интерпретатора ответа

aiDelete – Удаление интерпретатора ответа

aiWrite – Запись интерпретатора ответа

aiGetStructNames – Вернуть имена частных интерпретаторов

aiGetType – Вернуть тип частного интерпретатора

aiGetData – Получить параметры частного интерпретатора

aiGetName – Получить имена параметров частного интерпретатора

aiSetData – Установить параметры частного интерпретатора

aiEdit – Редактировать интерпретатор ответа

OnError – Установить обработчик ошибок

GetError – Дать номер ошибки

FreeMemory – Освободить память

В запросе aiGetType в переменной TypeId возвращается значение одной из предопределенных констант, перечисленных в табл. 1.

При исполнении запроса aiSetData генерируется запрос SetEstIntParameters к компоненте оценка. Аргументы генерируемого запроса совпадают с аргументами исполняемого запроса

5.7.3.                       Ошибки компонента интерпретатор ответа

В табл. 2 приведен полный список ошибок, которые могут возникать при выполнении запросов компонентом интерпретатор ответа, и действия стандартного обработчика ошибок.

Таблица 2.

Ошибки компонента интерпретатор ответа и действия стандартного

обработчика ошибок.

Название ошибки

Стандартная обработка

501

Неверное имя интерпретатора ответа

Занесение номера в Error

502

Ошибка считывания интерпретатора ответа

Занесение номера в Error

503

Ошибка сохранения интерпретатора ответа

Занесение номера в Error

504

Ошибка интерпретации

Занесение номера в Error

5.8.                Запосы к компоненту оценка

Запросы к компоненте оценка можно разбить на пять групп:

1.     Оценивание.

2.     Изменение параметров.

3.     Работа со структурой.

4.     Инициация редактора и конструктора оценки.

5.     Обработка ошибок.

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

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

<Полное имя частной оценки> ::=

<Имя оценки>.<Псевдоним частной оценки> [[<Номер экземпляра>]]

При вызове ряда запросов используются предопределенные константы. Их значения приведены в табл. 1.

5.8.1.                       Запрос на оценивание

Единственный запрос первой группы выполняет основную функцию компонента оценка – вычисляет оценку и, если требуется, массив производных оценки по оцениваемым сигналам.

5.8.1.1.   Оценить массив сигналов (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.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.