Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания к лабораторным работам.doc
Скачиваний:
75
Добавлен:
07.06.2015
Размер:
3 Мб
Скачать
☆

2. Редактор базы знаний.

Для создания и редактирования файлов формул и таблиц, требуемых для работы экспертной системы, используется Редактор базы знаний, входящий в состав ТЕСНСАRD. Файлы формул и таблиц находятся внутри базы данных.

Рис.6 Главное окно Редактора базы знаний.

Редактор базы знаний представляет собой программу с мультидокументным интерфейсом (МD1), то есть окна редакторов файлов формул и таблиц будут находиться внутри главного окна.

Главное окно в верхней части содержит главное меню и панель кнопок, в нижней части находится строка состояния. Главное меню содержит команды для манипулирования файлами формул/таблиц, взятия файлов на редактирование или для просмотра, привязки к видам производства и т.д. При редактировании содержимого файлов формул и таблиц в главном окне будут появляться окна редакторов формул и таблиц, а в главное меню добавятся соответствующие контексту пункты меню. Строка состояния содержит информацию об активном виде производства и имени активного пользователя. Внутри главного окна выводится список файлов формул и таблиц, взятых на изменение активным (текущим) пользователем. Содержимое этого окна соответствует рабочему столу пользователя.

Рабочий стол представляет собой папку на жестком диске, которую система ТЕСНСАRD использует для хранения взятых на изменение файлов, то есть для хранения физических копий хранящихся в базе данных файлов. Копии могут быть изменены и затем помещены обратно в базу поверх оригиналов. В этом окне выводится список взятых на изменение текущим пользователем файлов формул и таблиц. Если ранее файл был взят на изменение тем же пользователем на другой машине, то в списке файлов, находящихся на рабочем столе, для соответствующего файла будет указано, что "физическая копия отсутствует". Команды, предоставляемые окном "Рабочий стол", указываются нажатием на соответствующие кнопки кнопочной панели, курсор предварительно должен быть установлен на нужную строку списка.

Вызов редактора для взятых на изменение файлов выполняется после нажатия кнопки "Изменить" . Для файла формул будет вызван редактор формул, для файла таблиц - редактор таблиц. Возврат измененного файла в базу с сохранением изменений происходит при нажатии кнопки "Вернуть в базу", файл при этом убирается с рабочего стола. Удаление взятого на изменение файла без сохранения в базе сделанных изменений выполняется с помощью кнопки "Удалить рабочую копию".

2.1 Работа с формулами

. Для создания и редактирования формул используется Редактор формул, входящий в Редактор базы знаний. Файлы формул, с которыми работает редактор, имеют расширение .ТСF (ТЕСНСАRD Formulas). Формулы, относящиеся к одной и той же теме, целесообразно сохранять в одном файле формул. Редактор формул позволяет: создавать и сопровождать файлы формул; вводить и редактировать формулы; проверять правильность вычисления введенных формул.

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

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

В иерархии формул могут присутствовать папки двух типов: наборы и группы наборов. Группы наборов - это фиктивные папки, которые служат для сведения формул в единую иерархию. Наборы не могут включать в себя другие группы и наборы. Каждый набор связывается с понятием и может содержать в себе одну или несколько формул. В одном файле формул может быть несколько наборов с одинаковыми именами. Имя набора определяется именем понятия.

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

Условие - формула, представляющая собой логическое выражение. Пример условия: (КПЕР=704 и КОСН=324) или (КПЕР=590 и КОСН=406). Пример формулы: i*((ДЛИН/(1000*V))+(ДЛИН/(1000*Vобр))).

Редактор формул поддерживает четыре типа данных: целый тип, с плавающей точкой, строковый, логический. Первые два типа числовые.

Переменная или константа целого типа может принимать целые значения в диапазоне от -2147483648 до 2147483647. Переменная или константа типа с плавающей точкой может принимать значения в диапазоне от -2.9410-39 до 1.741038 с 10 значимыми цифрами после точки. Переменная или константа строкового типа может содержать последовательность любых символов общим количеством не более 255. Переменная или константа логического типа может принимать только два значения: ДА или НЕТ.

