Questions tagged «graphs»

关于图的问题,通过边连接的节点的离散结构。流行的口味是具有边缘能力的树木和网络。

2
从度分布重构图
给定度数分布,我们可以按照给定的度数分布构建图形的速度有多快?链接或算法草图会很好。如果无法构造任何图形,并且如果可以构造多个图形,则该算法应报告“ no”。

1
在加权的单路径图中查找最短路径
有向图被认为是unipathic如果对于任意两个顶点和在曲线图G =(V,E) ,存在在从最简单的一个路径Ú到v。uuuvvvu vG=(V,E)G=(V,E)G=(V,E)uuuvvv 假设给我一个单感图GGG,使得每个边的权重为正或为负,但不包含负的权重周期。 由此,我想找到一种O(|V|)O(|V|)O(|V|)算法,该算法找到从源节点s到所有节点的所有最短路径sss。 我不确定如何解决这个问题。我正在尝试看看我如何利用它不包含负权重循环,并且当然在任何节点uuu到v之间最多只有一条简单路径这一事实vvv。

2
为什么我们不能仅通过添加一个常数使所有权重为正来找到负权重的最短路径?
我目前正在阅读算法的介绍,并由Johnson的算法得出,该算法取决于确保所有路径都是正的。 该算法取决于找到一个新的权重函数(w'),该权重函数对所有边都是正值,并保持最短路径关系的正确性。 通过计算要添加到w原始值的h(s),h(d)值来实现。 我的问题是,为什么不仅仅在图中找到最小的w并将其添加到所有边上?这将同时满足这两个条件,并且需要较少的计算。

3
广度优先搜索中的“宽度”是什么意思?
我正在学习广度优先搜索,我想到一个问题,为什么要这样称呼BFS。在《CLRS的算法简介》一书中,我读到了以下原因: 广度优先搜索之所以这么称呼是因为它在边界的宽度上均匀地扩展了已发现和未发现顶点之间的边界。 但是,我无法理解此声明的含义。我对这个“边界”一词以及该边界的广度感到困惑。 因此,有人能以一种像我这样的初学者容易理解的方式回答这个问题吗?

1
我们如何快速计算未加权二部图中的最大匹配大小?
有没有一种方法可以比计算最大匹配更有效(例如更快)地计算未加权二部图中的最大匹配的大小? 这是一个长镜头,但避免此类一次性计算通常是一个有趣的问题。 动机 我要解决的问题是match-2 ,其中两组大小不同。我需要确定是否有一个覆盖较小集合中所有顶点的匹配项。知道最大匹配的大小后,我便可以检查它是否等于或小于较小集合的大小(如果有这种可能,那么只要结果为“是,就会有一个覆盖小集合的匹配项“您实际上会知道它的大小是多少,但只有在那种情况下才知道),但这并不是绝对必要的:如果有一种方法可以在不计算大小的情况下计算出答案,那对我来说是件好事。

1
使用Barabasi-Albert生成具有幂律度分布的无标度网络
我正在尝试重现一些论文中描述的综合网络(图形)。 据称,Barabasi-Albert模型用于创建“具有幂分布的无标度网络”。PA(k)∝k−λPA(k)∝k−λP_A(k) ∝ k^{-λ} PAPAP_A是一个概率分布,它返回具有度k的节点的概率kkk。例如,PA(2)PA(2)P_A(2)表示从网络中随机选择一个节点并获得度为2的节点的概率。 平均度行程似乎是4在一个纸,具有最小 2.无字的关于最大。在另一篇论文中未指定。定义网络似乎并不重要。ķ ķkkkkkkkkk 给出λ值,节点数。组合是nnn n = 50000,λ= 3,2.7,2.3 n = 4000并且λ= 2.5,或者在另一篇论文中n = 6000和λ= 3 我在寻找实现Barabasi-Albert算法的库,它们似乎需要的参数与lambda和平均度不同。一个是NetworkX,另一个是GraphStream(在此处实现)。他们以类似的方式工作,并要求: n:int-节点数 m:int-从新节点连接到现有节点的边数;每一步要添加的边数 如何计算设置m以生成可比较的图形? 以下是一些参考资料: 相互依赖网络中的灾难性级联故障,Buldyrev等。2010年,单独提供补充信息 网络物理系统中的小型集群,Huang等。2014年 相互依赖的网络中的灾难性级联故障,Havlin等。2010年,这是在Arxiv上,并在某种程度上澄清了 请注意,这些论文使用“生成函数”来分析研究这些图的某些属性。但是,他们也在这些模型上运行仿真,因此它们一定以某种方式生成了这些网络。 谢谢。

3
了解加油站问题的算法
在加油站问题中,我们给了个城市以及它们之间的道路。每条道路都有长度,每个城市都定义了燃料价格。一单位的道路需要一单位的燃料。我们的目标是以最便宜的方式从货源到目的地。我们的战车受到一些价值的限制。nnn{0,…,n−1}{0,…,n−1}\{ 0, \ldots, n-1 \} 我试图理解算法,所以我手动写下了计算解决方案的步骤。不幸的是,我被卡住了-在某些时候没有考虑的余地,我不知道为什么,也许我错过了一些东西。 示例: 道路: 0 ----------- 1 ------------ 2 -------------- 3 (不一定要这么简单,可以是任何图形,即0-> 2、0-> 3、1-> 3之间的道路等) 来源:0,目的地:3,坦克:10单位 燃油价格:0:10单位,1:10单位,2:20单位,3:12单位 长度:0-> 1:9单位,1-> 2:1单位,2-> 3:7单位 最佳解决方案:以0填充9个单位,以1填充8个单位,则总成本为170个单位(9 * 10 + 8 * 10)。 因此,我尝试按此处所示进行计算(第2.2段) GV[u] is defined as: GV[u] = { TankCapacity - length[w][u] | w in Cities and fuelPrice[w] < …

1
这个NP难吗?我无法证明。
我有一个问题,我想这很困难,但是我无法证明。 这是一个层图,其中层0是最高层,层L是最低层。 层之间有一些有向边,边(A,B)表示节点A可以覆盖节点B。当A可以覆盖B时,从A到B的任何路径上的每个节点都可以覆盖B,B可以覆盖本身。 最后是一组节点S。我需要选择另一组节点ANS,并确保对于S中的每个节点q,在ANS中都存在一个节点p,并且p覆盖q。 对于每个节点,都有一个成本,我需要使ANS集的总成本最小。 这是一个NP难题吗?我认为是这样,但我无法证明这一点。 你可以帮帮我吗? 非常感谢你。
11 graphs  np 


1
有指导的工会发现
考虑一个有向图在该图上可以动态添加边并进行一些特定的查询。GGG 示例:不相交的森林 考虑以下查询集: arrow(u, v) equiv(u, v) find(u) 第一个向图形添加箭头,第二个确定,最后一个找到等价类的规范表示,即使得表示。ü ↔ * v ↔ * - [R (Û )Ü ↔ * v [R (v )= - [R (Û )u→vu→vu→vu↔∗vu↔∗vu↔^*v↔∗↔∗↔^*r(u)r(u)r(u)u↔∗vu↔∗vu↔^*vr(v)=r(u)r(v)=r(u)r(v)=r(u) 有一种众所周知的算法,它使用不相交集森林数据结构以准恒定的摊销复杂度实现这些查询,即O(α(n))O(α(n))O(α(n))。请注意,在这种情况下,equiv是使用实现的find。 更复杂的变体 现在,我对一个方向很重要的更复杂的问题感兴趣: arrow(u, v) confl(u, v) find(u) 第一个添加箭头,秒确定是否存在从和均可到达的节点,即。最后一个应该返回对象,使得暗示其中应该易于计算。(例如,为了进行计算)。目的是找到一个好的数据结构,使这些操作快速进行。u→vu→vu→vwwwuuuvvvu→∗←∗vu→∗←∗vu→^*←^*vr(u)r(u)r(u)u→∗←∗vu→∗←∗vu→^*←^*vr(u)∙r(v)r(u)∙r(v)r(u) \bullet r(v)∙∙\bulletconfl 周期数 该图可以包含周期。 我不知道是否有一种方法可以有效地和增量地计算强连接的组件,以便仅针对主要问题考虑DAG。 当然,我也希望为DAG提供解决方案。这将对应于最小公共祖先的增量计算。 天真的方法 不相交的森林数据结构在这里没有帮助,因为它忽略了边的方向。请注意,在图形不汇合的情况下,不能是单个节点。r(u)r(u)r(u) 可以定义并在时将定义为。但是如何逐步计算呢?r(u)={v∣u→∗v}r(u)={v∣u→∗v}r(u)=\{v ∣ u→^*v\}∙∙\bulletS1∙S2S1∙S2S_1\bullet S_2S1∩S2≠∅S1∩S2≠∅S_1 ∩ …


1
推断优化类型
在工作中,我的任务是推断一些有关动态语言的类型信息。我将语句序列重写为嵌套let表达式,如下所示: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 由于我从一般类型信息开始,并试图推断出更具体的类型,因此自然的选择是精简类型。例如,条件运算符返回其真假分支类型的并集。在简单的情况下,它效果很好。 但是,在尝试推断以下类型时遇到了障碍: function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 


3
DFT中交叉边缘和前边缘之间的差异
在深度优先的树中,有定义树的边(即遍历中使用的边)。 有一些剩余的边缘连接其他一些节点。交叉边缘和前边缘有什么区别? 从维基百科: 基于此生成树,原始图的边缘可分为三类:前向边缘(从树的节点指向其后代之一),后边缘(从节点到其祖先之一),和交叉边缘,两者都不起作用。有时,属于生成树本身的树边缘与前边缘分开进行分类。如果原始图形是无向的,则其所有边缘均为树形边缘或后边缘。 从一个节点指向另一个节点的遍历中未使用的边线是否不建立父子关系?

2
为什么DFS被认为具有空间复杂度?
根据这些说明,DFS被认为具有空间复杂度,其中是树的分支因子,是状态空间中任何路径的最大长度。O (b m )O(bm)O(bm)bbb米mm 在此Wikibook页面上的“ 不知情的搜索”中也是如此。 现在,有关DFS的Wikipedia文章的“信息框” 针对算法的空间复杂性提供了以下内容: O (| V| )O(|V|)O(|V|),如果遍历整个图而没有重复,则最长路径搜索长度为隐式图,而不会消除重复的节点O (O(O())) 这更类似于我认为DFS的空间复杂度,即,其中是算法达到的最大长度。O (米)O(m)O(m)米mm 我为什么认为是这种情况? 好吧,基本上,我们不需要存储除当前正在查看的路径的节点以外的任何其他节点,因此在Wikibook和我推荐给您的注释提供的分析中,没有必要乘以至。bbb 此外,根据Richard Korf 在IDA *上发表的这篇论文,DFS的空间复杂度为,其中被视为“深度截止”。Ø (d)O(d)O(d)ddd 那么,DFS的正确空间复杂度是多少? 我认为这可能取决于实现方式,因此,我希望能对不同已知实现方式的空间复杂性做出解释。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.