Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AlgStr / Библиотека / ЛЕКЦИИ / POSIBNIK / ПРОГР НА ПРОЛОГЕ.doc
Скачиваний:
42
Добавлен:
23.03.2015
Размер:
669.7 Кб
Скачать

4.5. Засоби документування програми

Для документування процесу розробки бази знань можна застосовувати структурні діаграми. Діаграма – це засіб аналізу й наочного подання складених структур. Існує два види структурних діаграм: предикатні структурні діаграми (ПСД) і доменні структурні діаграми (ДСД). Використовуємо їх для наочного опису бази знань про регіони України (ПСД – рис. 7, ДСД – рис. 8, 9).

Рівень 0 предикат (головний функтор)

Рівень 1

назва

населення

столиця

площа

міста

регіони

країна

Р

назва

населення

площа

івень 2

назва

населення

площа

Рис. 7. Предикатна структурна діаграма “країна”

місто

Домен

місто

Рівень 0

назва

населення

площа

Рівень 1

Рис. 8. Доменна структурна діаграма “місто”

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

регіон

Домен

область

Рівень 0

Рівень 1

назва

населення

столиця

площа

назва_міст

назва_регіонів

Рис. 9. Доменна структурна діаграма “регіон”

4.6. Типи й властивості відношень предметної області

Фрази ПРОЛОГ-програми застосовуються для подання відношень між термами. Терми вживаються для подання сутностей предметної області. Тому для підвищення ефективності програми спочатку доцільно проаналізувати відношення, що зустрічаються в предметній області, а потім прийняти розв’язок про те, як подати кожен тип відношень за допомогою фраз ПРОЛОГу. Знання властивостей відношень забезпечить коректне описання предметної області й оптимізацію обробку запитів.

Для простоти будемо розглядати тільки відношення між двома аргументами (тобто бінарні відношення). У принципі такий аналіз можна поширити і на відношення з більшею кількістю аргументів.

4.6.1. Обмеження, що забезпечують цілсність відношень

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

  • один-до-одного;

  • один-до-багатьох;

  • багато-до-одного;

  • багато-до-багатьох.

Якщо бінарне відношення з аргументами X і Y регулюється обмеженням виду один-до-одного, що забезпечує цілісність цього відношення, то це означає, що для заданого значення X існує тільки одне значення Y, яке задовольняє це відношення, а для заданого значення Y існує тільки одне значення X, що задовольняє це відношення. Наприклад, між студентом і його шифром існує взаємо-однозначна відповідність (ПМ-98-2-05).

Якщо бінарне відношення з аргументами X і Y регулюється обмеженням виду один-до-багатьох, що забезпечує цілісність цього відношення, то це означає, що для заданого значення X може існувати багато значень Y, які задовольняють це відношення, але для заданого значення Y існує тільки одне значення X, що задовольняють це відношення. Наприклад, “батькі-діти”.

Якщо бінарне відношення з аргументами X і Y регулюється обмеженням виду багато-до-одного, що забезпечує цілісність цього відношення, то це означає, що для заданого значення X існує тільки одне значення Y, яке задовольняє це відношення, а для заданого значення Y може існувати багато значень X, що задовольняють це відношення. Наприклад, “уродженець-країна”. У якій-небудь країні може народитися багато людей, але одна людина може бути уродженцем тільки однієї країни.

Якщо бінарне відношення з аргументами X і Y регулюється обмеженням виду багато-до-багатьох, що забезпечує цілісність цього відношення, то це означає, що для заданого значення X може існувати багато значень Y, які задовольняють це відношення, а для заданого значення Y може існувати багато значень X, що задовольняють це відношення. Інакше кажучи, для даного відношення не існує ніяких обмежень. Наприклад, “брат-сестра”.

Для виконання цих обмежень необхідно їх перевіряти при первісному заповненні бази знань і підтримувати при роботі з базою даних (перевіряти при кожному акті додавання чи вилучення фактів з бази даних).

Крім цього, деякі відношення можна охарактеризувати наявністю чи відсутністю наступних властивостей:

  • симетрія (асиметрія);

  • рефлексивність(нерефлексивність);

  • транзитивність(нетранзитивність).