使用一阶逻辑描述电影(实体和属性)

Posted

技术标签:

【中文标题】使用一阶逻辑描述电影(实体和属性)【英文标题】:Describe a film (entity and attribute) using the first order logic 【发布时间】:2015-07-09 01:54:13 【问题描述】:

早上好, 我想了解如何使用一阶逻辑来描述事物。

例如我想描述什么是电影(一个实体),什么是电影的属性(例如演员:克鲁尼)。我如何使用一阶逻辑来描述它?

*********更新********

我需要按第一逻辑顺序解释的是:

ENTITY:可以用一组属性或属性来描述的元素、抽象或对象。所以我认为我必须说实体具有一组具有各自值的属性。实体描述一个元素、一个抽象或一个对象。

ATTRIBUTE:一个属性总是有一个值并且它总是与一个实体相关联。它描述了实体的特定特征/属性。

DOCUMENT:纯文本描述(纯文本不包含任何html标签)。每个文档通过其属性仅描述一个实体。

【问题讨论】:

Roman 的回答很有表现力,我认为您需要添加比编辑更多的解释。您的编辑基本上是在描述逻辑命题的工作原理,这已在下面的答案中进行了解释。 【参考方案1】:

要声明一个对象具有某个属性,您可以使用单个位置谓词。例如,要声明x 是一部电影,您可以写成Film(x)。如果你想为一个对象赋予一些价值,你可以使用两个(或更多)地方谓词。用你的例子,你可以说克鲁尼在一部电影中饰演Starred(clooney, x)

人们使用某些约定。例如,谓词以大写字母(ActorFilmFatherOf)开头,常量以小写字母开头(xclooneybatman)。常量表示对象,谓词说明对象。如果谓词有多个参数,第一个参数通常是您要陈述的主题。这样你就可以自然地将逻辑公式读成普通语言的句子。例如,FatherOf(x, y) 会读作 “x 是 y 的父亲”

更新答案:

我不确定你是否可以在一阶逻辑中做到这一点。您可以通过公式将Entity 描述为具有某些属性的东西,例如

\forall x (Entity(x) ==> Object(x) | Element(x) | Abstraction(x))

这对Attribute 来说有点困难。在一阶逻辑中,属性将某种性质赋予一个对象或将其与另一个对象相关联。您可能可以使用三个位置谓词,如下所示:

\forall attribute (\exists object (\exists value (Has(object, attribute, value))))

至于文件,那只是这些陈述的结合。例如,乔治克鲁尼的描述可能如下:

Entity(clooney) & Has(clooney, starred, gravity) & Has(clooney, bornIn, lexington) & ...

【讨论】:

感谢罗曼的回答...我已经更新了我的回答...有点复杂...我不需要描述具体的电影...我需要描述什么是一个实体(FILM),它的一个属性......请看一下:D 感谢 Roman 的更新,我认为您的回答是最好的...请您也使用文档定义更新它吗?比我将您的答案标记为最佳!非常感谢你【参考方案2】:

执行此操作的典型方法是说明存在特定对象并且该对象具有某些属性。例如:

(∃x)(property1(x) & property2(x) & ~property3(x))

又名:存在满足属性1和属性2但不满足属性3的事物。

您当前的问题表述不清楚您所说的属性和文档是什么意思。也许对你的属性概念:可以将所有满足它的实体描述为property1 的域;因此,例如blue 的域都是蓝色对象。

一阶逻辑与 HTML 无关——您是否尝试使用 HTML 以某种方式在一阶逻辑中表示实体?仍然非常不清楚您的问题是什么。

【讨论】:

感谢您的回答。我已经用更多细节更新了我的答案...请参阅我的问题的更新部分,其中有我必须使用第一个逻辑顺序描述的所有内容。我需要一种可以帮助我说出我所解释的内容的语言用文字:D @UsiUsi 我看到了你的解释,这根本没有帮助,我仍然几乎不知道你在找什么。就目前而言,您的问题似乎不适合 SO。

以上是关于使用一阶逻辑描述电影(实体和属性)的主要内容,如果未能解决你的问题,请参考以下文章

一阶逻辑和PDDL发展的原因

浅析逻辑代数命题逻辑一阶逻辑高阶逻辑和数理逻辑

当我们已经有了一阶逻辑时,为啥还需要 PDDL?

一阶逻辑统一

prolog 一阶逻辑

一阶逻辑公式