Учебное пособие по курсу «Нейроинформатика»
Шрифт:
Рисунок. Поля типа рисунок предназначены для хранения графической информации. Первые семь байт поля имеют смысл, приведенный в табл. 19. В таблице принято обозначение Б1 — величина, хранящаяся в первом байте, Б2 — во втором и т. д. Рисунок разворачивается по строкам, начиная с левого верхнего угла, в непрерывный массив, размером (Б2*256+Б1)(Б4*256+Б3).
Если число цветов равно единице (черно-белое изображение), то каждый следующий байт содержит восемь пикселей изображения. Самый младший бит восьмого байта соответствует левому верхнему пикселю рисунка. Если число цветов равно трем, то каждый байт, начиная с восьмого, содержит информацию о четырех пикселях. Младшие
Альтернативный способ записи рисунка. Предложенный выше способ хорош своей простотой и плох большим объемом данных. Большинство графических форматов файлов (например gif) обеспечивают высокую степень компрессии графической информации. Для использования этой возможности при записи поля графической информации на диск предлагается альтернативный формат. В этом формате первые два байта должны быть нулевыми. Поскольку в основном формате записи рисунков эти два байта формировали размер рисунка по горизонтали, нулевая ширина рисунка служит признаком использования альтернативного формата. Следующие пять байт хранят ascii коды типа графического формата. Используются коды заглавных букв латинского алфавита. Если тип графического стандарта содержит менее пяти символов (pcx, gif), то тип дополняется символами пробела справа. Следующие четыре байта, с восьмого по одиннадцатый, содержат число байт в графическом файле. Начиная с двенадцатого байта, идет информация, содержавшаяся в графическом файле.
Сопоставление элементов векторов правильных ответов, достоверности, вычисленных ответов, уверенности и оценки производится по следующему правилу. Первому полю типа правильный ответ соответствуют первое поле типа достоверность, первое поле типа вычисленный ответ, первое поле типа уверенность, первое поле типа оценка, второму — вторые и т. д.
В практике работы большинство таблиц данных не полны. То есть, часть данных в примерах задачника не известна. Задачник должен однозначно указать предобработчику неизвестные данные. Для этих целей для каждого типа входных данных определено специальное значение — неопределенное. Для передачи неизвестных значений используются следующие величины: 10– 40 для действительных чисел и 0 для всех типов качественных признаков.
В этом разделе приведено описания простого задачника для прогнозирования курса американского доллара к рублю. Задачник содержит три примера. В разделе описания данных вместо символа табуляции использован символ «®», а вместо символа конца абзаца — «¶».
Стандарт второго уровня компонента задачник
В этом разделе описаны все запросы компонента задачник в виде процедур и функций. При описании используется синтаксис языков Turbo Pascal и С. В Паскаль варианте приведены заголовки функций и процедур. В С варианте — прототипы функций. Большинство запросов, реализуется в виде функций, сообщающих о корректности завершения операции.
Предполагается возможность одновременной работы нескольких сеансов одного задачника. Например, допускается редактирование задачника и одновременное обучение сети по тому же задачнику.
Все запросы к компоненту задачник можно разбить на следующие группы.
1. Чтение и запись задачника.
2. Начало и конец сеанса.
3. Перемещение по примерам.
4. Определение, получение и изменение данных.
5. Окраска примеров.
6. Установление структуры Задачника.
7. Добавление и удаление примеров.
8. Обработка ошибок.
Чтение и запись задачника
К этой группе запросов относятся запросы, работающие со всем задачником в целом. Эти запросы считывают задачник, сохраняют задачник на диске или выгружают ранее считанный или созданный задачник.
Описание запроса:
Pascal:
C:
Описание аргумента:
CompName — указатель на строку символов, содержащую имя файла задачника.
Назначение — служит для считывания задачника.
Описание исполнения.
1. Если Error <> 0, то выполнение запроса прекращается.
2. Если в данный момент считан задачник, то генерируется запрос tbDelete. Если запрос tbDelete завершается неуспешно, то генерируется внутренняя ошибка 104 — попытка считывания задачника при открытых сеансах ранее считанного задачника. Управление передается обработчику ошибок. Выполнение запроса прекращается.