Студопедия — Керування виведенням
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Керування виведенням






В фреймових системах використовується три способи керування виведенням [37]: за допомогою механізму спадкування; за допомогою процедур-демонів; за допомогою приєднаних процедур.

Механізм спадкування є основним вбудованим засобом виводу, яким оснащуються фреймові системи. Він забезпечує значну економію пам’яті й автоматичне визначення значень для слотів фреймів нижніх рівнів.

Фреймові системи також оснащуються набором спеціальних процедур, до яких відносять процедури: конструювання класу, конструювання екземпляра класу, запису значення в слот, читання слота. Процедура конструювання класу формує фрейм-прототип з необхідним набором слотів і відповідними посиланнями на суперкласи. Фрейм може бути зв’язаний з декількома суперкласами. Процедура конструювання екземпляра класу дозволяє формувати фрейми-приклади. Вона автоматично встановлює зв’язок усіх таких фреймів з відповідним класом за допомогою іs a слота. Процедури запису і читання значень слотів здійснюють доступ до слотів відповідних фреймів і дозволяють користувачу ввести чи визначити значення відповідного слота. Для цього, при їх виклику, їм передається ім’я фрейму й ім’я відповідного слота. У випадку якщо значення якого-небудь слота при виклику відповідної процедури конструювання не задається, то автоматично викликається процедура, що дозволяє встановити значення слота за замовчуванням. Це часто виконується за допомогою механізму спадкування. Розглянемо деякі особливості функціонування механізму спадкування.

На рисунку 3.18 зображена найпростіша ієрархічна структура, у якій кожен фрейм має тільки один суперклас.

Рисунок 3.18 – Найпростіша ієрорхія фреймів

Кожен підклас чи екземпляр класу успадковує слоти свого суперкласу. Якщо підклас (екземпляр класу) і суперклас мають слоти, зі співпадаючими іменами, то визначення значень слотів, зроблені всередині підкласу (екземпляра класу), перекривають визначення суперкласу. Наприклад, відповідь на питання: “чи здатний пінгвін Чиллі-Віллі літати?” буде негативним. При пошуку відповіді на це питання фрейм-екземпляр “пінгвін Чиллі-Віллі” успадковує всі “слоти фрейму “пінгвіни”. Значення слота “здатність літати” фрейму “пінгвіни” перекриває значення однойменного слота “птаха”.

У загальному випадку порядок спадкування визначається за допомогою списку передувань. У випадку лінійної ієрархічної схеми цей список формується у відповідності з напрямком іs a і аkо зв’язків. Для розглянутого випадку його можна записати у вигляді:

(“пінгвін Чиллі-Віллі”, “пінгвіни”, “птахи”).

Більш складна ситуація виникає, якщо фрейм має трохи іs a чи аkо зв’язків. У цьому випадку кожуть про множинне спадкування. Правила формування списку передувань у цьому випадку будуть складніші. Припустимо, що пінгвін “Чиллі-Віллі” – це персонаж мультфільму. Тоді фрейм-екземпляр “пінгвін Чиллі-Віллі” буде мати два іs a зв’язків (Рисунок 3.19).

 

Рисунок 3.19 – Множинне спадкування

При спробі встановити місця проживання цього пінгвіна виникає двозначність, що вирішується за допомогою списку передувань, сформованого з урахуванням ієрархії фреймів. Перегляд ієрархії фреймів виконується спочатку в глибину, а потім ліворуч – праворуч. Тоді список передуваньбуде мати вигляд:(“пінгвін Чиллі-Віллі”, “пінгвін”, “птаха”, “персонаж мультфільму”).

При такому способі вирішення невизначеності місця проживання пінгвіна по імені Чиллі-Віллі – це морські узбережжя. Якщо користувача не задовольняє результат спадкування, то можна ввести додатковий клас, явно вказавши значення відповідного слота. Наприклад, можна ввести клас “пінгвіни-мультяшки” (Рисунок 3.20) і явно вказати значення слота ” місце проживання”. Однак це виключає можливість передачі значення слота за замовчуванням і вимагає додаткову пам’ять 1).

 

Рисунок 3.20 – Введення додаткового класу

В реальних ситуаціях взаємозв’язок фреймів виявляється значно складніше, ніж у розглянутих прикладах. Тому правила формування списку передуваньускладнюються.

 

