Структуризація знань на декларативні і процедурні - студопедія
Структуризація предметної області на основі ієрархії класів
Структуризація спільної справи на пов'язані підзадачі
Етап III. формалізація
На етапі формалізації всі ключові поняття і відносини, виявлені на етапі концептуалізації, виражаються на деякій формальній мові, запропонованому (обраному) інженером по знаннях. Тут він визначає, чи підходять наявні інструментальні засоби для вирішення даної проблеми або необхідний вибір іншого інструментарію, або потрібні оригінальні розробки.
Основними завданнями в процесі формалізації є проблеми структуризації вихідної задачі і знань в обраному (розробленому) формалізмі, а саме:
1) структуризація спільної справи на пов'язані підзадачі;
2) структуризація предметної області на основі ієрархії класів;
3) структуризація знань на декларативні і процедурні;
4) структуризація додатки на основі ієрархії «частина / ціле».
Модульна організація бази знань становить важливу частину розробки прикладної системи, хоча важко запропонувати єдино правильний спосіб розбиття системи на модулі. Процес еволюції прикладної системи може вимагати перегляду і її модульної структури. У більшості сучасних засобів розробки складних експертних систем і особливо динамічних передбачається підтримка розбиття бази знань на модулі.
Важливість модульної організації експертної системи визначається тим, що розбиття програми на модулі істотно прискорює розробку (так як незалежні групи розробників можуть одночасно розробляти різні модулі), знижує витрати на супровід і підтримку, спрощує повторне використання модулів бази знань в наступних розробках. З іншого боку, розбиття прикладної експертної системи на модулі кілька підвищує накладні витрати на завантаження і складання прикладної системи, наприклад: відновлення після збоїв і перезапуск системи.
Необхідність прискорення темпів розробки і модифікації експертної системи завжди була актуальною задачею прикладної інженерії знань. Застосування об'єктно-орієнтованого підходу в сучасних експертних системах природним чином реалізує можливість декомпозиції задачі на сукупність підзадач. Знання при цьому підході організовані в класи. Кожен клас визначається специфічним набором атрибутів. Класи організовуються в ієрархію класів. Кожен клас в ієрархії успадковує атрибути і обмеження свого батьківського класу. Зазвичай похідний клас визначає додаткові специфічні атрибути і (або) обмеження.
У більшості існуючих експертних систем користувачеві дозволено виробляти новий клас тільки від одного батьківського. Такий підхід хоча і простіше в реалізації, вимагає додаткових зусиль під час формування предметно-орієнтованої ієрархії класів, так як в цьому випадку ієрархія наслідування має бути викладена у вигляді дерева. Додавання в ієрархію наслідування нового класу може вимагати істотних концептуальних змін на різних рівнях. Уникнути подібних непродуктивних витрат дозволяє концепція множинного спадкоємства, в рамках якої новий клас може успадковувати властивості у двох і більше класів батьків. Однак слід зазначити, що до використання механізмів множинного успадкування слід підходити акуратно, так як виходить в цьому випадку мережева схема ієрархії успадкування ускладнює розуміння структури бази знань.
Основними механізмами структурування проблемно-орієнтованої ієрархії класів є два протилежно спрямованих, але взаємопов'язані процеси: узагальнення і спеціалізація (конкретизація).
Процес узагальнення полягає в створенні батьківських класів для узагальнення властивостей, властивих більш ніж одного класу об'єктів в додатку. Наприклад, так як автомобілі, літаки і човни характеризуються швидкістю пересування, в додатку, що працює з цими об'єктами, доцільно ввести новий клас транспортних засобів, що володіє цією властивістю. Літаки, автомобілі і човни будуть похідними класами від транспортного засобу і успадкують від нього атрибут «швидкість пересування». Крім атрибутів, що характеризують спостережувані властивості об'єктів, доцільно провести узагальнення та їх поведінкових аспектів.
Процес спеціалізації полягає у введенні нових класів для опису об'єктів, що відрізняються значеннями характеристик, їх набором і поведінкою від вже описаних. Розглянемо далі Наведений вище приклад. Якщо розробнику потрібно описати новий тип човнів (наприклад, моторні човни), він повинен визначити його як підклас існуючого класу «човна». Новий клас успадковує всі властивості, взаємозв'язки і поведінку свого батька. Для його опису необхідно вказати тільки його особливості.
За формою опису знання поділяються на:
Декларативні знання - це знання, які записані в пам'яті інтелектуальної системи так, що вони безпосередньо доступні для використання після звернення до відповідного полю пам'яті. Зазвичай декларативні знання використовуються для представлення інформації про властивості і фактах предметної області. За формою подання декларативні знання протиставляються процедурних знань.
Процедурні знання - це знання, що зберігаються в пам'яті інтелектуальної системи у вигляді опису процедур, за допомогою яких їх можна отримати. Зазвичай процедурні знання використовуються для представлення інформації про способи вирішення завдань в проблемній області, а також різні інструкції, методики і т.п.
4. Структуризація додатки на основі ієрархії «частина / ціле»
Модульний принцип створення додатка надає розробнику різні можливості розбиття додатку на підсистеми, легше піддаються супроводу і модифікації. Розбиття програми на модулі спрощує процес тестування за рахунок використання групової роботи над тестованої системою. Модульність також забезпечує базові можливості для повторного використання фрагментів системи.