一组序列的大小

时间:2014-08-04 18:14:28

标签: math

我需要帮助确定以下序列模式的生成序列集的大小。忍受我:

序列模型A-> B-> C产生一种可能的序列,例如ABC。因此,无论节点(即A,B,C)和边缘(即 - >),我们都可以认为串行模型的集合大小为S = 1。

分支任务模型A-> B和A-> C产生2个可能的序列,例如ABC,ACB。在这种模式中,序列集的大小由边数给出。

然而,任务模型A-> B-> C和A-> D-> E产生6种可能的序列,例如ABCDE,ABDCE,ABDEC,ADEBC,ADBEC,ADBCE。我们不能说生成集的大小是根据节点或边来给出的。基本上,诀窍是为了执行C我需要先前执行B.同样,如果D先前没有执行,我也不能执行E.不幸的是,我不知道如何根据节点和边缘对其进行建模。

如何在程序中表示前一个模式中生成的集合大小与分支边缘和节点数有关?

让我再举一个最后一个模式的例子。在你有A-> B-> C-> D和A-> E-> F-> G的情况下,该组是将B,C,D与E,F,G组合的所有序列,但是哪里D需要C需要B.不幸的是我不能说6! = 720 ..我必须应用限制,我不知道如何将它们写到纸上。

1 个答案:

答案 0 :(得分:0)

对于单个二进制分支后跟两个长度为k1k2的序列的情况,可以将可能序列的数量计算为具有重复的置换。

您需要从子集1中选择k1次,从子集2中选择k2次。可能的序列数为(k1 + k2)!/(k1! * k2!),为您的情况提供20个。

稍微小一点的示例A -> B -> CA -> D -> E会产生6种排列,即:

B C D E
B D C E
B D E C
D B E C
D B C E
D E B C