如何编写一个在给定数组下返回最大概率的函数?

时间:2018-10-08 05:26:42

标签: python recursion

给出一个数组(2,2,2)。我想找到一条最大的跨产品价值之路。

我知道我可以列出所有可能的路径,但是时间和空间复杂度会很高,因为数组的形状很大。

鉴于阵列垫,我想使用max_prb函数来计算路径的以下概率并找到具有最大概率的路径:

  
      a = a * a = 0.2 * 0.5 = 0.01;   a = a = b = 0.2 * 0.5 = 0.01;   
  • a-> b-> b = 0.8 * 0.9 = 0.72;
  •   
  • ...
  •   

我的目标是调用max_prb_path并获取[a,b,b] 例如:

mat = np.array([ [ [0.2, 0.8], [0.3, 0.7] ] ,[ [0.5, 0.5], [0.1, 0.9] ] ])
def max_prob_path(mat):
   return(path)

>> max_prob_path(mat)
[1] [a,b,b]   

我认为解决方案之一是递归或BFS,但我对数据结构或算法不熟悉。有什么建议吗? (假设起点是a,但没有终点)

0 个答案:

没有答案