1)Звичайно, у даному прикладі необхідний результат можна одержати простіше. Необхідно лише змінити порядок проходження імен фреймів у слоті іs_a фрейму “пінгвін Чиллі-Віллі”. Тобто порядок зліва направо відповідає порядку проходження імен фреймів у слоте іs_a чи аkо.

 

У цьому випадку, поряд з пошуком в глибину і зліва направо, застосовується принцип виключення з списка передуваньелементів, що повторюються. В списку завжди залишається тільки та повторювана вершина, що зустрілася останньої. Наприклад, для малюнка 3.21 список передуваньможна представити у вигляді:

(екземпляр, суперклас 2, суперклас 4, суперклас 3, суперклас 5, суперклас 1, універсальний клас).

Рисунок 3.21 – Ієрархія фреймів з Декількома іs_a відношеннями

Даний принцип дозволяє реалізувати вимогу, що полягає в тому, що будь-який клас повинний з’являтися в списку передуваньраніше, ніж його безпосередній суперклас [94]. Реалізація цієї вимоги забезпечує передачу за замовчуванням найбільш специфічних даних, що відповідає нашому інтуїтивному представленню про спадкування властивостей. Разом з тим застосування розглянутої процедури спадкування до ієрархії фреймів, зображеної на рисунку 3.22, приведе до формування наступного списку передувань:

(екземпляр, суперклас 5, суперклас 3, суперклас 6, суперклас 2, суперклас 4, суперклас 1).

У цьому списку порушена вимога, що полягає в тому, що будь-який безпосередній суперклас деякого класу повинний з’явитися в списку передуваньраніше, ніж інший безпосередній суперклас цього ж класу, розташований правіше (суперклас 2 слідує після суперкласу 3). Щоб задовольнити зазначену вимогу, необхідно використовувати процедуру топологічного сортування [94].

Рисунок 3.22 – Ієрархія фреймів з декількома аkо відношеннями

Ідея такого сортування полягає в наступному. На першому кроці складається список екземплярів і суперкласів, що (для розглянутого фрейму) досяжні за допомогою іs_a і аkо зв’язків. Для розглянутого прикладу (Рисунок 3.22) одержимо

(екземпляр, суперклас 5, суперклас 2, суперклас 1, суперклас 3, суперклас 6, суперклас 4, універсальний клас).

На другому кроці для кожного елемента отриманого списку формується список пар відповідно до принципу, зображеному на рисунку 3.23. Даний принцип називають принципом “рибальського гачка”, тому що схема об’єднання суперкласів і екземплярів у відповідні пари нагадує нанизування наживки на рибальський гачок. Слідуючи зазначеному принципу, для кожного елемента списку одержимо список відповідних пар (таблиця 3.2).

На третьому кроці переглядають елементи таблиці 3.2 і виділяють елемент, що зустрічається тільки з лівої сторони пари і ніколи не зустрічається з правої сторони. Таким елементом є “екземпляр”. Будемо називати цей елемент поточним. Поточний елемент додається в кінець списку передувань, і всі пари, в яких він зустрічається, викреслюються. В розглянутому випадку це пари “єкземпляр-суперкласс 5″. Потім дії повторюються. Поточним елементом стає суперклас 5, і викреслюються пари “суперклас 5 – суперклас 6″ і “суперклас 5 – суперклас 2″ і т.д. У підсумку формується наступний список передувань:

(екземпляр, суперклас 5, суперклас 6, суперклас 2, суперклас 4, суперклас 3, суперклас 1, універсальний клас).

Рисунок 3.23 – Принцип “рибалського гачка”

 

Якщо на деякому кроці описаної процедури на роль поточного елемента претендують відразу кілька суперкласів, то конфлікт вирішується на користь того суперкласу, що є безпосереднім суперкласом для того суперкласу, що знаходииться найправіше і, що вже знаходиться в списку передувань. У розглянутому прикладі конфлікт виникає між суперкласом 3 і суперкласом 4 після того, як у список передуваньбуде поміщений суперклас 2. Перевага віддається суперкласу 4, тому що він є суперкласом найправішого суперкласу, що вже знаходиться в списку передувань, тобто суперкласу 6.

Вивід значень слотів на основі спадкування є, по своїй суті, немонотонним, тому що перекриття значень у процесі спадкування може змінювати істинність раніше установлених фактів. Наприклад, з малюнка 3.18 випливає, що пінгвін Чиллі-Віллі вкритий пір’ям. Однак, якщо ми додамо слот “вкриття” зі значенням “пух” у фрейм “пінгвіни”, то вихідне твердження вже буде неправильним.

Інша можливість виводу у фреймових системах заснована на використанні процедур-демонів: ” якщо-треба”, “якщо-додане”, “якщо- вилучене”.

Процедура ” якщо-треба” викликається, коли надходить запит, що вимагає встановлення значень відповідного слота. Дана процедура, як і значення слота, успадковується підкласами й екземплярами класів. Тому зв’язування її з одним із суперкласів може вплинути на значення відповідних слотів фреймів, розташованих нижче по ієрархії. При цьому процедура безпосередньо не змінює значень слота, а щораз обчислює його знову, з огляду на визначені умови. Зокрема, для слота “зріст” екземпляра фрейму “пінгвін” (Рисунок 3.18) процедура може встановлювати зріст пінгвіна в залежності від значення слота “вид”. Наприклад, якщо значенням слота “вид” є “імператорський пінгвін”, те повернути значення 100 – 120см, інакше повернути значення 40-50см.

Процедури “якщо-додане” і “якщо-вилучено” активізуються при записі і видаленні значень зі слота. Наприклад, процедура “якщо-додане” може активізуватися, коли слот “вид” одержить значення (Рисунок 3.18). Якщо нове значення – “галапагосський пінгвін”, то записати в слот “червона книга” значення “так”. Очевидно, що дана процедура встановлює обмежуючі стосунки між значеннями слотів “вид” і “червона книга”. Можна сказати, що процедури “якщо-додане” і “якщо-вилучене” встановлюють залежність значень одного слота від значень іншого і відіграють роль хранителя відносин обмеження у фреймових системах.

Третя можливість виводу у фреймових системах заснована на застосуванні приєднаних (службових) процедур. Ім’я приєднаної процедури виступає як значення слота. Приєднана процедура запускається за повідомленням, переданим з іншого фрейму. Для цього може використовуватися спеціальна функція MSG, формат виклику якої має вид:

MSG((<ім’я фрейма>, <ім’я слота>,<параметри>).

Дана функція забезпечує запуск приєднаної процедури, що знаходиться у відповідному слоті відповідного фрейму. При цьому приєднана процедура одержує необхідні параметри. У свою чергу, викликана приєднана процедура може також передати повідомлення в інший фрейм і викликати іншу приєднану процедуру і т.д. Виникає ланцюжок передач повідомлень від одного фрейму до іншого і повернення відповідей. У підсумку відповідь повертається в місце первісного виклику функції MSG і повідомляється користувачу. Таким чином, у фреймових системах на кожний із фреймів за допомогою приєднаних процедур покладаються визначені обов’язки, і забезпечується їхнє погоджене виконання.

На закінчення відзначимо, що якщо у фреймових системах не використовувати процедури-демони і приєднані процедури, те фреймова модель представлення знань буде відповідати семантичній мережі. Використання процедурних знань у фреймових системах підвищує їх гнучкість, але ускладнює керування. Свій подальший розвиток фреймові системи одержали в системах об’єктно-орієнтованого програмування. У главі 5 ми розглянемо систему об’єктно-орієнтованого програмування мови Коммон Лісп.

не є для неї абсолютно новим поняттям. Прямими аналогами або лінгвістичними прообразами такої концепції можна вважати ті лінгвістичні напрями, що займаються відмінковими «рамками» дієслів. Це насамперед відома «глибинно-відмінкова граматика» (Ч. Філлмор), а також концепція ситуаційно-рольового тлумачення лексичних значень та тематичних груп (Ю. Д. Ампресян, О. К. Жолковський, Ю.С. Мартем'янов, В. Ю. Розенцвейг, Ю. К. Щеглов та інші); теорія семантичних полів Й. Трира, концепція репрезентації певних типів лексичних значень мовою думок Lingua mentalis А. Вежбицької тощо. Найзначніші теоретичні та прикладні результати дає використання фреймів для розроблення систем розуміння природної мови.

Серед теоретичних результатів варто насамперед згадати запропоновану Ч. Філлмором концепцію двох семантик, що спирається на використання фреймів.







Дата добавления: 2015-09-19; просмотров: 585. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия