Математическая логика и теория алгоритмов

ции, является ли Пам родителем Лиз, система говорит: No (нет), а не будет строить дизъюнкт (3.18). Можно задавать и такие вопросы: "Кто является родителем Лиз?" в виде: ? - родитель (Х,лиз). Система ответит: X = том Покажем, как находится ответ на этот вопрос. Вопрос, как и ранее, можно было бы преобразовать в дизъюнкт: 1 родитель (X, лиз). Здесь имеется переменная X. Если подставлять вместо X постоянные (пам, том, боб, пат) и сравнивать с (3.10)-(ЗЛ5), можно получить пустой дизъюнкт при X, равном «том». Получится пустой дизъюнкт, означающий, что Х=том истинно, но полученный ответ не сохранится. Для сохранения ответа вводится специальная функция, зависящая от X, называемая ANS-предикатом (от answer - ответ). Следовательно, к исходным дизъюнктам (3.10)~(3.15) нужно добавить дизъюнкт, соответствующий вопросу: 1 родитель(Х,лиз)уАМ8(Х). (^-19) Применяя метод резолюций из (3.12) и (3.19), система получит: ANS(tom)и выдаст результат (на печать): Х=том Вопрос "Кто дети Боба?" можно передать системе в виде; ? - родитель {боб,Х). В данном случае ответ не единственен. В зависимости от вариантов ПРОЛОГа система может выдавать один из ответов, например; X = пат и ждать введения точки с запятой, после чего выдает второй ответ; X = эни j В других реализациях ПРОЛОГа могут выдаваться последовательно все возмонсные ответы без дополнительного запроса. Системе можно задавать и другие вопросы, например, 120

RkJQdWJsaXNoZXIy MTY0OTYy