Klauzula Horna

Wikipedia:Weryfikowalność
Ten artykuł od 2010-09 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

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

¬ p ¬ q ¬ t u {\displaystyle \neg p\lor \neg q\vee \ldots \vee \neg t\vee u}

jest równoważna

( p q t ) u {\displaystyle (p\wedge q\wedge \ldots \wedge t)\to u}

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ż

  • klauzula
  • klauzula dualna

Przypisy

  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.