Выражение отношения - выражение вида (в.) (отн.) (в.), где (отн.) - одна из следующих операций отношения: >, <, =, , <=, >=. Все перечисленные операции отношения применимы к арифметическим выражениям, для строковых и логических выражений допускаются только операции отношения =, . Кроме того, в редакторе формул введена ещё одна специфическая операция {}, которая позволяет реализовать проверку на перечисление и принадлежность диапазону.

Существует специальная возможность редактора формул объединять в одной ( V ) формуле константы и переменные различных типов, то есть осуществлять приведение типов. Приведение типов осуществляется по первому операнду.

Пример 1. Формула Х+8, где X - переменная целого типа, 8 - переменная строкового типа. Если Х=1 и 8="5", то результат вычисления формулы 6.

Пример 2. Условие Х=8, где X - переменная целого типа, 8 - переменная строкового типа. Если Х=0 и 8="0.0", то результат вычисления условия ДА (8 переводится в целый тип; 8 и X сравниваются как числа).

Пример 3. Условие 8=Х, где X - переменная целого типа, 8 - переменная строкового типа. Если Х=0 и 8="0.0", то результат вычисления условия НЕТ (X переводится в строковый тип; 8 и X сравниваются как строки: "0""0.0").

Таблица 1.

Варианты перевода одного типа в другой

Если один тип не переводится в другой, то оба они являются несовместимыми.

Иногда при вычислении формул могут возникать ошибки во время выполнения, даже если формула определена правильно. Причиной такой ошибки могут быть неправильные значения переменных, входящих в эту формулу, неправильные аргументы арифметических операций и функций, выход значений переменных за границы, предусматриваемые типом переменной, и т.п. Например, выражение Х/У, где У=0, приведет к ошибке во время выполнения.

Меню редактора формул. При вызове редактора формул меню интегрируется в главное меню Редактора базы знаний. Добавляется два пункта "Формулы" и "Редактирование".

Пункт меню "Формулы" предоставляет следующие команды: найти, сохранить, закрыть, компилировать, параметры, сведения. Команда Компилировать распространяется на весь файл и позволяет перекомпилировать все формулы файла и условия к ним.

Команды пункта меню "Редактирование" позволяют влиять на структуру файла формул путем создания, изменения, удаления, копирования групп и наборов.

Кроме того, существует всплывающее меню; вызываемое при нажатии правой клавиши мыши. Всплывающее меню содержит команды Развернуть и Свернуть, влияющие на вид отображения структуры файла формул.

Работа с иерархией формул. Создание набора или группы наборов.

Для того, чтобы создать новый набор или группу, прежде всего необходимо выбрать место, на котором новый объект будет находиться. Для этого достаточно щелкнуть левой кнопкой мыши на том наборе или группе, которая находится непосредственно перед нужным местом. После этого требуется нажать одну из кнопок панели "Вставить" или "Добавить" (или выбрать соответствующую команду пункта Иерархия всплывающего или главного меню), в зависимости от того, как должен располагаться новый набор или группа по отношению к тому объекту, который только что был выбран. Кнопка "Вставить" сделает новый набор или группу дочерней по отношению к текущей группе. Кнопка "Добавить" поместит новый набор или группу на том же уровне, что и текущий набор или группа. После нажатия кнопки "Вставить" или "Добавить" в зависимости от того, создается группа наборов или набор, появится один из двух следующих диалогов: диалог изменения атрибутов группы набора, диалог изменения атрибутов набора, позволяющие вносить изменения. Если сделать двойной щелчок на наборе, то появится диалог отображения формул набора. Для добавления новой формулы необходимо нажать на кнопку “Добавить “ или “Изменить”, после чего откроется диалог редактирования формулы (рис.7). Ввод формулы производится поэлементно.

Рис.7 Редактирование формул.

Значения многих аргументов представляются кодами. Для их применения в TECHCARD существуют каталоги и справочники. Для внесения в формулу (условие) значений кодов из справочника, необходимо, чтобы курсор был установлен после операции отношения, а до операции отношения находился аргумент, который привязан к полю «Код» соответствующего каталога или справочника. Каталог- справочник вызывается кнопкой . Если коды были занесены ранее, то для изменения этих кодов необходимо установить курсор на один из кодов и вызвать справочник.