Принцип унификации ответов состоит в том, что общие переменные во взаимосвязанных вопросах должны получать одинаковые значения. Пример ответа на сложносоставной вопрос, состоящий из двух подвопросов:
? мама (z, у), мама (у, Оля) - Кто мама у мамы Оли?
z = Зина
у = Надя
Вывод ответов на сложносоставные вопросы состоит в выделении подвопросов и поиске на них ответов по частям:
? мама (z, у), мама (у, Оля)
¤ \
? мама (z, у) ?мама
(у, Оля)
¤ \ ¤
z = Зина у = Надя
В данном примере общим элементом в выделяемых подвопросах ? мама (z, у) и ? мама (у, Оля) является переменная «у». Ответом на первый подвопрос ?
мама (z, у) будут значения z = Зина и у = Надя. Ответы на второй подвопрос ? мама (у, Оля) в соответствии с принципом взаимосогласования будет проводиться для значения у = Надя.
Принцип вывода взаимосогласованных ответов в системе Пролог распространяется и на сложносоставные правила, включаемые в базы знаний и процедуры логического вывода. Приведем примеры сложных определений:
бабушка (z, х) ¬ мама (z, у), мама (у, х);
бабушка (z, х) ¬ мама (z, у), папа (у, х);
дедушка (z, х) ¬ папа (z, у), мама (у, х);
дедушка (z, х) ¬ папа (z, у), папа (у, х);
При наличии этих правил в памяти ЭВМ можно получить следующие вопросы о бабушках и дедушках:
? бабушка (z, Оля) - Кто бабушка у Оли?
z = Зина
? дедушка (z, Надя) - Кто дедушка у Нади?
нет
Принцип унификации в системе и языке Пролог является общим механизмом логического вывода ответов на сложные вопросы в базах знаний на Прологе и тем самым - конструктивной реализацией закона тождества для машинных систем искусственного интеллекта. Таким образом работа экспертных систем на ЭВМ основана строго на выполнении требований законов логики
- закона тождества и закона достаточных оснований.
В о п р о с ы
1.