Apéndice B :

Desarrollo de algunas expresiones matemáticas

B.1 Relación entre consistencia y k-consistencia borrosas

En este apartado demostraremos que las expresiones:

[EC. 4.29] : C es consistente sobre T ¤ ("t T) (SB(t) )

[EC. 4.30] : C es k-consistente sobre T ¤ TC(C) « P k · TC(C), para k [0, 1]

definidas en el apartado 4.3.2.6 , son equivalentes entre sí para el valor k=1. Además, la segunda es una generalización de la primera para cualquier k (es decir, toda cláusula consistente es también k-consistente).

Partiendo de la [EC. 4.29] y aplicando la función

a ambos lados de la desigualdad no se altera el sentido de la misma:

El parámetro k toma valores en el intervalo [0, 1], por tanto, se puede introducir como factor en la parte derecha de la desigualdad:

Tomando el sumatorio en las tuplas en que se cumple ("t T) se llega a:

¤ TC(C) « P k · TC(C)

que es exactamente la expresión [EC. 4.30] .

 

Partiendo de [EC. 4.30] , se puede expresar la cardinalidad escalar en forma de sumatorio, y sustituir el parámetro k = 1:

Supongamos ahora que el conjunto T se parte en dos subconjuntos del siguiente modo:

T1 = { t T SB(t) }

T2 = { t T SB(t) < }

en ese caso, la condición anterior queda:

SB(t)  (

 

que sólo puede cumplirse cuando T2 es el conjunto vacío. Por tanto, todas las tuplas de T deben cumplir la expresión [EC. 4.29] :

B.2 Cálculo de NumLit(m,u)

Denominamos:

NumLit(m,u) al número de literales afirmativos distintos, construidos a partir de un predicado qm de grado m, que son candidatos a ser el siguiente antecedente de una cláusula en construcción con u variables usadas.

Todos los literales candidatos deben tener, al menos, una variable usada, por tanto, si se denomina:

NumLitJ(m,u) al número de literales afirmativos distintos con variables usadas en J términos, construidos a partir de un predicado qm de grado m, que son candidatos a ser el siguiente antecedente de una cláusula en construcción con u variables usadas.

se cumple que:

En el apartado B.2.1 se calcula la expresión de NumLitJ(m,u) que, sustituida en la ecuación anterior, da lugar a la expresión:

donde:

anynew(i) = número de diferentes combinaciones de variables nuevas para una tupla con i términos; este valor se calcula en el apartado B.2.2

B.2.1 Cálculo de NumLitJ(m,u)

Si denominamos:

m = grado de un predicado qm asociado a una relación Qm de la base de datos

u = número de variables usadas en una cláusula en construcción

J = número de términos de un literal que son variables usadas (en una cláusula en construcción)

NumLitJ(m,u) = número de literales afirmativos distintos con variables usadas en J términos, construidos a partir de un predicado qm de grado m, que son candidatos a ser el siguiente antecedente de una cláusula en construcción con u variables usadas.

entonces, el número de literales afirmativos de nombre qm con exáctamente J términos que son variables usadas (aunque pueden aparecer repetidas) será:

donde:

anynew(i) = número de diferentes combinaciones de variables nuevas para una tupla con i términos; este valor se calcula en el apartado B.2.2

El primer valor de NumLitJ(m,u) será:

B.2.2 Cálculo de anynew(i)

Denominamos:

anynew(i) = número de diferentes combinaciones de variables nuevas para una tupla con i términos

este valor depende únicamente del tamaño i del literal a considerar (número de términos). Por ejemplo, para una tupla de dos términos sólo son posibles dos combinaciones diferentes de variables nuevas, que son:

(V1, V1) = ambos términos son variables nuevas y, además, iguales entre sí

(V1, V2) = ambos términos son variables nuevas y, además, distintas entre sí

ya que otras combinaciones son repetición de las anteriores:

(V2, V2) = ambos términos son variables nuevas y, además, iguales entre sí, igual que (V1, V1)

(V2, V1) = ambos términos son variables nuevas y, además, iguales entre sí, igual que (V1, V2)

(V2, V3) = ambos términos son variables nuevas y, además, iguales entre sí, igual que (V1, V2)

etc.

Por tanto, anynew(2) = 2. Otros valores de anynew(i) se pueden calcular con la expresión siguiente:

donde new(i,j) es el número de diferentes combinaciones de i términos con j variables nuevas (que pueden repetirse):

B.3 Estimación del número medio de tuplas expandidas con las que debe evaluarse un literal

Sea un conjunto con N tuplas, todas expandidas a partir de una única tupla original. Supongamos que M de ellas satisfacen un literal Li candidato. ¿Con cuántas habrá que evaluar, en media, hasta encontrar una de estas M tuplas?

Por tanto, se puede calcular el número medio de tuplas con las que debe evaluarse Li hasta encontrar una de las M que lo satisfacen:

Sustituyendo los diferentes valores calculados para Pn se llega a la siguiente expresión:

Se puede comprobar que esta ecuación se reduce a la siguiente, sin más que desarrollar el sumatorio y simplificar términos: