Зміст.
Введення
Частина 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. Протокол сеансу консультації
Література
Введення
В даний час спостерігається бурхливий процес інформатизації наше-
го суспільства, тобто перехід його від індустріального до інформаційні
ному. Це означає, що в суспільстві вирішальну роль тепер грає інфор-
ція. У нашій країні цей процес дуже болісне чинності які склали-
ся обставин: відставання у галузі інформаційних технологій, ніс-
табільності економіки і засилля західної інформаційної техніки на
вітчизняному ринку.
У Збройних Силах всі проблеми інформатизації особливо помітні.
Якщо більшість цивільних державних установ мають добре
обладнані обчислювальною технікою кабінети, то у ЗС це практичної-
ки неможливо через низький їх фінансування та відсутності підготов-
ленного для роботи на ВТ особового складу. Однак інформатизація НД не-
хідно; у воєнний час для проведення маневрів і операцій необхід-
мо обробляти гігантського обсяги інформації, в мирний кількість ін-
формації практично така ж. Особливо гостра проблема - дер-
ція праці командира. У сучасній армії командиру доводиться мати
справу з великою кількістю документів і вирішувати завдання, що потребують поіс-
ка рішення з величезної кількості варіантів, що віднімає велику ко-
лічество часу. Тому необхідно автоматизувати працю не тільки
штабів і обчислювальних центрів, але і командирів.
Для обробки інформації універсальним і недорогим засобом є-
ється персональний комп'ютер. Звичайно, при вирішенні деяких завдань
(розрахунок операцій в сучасній війні, розрахунок міцності захисних соор-
жений і т. д.) персонального комп'ютера буде недостатньо через його
щодо малій швидкості і малої ємності запам'ятовуючих пристроїв,
однак для потреб командира його характеристик цілком достатньо. ПК поз-
воліт завдяки своїй модульній архітектурі розширювати його параметри в
разі необхідності, за допомогою периферійних пристроїв обробляти
саму різну інформацію.
Найчастіше командир не має навичок роботи з персональним комп'ютерах
тером, тому для повноцінної роботи необхідно на базі ПК організовує-
вивать так звані автоматизовані робочі місця (АРМ) команди-
рів. До складу АРМ слід включити потрібну для роботи периферію, необ-
ходимое системне та прикладне по можливості просте у використанні
програмне забезпечення (ПЗ). АРМ забезпечать швидке навчання і успішний-
ву роботу на них командного складу нд
?????????????< br />
Часто в багатьох сферах людської діяльності виникають такі
завдання, для вирішення яких не існує строгих алгоритмів або мето-
дов. Їх можуть вирішити лише експерти в цих галузях знань. Як прави-
ло, такі завдання виникають у таких галузях як діагностика, плану-
вання, прогнозування, навчання, моделювання і в таких сферах як
медицина, юриспруденція, різні галузі науки і техніки, економі-
ка, екологія і в багатьох інших. Виникають такі завдання і військовому де-
ле (діагностика апаратури, планування робочого тижня, прогнозірова-
ня операції, навчання роботі на апаратурі та інші).
Для вирішення такого роду завдань існують спеціальні комплекси
програм - так звані експертні системи (ЕС). Вони дозволяють напів-
чать вирішення завдань з нечіткою постановкою завдяки обрашенію до спеці-
альних баз знань (БЗ), в яких містяться відомості тій області,
до якої належить розв'язувана задача. Рішення ЕС знаходять самі. Також
ЕС звичайно дозволяють експертам створювати власні БЗ, змінювати або
доповнювати вже існуючі та управляти ними.
Як правило всі ЕС, що існують на ринку ПЗ дуже дорогі. Слідів-
вательно, в даний час НД не зможуть поширити в своєму середовищі
ЕС, тим більше, що найбільш ефективні ЕС вимагають до того ж і доро-
гостоящего апаратного забезпечення.
?????????????< br />
В даному дипломному проекті зроблена спроба розробити ЕС для ко-
мандір підрозділу, що входить до складу пакету прикладного ПЗ АРМ ко-
командирам. Заодно, що розробляється ЕС повинна вирішити такі проблеми,
як вартість апаратного та програмного забезпечення (тобто, вона
повинна вимагати мінімум апаратури та спеціального ПЗ), швидкодіючі-
вия (повинна бути повнофункціональної, але в той же час і швидкої) і
надійності (не повинна давати збоїв в ході роботи). ЕС розробляється
з метою надання допомоги командиру у вирішенні завдань діагностики і навчений-
вання.
Розробляється ЕС повинна бути простою у навчанні та проводити кон-
сультаціі в таких областях діагностики, як, наприклад:
- Діагностика апаратури;
- Консультація з юридичних питань;
- Перевірка психологічних і моральних якостей особового складу;
- Оцінка стану бойової підготовки підпорядкованого підрозділу;
- Рекомендації в питаннях навчання особового складу;
- Консультація в найбільш складних ситуаціях при експлуатації
озброєння і військової техніки;
і багатьох інших.
Проектована ЕС не ставить за мету замінити командира, а повинна
стати його помічником у вирішенні складних завдань, що виникають в його
повсякденній діяльності.
Частина 1. ХАРАКТЕРИСТИКА ЗАДАЧІ
1.1. Сучасні експертні системи як частина штучного интел-
лекта.
Штучний інтелект - наука про відтворення за допомогою штучного-
них пристроїв (в основному ЕОМ) людських способів міркування і ре-
ня завдань. У наш час у ІІ виділилося багато самостійних
течій (схема N). Однак слід зробити застереження, що ця класифікувалали-
кація достатньою мірою умовна, оскільки виникають і такі пробле-
ми, вирішення яких можливе лише на стику декількох напрямків ШІ.
Зараз на ринку програмного забезпечення є достатня коли-
кість систем ШІ. Серед них є системи, що мають достатньо розви-
тією структурою. Найбільш розвинутою галуззю розвитку ШІ вважаються екс-
пертние системи.
Таблиця 1.
Приклади систем штучного інтелекту
?????????????????????????????????????????????????? ????????????????????< br />
? Система? Область ШІ? Призначення?
?????????????????????????????????????????????????? ????????????????????< br />
? ROBIN? Стратегічні? Інтелектуальна програма для ігор?
? ? гри? типу шахів. ?
? ALICE? Інформаційно-? Прооводіт пошук в базах даних?
? ? Пошукова систе-? аналогією або дедукції. ?
? ? ма? ?
? PEACE? Рішення завдань? Вирішує завдання з синтезу і аналі-?
? ? ? зу електросхем. ?
? RITA? Представлення? Моделіруетспособ вироблення концеп-?
? ? знань? цій. ?
? MUSCADET? Доказ? Доводить теореми з області?
? ? теорем? "чистої" математики. ?
? MYCIN? Експертна систе-? Діагностика та лікування інфекційно-?
? ? ма? захворювань. ?
? ARGOS-II? Роботехніки? Імітація прийняття рішень роботом.?
?????????????????????????????????????????????????? ????????????????????< br />
Експертна система являє собою сукупність програм, перед-
призначених для надання допомоги фахівцям в одній конкретній перед-
шатнись області.
Будь-яка ЕС структурно складається з бази знань і оболонки, в яку
входять інтерфейс користувача, машина виводу, іноді підсистема пріоб-
Ретені знань, підсистема пояснень. Підсистема придбання знань
являє собою як просто редактор знань (це може бути або
текстовий редактор або спеціалізований редактор для заповнення ба-
зи знань), так і складна система автоматичної генерації знань
(наприклад, у відомій системі EURISCO).
Сучасні ЕС, як вже згадувалося раніше, часто вирішують проблеми
з інших областей ШІ. Як правило, це завдання суміжних областей - рас-
пізнавання образів, рішення прикладних задач, робототехніки, доказати-
льство теорем та інших. Словом, ЕС являють собою клас достатній-
але розвинених програм і вирішують завдання різних областей знань.
1.2. Характеристика експертних систем та їх недоліки.
В даний час на ринку професійного програмного забез-
чення експертні системи користуються високим попитом. Особливо популяр-
ни системи технічної і медичної діагностики, планування й моду-
воджується.
Таблиця 2.
Найбільш відомі оболонки експертних систем.
?????????????????????????????????????????????????? ????????????????????< br />
? Система? Розробник? Призначення?
?????????????????????????????????????????????????? ????????????????????< br />
? 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? ГВИНТИ ім. Фінна? Фармакологія, екологія, техніч-?
? ? ? ська діагностика. ?
? АРІАДНА? НДІ системних ис-? Розробка великих ЕС. ?
? ? проходження? ?
? ПіЕС? ВЦ АН СРСР? Проектування ЕС. ?
? СПЕІС? НДІ системних ис-? Створення ЕС, що обробляють ін-?
? ? проходження? формацію різного роду. ?
?????????????????????????????????????????????????? ????????????????????< br />
Таблиця 3.
Комерційні експертні системи.
?????????????????????????????????????????????????? ????????????????????< br />
? Система? Розробник? Область додатків?
?????????????????????????????????????????????????? ????????????????????< br />
? Dendral? Stanford Universi-? Масспектрометрія в органічній?
? ? ty? хімії. ?
? Drilling Advi-? Teknowledge? Діагностика технічних систем. ?
? sor? ? ?
? Hearsay-2? Carnegie-Mellon? Розуміння мови. ?
? ? University? ?
? Prospector? SRI International? Геологія. ?
? PUFF? Stanford Universi-? Лікування легеневих захворювань. ?
? ? ty? ?
? XCON? Carnegie-Mellon? Визначення конфігурації ком-?
? ? University? Терні систем. ?
?????????????????????????????????????????????????? ????????????????????< br />
Таким чином, вибір експертних систем досить широкий. В останнім
неї час у зв'язку з поширенням персональних комп'ютерів поява
ється безліч ЕС для них. Найчастіше ЕС для ПК не поступаються за своїми ха-
рактерістікам системам, що розроблені для великих ЕОМ. Так, наприклад,
система ЕКОНЕКС, створена в Центрі Інформатики та електроніки ім. По-
пова, включає в себе можливості перетворення знань з однієї ст-
руктури в іншу, підтримує ієрархію знань, обробляє непол-
ные, недостовірні і суперечливі знання, містить блок перевірки ис-
тінності. Система реалізована і використовується на персональних компьюте-
рах типу IBM. Слід враховувати, що ПК мають відносно невеликих
шой пам'яттю і швидкодією, отже, їх не можна застосовувати в
таких областях, де необхідна обробка великої кількості інформації-
ції. ЕС для ПК можуть ефективно використовуватися в таких галузях, як:
- Завдання оптимізації;
- Аналіз варіантів телефонних мереж;
- Діагностика відмов автоматики;
- Визначення конфігурації комп'ютерних систем;
- Прогноз погоди;
- Забезпечення безпеки;
- Аналіз звітів про відрядження для отримання Узагальнення висновків;
- Розробка стратегій операцій.
Однак, незважаючи на поширеність, всі перераховані вище ЕС
в основному володіють деякими загальними недоліками:
- Нізкоразвітий інтерфейс;
- Необхідність знання спеціальних мов представлення знань;
- Великі розміри;
- Низька швидкодія;
- Не розвинені зв'язки з іншими програмами;
- Немає коштів швидкої зміни баз знань;
- Висока вартість.
Звідси випливає, що ні один з наведених вище оболонок ЕС не мо-
жет бути ефективно використана в Збройних Силах, де більшу
роль грають в основному швидкодію, інтерфейс і вартість. Сучас-
менниє ЕС також вимагають великих машинних ресурсів, а саме - пам'яті,
як оперативної, так і пам'яті жорсткого диска. Отже, потрібна но-
вая ефективна оболонка ЕС, орієнтована на потреби нд
1.3. Постановка завдання.
У НД часто виникають завдання, які вимагають знань експертів і
які не можуть бути вирішені стандартними способами.
Таблиця 4.
Критерії застосування експертних систем.
?????????????????????????????????????????????????? ????????????????????< br />
? Застосовні? Незастосовні?
?????????????????????????????????????????????????? ????????????????????< br />
? Не можуть бути строгі алгоритми? Є ефективні алгоритми-?
? або процедур, але існують Еврі-? етичні методи. ?
? стіческіе методи вирішення. ? ?
?????????????????????????????????????????????????? ????????????????????< br />
? Є експертів, які можуть вирішити? Відсутні експерти або їх чис-?
? завдання. ? ло недостатньо. ?
?????????????????????????????????????????????????? ????????????????????< br />
? За своїм характером завдання відно-? Завдання носять обчислювальний ха-?
? сятся до області діагностики, ін-? рактер. ?
? терпретаціі або прогнозування. ? ?
?????????????????????????????????????????????????? ????????????????????< br />
? Наявні дані "зашумлені". ? Відомі точні дані та суворі?
? ? процедури. ?
?????????????????????????????????????????????????? ????????????????????< br />
? Завдання вирішуються методом формальний-? Завдання вирішуються процедурними ме-?
? них міркувань. ? тодамі, за допомогою аналогії або?
? ? інтуїтивно. ?
?????????????????????????????????????????????????? ????????????????????< br />
? Знання статичні (незмінні). ? Знання динамічні (змінюються з?
? ? часом). ?
?????????????????????????????????????????????????? ????????????????????< br />
Ось лише деякі з звичайних повсякденних завдань що виникають в
НД, які можуть бути вирішені за допомогою ЕС:
- Складання розкладів занять;
- Діагностика апаратури;
- Юридичні консультації;
- Планування тактичних операцій;
--метеопрогнози;
- Забезпечення безпеки;
- Аналіз документів (звітів);
- Управління підрозділом;
- Навчання особового складу;
- Медіцінскоя діагностика.
За раніше наведених причин, комерційні ЕС не можуть бути примі-
нени. Потрібна система, що володіє наступними властивостями:
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).
СИСТЕМА БАЗА
??????????????? ????????????????< br />
? ПАУЗА? ? ВІДКРИТИ?
? MS-DOS? ? НОВА?
? ПРО ПРОГРАМУ? ? Перейменувати?
? ВИХІД? ? РЕДАГУВАТИ?
??????????????? ? ВИДАЛИТИ?
????????????????< br />
ВІКНА СЕРВІС
?????????????? ???????????????< br />
? Відчинити? ? ПАРОЛЬ?
? РУХ? ? КАЛЕНДАР
? ЗАКРИТИ? ? КАЛЬКУЛЯТОР?
? НАСТУПНЕ? ? ГРА?
? ПОПЕРЕДНІ? ???????????????< br />
??????????????< br />
Малюнок 1. Структура меню "Консультанта"
Меню СИСТЕМА містить найбільш загальні опції роботи в системі, БАЗА
- Операції керування базами знань, ВІКНА - операції над вікнами, перебуваючи-
дящіміся на робочій поверхні, СЕРВІС - деякі інструментальні
засоби, що спрощують роботу користувача в системі. Кожна операція
меню програмно пов'язана з командою, яка потім обробляється в ме-
тоде HANDLEEVENT. Так, наприклад, операція НОВА пов'язана з командою
CMNEW. Процедура - оброблювач подій HANDLEEVENT містить рядок:
... CMNEW: NEWBASE ... ,
яка означає, що під час вступу цієї команди (подія - ви-
бор операції підсвічений смугою або подвійне клацання "мишею") оброблен-
чик запускає процедуру з ім'ям NEWBASE, яка викликає з файлу
ресурсів вікно створення бази (об'єкт TNEWWINDOW), зчитав з рядка
введення введене ім'я бази, записує його в файл EXPERT.BLC, створює
на диску новий файл з розширенням "PRO", пов'язує його ім'я з ім'ям
бази і потім знищує вікно TNEWWINDOW на екрані.
Нижче наводиться список всіх операцій, і, минаючи команди, процеду-
ри, з якими пов'язані ці операції через обробник подій:
- ПАУЗА, процедура PAUSE (здійснює гасіння екрану на час від-
одержанні користувача);
- MS-DOS, процедура DOSCALL (здійснює тимчасовий вихід в DOS і
повернення в систему за командою EXIT);
- ПРО ПРОГРАМУ, процедура ABOUT (викликає з файлу ресурсів вікно з
короткими відомостями про цю програму);
- ВИХІД, стандартна команда Turbo-Vision;
ім'ям вибраної для відкриття (роботи) бази, витягує з файлу базу
знань і викликає основну процедуру машини виведення 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
?????????????????????????????????????????????????? ????????????????????< br />
? Метод? Призначення методу?
?????????????????????????????????????????????????? ????????????????????< br />
? INIT? Висновок оболонки системи на