Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Наименьший общий унификатор

Автор: Altair 23.01.2004 18:41

Если кто-то знает, что это такое пожалуйста напишите
(Prolog)

Автор: AlaRic 23.01.2004 22:19

Только теория:

Пусть {E1,…,Ek} – множество литералов или множество термов. Подстановка s называется унификатором этого множества, если s(E1)=s(E2)=…=s(Ek). Множество унифицируемо, если существует унификатор этого множества.

Например, множество атомарных формул


{Q(a,x,f(x)), Q(u,у,z)}

унифицируемо подстановкой {u=a, x=у,z=f(у)}, а множество


{R(x,f(x)), R(u,u)}

неунифицируемо. Действительно, если заменить х на u, то получим множество


{R(u,f(u), R(u,u)}.


Проводить же замену u=f(u) запрещено определением подстановки, да и бесполезно, т.к. она приводит к формулам R(f(u), f(f(u))) и R(f(u), f(u)), которые тоже различны.


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

Автор: Altair 24.01.2004 11:27

спасибо!