Unifikation (Logik)

Unifikation (Logik)

Unifikation ist eine Methode zur Vereinheitlichung prädikatenlogischer Ausdrücke. Zwei Ausdrücke werden unifiziert, indem ihre Variablen so durch geeignete Terme ersetzt werden, dass die resultierenden Ausdrücke gleich sind. Die Unifikation hat insbesondere in der Computerlogik und Computerlinguistik eine größere Bedeutung erlangt. So nutzt etwa die Inferenzmaschine des Prolog-Interpreters Unifikation. In der Computerlinguistik gibt es sogenannte Unifikationsgrammatiken, die sich auf dieses Konzept stützen. Auch beim Theorembeweisen spielt Unifikation eine große Rolle.

Als Basisoperation liegt der Unifikation die Substitution zu Grunde. Im Rahmen der Prädikatenlogik bedeutet eine Substitution σ innerhalb eines gegebenen Ausdrucks die Ersetzung einer Variablen durch einen Term, in dem diese Variable nicht vorkommen darf. Die Variable wird gewissermaßen durch den Term „instanziiert“.

Wird eine Menge von Ausdrücken \{A_1,A_2,\ldots,A_n \} durch eine Substitution σ zu einem äquivalenten Ausdruck substituiert, d. h. \sigma(A_1) \equiv  \sigma(A_2) \equiv \cdots \equiv  \sigma(A_n), so bezeichnet man σ als Unifikator dieser Ausdrucksmenge. Die Anwendung eines Unifikators auf diese Menge bezeichnet man als Unifikation. Nicht alle Ausdrucksmengen können unifiziert werden.

Inhaltsverzeichnis

Beispiel

Gegeben seien die Ausdrücke A_1 = \left(X, Y, f(b) \right) und A_2 = \left(a, b, Z \right). Großbuchstaben stehen dabei für Variablen und Kleinbuchstaben für atomare Ausdrücke.

Ersetzt man in A1 nun X durch a, Y durch b und in A2 Z durch f\left(b\right), so sind sie gleich oder unifiziert. Man erhält

\sigma(A_1) = \left(a, b, f(b) \right)
\sigma(A_2) = \left(a, b, f(b) \right)

mit

\sigma = \{X \mapsto a, Y \mapsto b, Z \mapsto f(b)\}.

Kleinster gemeinsamer Unifikator

Zu einer Menge von Ausdrücken existieren gewöhnlich mehrere Unifikatoren. Man nennt einen Unifikator μ kleinster gemeinsamer Unifikator oder allgemeinster Unifikator, wenn es für jeden anderen Unifikator σ eine Substitution τ gibt mit \sigma = \tau \circ \mu. Dieser ist natürlich nicht notwendigerweise eindeutig.

Mittels des Algorithmus von Robinson nach John Alan Robinson kann man zu unifizierbaren Ausdrücken einen kleinsten gemeinsamen Unifikator finden.

Unifikationsalgorithmus

Eingabe: Menge von Ausdrücken A
Ausgabe: allgemeinster Unifikator sub
sub := ∅
while |sub(A)| > 1 do begin
  Durchsuche die Ausdrücke sub(A) von links nach rechts,
  bis die erste Position gefunden ist, wo sich zwei Ausdrücke
  in einem Zeichen unterscheiden.
  if keines der beiden Zeichen ist eine Variable then
    Gib "nicht unifizierbar" aus. STOP
  else begin
    Sei X die Variable und t der im anderen Ausdruck beginnende Term
    (kann auch Variable sein)
    if X kommt in t vor then
      Gib "nicht unifizierbar" aus. STOP
    else sub := sub[X/t] (sub und [X/t] werden hintereinander ausgeführt)
  end
end
Gib sub aus.

