问题标签 [directed-graph]

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 回答
1505 浏览

javascript - 在 Javascript Infovis Toolit/强制有向图中更改节点形状

我正在使用 Javascript Infovis 工具包(JIT)并想将节点的形状更改为某个图像。我该怎么做?默认形状是圆形,可以进一步更改为矩形、正方形、椭圆等,但就我而言,我需要将其更改为本地磁盘驱动器上的图像。

他们说可以在“类型”字段中这样做,但是我们需要添加哪些所有方法或查看对...的影响?请参阅以下链接:

http://thejit.org/static/v20/Docs/files/Options/Options-Node-js.html

我们究竟该怎么做呢?

请帮忙...

0 投票
0 回答
168 浏览

algorithm - 有向图最小子图算法

哪种算法可以找到有向子图(由相同的顶点和最少的边组成),并且所有路径都将保留?

G(V,E) --> 在 E 中找到 V=V & E' 的最小 G'(V,E'),并且所有路径都保留。

谢谢。

0 投票
1 回答
1381 浏览

multithreading - 有向图中数据处理的线程模型

我将设计一个简单的数据分析工具,通过有向图处理不同类型的数据。有向图在某种程度上可以由用户定制。每个节点将包括对通过的数据的日志记录、分析和数学运算。该图在许多方面与神经网络相似,只是在每个节点都有额外的处理。一些节点对通过的数据元素进行简单的操作,而其他节点具有复杂的算法。

如何在这个有向图中对处理进行多线程处理,以便以最快和最有效的方式从图中得到结果?内存在这里不是问题,初始化此任务所需的时间也不是问题。

我想到了几种不同的方法来多线程工作:

  • 每个线程实例都“跟随”进入此图中开始节点的每个数据元素。线程在通过每个节点时将保留此数据元素,并在每个节点上调用处理方法,一直沿树向下。这基本上需要每个进入系统的数据元素一个线程。当然,一旦数据元素通过了整个系统,线程就会被回收。这里的问题是当一个节点上存在两个传出边时——线程需要同时跟随两者(这是否意味着从线程池中拉出一个新线程?)。

  • 每个节点创建一个线程,并在每个图形边缘上创建一个数据缓冲区。节点上的工作线程将不断检查以在一个线程需要更长的时间处理数据的实例中保存数据。这种方法的问题是缓冲区固有的“轮询”以获得足够的数据来开始处理它——也许为简化任何图形配置的数据流付出了很小的代价。

谁能想到更好的方法,或者你推荐哪一个?我正在寻找通过系统的最小延迟以及不断处理传入数据流的能力。

谢谢!布雷特

0 投票
2 回答
3876 浏览

graphviz - graphviz中的重叠边

我有两个重叠的边缘,不知道为什么:

在此处输入图像描述

有没有办法分别显示两个n1 -> n2边缘n2 -> n1?删除集群不是一种选择,但会有所帮助......

0 投票
4 回答
1173 浏览

algorithm - 有向图查找其输入边并非都可以从给定节点到达的节点

在最近的一次采访中,我被问到以下问题。

给定一组节点和边,起始节点指向最终结束节点。在下图中,它从 1 开始,到 15 结束。他们的问题是以节点 2(或任何节点)为起点,我们如何才能在其路径中找到下一个节点,其输入边并非都可以从节点 2 到达(即我们怎样才能达到14)。

我该怎么做,伪代码应该没问题。

在此处输入图像描述

0 投票
1 回答
231 浏览

algorithm - 有向图约束最大生成子树的逼近算法

给定一个有向图,其中每个向量的成本都是非负的,每个顶点的利润都是非负的,你如何找到具有最大利润的图的生成子树?我想将成本限制在给定的预算范围内。我正在寻找多项式时间复杂度问题的近似算法,以及理论近似因子。

0 投票
1 回答
341 浏览

data-structures - 这种数据结构有形式主义吗?

我正在为我正在使用的数据结构寻找数学形式,以便我可以追踪相关的定理和算法。

假设您有以下内容:

  • 主题的有向无环图。
  • 在每个主题中,主题、一组文档中的项目和一组组中的项目之间存在一个或多个关系。
  • 这些组可能是一个简单的集合,也可能最终成为一个 DAG。它们用于管理文档与主题关联的可见性。

直到最近我才遇到hypergraphs,这似乎相关但过于笼统。这种数据结构有形式主义吗?如果不是,能否用数学术语更简洁地描述它?

0 投票
1 回答
377 浏览

algorithm - 在 D*Lite 上定义路径方向

我目前正在研究 Sven Koenig 的 D*Lite 算法的实现。 http://idm-lab.org/bib/abstracts/papers/aaai02b.pdf。基本上,我试图在开始实施之前了解所有细节。似乎该算法适用于有向图,这是定义PredandSucc函数的方式。

如何定义图形的方向以及哪些参数决定了图形的方向。我应该使用诸如成本之类的参数的值g(这似乎不是一个好的选择……因为g成本与rhs算法更新的值一起使用)还是距离的启发式估计?

0 投票
2 回答
1452 浏览

algorithm - sharir kosaraju 算法和顶点

假设我们在有向图上运行 sharir kosaraju 算法。我们在这张图上有一个弧 (u,v)。在这个算法中,我们有两个 DFS 通道。现在假设我们将顶点 u 插入到第一个深度树 T 中。 v 会出现在哪里?它是在较早或以后创建的另一棵树中吗?提前致谢 !

我正在为考试而学习......所以我猜这是一种家庭作业,但我真的不知道!

0 投票
1 回答
1120 浏览

python - 有向图节点:跟踪后继者和前驱者

我正在尝试实现一个Node表示有向图中的节点的类,该类特别具有一组后继和前驱。我想Node.predecessors并且Node.predecessors表现得像集合,特别是我想迭代它们的元素,添加和删除元素,检查包含,并从可迭代中设置它们。但是,在node_1.sucessors.add(node_2)它应该是 True之后node_1 in node_2.pedecessors

似乎可以编写一个新的子类set来实现这个魔法,但据我所知,这样一个类的实现会非常麻烦,因为它必须知道Node它所属的对象以及它是前任还是继任者,并且需要一些特殊的方法进行加法等,这样node_1.sucessors.add(node_2)就不会调用node_2.predecessors.add(node_1),从而导致无限循环。

动态生成两个属性之一(node for node in all_nodes if self in node.sucessors)应该是可能的,但是我需要跟踪属于一个图的所有节点,如果我只有一个图但使用一个图,这很容易(将其添加到weakref.WeakSet类属性中)__init__如果我有多个不相交的图,所有节点的大集合会导致大量计算工作,而且我看不到如何修改前辈集合。

有人对此有很好的解决方案吗?