1

我的直觉说不可能翻译句子

所有红色汽车都比所有蓝色汽车好

进入描述逻辑(在 FOL 中,这将是

∀x∀y(红色(x)∧蓝色(y)→更好(x,y))

在汽车领域进行解释)。实际上,包含域的所有元素对的完整二元关系的唯一构造是通用角色U。我看不到如何要求左侧集合红色的所有元素对和右侧集合蓝色的元素,即如何将U限制为一组特定的前任和后继。

但不知道如何去做并不能证明这是不可能的。因此我的问题是:当您使用特定类型的描述逻辑(例如此处描述的SROIQ)时,您如何证明不可能在其中表示给定的自然语言句子或 FOL 公式?

4

1 回答 1

2

证明某些东西不能用描述逻辑来表达是很困难的。有几种方法可以做到这一点。例如,考虑可以表达所有 SROIQ 的 FOL 片段,将涵盖您的案例的 FOL 片段添加到其中,并研究结果逻辑的复杂性。如果复杂度严格高于 SROIQ,那么显然 SROIQ 不足以表达你想要的。您还可以研究模型的形状。例如,在 ALC 中,总是存在任何一致 KB 的有限模型。如果通过添加新结构可以证明必须有无限的模型,那么您就无法在 ALC 中表达您的结构。等等。

回到你的具体案例,所有红色汽车都比所有蓝色汽车都好(这个说法值得商榷!)。你不能证明它不能用 SROIQ 表达,因为它可以!这种结构(称为概念产品,因为它对应于两类的 carthesian 产品,即red在您的情况下)由 Rudolph、Krötzsch 和 Hitzler于blue2008 年发表的题为“所有大象比所有老鼠都大”的研究论文解决了这一问题。这篇论文证明了概念产品可以用 OWL 2 DL 来表达,并解释了它是如何实现的。

这在 OWL 中按如下方式完成,以 Turtle 语法序列化(:r1并且:r2必须是新的角色名称,不在其他任何地方使用,并且:x必须是新的个人名称,不在其他地方使用):

:r1 a owl:ObjectProperty .
:r2 a owl:ObjectProperty .
:x a owl:Thing .
:better a owl:ObjectProperty;
    owl:propertyChainAxiom (:r1 :r2) .
:Red a owl:Class;
    rdfs:subClassOf [
        a owl:Restriction;
        owl:onProperty :r1;
        owl:hasValue :x
    ] .
 :Blue a owl:Class;
    rdfs:subClassOf [
        a owl:Restriction;
        owl:onProperty [owl:inverseOf :r2];
        owl:hasValue :x
    ] .
于 2017-05-06T14:21:11.867 回答