Представлення неточних знань та стратегії неточного виводу в умовах невизначеності
Сиситема СИКОН орієнтована на використання на персональних комп’ютерах під WINDOW-95-2000, а також на робочих станціях під UNIX. Система має розвинутий богатовіконний інтерфейс, який дозволяє одночасне простеження баз фактів, об’єктів та правил.
Звіт складається із двох частин . В першій частині обговорюються питання представлення точних знань і стратегії точного виводу. В другій частині обговорються питання неточного представлення знань і стратегії неточного виводу.
1.Представлення точних знань і стратегії точного виводу.
Точна інформація представляється в системі СИКОН з допомогою фактів, об”єктів і продукційних правил.
1.1Факти.
Факти є одною з основних форм високого рівня для представлення інформації і зберігаються в двух форматах: впорядкованому і невпорядкованому. Впорядкований факт складається з послідовностей областей, які розділяються пробілами і обмежуються відкриваючою та закриваючою дужками. Перша область впорядкрваного факту спеціфікує “відношення”, яке застосовується до інших областей. Наприклад, твердження (тато Івана Микола) означає, що Микола є татом Івана. Впорядковані факти кодують інформацію позиційно. Невпорядковані (або deftemplate) факти забезпечують користувача можливістю абстрагувати структуру факта шляхом встановлення імені кожної області (або слоту). На відміну від впорядкованих фактів слоти deftamplate-фактів можуть бути обмежені типом, значенням або числовим інтервалом. Наприклад:
(класs (вчитель “Марина Іваненко”) (студентів 30) (кімната “45”))
1.2Об”єкти.
Об”єкти в системі СИКОН розділяються на дві категорії: примітивні типи і приклади класів. На об”єкти примітивного типу зсилаються просто задаючи їх значення. Вони створюються і викреслюються автоматично по мірі необхідності. Об”єкти примітивного типу не мають імен або слотів, а їх класи являються напередвизначеними в системі.На приклади класу зсилаються по імені або по адресу і вони створюються і викреслюються механізмом повідомлень (messages) та спеціальними функціями. Властивості об”єкту, який є прикладом класу виражаються множиною слотів, які об”єкт отримує від свого класу. Клас є стереотип для представлення загальних властивостей і поведінки об”єкту, який є прикладом цього класу. Поведінка об”єкту описується в термінах процедурного коду, який називається message-handler. Сам message-handler приєднується до класу об”єктів. Маніпуляції з об”єктами виконуються шляхом передачі їм повідомлення з допомогою функції SEND. Приклад класу створюється з допомогою сонструкції defclass.
Як простий приклад ми визначим клас СКАНЕР, який є підкласом комп”ютерної периферії (ПЕР), і двох прикладів класу СКАНЕР – Astra-2100U та Astra-2200. Ми також визначимо message-handler, який буде друкувати слоти активного прикладу (того, якому посилається повідомлення):
(defclass СКАНЕР(is a ПЕР)
(slot розв”язність (create-accessor read-write)) (slot формат(create-accessor read-write))
(slot глибина кольору(create-accessor read-write)))
(definstance СКАНЕР-objects
(Astra-2100U of СКАНЕР (формат А4) (розв”язність 600*1200) (глибина кольору 36 bit))
(Astra-2200 of СКАНЕР (формат A4) (розв”язність 600*1200) (глибина кольору 36 bit)))
(defmessage-handler СКАНЕР Print-slots (PP instance))
(SEND Astra-2200 of СКАНЕР Print-slots)