- •Правила выполнения и оформления контрольной работы
- •Представление знаний
- •Задание 1
- •1. Логическая модель представления знаний
- •Декларативная и процедурная семантика языка Пролог
- •Типы данных Пролог
- •1.3. Раздел предложений
- •Организация запросов на языке Пролог
- •Варианты задания 2
- •Разветвления на языке Пролог
- •Правила логического вывода
- •Правило логического вывода на языке Пролог
- •Варианты задания 3
- •Варианты задания 4
- •2. Представление знаний правилами продукций
- •Примеры выполнения заданий
- •Задание 5
- •Задание 6
- •3. Семантические сети
- •Задание 7
- •4. Фреймы
- •Задание 8
- •Содержание
Организация запросов на языке Пролог
Следующим элементом программы на языке Пролог являются вопросы. Вопросы можно сформулировать в теле программы в разделе Goal, который вводится после раздела Clauses. Например:
Goal
дед(Х,анна). /*кто дед Анны?*/
Сформулированный так запрос называется внутренней целью.
Но можно формулировать вопрос после нажатия Run в открывающемся при этом окне goal
goal: дед(Х,анна).
В этом случае цель называется внешней.
Пример. Построить базу знаний из следующих фактов: Карл у Клары украл кораллы. Клара у Карла украла кларнет.
Построить вопросы: Кто украл кларнет? Кто украл кораллы? Что украл Карл? Что было украдено?
Решение:
Domains
X,Y,Z=symbol.
Predicates
украл(Х,Х,Х). Clauses
украл(карл,кораллы,клара).
украл(клара,кларнет,карл).
/*вопросы могут быть заданы так:*/
Goal: украл(X,кларнет,Y).
ответ: Х=клара У=карл
Goal: украл(X,кораллы,Y).
ответ: Х=карл У=клара
Goal: украл(карл,X,Y).
ответ: Х=кораллы Y=клара
Goal: украл(X,Y,Z).
ответ: Х=карл Y=кораллы Z=клара
Х=клара Y=кларнет Z=карл
Варианты задания 2
1. Построить базу данных своих родственников мужского пола с фактами «отец» и «сын» и правилами «дед», «внук», «брат».
2. Построить базу данных «отец», «сын», «брат», «дядя», «племянник», «дед», «внучатый племянник».
3. Построить базу данных «студент» с полями «фамилия», «балл 1», «балл 2» и правило «стипендия» с полями «фамилия», «сумма».
4. Построить базу данных о родственниках «мать», «дочь», «сестра» и правила «тетя», «племянница», «бабушка», «внучатая племянница».
5. Построить базу данных «телефонная книга» с полями «фамилия», «номер», «адрес».
6. Построить базу данных «родитель» (имя родителя, имя ребенка) и правила «мать», «отец».
7. Построить базу данных фактов «мальчик» (имя), «девочка» (имя), «дружит» (имя, имя) с правилами «приятели»(X, Y), «приятельницы»(X, Y).
8. Построить базу данных из фактов, кто на чем играет (имя, инструмент) и правило «квартет»(Х, Y, Z, Т).
9. Построить базу данных из фактов «мужчина» (имя, возраст), «женщина» (имя, возраст) и правило «подлежит призыву» (имя).
10. Построить базу данных из фактов «ученик» (фамилия, класс, школа) и правило «одноклассники»(X, Y).
11. Построить базу данных «знакомства» из следующих фактов и правил: Мери прелестна; Джон добрый; Джон мужественный; Джон сильный; некто счастлив, если богат и нравится женщинам; мужчина нравится женщине, если женщина нравится мужчине и он добрый, либо мужчина добрый и сильный; мужчине нравится женщина, если она прелестна.
12. Построить базу данных своих родственников мужского пола с фактами «отец» и «сын» и правилами «дед», «внук», «брат».
13. Построить базу данных «отец», «сын», «брат», «дядя», «племянник», «дед», «внучатый племянник».
14. Построить базу данных «студент» с полями «фамилия», «балл 1», «балл 2» и правило «стипендия» с полями «фамилия», «сумма».
15. Построить базу данных о родственниках «мать», «дочь», «сестра» и правила «тетя», «племянница», «бабушка», «внучатая племянница».
16. Построить базу данных «телефонная книга» с полями «фамилия», «номер», «адрес».
17. Построить базу данных «родитель» (имя родителя, имя ребенка) и правила «мать», «отец».
18. Построить базу данных фактов «мальчик» (имя), «девочка» (имя), «дружит» (имя, имя) с правилами «приятели»(X, Y), «приятельницы»(X, Y).
19. Построить базу данных из фактов, кто на чем играет (имя, инструмент) и правило «квартет»(Х, Y, Z, Т).
20. Построить базу данных из фактов «мужчина» (имя, возраст), «женщина» (имя, возраст) и правило «подлежит призыву» (имя).