2016-05-26 5 views
0

最小エルブランモデル

way(a,b,c). 
way(a,d,e). 
way(b,f,g). 
way(f,h,i). 
way(h,j,k). 
way(l,j,m). 
reachable(a, []). 
reachable(X, [W|WS]) :- reachable(Y, WS), way(Y,X,W). 

T-演算子を使用して、最小限のエルブランモデルは何ですか?

I_0 = \emptyset 
I_1 = T_P(I_0) = {a,b,c,d,e,f,g,h,I,j,k,l,m} // all constants 
I_2 = T_P(I_1) = I_1 \cup {way(a,b,c), way(a,d,e), way(b,f,g), way(f,h,i), way(h,j,k), way(l,j,m), reachable(a, [])} 

をしかし、今、私は継続するのか分からない:

私は、その後、解釈することしてみましょう。誰でも助けてくれますか?

答えて

1

reachable/2は再帰的述語です。あなたがしなければならないのは、適用後に解釈が変わらない限り、最後のルールを適用することです。到達可能であり、いくつかのWためway(Y,X,W)があるYが存在する場合

I_3 = T_P(I_2) = I_2 \cup {reachable(b, [c]),reachable(d, [e])} 
I_4 = T_P(I_3) = I_3 \cup {reachable(f, [g,c])} 
.... 
I_6 = T_P(I_5) = I_5 \cup {reachable(j, [k,i,g,c])} 
I_7 = T_P(I_6) = I_6 

直観的要素Xが到達可能です。このWは、ルールの適用後に2番目の引数に追加されます。

I_6のすべての要素を明示的に列挙し、最小限のモデルを取得できるようになりました。