TU Wien:Einführung in wissensbasierte Systeme VU (Egly)/Prüfung 2014-01-29/Beispiel 3

Aus VoWi
Zur Navigation springen Zur Suche springen

Answer-Set Programming:

Konstruieren Sie ein Answer-Set Programm dessen Answer Sets alle Möglichkeiten repräsentieren, aus zwei gegebenen endlichen Mengen S1, S2 höchstens ein Element aus S1∩S2 auszuwählen. Verwenden Sie die Atome in1(X) und in2(x) um zu repräsentieren, dass X in S1 bzw. S2 enthalten ist, sowie sel(X), dass X ein ausgewähltes Element aus S1∩S2 ist. (3 Punkte)

Lösungsvorschlag aus dem Forum:

sel(X) v -sel(X) :- in1(X), in2(X).
:- sel(X), sel(Y), X != Y.

Was versteht man unter einer konsistenzbasierten Diagnose eines Diagnose Problems ⟨H,T,O⟩? (2.5 Punkte)

  • H ... Hypothesis -> set of ground atoms
  • T ... Theory -> logic program
  • O ... Observations -> ground literals

See ASP 2 p. 14.

Kreuzen Sie bei den folgenden Aussagen an, ob sie richtig sind oder nicht.

  1. Es gibt grundierte, normale Answer-Set Programme, die keine Answer Sets besizten. richtig ☐ falsch ☐
  2. Ein Answer Set eines normalen Programms P kann kein Atom enthalten, das nicht im Kopf einer Regel von P vorkommt. richtig ☐ falsch ☐
  3. Regeln in einem Programm zur konsistenzbasierten Diagnose dürfen nicht disjunktiv sein. richtig ☐ falsch ☐
  4. Jede Teilmenge von {a,b,c} außer der leeren Menge ist ein Answer Set von P={a∨b∨c←}. richtig ☐ falsch ☐

(4 Punkte)

1. Ja. Beispiel: p :- not p.

2. Ja.

3. Ja. (Kommt drauf an wie die Frage interpretiert wird entweder <dürfen "nicht disjunktiv"> sein also disjunktive als auch nicht disjunktive oder <"dürfen nicht" disjunktiv> sein ergo nur in der Form P={a←b}. Daher scheint mir die Frage geschenkt zu sein :o)

4. Nein. {a,b} ist zum Beispiel kein Answer Set.

Gegeben seien folgende Programme (a und b sind Grundatome):

P={a∨b←}Q={a←not b,b←not a}

Für welche der folgenden Programme ist {a} ein Answer Set?

  1. P∪{a←} yes ☐ no ☐
  2. Q∪{a←} yes ☐ no ☐
  3. P∪Q yes ☐ no ☐

(3 Punkte)

1. Jo

2. Jo

3. Jo