#1 27. November 2011 Prolog Unification Hi, ich hab mal ne Recht einfache Frage: Was bedeutet der Begriff Unification in dem Programmiersystem Prolog genau ? und auf folgendes Beispiel bezogen: Ist diese Unification erfolgreich, wenn ja warum ?: n(F,g) n(k,G) Meine Frage dazu wäre auch wie kann ich testen ob die Unification stimmt ? so far sun + Multi-Zitat Zitieren
#2 27. November 2011 AW: Prolog Unification Unification bedeutet, dass Terme durch Variablenersetzung gleich gemacht werden. Bei deinem Beispiel musst du also gucken, ob (und mit welcher Belegung) die beiden Terme den gleichen Ausdruck darstellen. Als Variablen kommen ja nur F und G vor. Also guckst du jetzt mit welcher Belegung von F und G die beiden Terme gleich werden. Probier's mal selbst. Falls es keine entsprechende Belegung gibt, sind die Terme nicht unifizierbar. + Multi-Zitat Zitieren
#3 30. November 2011 AW: Prolog Unification Moin Jsee hat's schon nicht schlecht erklärt. In Prolog ist es so, dass Grossgeschriebenes "Variablen" sind, keine echten veränderbaren Variablen sondern solche die einmal einen Zustand annehmen und dann bleiben. Solche Zustände können bspw kleingeschriebenes sein, aber auch Listen etc. Daher funktioniert deine Unifikation, n(F,g) n(k,G) -> n(k,g) F=k, G=g. Unifikation ist ok, solange eine Variable nicht durch verschiedene Zustände ersetzt werden muss, und wenn nach Unifikation die Variable verschwunden ist. (Also z.B. n(f(G)) kann nicht mit n(G) uniform gemacht werden). Mfg + Multi-Zitat Zitieren