English 中文(简体)
编制所有可能的图表,以保存vert号
原标题:Generate all possible subgraphs of a directed graph keeping the number of vertices
最佳回答

确实,这是一个非常棘手的问题,但你可以在那里做一些非常微笑。 您可提供图表,作为<代码>0和1的平方矩阵,其中浏览量和栏目为vert号。 每一条<代码>1在栏目中显示从中流到中流。 然后,每个可能的图表都是一大双倍数,N^2比特,即有2^(N^2)可能从Nvertices绘制的图表。 现在,你可以把问题分为两部分。

  1. Generate all possible graphs from S - each graph is just one N^2 bit number.
  2. Then for each this graph you expand matrix by V rows and columns and multiply possibilities by combinations where is exactly one 1 in each V row and column.

我需要你澄清。 页: 1 可在内部和外部拥有任何数量的。 是否列入任何编号? 然后,我不理解,结果应当包含从<条码>>>和<条码>到>>><>>>>/>>>到<>>>><>>>>>>>>>>>>>到上的所有vert。 限制<代码>S 没有什么意义,因为每个“<代码>S都作为外在和外在的外向上半的外向列入每一解决办法。 否则的话,它不是所有N^2号的编号,而只是每个行文和栏中至少有一个1的编号,然后你可将问题分成两部分,你必须解决<代码>。 S和V>。 然后可以通过<代码>SxS>的行文和第一栏(实际上为<代码>1在行文和栏目中填入)来使每一解决办法乘以<代码>Sx>。 页: 1

你们可以尝试把各种代表作为小数目的vert名单。 页: 1 页: 1 R+C*N或你可以尝试阵列。 对使用各种双轨器的较大数目的vert来说,是可行的。 甚至可以在这里尝试<代码>digraph模块。 在使用<代码>vec的双轨操作时,采用类似方法生成完全封闭式图表。 但这似乎没有道理,因为这是一个截然不同的问题。 你可以发现一些比较优化的介绍,但我怀疑埃尔兰是这种计算的最有效工具。 在O(2^(N^2)一带,任何可能性都在迅速增加,因此,你不必担心大儿科的高效储存。

Edit:

从这个角度看待问题。 如果您有10个vert,假定为V,S为空。 然后有<代码>10! 可能图表,即3628800。 如果是<代码>S。 现有数字<代码>2^100,即1.2677e+30 图表(如果你将产生每秒1 e+09 图表,则每年4.197e+13年)。 这就意味着,任何数量大的vert,只有极少数人可能拥有大量图表。 这里最大的问题是,你会与他们做些什么。 你可以储存这些物品,但如果是,你必须非常有效地储存这些物品。 平常领域是储存从<代码>上绘制的图表的最有效方式。 S。 您可以找到更高效的办法来使用<代码>V的vert。 我将把它储存成阵列或名单,如果位置是外向的,面值是外向的。

因此,你的解决办法在很大程度上取决于你将做些什么。 我认为,你会以某种方式筛选出结果,因为我可以想象你会做这么多的图表。 地雷咨询在制作图表时将尽可能早地过滤有意义的图表。 这意味着,你的方法应当按目的确定,以便让你在生成算法时对结果进行过滤。

谈到这一问题的埃尔兰效率,如果你处理如此众多的实体(有图表),你必须非常谨慎地管理你的记忆和万国邮联的使用。 你可以使用埃尔兰,但一段时间以来,你应在国家投资论坛中使用C。 你们还应使用更多的有利于记忆的数据结构,作为双向或大湖,而不是名单或标记。 你们还可以找到其他一些语言,例如C、C++、OCaml、Haskell,......更适合这种记忆和计算密集的任务。

问题回答

暂无回答




相关问题
How big can Erlang DETS be and what to do if its too small?

All I need is a large persistent lookup table in Erlang and dets seems like just the thing though I need a definative answer to: just how big the total size of the binaries in the table can be. how ...

passing events from erlang to Clojure

I m looking for a way to pass events back and forth between Clojure and erlang. has someone done this before? how should I encode the (immutable) messages in a flaxable general way? Should IPC be ...

How to send a push notification using Erlang?

I m trying to send a push notification to APNs using Erlang. This is the code I came up with so far: -module(apnstest2). -export([connect/0]). connect() -> application:start(ssl), ssl:...

How do I build a DNS Query record in Erlang?

I am building a native Bonjour / Zeroconf library and need to build DNS query records to broadcast off to the other machines. I have tried looking thru the Erlang source code but as I am relatively ...

AccessViolation when calling unmanaged dll

When calling an unmanaged Dll from a c# application I get an AccessViolationException. The strange thing is that the exported function has no arguments, so the problem is not in the Marshalling of ...

How to enable active sockets in a Mochiweb application?

Does anyone know how to enable active instead of passive sockets in a Mochiweb application. Specifically, I am trying to adapt http://www.metabrew.com/article/a-million-user-comet-application-with-...

How to convert numbers to words in Erlang?

I found this interesting question about converting numbers into "words": Code Golf: Number to Words I would really like to see how you would implement this efficiently in Erlang.