任何随时间“模拟”循环图的算法/方法?

时间:2011-11-06 00:24:45

标签: algorithm graph linear-algebra graph-algorithm

我不知道这样的事情是否可能,或者在哪里寻找可以帮助解决这个问题的事情 - 因此需要寻求一些指示。

以下是我的情况:我有一个活动图表的矩阵表示。矩阵中的每个条目表示活动对另一个活动的相对影响,即('系统'中有'n'个活动。矩阵只是这些活动的'nxn'表示,条目意味着相对影响)< / p>

  • 0(无影响)1,2,3(低,中,高)'正面'影响,即它们积极(添加)有助于活动
  • 负数:-1,-2,-3表示“负面”影响,即负数(减去)贡献

(这些数字是信息性的,可以是任何数字,但只是将其简化为0-3)。

现在给出这个矩阵,我将对图表进行描述。我想做的是随着时间的推移“模拟”图表,即从时间t=0开始我希望能够随着时间的推移模拟“系统”的工作。我肯定会在图表中有周期(非常可能),因此基于时间步的模拟将适用于此。

我不知道有任何可以帮助我理解循环图随时间变化的影响。我只知道一个这样的解决方案,即使用系统动力学并将此图转换为库存/流程图,然后模拟它以获得我想要的。实际上,图(上图)是因果循环图。

问题:我真的很想从矩阵表示转变为可模拟系统而不强迫某人理解系统动力学(基本上在后台做某事)。

问题是:系统动力学是实现我正在寻找的东西的唯一途径吗?我该如何系统地将图形的任意矩阵表示转换为系统动态模型?

如果不是系统动态,那么我应该考虑哪些其他方法来解决这样的问题?具有相应指针的算法名称将不胜感激!

图表的示例表示:

说我有3个活动的以下矩阵: 行:'原因'的节点(外出箭头) 列:节点“受影响”(传入箭头)

__| A | B | C |
A | - | 3 | 2 |
B | 1 | - |-2 |
C |-1 | 0 | - |

如果我'开始'图表(模拟)有10个单位的A我想看看系统如何随着时间的推移而在矩阵表示中产生相对影响。

更新:'模拟'将是一系列时间步骤,即在时间t = 0时,节点A的值为10,B将乘以3或加3取决于某人想要指定“影响”的方式。可以在图表上绘制节点随时间的累积值,以显示值如何进展的趋势。

2 个答案:

答案 0 :(得分:5)

您好像在寻找Markov chains

G 成为一个国家体系。

enter image description here

系统从一种状态转移到另一种状态的概率由矩阵 T 给出。

enter image description here F到

n 转移之后,系统从一种状态转移到另一种状态的概率由 T n 给出。
< / p>

enter image description here
例如,经过3次转换后:

enter image description here
该矩阵表示:

  • 鉴于系统在A中,它有一个
    • 留在A
    • 的概率为32.4%
    • 31.2%的机会转移到B
    • 36.4%的机会转移到C
  • etcetera for B and C

我会尝试将此应用于您的情况,但我并不理解。 如果要使用马尔可夫链,则必须确定系统转移的概率。 请注意,因为这是“系统在给定节点处的机会”,您可以将其应用于一组系统。 例如:在 n 转换后,X.XX%的人口将位于 Y

答案 1 :(得分:2)

有几次尝试这样做,在控制论和系统动力学文献中有各种各样的起源,但没有取得多大成功。

基本上问题在于,您的矩阵虽然可能包含很多洞察力并且对群组流程有用,但却达不到实际模拟动态系统所需的规范程度。

矩阵识别系统中存在的反馈循环,但是为了将该结构与行为联系起来,您还需要指定围绕这些循环的相位和增益关系(即,识别每个关系的股票和斜率,这可能是是非线性的)。如果不这样做,根本无法确定哪些循环是行为的主要驱动因素。

您可以通过图形理论方法来识别和可视化重要特征,从矩阵中获得更深入的洞察力,但遗憾的是,如果您想要模拟,则无法逃避模型构建过程。