Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСШИ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
38.06 Кб
Скачать

3. Поясніть, навіщо використовується точка пошуку з поверненням.

Ця точка пошуку з поверненням вказує на те місце, звідки Пролог почне пошук наступної можливої відповідності для food (X). 4. Назвіть основні правила пошуку з поверненням.

Існує чотири основні правила пошуку з поверненням:

 підцілі повинні бути узгоджені по порядку, зверху вниз;

 предикативні речення перевіряються в тому порядку, в якому вони з'являються в

програмі, зверху вниз;

 коли мета відповідає заголовку правила, далі має бути узгоджено тіло цього

правила: тіло правила тепер утворює нову множину підцілей для узгодження;

 цільове твердження вважається узгодженим, коли відповідний факт знайдений для

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

Виконуючи підцілі, Visual Prolog починає пошук з першого речення, визначального

предиката. Потім може відбутися одне з двох:

1. Visual Prolog знаходить відповідне речення, тоді:

 якщо є інше речення, яке, можливо, може знову узгодити підціль, то Visual Prolog

виставляє маркер (з тим, щоб відзначити точку повернення) і пов'язує усі вільні

змінні в підцілі (які відповідають значенням в реченні) з відповідними значеннями;

 якщо дане речення є заголовком правила, то потім оцінюється тіло цього правила.

Підцілі в тілі правила повинні бути задоволені для успішного завершення звернення.

2. Visual Prolog не може знайти відповідне речення. Цільове твердження не узгоджується, і Visual Prolog виконує пошук з поверненням в спробі знову узгодити попередню підціль. Коли процес досягає останньої точки повернення, Visual Prolog звільняє всі змінні, яким були присвоєні нові значення (після того, як була поставлена точка повернення), і знову намагається узгодити вихідне звернення. 6. Назвіть інструментальні засоби для управління механізмом пошуку з поверненням.

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

механізмом пошуку з поверненням:

 предикат fail, який використовується для ініціалізації пошуку з поверненням;  предикат cut або відсікання (позначається символом «!») – для заборони можливості повернення. 7. Назвіть основні випадки, коли застосовується відсікання.

Існує два основних випадки застосування відсікання:

 якщо відомо, що певні посилання ніколи не приведуть до осмислених рішень

(застосовується відсікання), програма стає швидше і економніше. Такий прийом

називають зеленим відсіканням.

 якщо відсікання вимагає сама логіка програми для виключення з розгляду

альтернативних підцілей. Це – червоне відсікання.

8. Поясніть, як в Пролозі перетворити недетерміновані речення в детерміновані. В Visual Prolog існує директива компілятора check_determ. Якщо додати цю директиву на

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