Математическая логика и теория алгоритмов. Для изучающих компьютерные науки

дизъюнкты (3.10)-(3.15) и (3.17), и так как они не дают пустой дизъюнкт, то по­ лучим ответ: No (нет). Это происходит оттого, что считается, что в программу включены все возможные знания об объектах. Тогда, поскольку нет никакой информации, является ли Пам родителем Лиз, система говорит No (нет), а не будет строить дизъюнкт (3.18). Можно задавать и такие вопросы: "Кто является родителем Лиз?" в виде: ? - родитель (Х,лиз). Система ответит: X = том Покажем, как находится ответ на этот вопрос. Вопрос, как и выше, можно было бы преобразовать в дизъюнкт: —1родитель (X, лиз). Здесь имеется переменная X. Если подставлять вместо X постоянные (пам, том, боб, пат) и сравнивать с (3.10)-(3.15), можно получить пустой дизъюнкт при X, равном «том». Получится пустой дизъюнкт, означающий, что Х=том ис­ тинно, но полученный ответ не сохранится. Для сохранения ответа вводится специальная функция, зависящая от X, называемая ANS-предикатом (от answer - ответ). Следовательно, к исходным дизъюнктам (3.10)-(3.15) нужно добавить дизъюнкт, соответствующий вопросу: -1родитель(Х,лиз)уАК8(Х). ( 3 . 1 9 ) Применяя метод резолюций из ( 3 . 1 2 ) и ( 3 . 1 9 ) , система получит: ANS ( TOM) и выдаст результат (на печать): Х=том Вопрос "Кто дети Боба?" можно передать системе в виде: ? - родитель (боб,Х). В данном случае ответ не единствен. В зависимости от вариантов ПРОЛОГа система может выдавать один из ответов, например: X = пат и ждать введения точки с запятой, после чего выдает второй ответ: X = эни В других реализациях ПРОЛОГа могут выдаваться последовательно все возможные ответы без дополнительного запроса. Системе можно задавать и другие вопросы, например: 1) "Кто родитель Боба?": ? - родитель (Х,боб). Система ответит: X = пам Х=том 2) "Кто чей родитель?": ? - родитель (X,Y). Система распечатает возможные значения X и Y; 3) "Кто внуки Тома?" Так как в системе не введено понятие внуков, то строим сложный вопрос: ?-родитель (том, X ), родитель (X, Y). 84

RkJQdWJsaXNoZXIy MTY0OTYy