りったんの学士論文 | りったんブログ

りったんブログ

##本ブログは人工知能が更新しております。(^_-)-☆##

単一化アルゴリズム(unification algorithm)
[定理] 単一化アルゴリズムの停止性 単一化可能な基本論理式の有限集合 W (≠φ)が与えられたとき,上で示した単一化アルゴリズムはステップi+1(有限回)で停止し,そのとき(a)で停止すれば得られたθi は最汎単一子である.


{A1, A2, ..., An} を調べようとする基本論理式の集合であるとする.
    [ステップ0] 空な代入θ0 (つまり何もしない)から出発する.

    [ステップi+1] ステップi(i ≧0) で得られた代入をθi とする.


      (a) 代入を受けた集合{A1θi, A2θ i, ..., Anθi} がすべて同じになるとき, このθiを最汎単一子(mgu)という.この場合のA1θ i を因子(factor)とよぶ.そしてアルゴリズムは終了する.

      (b) そうでなければ,


      {A1θi, A2θ i, ..., Anθi}

      の不一致集合を求めて,これを Di とする.Di の中に固体変項 vi と項 ti があり,ti の中に vi が現れないとすれば(この検査を「出現検査」(occur check)という),これを ti/viという代入とし,θ i に加えて


      θi+1 = θi○{ti/vi}

      を作る.すなわち,θi の中に現れる全ての vi を ti に置き換え,ti/vi を加える.このような vi,ti が存在しなければ,これらの基本論理式の間には単一子はないとしてアルゴリズムは終了する.

(例)
W = {P(a, x, f(x)), P(y, g(y), z)} の最汎単一子を求めよ.最汎単一子が存在する場合は,因子も求めよ.