Übung 8

hstr
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 128
Registriert: 14. Apr 2011 22:52

Übung 8

Beitrag 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

cb.huyen
Neuling
Neuling
Beiträge: 10
Registriert: 3. Okt 2011 18:36

Re: Übung 8

Beitrag von cb.huyen »

Das würde mich auch sehr interessieren. Komme nämlich auch nicht dahinter :(.

cb.huyen
Neuling
Neuling
Beiträge: 10
Registriert: 3. Okt 2011 18:36

Re: Übung 8

Beitrag 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).

barracuda317
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 187
Registriert: 12. Okt 2011 18:15

Re: Übung 8

Beitrag 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

cb.huyen
Neuling
Neuling
Beiträge: 10
Registriert: 3. Okt 2011 18:36

Re: Übung 8

Beitrag 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?

SupeRalF
Mausschubser
Mausschubser
Beiträge: 56
Registriert: 4. Okt 2010 16:48

Re: Übung 8

Beitrag 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

Antworten

Zurück zu „Archiv“