A continuación daremos una introducción a la lógica de descripción ALC y la comparamos con EL. Las fórmulas ϕde ALC son generadas por la siguiente gramática:
ϕ, ϕ0 ::=> |p| ¬ϕ|ϕuϕ0 | ∃R.ϕ
dondep∈prop, es decir, es el conjunto de los símbolos proposicionales y R ∈reles el conjunto de los símbolos relacionales. ELpuede definirse comoALCsin negación. ALCpermite negación tanto atómica (por ejemplo, ¬flower) como sobre relaciones (por ejemplo, ¬∃in.hat).
Las fórmulas de ALC (como las deEL) son interpretadas en modelos relacionales de primer orden M= (∆,|| · ||) donde ∆ es un conjunto no vacío y|| · || es una función de interpretación tal que: ||p|| ⊆ ∆ para p∈prop ||R|| ⊆ ∆×∆para R ∈rel ||¬ϕ|| = ∆− ||ϕ|| ||ϕuϕ0|| = ||ϕ|| ∩ ||ϕ0|| ||∃R.ϕ|| = {i|para algún i0,(i, i0)∈ ||R|| ei0 ∈ ||ϕ||}.
La interpretación de cada fórmula lógica denota un conjunto de objetos del dominio; por lo tanto podemos usar fórmulas para describir conjuntos. Por ejemplo en el modelo de la Fi- gura 3.2(b), la fórmula flower denota el conjunto {f1, f2}; La fórmula floweru ∃in.hat denota {f2}; y la fórmulafloweru ¬∃in.hat denota {f1}.
En EL la similaridad no es una relación simétrica. Por ejemplo, f1 es EL-similar a f2 en Figura 3.2 (si f1 satisface una fórmula, entonces también la satisface f2), pero f2 no es EL- similar a f1 (f2 satisface la fórmula ∃in.hat yf1 no la satisface). EnALC la similaridad es una relación simétrica porque el lenguaje contiene negación. En la figura, f1 no es ALC-similar a
f2 porquef2 no satisface¬∃in.hat. ALC es más expresivo que EL, esto es, para algún elemento
a es posible ser EL-similar pero noALC-similar a algún elemento b, pero no viceversa.
Como mostramos en la Sección 3.1, se puede demostrar que, para ALC, los conjuntos de similaridad de un modelo finito coinciden exactamente con lasclases de simulación del modelo. Las clases de simulación se han estudiado ampliamente en la literatura (por ejemplo, [Blackburn et al., 2001]; [Kurtonina and de Rijke, 1998]), y hay varios algoritmos eficientes para el cálculo de las clases de ALC-simulación [Hopcroft, 1971; Paige and Tarjan, 1987; Dovier et al., 2004]. Sin embargo, estos algoritmos sólo calculan las clases de simulación para ALC y no obtienen ERs como sucedía para EL con los algoritmos que describimos en la Sección 3.2.1. Para poder generar ERs en ALC es necesario ampliar el algoritmo [Hopcroft, 1971] que calcule junto con cada conjunto, también una fórmula que denote exactamente este conjunto.
El pseudocódigo del algoritmo de ALC que genera ERs se muestra como Algoritmo 3 (con L=ALC) y Algoritmo 4. Dado un modelo deM= (∆,|| · ||), el algoritmo calcula un conjunto
RE de ALC, que contiene las fórmulas tales que {||ϕ|| | ϕ ∈ RE} es el conjunto de conjuntos ALC-similitud deM. El algoritmo comienza conRE={>}(donde||>||= ∆), y sucesivamente refina RE haciendo que sus elementos denoten conjuntos más y más pequeños. Eso mantiene el invariante que, al inicio y al final de cada iteración, {||ϕ|| |ϕ∈RE} es siempre una partición de ∆. Los algoritmos iteran sobre todos los símbolos relacionales proposicionales en prop y rel para la construcción de nuevas fórmulas hasta que todas las fórmulas deREdenoten elementos únicos (es decir, que sólo un individuo las satisfaga), o no se ha hecho ningún cambio desde la iteración anterior. En cada iteración, se llama al procedimiento addALC(ϕ, RE), que agrega ϕ a toda fórmula ψ ∈RE, si ||ψuϕ|| 6=∅y ||ψu ¬ϕ|| 6=∅.
Entrada: Un modelo M= (∆,|| · ||)
Salida : Un conjunto REde fórmulas tales que {||ϕ|| |ϕ∈RE} es el conjunto de L-similaridad de M.
RE← {>} for p∈prop do
addL(p,RE)
end
while exista alguna ϕ∈RE,|||ϕ|||M>1 do
for ϕ∈RE, R∈rel do addL(∃R.ϕ,RE)
end
if no se hicieron cambios a RE then exit
end end
Algoritmo 3: Computando los conjuntos de L-similaridad.
El algoritmoALCcalcula los conjuntosALC-similaridad del modelo en tiempoO(n3), donde
n es el número de individuos en el dominio. Por lo tanto su complejidad computacional es polinomial. En trabajo previo [Areces et al., 2008] se ha mostrado que este algoritmo se ejecuta más rápidamente que el algoritmo paraEL(ambos en tiempo polinomial). El problema deALC para la GER es que introducirá negaciones libremente en las distinciones de casos, esto puede hacer que las fórmulas resultantes sean difíciles de entender. Aquí también presentamos un algoritmo para los conjuntos EL-similitud simplemente sustituyendo de la llamada a addALC en Algoritmo 3 por una llamada a addEL, que es definido en el Algoritmo 5. Como antes, el algoritmo mantiene un conjunto RE = {ϕ1, . . . , ϕn} de fórmulas (esta vez de EL) tal que
||ϕ1|| ∪. . .∪ ||ϕn|| = ∆, y que se refina de manera iterativa. El algoritmo addALC asegura que
||ϕ1||, . . . ,||ϕn|| es una partición de ∆, pero addEL no lo asegura.
Debido a que mantiene un invariante más débil, el conjunto RE puede contener más fór- mulas en el EL-algoritmo que en el ALC-algoritmo. Como ∆ tiene un número exponencial de subconjuntos, hay un riesgo de que el EL-algoritmo tenga peor tiempo de ejecución, como se muestra en [Areces et al., 2008].
for ψ ∈RE with |||ψ|||>1 do if ||ψuϕ|| 6=∅ and ||ψu ¬ϕ|| 6=∅ then add ψuϕ and ψu ¬ϕto RE; borrar ψ de RE; end end
for ψ ∈RE con |||ψ|||>1do
if ψuϕ no es redundante en RE and ||ψuϕ|| 6=∅ and ||ψ uϕ|| 6=||ψ||then add ψuϕ toRE
borrar fórmulas redundantes de RE
end end
Algoritmo 5: addEL(ϕ,RE).
Vamos a probar estos algoritmos en algunos ejemplos. En primer lugar, corremos el EL algoritmo en el modelo que se muestra en la Figura 3.2 (a), que es tomado de [Dale and Haddock, 1991a]. El algoritmo comienza conRE={>}. En el primer bucle, se añaden las fórmulasfloor, bowl, cup, y table, y luego se quita > porque es redundante. No todas estas fórmulas denotan elementos únicos; por ejemplo, ||cup|| contiene dos elementos. Así que iteramos las relaciones para refinar nuestras fórmulas. Después de la primera iteración sobre las relaciones, tenemos
RE={floor,bowlu ∃on.floor,bowlu ∃on.table,cup,table}. Notar que bowles redundante ya que están bowlu ∃on.floor y bowlu ∃on.table. Estas dos fórmulas tienen interpretaciones singleton, es decir que son ERs de b1 y b2 respectivamente. Pero aún quedan sin distinguirtables y cups. Ahora podemos usar la división entre los bowls para distinguir las cups en la segunda ite- ración. El resultado de esto es RE={floor,bowlu ∃on.floor,bowlu ∃on.table,cupu ∃in.(bowlu ∃on.floor),cupu ∃in.(bowlu ∃on.table),table}. En este punto, todas las fórmulas excepto table denotan elementos únicos, y más iteraciones no nos permiten refinar table; por lo que el al- goritmo termina. Cada fórmula con una extensión singleton es una expresión referencial; por ejemplo, cupu ∃in.(bowlu ∃on.table)sólo es satisfecha por c2, por lo que puede realizarse como la taza que está en el bowl, sobre la mesa. Notar que el algoritmo no se centró en un elemento en particular (un target); sino que simultáneamente generó ERs para todos los elementos a excepción de las dos mesas (que son EL-similares entre sí).
El EL-algoritmo demora más que el de ALC con el ejemplo de la Figura 3.2(b) vea [Stone and Webber, 1998]. A pesar de ello identifica correctamente ar1 comoel conejo en el sombrero y af2comola flor en el sombrero. No es capaz de calcular una ER def1porquef1 esEL-similar af2. De hecho, el algoritmo termina conREque contiene tanto aflower como afloweru ∃in.hat. Esto es un patrón típico de los casos asimétricos de similitud enEL: si hay dos fórmulasϕ1yϕ2 en el conjunto de salida con ||ϕ1|| ⊂ ||ϕ2||, entonces hay en general, un elemento b∈ ||ϕ2|| − ||ϕ1|| tal que todos los elementos en||ϕ1|| son similares a b, pero no viceversa. Por el contrario, en el ALC-algoritmo se puede explotar la mayor expresividad deALC para dividirfloweren 2 nuevas fórmulas floweru ∃in.hatyfloweru ¬∃in.hat, generando una ER única paraf1 pero que contiene negación.