ign="justify"> В· Значення арифметичних виразів можна порівнювати за допомогою таких операторів, як <, = <і т.д. Ці оператори обчислюють значення своїх аргументів.
33. Міркування, що використовують семантичні мережі
Одна з ключових проблем організації пам'яті - ефективне управління даними і запитами. При ієрархічної організації індивідуальні властивості пов'язані з іменами індивідів. Наприклад, індивідуальні властивості Жака (вік, адресу, сімейний стан і т.д.) пов'язані з ім'ям Жак_2. Крім того, спадкове властивість пов'язує Жака с (абстрактним) концептом професора університету. Виходять з вузла Жак_2 стрілки представіми набором (кон'юнкція) бінарних предикатів:
Возр (Жак_2, 45_лет) Адреса (Жак_2, ул_буля_7)
Сем_пол (Жак_2, полотно) КОНКРІТ (Жак_2, проф_унів).
Ці предикати вказують, що Жаку 45 років, він проживає на вулиці Буля будинок 7, неодружений і належить типу професорів університету.
Різні імена предикатів, пов'язані з вузлами-індивідами утворюють перший безліч гіпотез (якоїсь теореми). Наприклад, питання про адресу Жака виражається предикатом Адреса (Жак_2, х). Цей предикат складе мета (висновок) теореми, достовірні гіпотези якої - названі вище властивості Жака. Доказ зводиться до пошуку конкретизації для х, що дозволяє вивести висновок з гіпотез. Перевірка показує, що такий є ул_буля_7. p> Інакше йде справа з питанням: В«Який диплом у Жака?В», бо ми не знаходимо гіпотези виду Диплом (Жак_2, ...)
Але якщо скористатися зв'язком КОНКРІТ, можна отримати відповідну гіпотезу. Пов'язана з вузлом проф_унів частина графа представима логічною формулою:
КОНКРІТ (х, проф_унів) (Диплом (х, доктор) Місце (х, універ) Це (х, проф) Це (х, сотр_унів)).
Якщо додати цю логічну формулу до безлічі (індивідуальних) гіпотез, то можна, використовуючи звичайну техніку доведення теорем вивести, що Жак має докторський ступінь. Таким чином, нове безліч гіпотез і поставлене запитання складають формулювання логічної теореми. Виходячи з цього формулювання і застосовуючи звичайний механізм докази, отримуємо відповідь на запитання. p> Механізм доведення теорем в ієрархічній середовищі можна змоделювати таким чином. Питання (що становить висновок або мета доводити теореми) має таку загальну форму. p> По-російськи: Яке значення якогось індивіда стосовно деякому властивості?
Логічно: Свойство_i (індівід_j, x)
Очікуваний відповідь - конкретизація, що представляє деяке значення для х. Спочатку спробуємо довести цю теорему, користуючись лише гіпотезами, прямо пов'язаними з вузлом індівід_j у відповідній графі. Ці гіпотези мають наступну форму. p> По-російськи: Значення деякого індивіда стосовно деякому властивості є ...
Логічно: Властивість (індівід_j, значеніе_i).
Якщо так довести не вдається, використовуємо зв'язок КОНКРІТ, витікаючу з вузла, що представляє індивіда і вказує на нове безліч гіпотез, яке має наступний вигляд.
По-російськи: Якщо індивід належить типу t, то він має додаткове безліч значень по відношенню до додаткового безлічі властивостей.
Логічно:
З цієї логічної формули і предиката КОНКРІТ (індівід_j, тіп_t) виводимо нове безліч властивостей щодо даного індивіда. Якщо ці нові гіпотези дозволяють довести нашу теорему, то доказ закінчено. Якщо ж ні, то зв'язок Це вкаже на тип вище, який у свою чергу дасть нове безліч гіпотез. Ця процедура з послідовними множинами гіпотез свідомо ефективніше загального методу доведення теорем, що не використовує ієрархічної структури даних. Процедура виведення схематично зображено на наступному малюнку. br/>В
34. Мова Prolog. Синтаксис списків
Списки - це послідовності символьних елементів, які самі можуть бути списками. Ці структури даних дуже корисні і популярні в символьному програмуванні і в ШІ. У пролозі для запису списків використовують символьний атом [] порожнього списку і пари з точками - бінарні функціональні терми. Точка - ім'я функції. Наприклад, списками є: []. (A, X). (A,. B []))
Рекурсивне визначення:
В· атом [] є списком і являє порожній список,
В· якщо L - список і Т - довільний терм, то. (T, L) - список з головою Т і хвостом L.
Наприклад, список, що складається з елементів a, b і з є терм виду. (a,. (b,. (c, [])))
Однак для списків існує кілька кращий синтаксис:
В· символьний атом [] представляє порожній список,
В· непорожній список - це послідовність термів, розділених комами і поміще...