Seite 1 von 1

Übung 8

Verfasst: 21. Aug 2013 11:17
von hstr
Hi,
kann mir bitte jemand erklären wie man bei Aufgabe 8.1, 1. Regel 2. Literal die Variablen B und C belegt?
Also wie bestimmt man den möglichen Inhalt der Variablen B und C? (Am Anfang hat man ja nur die Variable A, durch mule(A))

VG

Re: Übung 8

Verfasst: 27. Aug 2013 23:19
von cb.huyen
Das würde mich auch sehr interessieren. Komme nämlich auch nicht dahinter :(.

Re: Übung 8

Verfasst: 28. Aug 2013 10:15
von cb.huyen
Wie kommt man denn z.B. bei der 1. Regel 2. Literal mule(B) auf ein positives Beispiel und null negative? Was setze ich denn für B? Bzw. habe ich doch gar kein Hintergrundwissen bzgl. mule(B).

Re: Übung 8

Verfasst: 31. Aug 2013 09:39
von barracuda317
Bei 1. Regel 1. Literal habt ihr \(mother(B,A)\) gewählt. Erinnert man sich an die Vorlesung, so hieß es: "Gleiche Variablen, bezeichnen gleiche Objekte". Wenn nun also \(mother(B,A)\) Teil der Regel ist, legt \(mother(B,A)\) die Variable fest. Ihr schaut also, welche B ihr hier gewählt habt (Kurz: Wer sind die Mütter der Beispiele)

Wir erhalten:

++++ positve ++++
B= Helga für feivel
B= Sandy für Rosy
B= Rosy für Lisa

---- negative ----
B= Helga für Sandy
B= Lana für Berta
B= Lana für Emil


Betrachten wir damit nun mule(B) so erhalten wir:

+++ positive +++
\(mule(Rosy)\) für A= Lisa

---- negative ----
nix

Re: Übung 8

Verfasst: 3. Sep 2013 17:34
von cb.huyen
Ok, das mit B ist mir auf jeden Fall klarer geworden, wie man das bestimmt. Doch warum hat man nun jetzt nicht fuer

mule(B) mit B=Sandy eingesetzt?

Das dazugehoerige A ist doch dann Rosy, und diese ist doch nach mule(A) positiv. Also haette ich doch insgesamt 2 postive und 0 negative?

Re: Übung 8

Verfasst: 4. Sep 2013 16:00
von SupeRalF
Bitte achte darauf, was du eigentlich beweisen willst.
Du willst eine Regel für \(mule(A)\) finden. Damit legst du das A für jedes Beispiel fest.

Wir sind soweit, das wir die Regel \(mule(A) :- mother (B,A)\) haben. Mit dieser Regel decken wir noch alle Positiv- und Negativbeispiele ab.

Wir testen nun für das Zweite Literal den Zusatz \(mule(B)\). Da wir mit der ersten Regel noch keine Positiv- oder Negativbeispiele entfernen konnten, machen wir mit allen weiter. Es ergibt sich also für alle Beispiele aus der (hypothetischen) Regel \(mule(A):-mother(B,A), mule(B)\):

Positivbeispiele:
  • \(mule(feivel) :- mother(helga, feivel), mule(helga)\) <=FALSCH, da mule(helga) nicht gilt
  • \(mule(rosy) :- mother(sandy, rosy), mule(sandy)\) <=FALSCH, da mule(sandy) nicht gilt (es ist sogar ein Negativbeispiel!)
  • \(mule(lisa) :- mother(rosy, lisa), mule(rosy)\) <=KORREKT
Negativbeispiele:
  • \(mule(sandy) :- mother(helga, sandy), mule(helga)\) <=FALSCH, da mule(helga) nicht gilt
  • \(mule(berta) :- mother(lana, berta), mule(lana)\) <=FALSCH, da mule(lana) nicht gilt
  • \(mule(emil) :- mother(lana, emil), mule(lana)\) <=FALSCH, da mule(lana) nicht gilt
Wie du siehst, konnten wir nur eine Regel für ein Positivbeispiel finden, für dass die Bedingung wahr wird. Es gibt kein Negativbeispiel mit einer wahren Bedingung. Damit haben wir mit \(mule(A):-mother(B,A), mule(B)\) nur 1 Positiv- und kein Negativbeispiel abgedeckt.

Gruß
Florian