Klauzula Horna
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.
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
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ż
- klauzula
- klauzula dualna