Klauzula Horna

Z Wikipedii, wolnej encyklopedii

Klauzula Horna (ang. Horn clause) – klauzula, w której co najwyżej jeden element jest niezanegowany. Przykładami takich klauzul są {p,¬r,¬q} i {¬r,¬q}[1].

Klauzule Horna zapisuje się zwykle w postaci implikacyjnej:

  • p ← r ∧ q
  • ← r ∧ q

albo w prologowskiej:

  • p :- r, q
  • :- r, q

Klauzule Horna są używane w programowaniu logicznym (na przykład w Prologu). Wykorzystywane są również do reprezentowania wiedzy w systemach eksperckich, ponieważ spełniają ważną właściwość:

klauzula

jest równoważna

Można wyróżnić trzy rodzaje klauzul Horna:

  • klauzula pusta, niezawierająca literałów i oznaczająca prawdziwą wartość false, jest nazywana klauzulą zatrzymania,
  • klauzula niezawierająca pozytywnego literału i zawierająca jeden lub więcej negatywnych literałów, jest nazywana klauzulą celu,
  • klauzula zawierająca dokładnie jeden pozytywny literał i zero lub więcej negatywnych literałów, jest nazywana deklaracją procedury. Pozytywny literał określa się jako nazwa procedury, a negatywne literały to ciało procedury[2].

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. Fagin R. (1982) Horn clauses and database dependencies. In: Journal of the ACM 29(4):952-985.
  2. Van Emden M.H., Kowalski R. (1983) [1] In:Journal of the ACM 23(4):733-742.