1

私は人工知能のクラスを受講しており、Answer Set Programming (特に Clingo) を扱っています。現時点では主に理論について話していますが、モデルと最小モデルを区別するのに問題があります。次の定義があります。

規則、モデル、最小モデル、および明確なプログラムの回答セットを満たす

  1. 規則の本体に「not」がない場合、プログラムは確定的であると呼ばれます。
  2. 集合 S は a:- b1, …, bm, not c1, …, not cn という形式の規則を満たすと言われます。その本体が S によって満たされる場合 (つまり、b1 … bm が S にあり、c1 ... cn のいずれも S にない) は、その頭部が S によって満たされる必要がある (つまり、a が S にある) ことを意味します。
  3. 集合 S は、そのプログラムのすべての規則を満たしている場合、そのプログラムを満たしていると言われます。
  4. 集合 S は、(a) S が P を満たす (S は P のモデルであるとも呼ばれる) 場合、および (b) S の厳密な部分集合が P を満たす場合 (つまり、S がP の最小モデル)。

質問の場合 (宿題ではなく、講義のスライドから引用):

P is defined as:
a :- b,e.
b. 
c :- d,b.
d.

Which of the following are models and least models?
{}, {b}, {b,d}, {b,d,c}, {b,d,c,e}, {b,d,c,e,a}

上の質問の答えを誰か教えてください。おそらくそこから違いを理解することができますが、誰かが(教科書の定義ではなく)一般的な言葉で違いを説明できれば、それは素晴らしいことです. この質問をどのフォーラムに投稿すればよいかわかりません。別の場所に投稿する必要がある場合はお知らせください。

ありがとう

4

1 に答える 1

2

まず第一に、あなたのスライドのこのセクションでは、 について言及していなくても、正のプログラム P (定定プログラムとも呼ばれます)解答 セットについて話していることに注意してください。ポジティブ プログラムは単純なケースです。ポジティブ プログラムPについては、すべてのモデルの共通部分である一意の最小モデルLM ( P )が常に存在します。

ルール本体でルールを許可しないと、事態がより複雑になります。ルールの本体は の右側です。:-

質問に対する答えは、セットごとに次のようになります。

  • b と d はファクトであるため、 S={} はモデルではありませんb. d.
  • d は事実であるため、S={b} はモデルではありませんd.
  • S={b,d} はモデルではありません。c は によって暗示されc :- d,b.、c は S に含まれていないためです。
  • S={b,d,c} はモデルです
  • S={b,d,c,e} はモデルではありません。a は によって暗示されa :- b,e.、a は S に含まれていないためです。
  • S={b,d,c,e,a} はモデルです

では、最小のモデルは何ですか?S の厳密なサブセットがPを満たすことはないため、これは S={b,c,d}です。

ポジティブ プログラムPの最小モデルに到達するには、次の2 つの方法があります。

  • すべてのモデルを列挙し、それらの交点を取ります (ここでは {b,c,d}∩{a,b,c,d,e}={b,c,d})。
  • ファクト (ここでは ) から開始し、b. d.暗黙のアトム (ここではc :- b,d.) を S に繰り返し追加し、S がモデルになるまで繰り返し、その時点で停止します。

あなたのスライドが言うように、正のプログラムPの回答セットの定義は次のとおりです。 S がPの最小モデルである場合、 S はPの回答セットです。より厳密に言えば、最小モデルLM ( P ) が一意であるため、これは実際にはの場合に限ります。

最後の注意として、後で混乱しないように、制約 :- a, bは実際にはx :- not x, a, b. したがって、制約を含むプログラムは肯定的なプログラムではありません。ただし、制約の本体には not が含まれていないように見えるため、最初はそのように見えるかもしれませ

于 2014-09-23T07:05:55.053 に答える