我对2楼说的组合数C(m,m+n)不理解,曾请教别人,最近他给了我如下的答复: “我有点不同看法,请大家指正。方格阵两点间的最短路线数,计算式应该写成(m+n)!/(m!n!),不应该用C(m,m+n)来表示。因为这是一个排队方式问题,或者说是分布状态数,不是一个选取组合问题。虽然它与组合公式形式上一样,但内涵不是一回事。此处用组合公式仅是答数对,但不好解释。只要将平面路径扩展成立体框架就能看出这一点了。 一个单位立方体,从一个顶角走到对顶角,最短路线一共是3步,有6种走法。 两个单位立方体拼合,1×1×2的立体框架,从角顶(0,0,0)走到对角顶(1,1,2),步数是1+1+2=4步,路线数应该是4!/(1!1!2!)=12种。 一个3×3×3的立体框架(外观有如三阶魔方,但路线可以经过内部交点),从一个角顶(0,0,0)走到对角(3,3,3),步数是3+3+3=9步,路线数应该是9!/(3!3!3!)=1680种。每到一个交点,只要三个方向的步数限额都还未用完,就有三个‘接近’目标、至少‘不倒退’的可能走向。否则,就有两个或一个可能走向。 立体框架路线数的一般公式为(l+m+n)!/(l!m!n!),可见与组合数什么的就不搭界了。 算法可以推广到高维空间。此问题与‘状态相貌数要排除全同粒子间的交换’有类似处。”
[此贴子已经被作者于2007-4-14 19:33:29编辑过]
|