我正在寻找一种通用方法来枚举与以下问题相关的序列并将结果存放在 R 中的 3 维矩阵中。
我认为必须有一个组合解决方案,但我一直找不到。希望下面详述的内容将充分描述该问题。欢迎任何帮助。
假设有 n 个周期和 c 个不同的区域,其中事件 e 的发生必须在每个区域中恰好发生一次,那么可能的序列的枚举是多少?
例如,如果有 3 个时间段 {1,2,3} 和 2 个区域 {a,b},手动枚举解决方案给出:
Period 1 2 3
Area a b a b a b
Sol 1 e e - - - - ; ie event occurs in both areas at time 1, nothing happens at time 2 and 3
Sol 2 - - e e - - ; event occurs in both areas at time 2 etc
Sol 3 - - - - e e
Sol 4 e - - e - -
Sol 5 e - - - - e
Sol 6 - e e - - -
Sol 7 - e - - e -
Sol 8 - - e - - e
Sol 9 - - - e e -
无论区域数量和时间步数如何,我所知道的是解决方案的数量将始终为 n^c。对于这种情况,事件在“a”中发生的 3 种方式乘以事件在“b”中发生的 3 种方式,3 x 3 = 9 个不同的序列。如前所述,我希望为任意数量的周期和任意数量的区域实施通用解决方案,并将结果存储在由 [time][area][sequence] 索引的矩阵中。谢谢!