Зараз важко уявити собі сферу життя людини, якої б не торкнулися інформаційні технології, що стрімко розвиваються. Розроблена величезна безліч програм, що являються незамінними інструментами людини у всіх галузях життєдіяльності. Одними з найбільш яскравих представників таких програм є експертні системи. Спектр їхнього застосування як класу програм дуже широкий, але в той же час кожна така програма сама по собі має досить вузькі специфічні для її предметної галузі властивості і являється всеосяжною для своєї предметної галузі.
Актуальність теми полягає в тому, що, у випадку створення оболонки для можливості побудови такої ЕС, ідеологія функціонування якої передбачає мінімальну участь експерта, до послуг людства буде наданий універсальний засіб, що дозволяє вирішувати визначений клас завдань, не обмежуючи, при цьому, предметну галузь розв'язуваного завдання. Більш того, розповсюдження оболонки створення таких систем могло б дозволити широкому колу користувачів, що не мають спеціальних навичок програміста, але являються експертами в якій-небудь галузі створювати й використовувати подібні системи.
Метою роботи являється реалізація, поширення й поглиблення алгоритму виконання теоретико-множинних операцій над граматиками в середовищі спеціалізованої оболонки для створення інтелектуальних САПР, створеного О.В. Григор'євим.
Наукова новизна реалізованого підходу полягає в тому, що бази знань експертних систем представляються у вигляді однієї або декількох граматик, взаємодіючих між собою.
За допомогою спроектованої системи експерти різної кваліфікації зможуть швидко й ефективно створювати спеціалізовані САПР у рамках уже існуючої більш загальної САПР. Для користувачів система буде являтися можливістю отримати якісні інтелектуальні ЕС для автоматизації проектування за досить помірну ціну.
Більшість публікацій мого наукового керівника Григор'єва О.В. присвячені розглянутій темі. В основі моєї частини проекту лежить розроблений їм алгоритм виконання теоретико-множинних операцій над граматиками в середовищі спеціалізованої оболонки для створення інтелектуальних САПР. Також його авторству належать статті "Специфіка виконання теоретико-множинних операцій над контекстно-вільними граматиками в умовах різних форм додаткових семантичних правил у семіотичній моделі інтелектуальних САПР" і "Шляхи створення інтелектуальних САПР при різних рівнях кваліфікації експертів",активно використовувані мною при написанні магістерської роботи.
Обрана мною тема є вкрай рідкою й маловивченою, внаслідок чого знайти дослідження й розробки по ній у межах України мені не вдалося.
Одним з найбільш яскравих прикладів міжнародних розробок по темі є система функціонально-логічного програмування S-FLOGOL.
S-FLOGOL – система функціонально-логічного програмування, побудована на базі теорії направлених відносин, причому реалізація відносин у системі безпосередньо спирається на мережеве представлення схем направлених відносин. Для представлення семантичних об'єктів у мові використовуються рекурсивні схеми направлених відносин, які за допомогою контекстно-вільної мережевої граматики задаються у формі мережевої мови множини мереж у якомусь термінальному базисі елементів) [1].
Основними компонентами інтегрованого середовища програмування є: структурно-орієнтований текстовий редактор, графічний редактор і центральний модуль.
а) Текстовий редактор
Текстовий редактор призначений для формулювання запитів і для створення й редагування модулів інформаційної бази. У його основі лежить оригінальна технологія введення програм, що базується на альтернативно- спискової формі граматики мови. У будь-який момент часу в тексті програми представлена множина фрагментів, що визначають синтаксичні поняття мови. Спочатку фрагмент являє собою ім'я поняття, що розкривається в процесі роботи з редактором.Згідно із граматикою мови, для розкриття кожного синтаксичного поняття може бути обрано один з варіантів його визначення. Використання в мові S-FLOGOL поняття виразу деякого типу як основного синтаксичного поняття дозволяє уніфікувати набори інструментів. Після вибору потрібного варіанта з контекстного списку в текст програми на місце виділеного імені поняття підставляється права частина обраного варіанта визначення, що містить термінальні елементи оточення й імена інших синтаксичних понять, які розкриваються аналогічно.
Відмова від ручного введення синтаксичних елементів передбачає автоматичне структурування тексту програми. Для рішення цього завдання був розроблений алгоритм, в основу якого покладений принцип табуляції елементів, що не помістилися в поле вводу, з урахуванням рівнів їхній вкладеності у внутрішньому деревоподібному представленні програми.
Після завершення вводу програма компілюється у внутрішнє представлення й надходить у графічний редактор для можливого коректування й виконання запиту.
б) Графічний редактор
У системі використовується спеціалізований графічний редактор, що виконує задачі створення, збереження й завантаження мережної граматики; керування обчисленнями; відображення проміжних результатів обчислень. Створення мережної граматики засноване на технології графічного програмування, що дозволяє користувачеві на кожному кроці редагування графічно будувати завжди коректний опис мережної граматики. Центральним інтерфейсним елементом формування й відображення структури граматики є дерево об'єктів редактора, що дозволило відмовитися від додаткових вікон, призначених для формування структури граматики. У дереві також відображаються проміжні й остаточні результати обчислень. Побудова правила граматики полягає в створенні нового правила в дереві об'єктів і редагуванні автоматично створеної коректної порожньої мережі потрібного сорту за допомогою спеціальних інструментів. Основою графічної побудови мереж правил граматики є додавання в мережу елементів, що позначають відносини, і наступне злиття крапок, відповідних до зв'язаних входів або виходів елементів. Помітимо, що при додаванні нового елемента в мережу одночасно з ним додаються й усі крапки, пов'язані з його входами й виходами. У розпорядження користувача також надані допоміжні інструменти, що полегшують процес графічної побудови правил граматики, такі як координатна сітка, скролінг і масштабування. Для комфортного відображення мереж застосовані спеціальні методи формування зображення і його промальовування, що дозволяє забезпечити плавне переміщення об'єктів при будь-якому масштабі зображення.
Планується реалізувати базу знань експертної системи у вигляді граматик, організувавши взаємодію між граматиками за допомогою алгоритму виконання теоретико-множинних операцій над граматиками в середовищі спеціалізованої оболонки для створення інтелектуальних САПР [2].
Більшість відомих зараз методів формування моделей САПР, використовуваних в інструментальних оболонках для створення експертних систем, мають серйозні недоліки. Ці недоліки не дозволяють застосовувати створювані експертні системи в якості проблемно-орієнтованих САПР або інтелектуальних надбудов над ними. Усунення значної кількості таких проблем можливо в результаті використання семіотичної моделі - як форми подання моделі САПР[3].
У розглянутій моделі є два компоненти - цільовий простір систем (ЦПС), тобто множина рішень-прототипів і простір обликов систем (ПОС.), тобто множина технічних завдань. Відповідно, є дві різні контекстно-залежні граматики - граматика ЦПС і граматика ПОС.
Для реалізації семіотичної моделі саме й застосовується вищевказаний алгоритм. У цьому випадку граматика є аналогом І- АБО дерева, тобто не має циклів і рекурсій.
Розглянемо основні визначення, використовувані в опису алгоритму:
а) Терм – елементарний символ множини.
б) Сінтерм - ім'я множини, яка може розкладатися. Елементами розкладання можуть бути як терми, так і сінтерми, з'єднані за допомогою операції "І" (&) або "АБО" (V).
в) Якщо дві множини збігаються по імені, те це означає, що вони еквівалентні й за структурою, тобто те саме ім'я означає ту ж саме множину.
г) Якщо дві множини збігаються за структурою, те це значить, що імена в них різні, а підмножини й спосіб їхнього об'єднання однаковий, тобто та сама структура може мати багато різних форм записів, але при повнім розкладанні цих форм записи ми в результаті одержимо те ж саме .
Необхідно розробити алгоритм виконання теоретико-множинних операцій над контекстно-залежними граматиками, тобто контекстно-вільними граматиками, над якими визначені продукції семантичної залежності (явні й неявні). Неявні продукції припускають наявність списків прототипів у термов і синтермов контекстно-вільної граматики, покликаних забезпечити вибір тільки семантично можливих рішень. Явні продукції вводяться користувачем над безпосередньо введеними контекстно-вільними граматиками, що породжують. Вони покликано зафіксувати можливі й неможливі комбінації альтернатив в АБО-сінтермах.
Реалізація алгоритму виконання теоретико-множинних операцій над граматиками дозволить породити із граматики простору обликів систем і граматики цільового простору систем нову, об'єднану граматику, за допомогою якої й буде здійснюватися вивід новоствореної системи, що забезпечить створення бази знань, необхідної для експертної системи.
1. О.М. Бебчик, А.М.Бебчик, В.Н. Фальк. Інструментальні засоби розробки і відладки програм системи функціонально-логічного програмування S-FLOGOL.
2. А.В. Григор'єв. Алгоритм виконання теоретико-множинних операцій над граматиками в середовищі спеціалізованої оболонки для створення інтелектуальних САПР
3. Поспелов Д.А. Ситуативне управління: теорія і практика. М.: Наука, 1986.