В основі теорії фреймів лежить сприйняття фактів за допомогою отриманої ззовні інформації про деяке явище з уже наявними даними, накопиченими дослідним шляхом або отриманими в результаті обчислень. Коли людина потрапляє в нову ситуацію, він викликає зі своєї пам'яті основну структуру, яка називається фреймом. Фрейм (рамка) - це одиниця представлення знань, після успішної реєстрації в минулому, деталі якої можуть бути змінені відповідно до поточної ситуації. Клас деяких об'єктів (процесів) може визначатися одним типовим (базовим) об'єктом, який включає найбільш істотні характеристики об'єктів даного класу. Так деяку характеристику об'єкта можна уявити трійкою (Об'єкт, атрібут_ j. Значеніе_ j).
Зібравши всі трійки, що стосуються даного об'єкта, отримаємо об'єктне уявлення області міркувань, щодо даного об'єкта. Загальна форма цього подання є такою:
Об'єкт (атрибут _ j значення _ j), j = 1. m
Таким чином, замість побудови різних незалежних формул будуємо більшу структуру повної інформації про об'єкт, яку називають фреймом. Якщо потрібна інформація про деякий об'єкт, то звертаються до відповідного фрейму, у якому перебувають властивості і факти щодо даного об'єкту. Зауважимо, що об'єктне уявлення можна отримати як з логічного, так і з інших уявлень знань.
Фрейм, що відповідає поняттю,
має наступний вигляд:
(Атрибути (значення (імена) слотів) слотів)
Тут кожна пара (атрибут, значення) є слотом. Неважко помітити, що фрейм містить різні (найбільш важливі) слоти, що характеризують даний об'єкт "поставка".
Фрейм містить як інформаційні, так і процедурні елементи, які забезпечують перетворення інформації всередині фрейму і зв'язку його з іншими фреймами. Елементами фрейму є так звані слоти (від англ. Slot - щілина), які можуть бути порожніми і заповнюватися в процесі активізації фрейму відповідно до визначених умовами. Таким чином, фрейми є декларативно-процедурні структури, тобто сукупність описів і (мож-ли) пов'язаних з ними процедур, доступ до яких можна отримати прямо з фрейма.
Фрейм складається з довільного числа слотів, серед яких є системні слоти і слоти, які визначаються користувачем. Кожен слот характеризується певною структурою і унікальним ім'ям всередині даного фрейма. В якості системних можуть, наприклад, бути визначені наступні слоти: покажчик фрейма-батька, покажчик прямого дочірнього фрейму, користувач фрейма, дата визначення фрейму і його останньої модифікації, а також деякі інші. Системні слоти використовуються при редагуванні БД і управлінні висновком.
Поняття "спадкування властивостей" дозволяє фреймам запозичувати властивості, які мають інші фрейми. Покажчики УСПАДКУВАННЯ стосуються тільки фреймових систем ієрархічного типу, заснованих на відносинах "абстрактне - конкретне". Вони показують, яку інформацію про атрибути слотів у фреймі верхнього рівня успадковують слоти з такими ж іменами у фреймі нижнього рівня. Типові покажчики успадкування:
U (unique-унікальний); S (same-такий-же); R (range-встановлення меж); O (override-перевизначити) і ін. Покажчик успадкування U показує, що кожен кадр повинен мати слоти з різними значеннями; S - всі слоти мають одне значення; R - значення слотів фрейму нижнього рівня повинні знаходитися в межах зазначених значень слотів фрейму верхнього рівня; Про - при відсутності вказівки значення слота фрейму верхнього рівня стає значенням слоти фрейму нижнього рівня.
Структура даних фрейму. Фрейм можна представити у вигляді таблиці (відносини), рядки якої відповідають слотам фрейму, а стовпці - атрибутам (характеристикам) об'єкта. Ім'я таблиці є ім'ям фрейму, і воно унікальне. Кожен слот містить наступні атрибути: ім'я слота, покажчик успадкування, тип даних, значення слота, демон.
ТИП ДАНИХ визначає, що слот або має чисельне значення, або є ім'ям іншого фрейма. До типів даних відноситься: FRAМE (покажчик); INTEGER (цілий); REAL (дійсний); ВООL (логічний); LISP (приєднана процедура); TEXT (текст); LIST (список); ТАBLЕ (таблиця); EXPRESSION (вираз) і ін.
ЗНАЧЕННЯ СЛОТА відповідає зазначеному типу даних цього слоту; крім того, повинна виконуватися умова успадкування. Значеннями слотів можуть бути імена інших фреймів, що забезпечує зв'язок (вкладеність) між фреймами.
ДЕМОН - автоматично запускається процедура при зверненні до слоту і виконанні деякого умови. Наприклад, демон типу IF-NEEDED запускається, якщо в момент звернення до слоту його значення не було встановлено; IF-ADDED запускається при підстановці в слот значення, IF-REMOVED - при стиранні значення слота.
Приєднана процедура може використовуватися в якості значення слота і запускатися за повідомленням, переданим з іншого фрейму. Коли ми говоримо, що фрейми, як моделі подання знань, об'єднують декларативні і процедурні знання, то вважаємо демони і приєднані процедури процедурними знаннями.
Властивості фреймів. Розглянемо основні властивості фреймів.
1. Базовий тип. Базові фрейми використовуються для вказівки найбільш важливих об'єктів, дозволяють домогтися швидкого розуміння суті даного предмета. На підставі базових фреймів будуються фрейми для нових станів. При цьому кожен фрейм містить слот-покажчик підструктури, що дозволяє різним фреймам спільно використовувати однакові частини.
2. Процес зіставлення. У фреймовой системі здійснюється пошук фрейму, який відповідає (релевантний) мети (даної ситуації). Іншими словами, зіставляються значення (обмеження) слота фрейма у фреймовій системі зі значеннями атрибутів мети. Процес зіставлення здійснюється наступним чином:
а) Спочатку за допомогою пропозиції і інтуїції вибирається деякий базовий фрейм з урахуванням виявлених особливостей, релевантності, тобто за допомогою подфреймов, даний фрейм підтверджує чи ні свою релевантність. При цьому відповідно до поточної метою визначається яке обмеження слота слід використовувати при зіставленні. Якщо фрейм підходить, то процес зіставлення завершується, в іншому випадку виконується пункт б).
б) Якщо в даному фреймі є слот, значення якого негативно впливає на зіставлення, то потрібно присвоїти слоту належне значення.
в) Якщо два попередні кроки не дають результату, то управління передається іншому належному кадру цієї або іншої фреймовой системи. Якщо останнє зіставлення закінчується безрезультатно, то задача не має рішення.
Мал. 10.6. приклад фрейма
На закінчення розглянемо приклад фрейма в системі моделювання процесу видачі банківського кредиту під заставу (рис. 10.6). Ця система містить фрейм "позичальника", який являє собою клас клієнтів і належить до суперкласу позичальників кредиту. Він містить характеристики, що відносяться до людини-клієнту, такі як мета використання кредиту, інформацію про забезпечення клієнта, його відповідальності, майно і т.д.
Спадкування властивостей у фреймів представляється відносинами кожного фрейма з іншими фреймами. Наприклад, фрейм "індивідуальний клієнт" має в якості його супер-класу фрейм "клієнт" і успадковує його характеристики.
Важливим є те, що фрейми мають складну структуру даних, в якій атрибути фрейма самі є фреймами. Наприклад, "індивідуальний клієнт" для фрейма "кредит під заставу" сам є фреймом з властивими йому атрибутами.
Процедурний характер фрейму "кредит під заставу" полягає в тому, що значення в слоті "плата застави" може бути результатом обчислення за формулою, в якій використовуються слоти "кількість", "процентна ставка" і "тривалість".
Труднощі роботи з кадрами Фрейми спочатку з'явилися як спосіб подачі типових даних. Важливою характеристикою стереотипу є те, що у нього настільки добре визначені можливості, що багато хто з їх слотів мають значення за замовчуванням. Математичні поняття є хорошим прикладом стереотипів, які підходять для фреймів. Парадигма фрейма інтуїтивно зрозуміліша, так як його структурний уявлення даних набагато простіше, ніж логічне або виробничих систем з багатьма правилами.
Тим не менше, більшість проблем у фреймах виникає з необхідністю необмеженого зміни слотів. Прикладом цієї проблеми може бути фрейм, описує слонів:
На перший погляд, фрейм слона виглядає розумно, як характерне опис слонів. Проте, припустимо, створюється специфічний триногу слон. У цьому прикладі слон може втратити ногу в нещасному випадку або просто збрехати про втрату ноги, щоб отримати своє ім'я в книзі. Важливим є те, що у фреймі слона говориться, що у слона чотири ноги, а не три. Таким чином, ми не можемо вважати, що фрейм слона є визначенням слона.
Звичайно, фрейм може бути модифікований так, щоб слон був триногу або двоногим або одноногим або навіть безногим як виняток. Однак це не забезпечує дуже гарне визначення. Додаткові проблеми виникають з іншими слотами. Припустимо, у слона важкий випадок жовтяниці і його шкіра пожовтіла. Хіба він перестав бути слоном?
Альтернативою уявлення фрейму як визначення є розгляд його як опису типового слона. Проте, це веде до інших проблем через успадкування властивостей. Зауважимо, що фрейм слона стверджує, що слон - вид ссавця. З тих пір як ми інтерпретували фрейм як типовий, наша система фрейма стверджує, що типовий слон - типове ссавець. Хоча слон ссавець, він можливо не типове ссавець. Виходячи з переліку: люди, корови, вівці або щури можливо знайдуться більш типові представники ссавців.
Більшість систем фреймів не забезпечують спосіб визначення стійких слотів. Після того, як слот може бути змінений, властивості, які успадковує фрейм, можуть бути змінені або скасовані де-небудь в ієрархії. Це означає, що кожен кадр насправді - примітивний фрейм, тому що немає гарантій, що властивості є загальними. Кожен фрейм поповнює свої власні правила і тому кожен фрейм примітивний. Нічого дійсно певного в такий необмеженої системі немає, і неможливо створити універсальні формулювання, такі як визначення слона. Так само, з більш простих визначень, таких як слон, неможливо побудувати композицію об'єктів, таких як слон з трьома ногами.
Такого ж типу проблеми стосуються семантичних мереж з успадкуванням. Якщо властивості будь-якої вершини можуть бути змінені, то нічого не ясно.
10.1. Описати за допомогою продукційних правил процес прийняття рішення про кредитоспроможність позичальника.
10.2. Перетворити ТР з розширеними входами в ТР з обмеженими входами.
10.3. Перетворити ТР з обмеженими входами в граф.
10.4. Перетворити ТР зі змішаними входами в продукційне правило.
10.5. Розробити метод отримання рішення з ТР без використання умовного оператора ЯКЩО
10.6. Побудувати семантичну мережу для процесу прийняття рішення про кредитоспроможність позичальника.