问题标签 [transitive-closure]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
230 浏览

r - 在 r 中对两个变量进行分组

我有一个如下所示的数据框。

我想根据这些字母是否出现在同一行中添加一个组列。

我的想法是首先将第一行分配给第 1 组,然后将 v1 或 v2 为“a”或“z”的任何行也分配给第 1 组。

有像第 3 行和第 4 行这样的场景,其中 c 被分配到第 1 组,因为在第 3 行中,v2 是“a”。并且“w”被分配给第 1 组,因为在第 4 行 v1 是“c”,它之前被分配给第 1 组。但是我的名单很长,所以我不能一直检查所有的“后代”。

我想知道是否有办法对这些字母进行分组,并返回一个带有组号的列表。像下表这样的东西就可以了。

0 投票
1 回答
232 浏览

prolog - 初学者 Prolog 堆栈溢出

我正在处理我的第一个 Prolog 任务,并且在递归问题上,我似乎无法停止溢出堆栈。就像上瘾一样;我不知道怎么停下来。

让我给你举个例子。我想创建一个函数来确定一个对象 Y 是否是另一个对象 X 的一部分。这是我正在使用的数据库:

从这里开始,我想编写一个函数partof(X,Y),如果 Y 是 X 的一部分,则返回 true。这就是我目前拥有的:

这适用于所有true查询,但会溢出堆栈而不是返回false.例如:

我知道你们都在想,“这个愚蠢的白痴,不知道什么是基本情况。不知道如何退出递归。” 好吧,我不怪你。我觉得很笨。不过,一些耐心的指导会很有帮助。提前致谢!

0 投票
1 回答
424 浏览

prolog - How to stop printing the same value twice in prolog?

I have this facts or database in prolog to see if the educations is the same or less than. for example highschool <= highschool is true and highschool <= phd is true too, but masters <= highschool is false.

but this outputs

when i want only one true to be printed in the output.

0 投票
0 回答
34 浏览

prolog - Prolog 未定义过程(DWIM 无法达到目标)

当我尝试这段代码时,我总是得到上面提到的错误

例如,我问 prolog?- reicher_als(eva,clemens)它给了我错误。

0 投票
1 回答
141 浏览

prolog - Prolog,如果接受基本情况,如何添加子句

我是 Prolog 的新手。当存在从 X 到 Z 的路径(包括 X 到 Y 和 Y 到 Z)时,我正在尝试编写一个正确的谓词。

例如

当存在从 X 到 Y 的路径时,我可以编写正确的代码,但如果基本情况为真,我无法弄清楚如何添加从 Y 到 Z 的代码。

0 投票
2 回答
116 浏览

prolog - Prolog查找不相关的图节点

我有以下图表:

图形

我的目标是获取某个节点的所有直接连接以及未与某个节点连接的所有节点,例如:

连接(1,X)。

X=3;

X=4;

X=5;

X=6。

无连接(1,X)。

X=2。

这是我的代码:

如您所见,我成功地进行了连接,但不知道如何为noConnections进行连接

0 投票
1 回答
73 浏览

prolog - 在 Prolog 中,如何在谓词链中定义顺序时进行比较?

具有以下定义:

如何定义一个规则is_bigger(X,Y),这样is_bigger(a,c)andis_bigger(a,d)将返回 true。

此外,我对 Prolog 很陌生。标题是否正确解决了问题,如果没有,我该怎么说?

0 投票
0 回答
309 浏览

prolog - Prolog中的家庭关系

我不明白如何删除无限循环。试图找到祖先时。

由于第一条规则,Prolog 似乎陷入了无限循环。我真的很想避免像我必须为配偶(反身关系)那样对事实进行硬编码。但我似乎无法弄清楚这个问题与其他有关传递关系的问题有何相似之处。

0 投票
1 回答
445 浏览

neo4j - Neo4j 中传递闭包查询的性能

我正在尝试使用以下 Cypher Query 计算 Neo4j 中无向图的传递闭包(“E”是图的每条边都具有的标签):

我试图在一个有 10k 节点和大约 150k 边的图上执行这个查询,但即使在 8 小时后它也没有完成。我觉得这很令人惊讶,因为即使是最简单的 SQL 解决方案也快得多,而且我预计 Neo4j 对这类标准图形查询的效率会更高。那么我是否缺少一些东西,也许是对 Neo4j 服务器的一些调整或编写查询的更好方法?

编辑

以下是EXPLAIN上述查询的结果:

0 投票
0 回答
55 浏览

prolog - prolog查找事实并查询家谱

我需要帮助来找到以下的序言代码: 祖先(x,y)仅使用 is_a(x,y),其中 X 是 Y

与动物树问题下方所附问题相关的图像