【问题标题】:Find the formula of this binary recurrence equation? f(m,n) = f(m-1,n) + f(m,n-1)找到这个二元递推方程的公式? f(m,n) = f(m-1,n) + f(m,n-1)
【发布时间】:2012-02-20 01:19:57
【问题描述】:

对不起各位!我的错!感谢您的提醒,我发现f(0,k)== f(k,0)== 1。这个问题是关于如何计算从网格(0,0)到(m,n)的最短路径数)。

我现在必须解下列方程,找出 f(m,n) 到底等于什么。

1) f(m,n) = 0 : when (m,n) = (0,0)
**2) f(m,n) = 1 : when f(0,k) or f(k,0)**
3) f(m,n) = f(m-1,n) + f(m,n-1) : when else

例如:

1) f(0,0) = 0; 
2) f(0,1) = 1; f(2,0) = 1; 
3) f(2,1) = f(1,1) + f(2,0) = f(0, 1) + f(1, 0) + f(2, 0) = 1 + 1 + 1 = 3  

我记得几年前我在算法课上学过的这种二元递归方程有一个标准的求解方法,但我现在不记得了。

谁能给点提示?或者一个关键字如何找到答案?

【问题讨论】:

  • 你的意思是你需要找到不使用递归的公式吗?或者只是一种有效计算递归的算法?
  • 你确定 f(2,1)=3 吗?我读到 f(2,1)=f(1,1)+f(2,0)=(f(0,1)+f(1,0))+f(2,0)=(1+1 )+2=2+2=4
  • 您正在努力寻找封闭式解决方案吧?
  • @EugenRieck 是的,谢谢!我在这方面犯了一个错误。你的理解是正确的。
  • @svick 是的,我需要减少一个只包含 m 和 n 的方程,没有任何递推公式。这是一道数学题,不是编程题。

标签: algorithm math recurrence


【解决方案1】:

这只是二项式系数

f(m,n) = (m+n choose m) = (m+n choose n)

您可以通过注意它们满足相同的递归关系来证明这一点。

要导出公式(如果您不能只是猜测然后检查),请使用 Chris Nash 正确建议的生成函数。

【讨论】:

    【解决方案2】:

    呃,我只是在阅读关于生成函数的旧教科书很开心,你又去改问题了!

    这个问题是关于如何计算从网格(0,0)到(m,n)的最短路径数。

    这是一个基本的组合问题 - 它不需要了解任何有关生成函数甚至递归关系的知识。

    为了解决这个问题,想象将路径写成 U(代表“向上”)和 R(代表“右”)的序列。如果我们从 (0,0) 移动到 (5, 8),则必须有 5 个 R 和 8 个 U。举个例子:

    RRUURURUUURUU
    

    在这个例子中,总会有 8 个 U 和 5 个 R;不同的路径只会让它们以不同的顺序排列。所以我们可以为我们的U选择8个位置,其余的必须是R。因此,答案是

    (8+5) choose (8)
    

    或者,一般来说,

    (m+n) choose (m)
    

    【讨论】:

    • 哇!很好的解释!爱你!
    【解决方案3】:

    尝试在文献中查找“生成函数”。一种方法是想象一个函数 P(x,y),其中 x^m y^n 的系数是 f(m,n)。递归线(第 3 行)告诉您 P(x,y) - xP(x,y) - yP(x,y) = (1-xy) P(x,y) 应该非常简单,除了那些讨厌的边缘值。然后求解 P(x,y)。

    你确定f(k,0) = f(0,k) = k,而不是1,也许?如果是的话,我会说最好的办法是写出一些值,猜测它们是什么,然后证明它。

    【讨论】:

    • = =!我又犯了一个错误。是的,它是 1 ...... OMG,我是多么愚蠢。我要改写问题了。
    • 谢谢你的回答,我现在正在研究生成函数。 :)
    • 这是个好消息……原来的问题非常难看。修改后的非常漂亮。在表格中写出一些值,然后将头转 45 度。 ;)
    • 哈哈,说的清楚多了,我现在终于明白了其中的道理。谢谢!
    • grins 实际上,f(0,0) 也是 1。只有一种方法无处可去:)
    猜你喜欢
    • 2018-08-18
    • 2015-08-13
    • 2018-10-21
    • 2015-10-08
    • 2022-01-13
    • 2021-10-06
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    相关资源
    最近更新 更多