我当前的副项目需要使用 3x3x3 马尔可夫链。我想出的第一个实现是让矩阵中的每个位置都有机会移动到该位置(所有位置的值总和为 1)。根据矩阵中的值,这将导致:
- 平均 13.5 次比较
- 1 比较的最佳案例
- 27 次比较的最坏情况
我的下一个想法是将每一行和每一层的总和存储为一个额外的类变量数组。这将允许它在以下位置找到正确的位置:
- 平均 4.5 次比较(1.5 找层,1.5 找行,1.5 找位置)
- 3 次比较的最佳情况
- 9 次比较的最坏情况
我们已经可以看到这是一个更好的实现比较,但也有一些额外的数据需要存储。
有没有更好的方法来实现这一点?