Представление и обработка знаний
77 2. Если t 1 и t 2 переменные, то выбирается любая из них. 3. Если t 1 и t 2 функции, то необходимым условием унифи- кации является совпадение функциональных символов и количест- ва аргументов. Термы в этом случае унифицируются, если унифи- цируются соответствующие аргументы (аргументы рассматрива- ются попарно, слева направо). 4. Если t 1 переменная, а t 2 функция или константа, то t 1 заменяется t 2 . 5. Если t 2 переменная, а t 1 функция или константа, то t 2 заменяется t 1 . Унификация при использовании предикатов осуществляется следующим образом: 1. Выделяются первые подвыражения литер, которые не яв- ляются одинаковыми у всех элементов из W k , и образуется множе- ство рассогласований x k , t k , x k , не равное t k . Если x k – переменная, а t k – терм, отличный от x k , то перейти к 2. В противном случае унифицировать нельзя. 2. Произвести унификацию; если выражения совпадают, то закончить унификацию термов. Рассмотрим пример. Произведем унификацию атомов P ( y , g ( z ), f ( x )) и P ( a , x , f ( g ( y ))). 1. Находим расхождение ( y , a ), формируем 1 = {( y , a )}. Про- изводим подстановку: P ( a , g ( z ), f ( x )), P ( a , x , f ( g ( а ))). 2. Находим расхождение ( x , g ( z )), формируем 2 = {( x , g ( z ))}. Производим подстановку: P ( a , g ( z ), f ( g ( z ))), P ( a , g ( z ), f ( g ( a ))). 3. Находим расхождение: ( z , a ), формируем 3 = {( z , a )}. Про- изводим подстановку: P ( a , g ( a ), f ( g ( a ))), P ( a , g ( a ), f ( g ( a ))). Объединяем подстановки: = 1 U 2 U 3 = = = {( y a ), ( x g ( z )), ( z a )}.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy