FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Formale Informatik

F1 Aufgabenblatt 14

F1 Aufgabenblatt 14 2005-01-30 13:47
Torminator
Wie ist das denn bei Aufgabe 1.4 mit der Unifikation:

M4 = { Q(f(x,a), g(h(x),y)), Q(f(b,a), g(h(x),a,b)) }

die Funktion g() hat ja einmal zwei und einaml drei Argumente. Ist die Unifikation da möglich oder übersehe ich etwas?

Re: F1 Aufgabenblatt 14 2005-01-30 13:58
Anarch
Wie ist das denn bei Aufgabe 1.4 mit der Unifikation:

M4 = { Q(f(x,a), g(h(x),y)), Q(f(b,a), g(h(x),a,b)) }

die Funktion g() hat ja einmal zwei und einaml drei Argumente. Ist die Unifikation da möglich oder übersehe ich etwas?

Kannst du denn einen Unifikator angeben, der die beiden Funktionen auf den selben Ausdruck abbildet?

(Falls du P1 gemacht hast: Wie war das denn in Prolog?)

Re: F1 Aufgabenblatt 14 2005-01-30 14:26
Torminator
tja, das ist eben genau mein Problem. Man könnte ja (theoretisch) b auf eine leere Menge abbilden. Aber ich denke halt, dass man das nicht darf weil Substitution mit einer leeren Menge … naja und zweitens ist b keine Variable…

Re: F1 Aufgabenblatt 14 2005-01-30 14:29
Anarch
tja, das ist eben genau mein Problem. Man könnte ja (theoretisch) b auf eine leere Menge abbilden. Aber ich denke halt, dass man das nicht darf weil Substitution mit einer leeren Menge … naja und zweitens ist b keine Variable…

Ja, b ist keine Variable, deswegen darf es nicht substituiert werden. Aber selbst wenn b eine Variable wäre, würde die Substituion mit der leeren Menge nicht die Argumentzahl von g ändern - das dritte Argument wäre dann eben die leere Menge. Diese muss dann auch als Konstante vorkommen, wenn du damit arbeiten willst.

Re: F1 Aufgabenblatt 14 2005-01-30 14:36
Torminator
ah ok. Das war ich mir nämlich unsicher was passiert wäre, wenn b eine Variable gewesen wäre. Danke!