- •Основні поняття
- •Характеристика зв'язків
- •Відділ а Співробітники в
- •Відділ а Дата звільнення в
- •Класифікація сутностей
- •Аналіз предметної області
- •Розробка універсального відношення
- •Розробка er-моделі предметної області
- •Книга має Твір
- •Книга належить Розділ
- •Ієрархічна (деревовидна) структура даних
- •Мережна структура даних
- •Реляційна модель даних
- •Поняття ключа, основні типи ключів
- •Студент-успішність
- •Основні поняття реляційної алгебри. Дії над таблицями.
- •Загальні відомості щодо нормалізації схем бд
- •Перша та друга нормальна форма
- •Третя нормальна форма та нфбк
- •Нормальна форма Бойса-Кодда
- •П'ята нормальна форма та послідовність етапів нормалізації
- •Об'єктно-орієнтовані субд
- •1 Зв'язок об'єктно-орієнтованих субд із загальними поняттями об'єктно-орієнтованого підходу
- •2 Об'єктно-орієнтовані моделі даних (оомд)
- •3 Мови програмування об'єктно-орієнтованих баз даних
- •4 Мови запитів об'єктно-орієнтованих баз даних
- •Мови реляційних баз даних
- •1. Загальна характеристика
- •2. Типова організація сучасної скбд
- •3. Мова foxpro
- •4. Мова sql
- •Загальні підходи
- •Спискові структури
- •Зв'язаний розподіл пам'яті
- •Нелінійні зв'язкові структури
- •Представлення рядкових даних
- •Індексні методи
- •Способи включення записів та організіція індексних файлів
- •Адресні методи
- •Табл 5.1 - Розрахунок адреси
- •Табл 5.2 - Розмiщення даних у пам'ятi
- •Порівняльні параметри
- •Інвертований метод
- •Поняття експертних систем
- •Подання знань в соз
- •Основні моделі знань та їх порівняльні характеристики
- •Представлення знань із використанням логіки предикатів
- •Найпростіші конструкції мови предикатів
- •Предикатні формули
- •Любить (х, у),
- •Визначення правильно побудованої формули
- •Правило резолюції для простих пропозицій
- •S1 (заперечення): ¬ а
- •Чи одержує студент стипендію.
- •S: ¬одержує (студент, стипендію)
- •Порядок розв'язування задачі
- •Семантичні мережі
- •Продукційні моделі
- •Якщо - то (явище - реакція)
- •Подання знань із застосуванням фреймів
- •Стратегії пошуку в соз
- •Нечіткі множини в системах баз знань
- •Визначення I класифiкацiя аіс
- •Автоматизованi БнД
- •Риcунок 1.4 - Схема взаємодiї колективу спецiалiстiв банку
- •Вимоги до БнД
- •Принципи побудови БнД
Представлення знань із використанням логіки предикатів
Одним із способів представлення знань є мова математичної логіки, що дозволяє формально описувати поняття предметної області і зв'язки між ними [18-20].
На відміну від природної мови, яка дуже складна, мова логіки предикатів використовує тільки такі конструкції природної мови, які легко формалізуються. Тобто логіка предикатів - це мовна система, що оперує з реченнями на природній мові в межах синтаксичних правил цієї мови.
Мова логіки предикатів використовує слова, що описують:
поняття та об'єкти предметної області;
властивості цих об'єктів і понять, а також відношення між ними.
У термінах логіки предикатів перший тип слів називається термами, а другий - предикатами.
Терми - це засоби для позначення індивідуумів, а предикати виражають відношення між індивідуумами.
Логічна модель - це множина пропозицій, що виражають різні логічні властивості іменованих відношень.
При логічному програмуванні користувач описує предметну область сукупністю пропозицій у вигляді логічних формул, а ЕОМ, маніпулюючи цими пропозиціями, будує необхідний для рішення задач висновок.
Найпростіші конструкції мови предикатів
Терм - це знак (символ) або комбінація знаків (символів), що є найменшим значимим елементом мови. До термів відносяться константи, змінні і функції.
Константа застосовується для позначення конкретних об'єктів реального світу. Приклад: ластівка, птиця, один, 2 і т.д.
Змінні використовуються для позначення деякого з можливих об'єктів реального світу або їхньої сукупності (у Пролозі починаються з заголовної літери). Приклад: Хтось, X, Who, Річ і т.д.
<Функції (структури) - послідовність із декількох констант або змінних, які поміщаються у круглі дужки. Приклад: сума (1,2); +(1,2); подвоїти (X).
Функтори позначають оператори, яким після впливу на об'єкт повертають деяке значення.
Предикат - це логічна функція, що виражає відношення між своїми аргументами і приймає значення дійсно, якщо це відношення має місце, або недійсно, якщо воно відсутнє.
Розміщена в дужки послідовність із n термів, перед яким стоїть предикатний символ, називається n-місцевим (або n-арним) предикатом. Він приймає значення дійсно або недійсно у відповідності зі значенням термів, які є його аргументами.
Приклад:
є ( ластівка, птиця )
батько (X, Джон )
Такого типу предикати одержали назву атомарних предикатів і відповідають найбільш простим пропозиціям нашої розмовної мови - нерозповсюдженим пропозиціям.
У звичайній мові з нерозповсюджених пропозиції за допомогою сполучних займенників, союзів, і інших частин мови будують більш складні конструкції - складні пропозиції.
Предикатні формули
У логіці предикатів складними пропозиціями природної мови відповідають предикатні формули. Предикатні формули форимують з атомарних предикатів і логічних зв'язків (таблиця 6.1):
Таблиця 6.1 Логічні зв'язки
|
V |
¬ |
< |
- |
«i» |
«або» |
«нi » |
«якщо» |
«тодi i тiльки тодi » |
Логічні зв'язки мають наступний пріоритет використання:
¬
, V
< ,-
Найбільше часто в логічному програмуванні використовуються низки І, НІ ЯКЩО.
Предикат, що містить змінні, не може бути оцінений, тобто не можна визначити дійсність, тому що його значення визначається після підстановки в змінну деякої константи.
Однак іноді можна визначити значення предиката не роблячи підстановок використовуючи квантори спільності () і існування (), що позначають для всіх і існує принаймні одне.
Тоді приведена вище логічна формула буде записана у вигляді:
( X) [бути (Х, птиця) < має (Х, крила), володіє (Х, гніздо)]
і відповідає пропозиції, що може читатися як: будь-яке Х є птицею ,якщо це Х має крила і володіє гніздом.
Квантори i можуть використовуватися і для будь-якого числа змінних. Розглянемо їхнє різне використання на прикладі двомісного предиката
