Clauza Horn

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În logică și în special în calculul propozițional , o clauză Horn este o disjuncție a literelor în care cel mult unul dintre literali este pozitiv . Ele poartă numele lui Alfred Horn, care a subliniat pentru prima dată importanța lor (1951). [1]

Un exemplu de clauză Horn este după cum urmează:

Numărul literelor poate fi arbitrar (chiar zero); condiția ca cel mult unul să fie pozitiv permite clauzei să fie scrisă sub forma unei implicații.

Dacă numărul literalilor pozitivi este exact unul, clauzele lui Horn se spune că sunt „definite”, a căror premisă (corp) este o conjuncție de literali pozitivi și concluzia (capul) este un singur literal pozitiv.

Pornind de la exemplu, să aplicăm mai întâi De Morgan :

Apoi folosim echivalența logică:

Prin urmare, obținem:

Cazuri speciale

O clauză Horn fără literale negative poate fi văzută ca o clauză Horn definită care afirmă doar o anumită propoziție și este uneori numită „fapt”.

O clauză Horn fără literali pozitivi poate fi scrisă ca o implicație a cărei concluzie este falsă. Exemplu:

De Morgan :

În câmpul bazei de date, astfel de formule se numesc constrângeri de integritate .

Corn-satisfacție

În teoria complexității , clauzele Horn sunt deosebit de interesante, deoarece problema satisfacibilității unei formule booleene în cazul particular în care clauzele formulei sunt toate clauzele Horn (numită problema Horn-satisfacție ) are complexitate polinomială . [2]

Programare logică

Clauzele Horn sunt baza programării logice , unde este obișnuit să scrieți clauze definite sub forma implicației logice :

Această implicație este de obicei scrisă înapoi, pentru a-i sublinia semantica:

De fapt, regula bazată pe această clauză are următorul sens:

a dovedi , demonstrează și demonstrează și ... și demonstrează .

În Prolog regula este scrisă după cum urmează:

 u : - p , q , ..., t .

Van Emden și Kowalski (1976) au investigat proprietățile clauzelor Horn în cadrul teoriei modelelor și al programării logice, arătând că orice set de clauze definite are un singur model minim . O formulă atomică este implicit logic de dacă și numai dacă , adică dacă este adevărat în al doilea rând . Conceptul de model minim pentru clauzele Horn stă la baza semanticii modelului stabil . [3]

Notă

Elemente conexe

linkuri externe