Klauzula Horna
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ż
edytujPrzypisy
edytuj- ↑ Fagin R. (1982) Horn clauses and database dependencies. In: Journal of the ACM 29(4):952-985.
- ↑ Van Emden M.H., Kowalski R. (1983) [1] In:Journal of the ACM 23(4):733-742.