9. タブロー法の手順(1)
? 入力:TBox である T , 判定したい概念 D
? T 内の概念定義 A ≡ C で、C内に他で定義さ
れているA’ が含まれる場合それをA’で入れ
替える。入れ替えたものをT’と呼ぶ。
? 例:
T = { X ≡ Y ∪ Z , Z ≡ V ∪ W }
T’ = { X ≡ Y ∪ (V ∪ W) , Z ≡ V ∪ W }
? 左が定義される概念。右は定義のみをする
概念の組み合わせ。
10. T’ = {A ≡ V ∩ W, C ≡ ¬B}
D = A ∩ C
D’ = (V ∩ W) ∩ ¬B
タブロー法の手順(2)
? 判定したい概念 D について、T’ の式の左辺
と同じ物を含む場合、右辺の概念に入れ替
える。入れ替えたものをD’ とする。
? 例:
11. タブロー法の手順(3)
? D’ をNegative Normal Form (NNF)に変換する。
– 概念名の直前だけに否定が出現する概念の形式。
? 変換例
¬ ¬C → C
¬ (C ∩ D ) → ¬ C ∪¬ D
¬ (C ∪ D) → ¬ C∩¬ D
¬ (? R.C ) → ? R.¬C
¬ (? R.C ) → ? R.¬C
? DにNNF変換をしたものを、 NNF(D) と書く。
15. ∩規則
x : C1 ∩ C2 ∈ Si かつ {x :C1, x :C2} ¬? Si
のとき
Si -> Si+1 = Si ∪ { x : C1, x : C2}
と、変形する。
2個の集合両方に含まれる要素についてそれ
ぞれに分ける。
16. ∪規則
x : C1 ∪ C2 ∈ Si かつ {x :C1, x :C2} ∩Si = φ
のとき
Si -> Si+1 = Si ∪ { x : C1 }
あるいは
Si -> S'i+1 = Si ∪ { x : C2 }
「どちらかに含まれる」ケース。
制約追加が分岐することになる。
17. ?規則
x : ?R.C ∈ Si かつ { z | (x,z): R , z:C ∈Si} ≠ φ
のとき
Si -> Si+1 = Si ∪ { (x, y) : R, y : C }
但し y ?V(Si) であること。V(Si)は、Siに出現す
るすべての変数。
うまくzを選ぶとR (x,z)であるなら 新しい変数yに
おいて (x, y) : R, y : C である。
18. ?規則
x : ?R.C , (x,y) : R ∈ Si かつ y : C ? Si
のとき
Si -> Si+1 = Si ∪ { y : C }
と、変形できる。
(x,y) : R であれば、yは必ずCに属する個体だと
言える。
19. 例
知識ベース : TBox ={A ≡ B, C ≡ ¬B}
判定したい概念 : D = A ∩ C
S1 = {x : A ∩ C}
S2 = {x : B ∩ ¬B} TBoxの右辺で入れ替えた。
S3 = S2 ∪{x : B , x : ¬B} ∩規則を適用した。
clashが発生したので D は充足しないと判定される。
20. 他の推論タスクについて
2. 概念の包含関係 C ?D
– C ∩¬D が充足しないなら C ?Dと言える。
3. 概念の同値関係 C ≡ D
– C ?D かつ C ? D が成立するならC ≡ Dと言える。
D C
C ?D C ≡ D
C
D