La cláusula Horn es una cláusula (una disyunción de literales) con a lo sumo un literal positivo, es decir, no negado. Una cláusula con como máximo un literal positivo (no negado) se denomina Cláusula Horn.
Base de datos deductiva:
un tipo de base de datos que puede sacar conclusiones basadas en conjuntos de reglas bien definidas, almacenadas en la base de datos. RDBMS y la programación lógica se combinan usando esto. El diseño de base de datos deductivo se realiza con la ayuda de un lenguaje de programación declarativo puro conocido como Datalog.
Tipos de Cláusulas Horn:
- Cláusula definida / Cláusula de cuerno estricto:
tiene exactamente un literal positivo. - Cláusula de unidad: cláusula
definida sin literales negativos. - Cláusula de gol: cláusula de
cuerno sin un literal positivo.
En Datalog, las reglas se expresan como una forma restringida de cláusulas denominadas cláusulas Horn, en las que una cláusula puede contener como máximo un literal positivo.
Una fórmula puede tener los siguientes cuantificadores:
- Cuantificador universal:
se puede entender como: «Para todo x, se cumple P(x)», lo que significa que P(x) es cierto para cada objeto x en el universo. Por ejemplo, todos los camiones tienen ruedas. - Cuantificador existencial:
se puede entender como: «Existe un x tal que P (x)», lo que significa que P (x) es cierto para al menos un objeto x del universo. Por ejemplo, alguien se preocupa por ti.
Formas de una Cláusula Horn:
-
NOT(P1) OR NOT(P2) OR ... OR NOT(Pn) OR Q
-
NOT(P1) OR NOT(P2) OR ... OR NOT (Pn)
Transformación de la cláusula Horn:
La cláusula Horn en (1) se puede transformar en la cláusula –
P1 AND P2 AND ... AND Pn → Q
que está escrito en Datalog como las siguientes reglas
Q :- P1, P2, ..., Pn
La regla de registro de datos anterior es, por lo tanto, una cláusula de Horn.
Si los predicados P1 AND P2 AND … AND Pn son todos verdaderos para un enlace particular a sus argumentos variables, entonces Q también es verdadero y, por lo tanto, puede inferirse.
La cláusula de Horn en (2) se puede transformar en:
P1 AND P2 AND ... AND Pn →
que está escrito en Datalog de la siguiente manera:
P1, P2, ..., Pn
La expresión de registro de datos anterior se puede considerar como una restricción de integridad, donde todos los predicados deben ser verdaderos para satisfacer la consulta.
Una consulta en Datalog consta de dos componentes:
- Un programa Datalog, que es un conjunto finito de reglas.
- Un literal P(X1, X2, X3, … Xn), donde cada X es una variable o una constante.
Publicación traducida automáticamente
Artículo escrito por nitin_sharma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA