Методические указания к лабораторным занятиям Интеллектуальные системы обработки информации и машинное обучение Ставрополь, 2017
Представление правил в языке ПРОЛОГ
Download 4.3 Mb. Pdf ko'rish
|
78Metod IntelectSysObrInf 10.05.03 12.02.2017
Представление правил в языке ПРОЛОГ.
Выше была продемонстрирована логика работы программы на языке PROLOG. Программа автоматически выполняет поиск информации и обратную цепочку рассуждений, используя механизм возврата. Для работы программы необходимо преобразовать формат правил, входящих в базу знаний, в формат, принятый в языке PROLOG. Между этими форматами существует взаимооднозначное соответствие. Правила на языке ПРОЛОГ записывается в виде предложений. Для выше рассматриваемого примера предложение имеет вид (рис.1.3). 4 5 Рис.1.3. Правило в языке ПРОЛОГ. На выше представленном примере рассмотрим синтаксис и некоторые свойства языка ПРОЛОГ. 1. Полная запись правила на языке ПРОЛОГ называется предложением. В языке существует два типа предложений: для записи правил и для записи фактов (предложения для записи фактов будут рассмотрены позднее). Приведенное выше предложение - это предложение для записи правил. 2. Часть предложения языка, соответствующая части ТО правила, записывается слева от знака ―:-‖ и называется заголовком правила: brother-sister(X, Y, М)):- 3. Часть ЕСЛИ правила в предложении языка записывается справа от знака ―:-‖. Предикаты male(X,M), female(Y,M)и называется телом предложения. 4. Тело предложения состоит из отдельных частей, разделенных запятыми. Каждая часть в теле предложения 46 называется целью. Запятая, разделяющая цели в предложении, имеет смысл логическогоИ. 5. Все предложения языка ПРОЛОГ заканчиваются точкой. 6. Слова, находящиеся до открывающейся левой скобки, т.е. слова brother-sister, male, female, называются предикатами. Предикаты всегда начинаются со строчной буквы. 7. Слова, взятые в круглые скобки и идущие следом за именем предиката, называются аргументами. Для предиката male аргументом являются переменные X и M. 8. Символы ―:-‖ в языке имеют смысл логического ЕСЛИ. Используя это правило и факты, собранные в табл.1 и табл.2, напишем программу на языке PROLOG, т.е. в сущности создадим базу знаний: male(Дэниел,Диана). male(Ларри,Лори). male(Майкл,Бонни). male(Пит,Джейн). female(Энн,Лори). female(Лаура,Лирли) . female(Льюзи,Бонни ). brother-sister(X, Y, М):- male(X,M), female(Y,M). В предикате brother-sister аргументы X, Y, М могут принимать значения имен предполагаемых брата и сестры и их матери соответственно. Предикат male эквивалентен утверждению ―X - это имя мужчины, мать которого носит имя М‖, а предикат female - утверждению ― Y - это имя женщины, мать которой носит имя М‖. Введя эту программу 4 7 в компьютер, пользователь может приступить к диалогу с ней. PROLOG выдает на терминал символ приглашения к работе ―?‖, после которого пользователь может ввести вопрос: ? - brother-sister(X, Y, М). Программа выведет ответ: Х = Ларри Y = Энн М = Лори Таким образом, будет установлено родство Энн и Ларри, поскольку у них одна и та же мать, носящая имя Лори. 4 8 |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling