Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OРГАНІЗАЦІЯ БАЗ ДАНИХ І ЗНАНЬ-ЛЕКЦІЯ.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
815.1 Кб
Скачать

Представлення знань із використанням логіки предикатів

Одним із способів представлення знань є мова математичної логіки, що дозволяє формально описувати поняття предметної області і зв'язки між ними [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 »

Логічні зв'язки мають наступний пріоритет використання:

  1. ¬

  2. , V

  3. < ,-

Найбільше часто в логічному програмуванні використовуються низки І, НІ ЯКЩО.

Предикат, що містить змінні, не може бути оцінений, тобто не можна визначити дійсність, тому що його значення визначається після підстановки в змінну деякої константи.

Однак іноді можна визначити значення предиката не роблячи підстановок використовуючи квантори спільності () і існування (), що позначають для всіх і існує принаймні одне.

Тоді приведена вище логічна формула буде записана у вигляді:

( X) [бути (Х, птиця) < має (Х, крила), володіє (Х, гніздо)]

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

Квантори   i можуть використовуватися і для будь-якого числа змінних. Розглянемо їхнє різне використання на прикладі двомісного предиката

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]