Literatur

  • J. A. Robinson. A Machine-Oriented Logic Based on the Resolution Principle. Journal of the ACM. 1965 ACM Press
  • Michael M. Richter. Prinzipien der Künstlichen Intelligenz. Wissensrepräsentation, Inferenz und Expertensysteme. Teubner Verlag, 1996. ISBN 3-519-12269-3.
  • Uwe Schöning: Logik für Informatiker. Spektrum Akademischer Verlag, Berlin 2005, ISBN 3-8274-1005-3, S.90-93
  • Baader, F. und W. Snyder, "Unification Theory", Kapitel acht in Handbook of Automated Deduction, Springer Verlag, Berlin (2001).

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Unifikation — Eine Unifikation (Zusammenführung) ist in der Logik eine Operation, siehe Unifikation (Logik), in der Linguistik eine Operation in einer Unifikationsgrammatik, in Unicode die Zusammenführung von als gleich erkannten CJK Zeichen, siehe Unicode …   Deutsch Wikipedia

  • Merkmalsstruktur — Eine Merkmalstruktur ist eine abstrakte hierarchische Struktur, die der Darstellung sprachlicher Eigenschaften und Dependenzen dient. Merkmalstrukturen werden in einigen linguistischen Formalismen verwendet, z. B. in der Head driven Phrase… …   Deutsch Wikipedia

  • Merkmalstrukturen — Eine Merkmalstruktur ist eine abstrakte hierarchische Struktur, die der Darstellung sprachlicher Eigenschaften und Dependenzen dient. Merkmalstrukturen werden in einigen linguistischen Formalismen verwendet, z. B. in der Head driven Phrase… …   Deutsch Wikipedia

  • Unifikationsgrammatik — Eine Merkmalstruktur ist eine abstrakte hierarchische Struktur, die der Darstellung sprachlicher Eigenschaften und Dependenzen dient. Merkmalstrukturen werden in einigen linguistischen Formalismen verwendet, z. B. in der Head driven Phrase… …   Deutsch Wikipedia

  • Occurs check — Der Occurs check bezeichnet in der Informatik einen Teil des Unifikationsalgorithmus. Er verhindert, dass eine Variable durch einen Term ersetzt wird, der diese Variable enthält. Anwendung findet er bspw. bei der Typprüfung in funktionalen… …   Deutsch Wikipedia

  • Zweistufengrammatik — Eine Van Wijngaarden Grammatik (auch: vW Grammatik oder W Grammatik) ist eine Zweistufengrammatik aus der Compilerprogrammierung, eine Art von formaler Grammatik, die es möglich macht, mit einer endlichen Menge von Regeln potentiell unendliche… …   Deutsch Wikipedia

  • HPSG — Die Head driven Phrase Structure Grammar (HPSG) ist eine Grammatiktheorie, die in den 1980er Jahren auf der Basis der Wiederbelebung der kontextfreien Phrasenstrukturgrammatiken als Generative Grammatiktheorie aus der Familie der… …   Deutsch Wikipedia

  • MGU — steht als Abkürzung für: die Moskowski Gossudarstwenny Uniwersitet, die Moskauer Lomonossow Universität Mindestgesprächsumsatz, siehe Mindestumsatz. most general unifier (kleinster gemeinsamer Unifikator), siehe Unifikation (Logik) MG U steht für …   Deutsch Wikipedia

  • Unifikator — Unifikation ist eine Methode zur Vereinheitlichung prädikatenlogischer Ausdrücke. Diese hat insbesondere in der Computerlogik und Computerlinguistik eine größere Bedeutung erlangt. So nutzt etwa die Inferenzmaschine des PROLOG Interpreters… …   Deutsch Wikipedia

  • Typinferenz nach Hindley-Milner — Hindley Milner (HM) ist ein klassisches Verfahren der Typinferenz mit parametrischem Polymorphismus für den Lambda Kalkül. Es wurde erstmals von J. Roger Hindley[1] beschrieben und später von Robin Milner[2] wiederentdeckt. Luis Damas trug eine… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”