问题标签 [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 投票
3 回答
2518 浏览

list - 遍历图(可能有循环)并在 Prolog 中返回路径

我得到了一个弧列表:

我写了一组子句,它们会告诉我是否有从 nodeX到 node的路径Y。可能会出现循环,我已经解释过了。

我需要修改它以在成功时返回已遍历的节点列表。我不清楚我将如何做到这一点。

我假设我的基本情况类似于path2(X,Y,[X,Y]) :- arc(X,Y).但不适用于我的程序。我对上一部分的解决方案有问题,还是我只是缺少一个小修改?任何帮助,将不胜感激。谢谢!

0 投票
4 回答
2469 浏览

scala - 如何生成元组集的传递闭包?

生成一组元组的传递闭包的最佳方法是什么?

例子:

  • 输入Set((1, 2), (2, 3), (3, 4), (5, 0))
  • 输出Set((1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4), (5, 0))
0 投票
0 回答
316 浏览

mysql - 从 CTE 到 mySQL 存储过程代码

这是一个使用 sql CTE 的查询来创建包含用户之间关系的表的传递闭包。(图的边缘)。这如何在 mySQL 中完成?

或者至少找到两个节点之间的所有简单路径,而不为所有节点创建传递闭包。代码取自:http ://techportal.inviqa.com/2009/09/07/graphs-in-the-database-sql-meets-social-networks/

0 投票
1 回答
1994 浏览

java - 找到图中所有传递闭包的适当算法?

我想在我的图中找到所有具有以下条件的传递闭包循环:

  1. 如果已识别循环中存在的所有节点都是另一个已识别循环的子集,那么我们将仅考虑超集。
  2. 找到所有不同的循环。

注意:将“循环”读为--> 传递闭包循环(即传递闭包集中的节点)

0 投票
1 回答
413 浏览

c++ - boost::transitive_closure() 和“错误:没有匹配函数调用 'vertices(const std::vector……”

我在 Linux 机器上使用 GCC 4.5.0 和 boost 1.48.0。

在编译使用 boost::graph 中的 boost::transitive_closure() 函数的源文件时,我遇到了与http://boost.2283326.n4.nabble.com/Problem-in-using-Transitive相同的问题-closure-on-Linux-td2573042.html。但是在我的情况下,在任何其他 Boost 头文件之前包含 boost/graph/vector_as_graph.hpp 并不会改变这种情况。

以前有人遇到过这种情况并知道如何解决吗?

0 投票
3 回答
546 浏览

recursion - Prolog 递归 - 满足两个方向(简单)

我对 Prolog 很陌生,我被分配了这个任务。

我的代码如下:

很简单。这表明如果:

Prolog 将返回 true。现在,我被困在如何让它返回 true 如果:

我一直在想出一些想法,比如如果 isRelated(Z,Y) 返回 false,然后切换 X 和 Y,然后再次运行 isRelated。但我不确定 Prolog 是否允许这样的想法。任何提示或建议将不胜感激。谢谢!

更新:* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **

所以我补充说:

这将满足“直接”关系,但很简单,我发现它不满足间接关系。

我真的想做一些类似的事情,如果初始查询:

失败,然后尝试通过切换X和Y来查看是否相反:

那肯定会返回true。我只是不知道如何在 Prolog 的语法上做到这一点。

0 投票
2 回答
246 浏览

c# - 类层次结构定义VS(自动)生成的导航属性

以下案例的设计考虑因素是什么?

假设您有报价。

报价与特定合约有关。

我可以通过以下方式定义我的类

然而,当我导航时,即使它在我的模型中存在,我也希望能够做到

通常,这些属性是在使用实体框架或其他一些 ORM 时生成的。

但是将定义导航分开的问题完全普遍存在,即使在使用纯内存类时也是如此。

(我想可以从定义中指定的链接子集中生成导航图的传递闭包)

我的问题是:在 FSharp 中自动继承这些导航属性的可行方法是什么?我只是一个用户,而不是框架开发人员,这是非常低级的东西。

[显然你可以推广到更复杂的类层次结构可以是

  • 报价来自经纪人,具有买入或卖出性质,具有水平,并且对特定合约有效。
  • 合同可以有一定的期限,比如 2013 年,并且指的是特定的公司。
  • 公司有股票行情等,等等……]
0 投票
1 回答
3428 浏览

transitive-closure-table - 寻找图的传递闭包

我正在尝试计算图的传递闭包。让我们以这个图为例(图片描述了这个图,它的邻接和连接矩阵): 在此处输入图像描述

使用我在此页面上找到的 Warshall 算法,我生成了这个连接矩阵(=传递闭包?),这与图片中的不同:

我也尝试过使用这个小程序,它也给了我不同的结果:

所以我现在有点困惑,因为我不知道哪个矩阵是正确的。有人可以阐明我的问题吗?

0 投票
2 回答
492 浏览

algorithm - 通过利用机器词计算 DAG 上的传递闭包的算法?

设 G 为 DAG,n 个顶点和 m 个边由邻接矩阵给出。我还需要以矩阵的形式计算它的闭包。我们有一台计算机,每个单词都是 b 位。我需要找到一种算法来计算传递闭包(n^2+nm/b)

我不太确定我理解什么bits意思以及如何使用它

添加寻找 dag 的传递闭包的算法:

0 投票
2 回答
330 浏览

awk - 计算传递闭包

我的成对 DNA 序列数据以下列方式显示相似性。

以上是一个示例输入文件,原始文件是几百万行。我希望输出根据行之间的公共元素对重叠的 id 进行聚类,并将它们输出到每个聚类的一行,如下所示

我目前正在尝试使用mclsilix对它们进行集群,但我没有成功运行 silix。但是 mcl 目前正在进行中,我想知道在 awk 或 perl 中是否有其他聪明的方法可以做到这一点。我很感激一些解决方案,谢谢。(这是我的第一篇文章,如果我犯了一些错误,我很抱歉)

只是为了让它更简单......很容易说我的输入是,

我希望输出是,