Unifikation


[ Zum Seminar "Programmierkonzepte und Programmiersprachen" ][ Zum Inhalt ][ Probleme, Differenzen & SOnstiges ]

Übersicht:



Was ist Unifikation ?


Die Unifikation ist die Bindung von Variablen, so dass deckungsgleiche Formeln entstehen.



Wie funktioniert Unifikation ?


Vorgehen nach einem bestimmten Algorithmus:
Die Resolution wird von links nach rechts aufgelöst,
die Suchstrategie der Unifikation geht in die Tiefe (depth-first), also von oben nacht unten die Wissenbasis durch.
Es wir immer nur eine Möglichkeit in Betracht gezogen, mit der Annahme dass die Wahl richtig war. Erst wenn keine Lösung mit der "Besetzung" gefunden werden konnte wird eine andere Möglichkeit versucht.
Dieses wird Backtracking genannt, da dann jeweils ein Schritt zurück gemacht wird, der vorher gesetzte Wert aus der Lösungsmenge herausgenommen wird und eine neue Zuweisung stattfindet.
Diese Stratiegie gilt als sehr effizient, da sie gut umgesetzt werden kann (z.B.: rekursiv, als Stack...).



Ein Beispiel zur Vorgehensweise


(als PROLOG-Datei auch hier zu finden)
Gegebene Wissensbasis:
maennlich(hans).
maennlich(adalbert).
weiblich(trude).
weiblich(giesela).
verheiratet(hans,giesela).
verheiratet(adalbert,trude).
ehepaar(M,F) :- maennlich(M),weiblich(F),verheiratet(M,F).

Stellt man nun die Anfrage:
?- ehepaar(hans,F). geht PROLOG folgendermassen vor


reso.gif nicht gefunden...


[ Zum Seminar "Programmierkonzepte und Programmiersprachen" ][ Zum Inhalt ][ Seitenanfang ][ Probleme, Differenzen & SOnstiges ]