我一直在努力解决一个问题......整个问题很复杂......但让我尽力解释真正重要的部分......
我有一个图表,其中每条边代表连接的两个节点之间的相关性。每个节点都是一个时间过程(TC)(即400个时间点),其中事件将在不同的时间点发生。两个节点之间的相关性定义为重叠事件的百分比。为简单起见,让我们假设每个节点上发生的事件总数与 $tn$ 相同。如果两个 TC(节点)有 $on$ 重叠事件(即,发生在完全相同的时间点的事件)。然后,相关性可以简单地定义为$on$/$tn$。
现在,我有一个由 11 个节点组成的网络;我知道每两个节点之间的相关性。如何为所有满足相关约束的 11 个节点生成 TC?
当您知道两者之间的相关性时,很容易对两个节点执行此操作。假设 TC_1 和 TC_2 的相关值为 0.6,这意味着两个 TC 中有 60% 的重叠事件。此外,假设 TC_1 和 TC_2 的事件总数与 $tn$ 相同。将事件放置在两个 TC 中的一个简单算法是首先随机选择 0.6*$tn$ 个时间点,并将这些时间点视为两个 TC 中发生重叠事件的时间段。接下来,在 TC_1 中随机选择 (1-0.6)*$tn$ 时间点,以放置 TC_1 的其余事件。最后,随机选择 TC_2 中的 (1-0.6)*$tn$ 时间点,其中 TC_1 中对应的时间点没有发生任何事件。
然而,当你考虑一个 3 节点网络时,它开始变得越来越难,其中生成的三个 TC 需要满足所有三个相关约束(即 3 条边)......对于 11 节点网络来说几乎不可能做到这一点...
这对你有意义吗?如果不是请告诉我...
我在想这只是一个诡计的计算机科学编程问题......但我越想它,它更像是一个线性编程问题,不是吗?
有人有合理的解决方案吗?我在 R 中这样做,但任何代码都可以......