Przejdź do zawartości

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. Ronald Fagin. Horn clauses and database dependencies. „Journal of the ACM”. 29 (4), 1982. DOI: 10.1145/322344.322347. ISSN 0004-5411. 
  2. Maarten H van Emden, Robert A Kowalski. The Semantics of Predicate Logic as a Programming Language. „Journal of the ACM”. 23 (4). s. 1976. DOI: 10.1145/321978.321991. ISSN 0004-5411.