Математическая логика и теория алгоритмов
Вопрос к системе преобразуется в дизъюнкт: 1 дети (лиз, том). (3.22) Из (3.21) и (3.22) получим: 1 родитель (том, лиз). Далее, используя предложение (дизъюнкт) (3.12), получим пустой дизъюнкт, следовательно, система ответит YES (да). § 14. Рекурсивное задание правил в ПРОЛОГе Вновь рассмотрим программу из § 12. Добавим к этой програм ме, кроме отношений родитель и дети, еще одно отношение — предок. Определим его через отношение родитель. Все отношение можно выразить с помощью двух правил. Первое правило будет определять непосредственных (ближайших) предков, а второе - отдаленных. Будем считать, что некоторый X является отдаленным предком неко торого Z, если между X и Z существует цепочка людей, связанных между собой отношением родитель ~ родитель. Первое правило простое и его можно сформулировать так: Для всех X и Z: X ~ предок Z, если X - родитель Z. Это переводится на Пролог в виде предложения npeMOK(X,Z):- родитель(Х,2). Второе правило сложнее. Один из способов определения отдаленных родственников задать их следующим множеством пред ложений: 123
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy