Логическое программирование нейросети 3


Процедура «мать*:

ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ НЕЙРОСЕТИ 3 женщина (X), родитель (X, Y)

Процедура «отец*:

отец (X, Y): мужчина(Х), родитель (X, Y)

Процедура "брат":

брат (X,Y): мужчина (X), родитель (Р, X), родитель (Р, Y), XOY

Процедура «сестра»:

сестра (X, Y): женщина (X), родитель (Р, X), родитель (Р, Y), ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ НЕЙРОСЕТИ 3

Процедура «дядя»:

дядя (X, Y): брат (X, Р), родитель (Р, Y)

Пусть задана некоторая сложная, т.е. опирающаяся не на факт, а требующая вывода, цель (запись цели образует фрейм), с которой мы обратились к этой БЗ, например

дядя (X, Y), тогда решение (вывод) заключается в нахождении всех пар переменных (имен объектов) ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ НЕЙРОСЕТИ 3  и Y, для которых справедливо утверждение «Х является дядей Y».

Используем прием трансформации цели, заключающийся в рекурсивном переборе различных вариантов подстановки вместо предикатов, составляющих сложную цель, правых частей клозов соответствующих процедур. В результате производится фиксация варианта связывания переменных и унификация, при которой отбрасываются несовместимые варианты, т.е. противоречащие фактам и правилам. Варианты связывания всех переменных, прошедшие все этапы унификации, являются решением.





- Начало -  - Назад -  - Вперед -