Введение
Часть 1. Характеристика задачи
1.1. Современные экспертные системы как ча-
сть искусственного интеллекта
1.2. Характеристика экспертных систем и их
недостатки
1.3. Постановка задачи
Часть 2. Выбор средств для решения задачи
2.1. Выбор аппаратных средств для проекти-
рования ЭС
2.2. Выбор программных средств для построе-
ния ЭС
2.3. Выбор дополнительных средств для раз-
работки
2.4. Выводы
Часть 3. Состав системы "Консультант", разра-
ботка ее компонентов
3.1. Структура и назначение системы
3.1.1. Назначение, логическая структура
и технические характеристики системы "Консультант"
3.1.2. Физическая (файловая) структура
системы "Консультант"
3.2. Информация, обрабатываемая в системе
3.2.1. Математическая модель информации в
в ЭС
3.2.2. Программная модель информации в
"Консультации"
3.3. Программная реализация составных час-
тей системы
3.3.1. Реализация интерфейса системы и
СУБЗ
3.3.2. Реализация редактора знаний
3.3.3. Реализация машины вывода
3.3.4. Реализация связи с другими програм-
мами
3.4. Программы, не входящие в комплект пос-
тавки
3.4.1. Создание и использование библиотек
(модулей)
3.4.2. Подготовка ресурсов
3.4.3. Организация поддержки длинных имен
баз знаний
3.5. Выводы
Часть 4. Методика работы в системе "Консуль-
тант"
4.1. Общие операции в системе
4.1.1. Установка и запуск системы
4.1.2. Выход из системы
4.1.3. Перемещение в системе, работа с ок-
нами
4.2. Консультация
4.3. Создание собственной базы знаний
4.4. Редактор баз знаний и управление ими
4.5. Утилиты
4.5.1. Утилита VIEWER.EXE
4.5.2. Утилита IMPORT.EXE
4.6. Выводы
Часть 5. Оценка затрат и эффективность исполь-
зования экспертной системы
5.1. Оценка затрат при создании системы
5.1.1. Затраты на аппаратную часть
5.1.2. Затраты на программное обеспечение
5.2. Эффективность системы "Консультант"
5.3. Оценка скорости создания базы знаний на
примере демонстрационной базы "Оценка продолжи-
тельности службы военнослужащего"
5.4. Выводы
Заключение
Приложения
Приложение 1. Тексты программ системы
1.1. Файл EXPERT.PAS
1.2. Файл MAIN.PAS
1.3. Файл SERVE.PAS
1.4. Файл M_VISUAL.PAS
1.5. Файл M_LIST.PAS
1.6. Файл утилиты VIEWER.PAS
1.7. Файл утилиты IMPORT.PAS
Приложение 2. Алгоритмы составных частей ЭС
2.1. Алгоритм работы машины вывода
2.2. Алгоритм работы редактора знаний
2.3. Алгоритм формирования целей
Приложение 3. Отображение экрана на различ-
ных этапах работы
3.1. Общий вид
3.2. Меню БАЗА
3.3. Меню СИСТЕМА подменю АРМ КОМАНДИРА
3.4. Окно создания новой базы
3.5. Окно установок редактора
3.6. Редактор объектов
3.7. Редактор значений
3.8. Редактор правил
3.9. Диспетчер редактора
3.10. Окно консультации
3.11. Окно вывода решения
3.12. Диспетчер вывода
3.13. Окно удаления базы
3.14. Окно переименования базы
3.15. Окно подтверждения выхода
Приложение 4. Демонстрационная база знаний
4.1. Листинг базы знаний
4.2. Протокол сеанса консультации
Литература
Введение
В настоящее время наблюдается бурный процесс информатизации наше-
го общества, то есть переход его от индустриального к информацион-
ному. Это значит, что в обществе решающую роль теперь играет информа-
ция. В нашей стране этот процесс весьма болезненный в силу сложивших-
ся обстоятельств: отставания в области информационных технологий, нес-
табильности экономики и засилья западной информационной техники на
отечественном рынке.
В Вооруженных Силах все проблемы информатизации особенно заметны.
Если большинство гражданских государственных учреждений имеют хорошо
оборудованные вычислительной техникой кабинеты, то в ВС это практичес-
ки невозможно из-за низкого их финансирования и отсутствия подготов-
ленного для работы на ВТ личного состава. Однако информатизация ВС не-
обходима; в военное время для проведения маневров и операций необходи-
мо обрабатывать гиганские объемы информации, в мирное количество ин-
формации практически такое же. Особенно острая проблема - информатиза-
ция труда командира. В современной армии командиру приходится иметь
дело с большим количеством документов и решать задачи, требующие поис-
ка решения из огромного количества вариантов, что отнимает большое ко-
личество времени. Поэтому необходимо автоматизировать труд не только
штабов и вычислительных центров, но и командиров.
Для обработки информации универсальным и недорогим средством явля-
ется персональный компьютер. Конечно, при решении некоторых задач
(расчет операций в современной войне, расчет прочности защитных соору-
жений и т. д.) персонального компьютера будет недостаточно из-за его
относительно малой скорости и малой емкости запоминающих устройств,
однако для нужд командира его характеристик вполне достаточно. ПК поз-
волит благодаря своей модульной архитектуре расширять его параметры в
случае необходимости, с помощью периферийных устройств обрабатывать
самую различную информацию.
Чаще всего командир не имеет навыков работы с персональным компью-
тером, поэтому для полноценной работы необходимо на базе ПК организо-
вывать так называемые автоматизированные рабочие места (АРМ) команди-
ров. В состав АРМ следует включить нужную для работы периферию, необ-
ходимое системное и прикладное по возможности простое в использовании
программное обеспечение (ПО). АРМ обеспечат быстрое обучение и успеш-
ную работу на них командного состава ВС.
?????????????
Часто во многих сферах человеческой деятельности возникают такие
задачи, для решения которых не существует строгих алгоритмов или мето-
дов. Их могут решить лишь эксперты в этих областях знаний. Как прави-
ло, такие задачи возникают в таких областях как диагностика, планиро-
вание, прогнозирование, обучение, моделирование и в таких сферах как
медицина, юриспруденция, различные отрасли науки и техники, экономи-
ка, экология и во многих других. Возникают такие задачи и военном де-
ле (диагностика аппаратуры, планирование рабочей недели, прогнозирова-
ние операции, обучение работе на аппаратуре и другие).
Для решения такого рода задач существуют специальные комплексы
программ - так называемые экспертные системы (ЭС). Они позволяют полу-
чать решения задач с нечеткой постановкой благодаря обрашению к специ-
альным базам знаний (БЗ), в которых содержатся сведения той области,
к которой принадлежит решаемая задача. Решения ЭС находят сами. Также
ЭС обычно позволяют экспертам создавать собственные БЗ, изменять или
дополнять уже существующие и управлять ими.
Как правило все ЭС, существующие на рынке ПО очень дороги. Следо-
вательно, в настоящее время Вс не смогут распространить в своей среде
ЭС, тем более, что наиболее эффективные ЭС требуют к тому же и доро-
гостоящего аппаратного обеспечения.
?????????????
В данном дипломном проекте сделана попытка разработать ЭС для ко-
мандира подразделения, входящую в состав пакета прикладного ПО АРМ ко-
мандира. Заодно, разрабатываемая ЭС должна разрешить такие проблемы,
как стоимость аппаратного и программного обеспечения (то есть, она
должна требовать минимум аппаратуры и специального ПО), быстродейст-
вия (должна быть полнофункциональной, но в то же время и быстрой) и
надежности (не должна давать сбоев в ходе работы). ЭС разрабатывается
в целях оказания помощи командиру в решении задач диагностики и обуче-
ния.
Разрабатываемая ЭС должна быть простой в обучении и проводить кон-
сультации в таких областях диагностики, как, например:
- диагностика аппаратуры;
- консультация по юридическим вопросам;
- проверка психологических и моральных качеств личного состава;
- оценка состояния боевой подготовки подчиненного подразделения;
- рекомендации в вопросах обучения личного состава;
- консультация в наиболее сложных ситуациях при эксплуатации
вооружения и военной техники;
и многих других.
Проектируемая ЭС не ставит цель заменить командира, а должна
стать его помощником в разрешении сложных задач, возникающих в его
повседневной деятельности.
Часть 1. ХАРАКТЕРИСТИКА ЗАДАЧИ
1.1. Современные экспертные системы как часть искуственного интел-
лекта.
Искуственный интеллект - наука о воссоздании с помощью искусствен-
ных устройств (в основном ЭВМ) человеческих способов рассуждения и ре-
шения задач. В наше время в ИИ выделилось множество самостоятельных
течений (схема N ). Однако следует сделать оговорку, что эта классифи-
кация в достаточной мере условна, поскольку возникают и такие пробле-
мы, решения которых возможны лишь на стыке нескольких направлений ИИ.
Сейчас на рынке программного обеспечения имеется достаточное коли-
чество систем ИИ. Среди них есть системы, обладающие достаточно разви-
той структурой. Наиболее развитой отраслью развития ИИ считаются экс-
пертные системы.
Таблица 1.
Примеры систем искусственного интеллекта
??????????????????????????????????????????????????????????????????????
? Система ? Область ИИ ? Назначение ?
??????????????????????????????????????????????????????????????????????
?ROBIN ?Стратегические ? Интеллектуальная программа для игр?
? ?игры ?типа шахмат. ?
?ALICE ?Информационно- ? Прооводит поиск в базах данных по ?
? ?поисковая систе- ?аналогии или дедукции. ?
? ?ма ? ?
?PEACE ?Решение задач ? Решает задачи по синтезу и анали- ?
? ? ?зу электросхем. ?
?RITA ?Представление ? Моделируетспособ выработки концеп-?
? ?знаний ?ций. ?
?MUSCADET ?Доказательство ? Доказывает теоремы из области ?
? ?теорем ?"чистой" математики. ?
?MYCIN ?Экспертная систе-? Диагностика и лечение инфекцион- ?
? ?ма ?ных заболеваний. ?
?ARGOS-II ?Роботехника ? Имитация принятия решений роботом.?
??????????????????????????????????????????????????????????????????????
Экспертная система представляет собой совокупность программ, пред-
назначенных для оказания помощи специалистам в одной конкретной пред-
метной области.
Любая ЭС структурно состоит из базы знаний и оболочки, в которую
входят интерфейс пользователя, машина вывода, иногда подсистема приоб-
ретения знаний, подсистема объяснений. Подсистема приобретения знаний
представляет собой как просто редактор знаний (это может быть либо
текстовый редактор либо специализированный редактор для заполнения ба-
зы знаний), так и сложная система автоматической генерации знаний
(например, в известной системе EURISCO).
Современные ЭС, как уже упоминалось ранее, часто решают проблемы
из других областей ИИ. Как правило, это задачи смежных областей - рас-
познавание образов, решение прикладных задач, роботехника, доказате-
льство теорем и других. Словом, ЭС представляют собой класс достаточ-
но развитых программ и решают задачи различных областей знаний.
1.2. Характеристика экспертных систем и их недостатки.
В настоящее время на рынке профессионального программного обеспе-
чения экспертные системы пользуются высоким спросом. Особенно популяр-
ны системы технической и медицинской диагностики, планирования и моде-
лирования.
Таблица 2.
Наиболее известные оболочки экспертных систем.
??????????????????????????????????????????????????????????????????????
? Система ? Разработчик ? Назначение ?
??????????????????????????????????????????????????????????????????????
?Advisor ?Ultimate Media Inc? Обучение. ?
?Duck ?Smart System Tech-? Организационное управление. ?
? ?nology ? ?
?Expert-Ease ?Jeffrey Perrone ? Разработка небольших ЭС. ?
?INSIGHT-2 ?Level 5 Research ? Обучение. ?
?Knowledge ?Carnegie Group Inc? Управление производством. ?
?Craft ? ? ?
?Rule-Master ?Radian Corporation? Диагностика, управление, страхо-?
? ? ?вание, военное дело. ?
?TIMM ?General Research ? Помощь пилоту вертолета во время?
? ? ?боя. ?
?DEM ?ВИНТИ им. Финна ? Фармакология, экология, техниче-?
? ? ?ская диагностика. ?
?АРИАДНА ?НИИ системных ис- ? Разработка больших ЭС. ?
? ?следований ? ?
?ПиЭС ?ВЦ АН СССР ? Проектирование ЭС. ?
?СПЭИС ?НИИ системных ис- ? Создание ЭС, обрабатывающих ин- ?
? ?следований ?формацию разного рода. ?
??????????????????????????????????????????????????????????????????????
Таблица 3.
Коммерческие экспертные системы.
??????????????????????????????????????????????????????????????????????
? Система ? Разработчик ? Область приложений ?
??????????????????????????????????????????????????????????????????????
?Dendral ?Stanford Universi-? Масспектрометрия в органической ?
? ?ty ?химии. ?
?Drilling Advi- ?Teknowledge ? Диагностика технических систем. ?
?sor ? ? ?
?Hearsay-2 ?Carnegie-Mellon ? Понимание речи. ?
? ?University ? ?
?Prospector ?SRI International ? Геология. ?
?PUFF ?Stanford Universi-? Лечение легочных заболеваний. ?
? ?ty ? ?
?XCON ?Carnegie-Mellon ? Определение конфигурации ком- ?
? ?University ?пьютерных систем. ?
??????????????????????????????????????????????????????????????????????
Таким образом, выбор экспертных систем достаточно широк. В послед-
нее время в связи с распространением персональных компьютеров появля-
ется множество ЭС для них. Зачастую ЭС для ПК не уступают по своим ха-
рактеристикам системам, разработанным для больших ЭВМ. Так, например,
система ЭКОНЭКС, созданная в Центре Информатики и Электроники им. По-
пова, включает в себя возможности преобразования знаний из одной ст-
руктуры в другую, поддерживает иерархию знаний, обрабатывает непол-
ные, недостоверные и противоречивые знания, содержит блок проверки ис-
тинности. Система реализована и используется на персональных компьюте-
рах типа IBM. Следует учитывать, что ПК обладают относительно неболь-
шой памятью и быстродействием, следовательно, их нельзя применять в
таких областях, где необходима обработка большого количества информа-
ции. ЭС для ПК могут эффективно использоваться в таких областях, как:
- задачи оптимизации;
- анализ вариантов телефонных сетей;
- диагностика отказов автоматики;
- определение конфигурации компьютерных систем;
- прогноз погоды;
- обеспечение безопасности;
- анализ отчетов о командировках для получения обощенных выводов;
- разработка стратегий операций.
Однако, несмотря на распространенность, все вышеперечисленные ЭС
в основном обладают некоторыми общими недостатками:
- низкоразвитый интерфейс;
- необходимость знания специальных языков представления знаний;
- большие размеры;
- низкое быстродействие;
- не развиты связи с другими программами;
- нет средств быстрой смены баз знаний;
- высокая стоимость.
Отсюда следует, что ни одна из приведенных выше оболочек ЭС не мо-
жет быть эффективно использована в Вооруженных Силах, где большую
роль играют в основном быстродействие, интерфейс и стоимость. Совре-
менные ЭС также требуют больших машинных ресурсов, а именно - памяти,
как оперативной, так и памяти жесткого диска. Следовательно, нужна но-
вая эффективная оболочка ЭС, ориентированная на потребности ВС.
1.3. Постановка задачи.
В ВС часто возникают задачи, которые требуют знаний экспертов и
которые не могут быть решены стандартными способами.
Таблица 4.
Критерии применимости экспертных систем.
??????????????????????????????????????????????????????????????????????
? Применимы ? Неприменимы ?
??????????????????????????????????????????????????????????????????????
? Не могут быть строгие алгоритмы ? Имеются эффективные алгоритми- ?
?или процедуры, но существуют эври-?ческие методы. ?
?стические методы решения. ? ?
??????????????????????????????????????????????????????????????????????
? Есть эксперты, способные решить ? Отсутствуют эксперты или их чис-?
?задачу. ?ло недостаточно. ?
??????????????????????????????????????????????????????????????????????
? По своему характеру задачи отно- ? Задачи носят вычислительный ха- ?
?сятся к области диагностики, ин- ?рактер. ?
?терпретации или прогнозирования. ? ?
??????????????????????????????????????????????????????????????????????
? Доступные данные "зашумлены". ? Известны точные данные и строгие?
? ?процедуры. ?
??????????????????????????????????????????????????????????????????????
? Задачи решаются методом формаль- ? Задачи решаются процедурными ме-?
?ных рассуждений. ?тодами, с помощью аналогии или ?
? ?интуитивно. ?
??????????????????????????????????????????????????????????????????????
? Знания статичны (неизменны). ? Знания динамичны (меняются со ?
? ?временем). ?
??????????????????????????????????????????????????????????????????????
Вот лишь некоторые из обычных повседневных задач возникающих в
ВС, которые могут быть решены с помощью ЭС:
- составление расписаний занятий;
- диагностика аппаратуры;
- юридические консультации;
- планирование тактических операций;
- метеопрогнозы;
- обеспечение безопасности;
- анализ документов (отчетов);
- управление подразделением;
- обучение личного состава;
- медицинскоя диагностика.
По ранее указанным причинам, коммерческие ЭС не могут быть приме-
нены. Требуется система, обладающая следующими свойствами:
1) Высокое быстродействие.
2) Высокая надежность.
3) Простой в освоении интерфейс.
4) Низкая стоимость.
5) Низкая требовательность к машинным ресурсам.
6) Простота представления знаний.
Такая система бубет полностью удовлетворять нужды ВС.
Часть 2. Выбор средств для решения задачи
В своей повседневной деятельности командиру часто приходится стал-
киваться с различного рода информацией, необходимой ему в ходе рабо-
ты. Чаще всего это текстовая (план-конспекты, рапорта, инструкции),
графическая (схемы, планы, графики, диаграммы) и табличная (ведомос-
ти, план-задания) информация. Процесс ее обработки можно ускорить с
созданием так называемых автоматизированных рабочих мест командира.
Однако у командира возникают задачи другого рода, такие как, нап-
ример, диагностика аппаратуры, планирование рабочей недели, управле-
ние различного рода работами, анализ состояния воинской дисциплины и
много других, для решения которых нужна специальные программы - экс-
пертные системы. Для того, чтобы облегчить процесс решения такого ро-
да задач, следует в пакет прикладных программ для АРМ командира вклю-
чить и систему обработки знаний (ЭС).
Для разработки и последующего нормального функционирования проек-
тируемой ЭС для АРМ необходимы следующие аппаратные и программные
средства.
2.1. Выбор аппаратных средств для проектирования ЭС.
Чтобы создать ЭС с указанными ранее свойствами, необходимы следую-
щие требования к аппаратной части (указаны минимальные требования):
- персональный IBM-совместимый компьютер типа ЕС 1841 (желателен
компьютер IBM с процессором Intel 80386SX или выше);
- ОЗУ не менее 128 Кб (желательно - 640 Кб или выше);
- жесткий диск объемом не менее 10Мб (желателен - 120Мб и выше);
- видеокарта 128 Кб, EGA 14" (желательно - VGA или выше);
- манипулятор "мышь" (необязательно).
Аппаратных средств с такими требованиями вполне достаточно для
создания полнофункциональной ЭС, отвечающей всем ранее установленным
требованиям.
Персональный компьютер выбран как универсальное средво обработки
информации. Из всего многообразия персональных компьютеров выбор оста-
новлен именно на IBM-совместимых компьютерах, поскольку эти машины на-
иболее распространены в нашей стране, они обладают хорошими характе-
ристиками: модульно-магистральная архитектура, довольно высокая ско-
рость работы, распространенность программного обеспечения для этих
компьютеров и относительно низкая стоимость. Требования к ОЗУ и "вин-
честеру" обусловлены лишь требованиями программного обеспечения, необ-
ходимого для создания и реализации ЭС. Монитор желателен цветной, пос-
кольку часть обрабатываемой информации в проектируемой системе должна
выделяться цветом (на монохромном дисплее можно и не заметить разли-
чия в цвете различных компонентов ЭС). Хотя "мышь" и не обязательна
для разработки ЭС, ее желательно иметь, потому что создаваемая экспе-
ртная система ориентирована на "среднего" пользователя, среди которых
в последнее время "мышь" находит все большее распространение и в про-
цессе разработки ЭС может понадобиться проследить за реакцией курсора
"мыши".
2.2. Выбор программных средств для построения ЭС
В процессе создания ЭС потребуются следующие программные средства:
- операционная система (ОС), совместимая с MS-DOS (желательна
MS-DOS 6.2 и оболочка Norton Commander);
- операционная оболочка Windows 3.x (необязательна);
- система программирования Турбо-Паскаль 6.0 с библиотекой Turbo-
Vision 1.0.
Операционная система выбрана только исходя из вопросов распростра-
ненности, поскольку на IBM-совместимых компьютерах используются, как
правило, именно указанные ОС (MS-DOS, PC-DOS, DR-DOS, Альфа-ДОС).
Norton Commander желателен для удобства работы в среде MS-DOS. Поско-
льку проектируется система, совместимая в Windows, эта операционная
оболочка может тоже понадобиться при разработке для проверки совмести-
мости и установки связей между ними.
Из всех существующих ныне систем программирования выбран именно
Турбо-Паскаль по следующим причинам:
1) По сравнению с другими языками программирования, которые обыч-
но используются для создания систем искусственного интеллекта (LISP,
PROLOG, SMALLTALK), язык Паскаль проще в изучении; программы на Паска-
ле более читаемы.
2) От других обычных современных языков программирования (C++,
BASIC,MODULA 2,SIMULA) Паскаль отличается высокой структурированнос-
тью (а большинство из перечисленных языков - строчно-ориентированы).
3) Язык Паскаль обладает большим количеством типов данных, кото-
рых нет ни в одном языке программирования (такие структуры, как мно-
жества, записи).
4) В Паскале имеются средства работы с динамической памятью (в
паскале она называется "кучей") и возможность работы не только с типа-
ми данных, но и указателями на типы.
5) Паскаль обладает удобными средствами для работы со списками.
6) В системе Турбо-Паскаль 6.0 имеется объектно-ориентированная
библиотека Turbo-Vision, включающая в свой состав объекты для созда-
ния стандартного диалога с пользователем.
7) В Turbo-Vision имеется инструментарий, расширяющий возможности
как стандартного Паскаля, так и файловой структуры компьютера вообще
(коллекции, ресурсы, потоки).
8) В Турбо-Паскале очень удобная среда (интерфейс) и самый быст-
рый из всех систем программирования компилятор.
2.3. Выбор дополнительных средств для разработки
Проектируемая оболочка для ЭС должна представлять интегрированную
среду. Не выходя из среды ЭС, пользователь должен иметь доступ к дру-
гим программным или аппаратным средствам. Поэтому для отладки проце-
дур работы с этими средствами, при разработке системы желательно
иметь:
- принтер (для контроля создания процедур управления печатью);
- накопитель на флоппи-дисках 3,5" (для проверки переносимости
проектируемой системы) и сами дискеты;
- приложения пакета "АРМ командира" (для установки связи создавае-
мой ЭС с ними).
Кроме того для удобной и надежной работы следует иметь:
- пакет Norton Utilities (для повышения надежности работы компью-
тера);
- программу-антивирус типа Dr.Web, Adinf или Антивир (для защиты
разрабатываемой ЭС и других программ от вирусов;
- одну-две дискеты 3,5" (для создания резервных копий ЭС в качест-
ве защиты от несанкционированных случаев).
2.4. Выводы.
Итак, выбор аппаратных и программных средств сделан. Анализируя
сделанное, можно заметить такие характерные черты выбранных средств:
1) Разрабатываемая система имеет низкие требования к техническим
характеристикам аппаратного обеспечения.
2) Требуемое программное обеспечение достаточно распространено.
3) Программное обеспечение надежно, просто в обращении.
Таким образом, выбранное программное обеспечение полностью удов-
летворяет поставленным требованиям.
Часть 3. Состав системы "Консультант", разработка ее компонентов
3.1. Структура и назначение системы
3.1.1. Назначение, логическая структура и технические характерис-
тики системы "Консультант"
Система "Консультант" предназначена для проведения консультаций с
использованием баз знаний, а также для создания новых баз знаний,
просмотра и редактирования уже имеющихся и управления ими.
"Консультант" (далее по тексту просто "система") требует следую-
щих ресурсов:
- объем на жестком диске не менее 350 Кб,
- объем оперативной памяти не менее 128 Кб,
- компьютер IBM-совместимый не ниже ЕС 1841,
- операционная система типа DOS (MS-DOS,PC_DOS и им подобные),
- желательно наличие мыши.
система состоит из:
- интерфейса пользователя;
- системы управления базами знаний (СУБЗ);
- банка знаний (комплекса баз знаний);
- машины вывода;
- системы приобретения знаний (редактора знаний);
- системы объяснения (логически соединенной с машиной вывода).
3.1.2. Физическая (файловая) структура системы "Консультант"
Файловую структуру системы можно условно разделить на следующие
части:
- собственно ЭС (файлы, входящие в комплект поставки);
- вспомогательные программы (не входящие в комплект ЭС);
- исходные файлы программ (тексты программ на языке Паскаль);
- файлы пользователя (возникающие в ходе работы).
В состав ЭС входят следующие файлы:
1) START.BAT - запускающий файл системы. Вначале вызывает файл
SERVE.EXE, производящий начальные установки системы, затем запускает
EXPERT.EXE;
2) SERVE.EXE - производит установку запускающих ключей в файл
SERVE.KEY;
3) SERVE.KEY - установочный файл системы;
4) EXPERT.EXE - главный файл системы "Консультант". Содержит про-
цедуры вызова видимых компонентов системы из файла ресурсов EXPERT.
AIR, процедуры динамической подзагрузки библиотечных переменных, конс-
тант, типов данных и функций из стандартных и созданных вспомогатель-
ных библиотек (модулей), содержащихся в упакованном виде в файле
EXPERT.OVR;
5) EXPERT.AIR - файл ресурсов системы. Содержит все видимые компо-
ненты системы в собственном внутреннем представлении. Компоненты рас-
паковываются и извлекаются из файла по командам основной программы
(файла EXPERT.EXE);
6) EXPERT.OVR - оверлейный файл системы. Содержит библиотеки
объектов, команд, регистрационных записей объектов, процедур и функ-
ций, переменных и констант в упакованном виде. Служит для экономии
оперативной памяти;
7) EXPERT.BLC - содержит список имен баз знаний (банк знаний).
Вспомогательные файлы выполняют свои функции в процессе создания
ЭС. После они обычно уничтожаются. При создании "Консультанта" были
созданы следующие вспомогательные файлы:
1) MAIN.TPU - библиотечный модуль. Содержит основные компоненты
системы; при компиляции упаковывается в expert.ovr вместе с другими
стандартными (такими, как SYSTEM.TPU, APP.TPU, COLORSEL.TPU, OBJECTS.
TPU и другими) и демонстрационными (например, CALENDAR.TPU, CALC.TPU,
GAUGES.TPU и другими) модулями;
2) M_VISUAL.EXE - файл, создающий видимые объекты системы (окна,
меню, строку статуса, полосы скроллинга и другие) и записывающий их
указатели в файл EXPERT.AIR;
3) M_LIST.EXE - создает пустой список имен БЗ и помещает его в
файл EXPERT.BLC.
Следующие файлы - тексты программ и модулей на языке Паскаль:
1) EXPERT.PAS - текст основной управляющей программы системы. При
компиляции из него образуется два файла: EXPERT.EXE и EXPERT.OVR;
2) SERVE.PAS - текст установочной программы. Компилируется в файл
SERVE.EXE;
3) MAIN.PAS - текст модуля, описывающего созданные для нужд систе-
мы библиотеки. Компилируется в файл MAIN.TPU;
4) M_VISUAL.PAS - текст программы создания ресурсов. При компиля-
ции образует файл M_VISUAL.EXE;
5) M_LIST.PAS - текст программы, создающей файл EXPERT.BLC и поме-
щающей в нее список банка знаний. При компиляции создает файл M_
LIST.EXE.
При работе пользователь может, не выходя из системы, создавать
два вида файлов:
1) *.PRO - файлы, содержащие базы знаний в виде ресурсов. Первый
ресурс в файле - база фактов (данных), записывается под ключом 'Дан-
ные '+ . Второй ресурс - база правил, записывается в тот же
файл под ключом 'Правила '+ . Имена файлов присваиваются
системой автоматически по принципу 'base'+ +'.
pro' и привязываются к реальным именам БЗ в списке баз файла expert.
blc;
2) *.REP - файлы, содержащие протоколы проведения консультаций.
После проведения консультации система, по просьбе пользователя, может
создать протокол и затем сохранить его на диске, записав его в файл,
которому автоматически присвоит имя + + + поряд-
ковый номер протокола на данные сутки.
3.2. Информация, обрабатываемая в системе
3.2.1. Математическая модель информации в ЭС
База знаний представляет собой два множества: множество фактов {
f} и множество правил {r }, где n - общее количество фактов, m - об-
щее количество правил. Множество {f} можно представить в виде:
{f }={a ,q ,{v }}
где a - объект i-го факта, q - вопрос i-го факта, {v } - множество
значений i-го факта, l - количество значений в i-м факте. Множество
правил формируется таким образом:
так как v ={s,m,c }, где m,c Е{0,1} и для j-го правила имеем
следующую цепь преобразований:
если m =1, то s =l и если c =1, то c =1.
Таким образом, имеем сформированное множество правил.
3.2.2. Программная модель информации в "Консультанте"
База фактов и база правил представляют собой указатели на объекты
-потомки, порожденные от стандартного объекта - коллекции из библиоте-
ки Turbo-Vision:
TCOLLECTION???????TDATABASE
????TRULEBASE
В коллекцию базы данных записываются факты, представляющие собой
также объекты-потомки от коллекции Turbo-Vision:
TCOLLECTION????????TFACT
Объект-потомок отличается от родителя наличием двух полей:
ATRIBUT - объект и QUESTION - вопрос. В коллекцию факта записываются
указатели на значения объекта. В объекте TFACT также перекрываются
два метода: конструктор LOAD и процедура STORE, позволяющие теперь
сохранить в потоке, кроме коллекции значений, еще и новые поля.
В свою очередь, значение - это потомок от базового объекта всей
иерархии стандартных объектов Turbo-Vision:
TOBJECT???????TVALUE
Этот потомок отличается от своего родителя тремя новыми полями:
SLOT - собственно значение (в виде строки), MARK - служебное поле,
применяющееся при создании базы правил и CON - поле-признак того, что
данное значение является заключением.
Такова структура базы фактов. В базу правил же записываются прави-
ла, каждое из которых представляет собой коллекцию, в свою очередь
каждый элемент которой - элемент правила. Элемент правила порожден от
TOBJECT и имеет следующие поля и методы:
- поле SLOT - номер помеченного в поле MARK значения;
- поле CON - поле-метка для определения предпосылки или заключе-
ния;
- метод LOAD - конструктор для загрузки данного объекта из потока;
- метод STORE - процедура для сохранения объекта в потоке.
Следует отметить, что каждый из этих объектов имеет методы LOAD и
STORE, поскольку предполагается, что БЗ будет сохранена в файле ресур-
сов, который представляет собой индексированный поток (поток с произ-
вольным доступом к объектам по ключам).
3.3. Программная реализация составных частей системы
3.3.1. Реализация интерфейса системы и СУБЗ
Интерфейс системы создается следующим образом. Объявляется объект
TEXPERT - потомок от стандартного объекта из библиотеки Turbo-Vision
TAPPLICATION, в котором уже содержатся такие необходимые компоненты
любой программы (приложения), как вывод строк меню и статуса, рабочей
поверхности, поддержка мыши и команды "Выход". Потомок перекрывает та-
кие методы TAPPLICATION, как INITSTATUSLINE для создания собственной
строки статуса, INITMENUBAR - для создания собственной строки "выпада-
ющих" меню, RUN - для вывода на рабочую поверхность окна банка знаний
и установки новой палитры, INIT - для подключения к системе ресурсов
(то есть инициализации файлов EXPERT.AIR и EXPERT.BLC) и регистрации
объектов в этих ресурсах, HANDLEEVENT - для обработки нестандартных
команд.
Главное (верхнее) меню системы имеет следующую структуру (см.рис.
1).
СИСТЕМА БАЗА
??????????????? ????????????????
? ПАУЗА ? ? ОТКРЫТЬ ?
? MS-DOS ? ? НОВАЯ ?
? О ПРОГРАММЕ ? ? ПЕРЕИМЕНОВАТЬ?
? ВЫХОД ? ? РЕДАКТИРОВАТЬ?
??????????????? ? УДАЛИТЬ ?
????????????????
ОКНА СЕРВИС
?????????????? ???????????????
? РАСПАХНУТЬ ? ? ПАРОЛЬ ?
? ДВИЖЕНИЕ ? ? КАЛЕНДАРЬ ?
? ЗАКРЫТЬ ? ? КАЛЬКУЛЯТОР ?
? СЛЕДУЮЩЕЕ ? ? ИГРА ?
? ПРЕДЫДУЩЕЕ ? ???????????????
??????????????
Рисунок 1. Структура меню "Консультанта"
Меню СИСТЕМА содержит наиболее общие опции работы в системе, БАЗА
- операции управления базами знаний, ОКНА - операции над окнами, нахо-
дящимися на рабочей поверхности, СЕРВИС - некоторые инструментальные
средства, упрощающие работу пользователя в системе. Каждая операция
меню программно связана с командой, которая затем обрабатывается в ме-
тоде HANDLEEVENT. Так, например, операция НОВАЯ связана с командой
CMNEW. Процедура - обработчик событий HANDLEEVENT содержит строку:
... CMNEW:NEWBASE ... ,
которая означает, что при поступлении этой команды (событие - вы-
бор операции подсвеченной полосой или двойной щелчок "мышью") обработ-
чик запускает процедуру с именем NEWBASE, которая вызывает из файла
ресурсов окно создания базы (объект TNEWWINDOW), считывает из строки
ввода введенное имя базы, записывает его в файл EXPERT.BLC, создает
на диске новый файл с расширением "PRO", связывает его имя с именем
базы и затем уничтожает окно TNEWWINDOW на экране.
Ниже приводится список всех операций, и, минуя команды, процеду-
ры, с которыми связаны эти операции через обработчик событий:
- ПАУЗА, процедура PAUSE (осуществляет гашение экрана на время от-
лучения пользователя);
- MS-DOS, процедура DOSCALL (осуществляет временный выход в DOS и
возврат в систему по команде EXIT);
- О ПРОГРАММЕ, процедура ABOUT (вызывает из файла ресурсов окно с
краткими сведениями о данной программе);
- ВЫХОД, стандартная команда Turbo-Vision;
- ОТКРЫТЬ, процедура OPENBASE (ищет на диске файл, связанный с
именем выбранной для открытия (работы) базы, извлекает из файла базу
знаний и вызывает основную процедуру машины вывода OUTPUTMACHINE из
файла EXPERT.OVR);
- НОВАЯ, см. выше;
- ПЕРЕИМЕНОВАТЬ, процедура RENAMEBASE (удаляет имя активной базы
из списка баз файла EXPERT.BLC, извлекает из файла ресурсов окно пере-
именования, считывает из строки ввода окна новое имя, записывает его
в EXPERT.BLC и связывает это имя с базой);
- РЕДАКТИРОВАТЬ, процедура EDITING (для активной базы считывает
из из файла ресурсов диалоговое окно установок редактора, запрещает
все команды пользователя до получения установок из данного окна или
команды на его отмену);
- УДАЛИТЬ, процедура ERASEBASE (после второго подверждения пользо-
вателя о его окончательном решении удаляет имя активной базы из спис-
ка имен баз файла EXPERT.BLC, затем уничтожает связанный с этим име-
нем файл БЗ на диске);
- операции меню ОКНА, стандартные процедуры работы с окнами библи-
отеки Turbo-Vision;
- ПАРОЛЬ, процедура PAROLE (устанавливает на выбранную базу па-
роль для защиты ее от других пользователей;
- КАЛЕНДАРЬ, процедура EXPCALEND (вызывает из файла ресурсов окно
календаря);
- КАЛЬКУЛЯТОР, процедура EXPCALC (извлекает из файла ресурсов ок-
но калькулятора);
- ИГРА, процедура EXPGAME (выводит окно игры-головоломки на эк-
ран, предварительно считав его из файла ресурсов системы EXPERT.AIR).
Все данные процедуры инкапсулированы в объект TEXPERT, то есть
объявлены как его методы.
В строке статуса содержатся наиболее часто используемые команды
(операции) и их "горячие" клавиши. Описание этих команд приводится вы-
ше, исключение составляет команда МЕНЮ, активизирующая строку верхне-
го меню - это стандартная команда Turbo-Vision.
Рабочая поверхность представляет собой окно со списком имен БЗ, в
котором одна в данный момент времени активна. На экран окно выводится
процедурой DRAWBANKLIST, которая вызывается непосредственно из проце-
дуры TEXPERT.RUN и, в свою очередь, вызывает из файла ресурсов окно
банка знаний, вставляет в него список имен БЗ из файла EXPERT.BLC.
Таблица 5.
Новые или перекрытые методы объекта TEXPERT
??????????????????????????????????????????????????????????????????????
? Метод ? Назначение метода ?
??????????????????????????????????????????????????????????????????????
?INIT ?Вывод оболочки системы на