装箱问题 机器学习

将15件产品装入3个箱子,每箱装5件。 感觉是 C 15取5 = 15!/(5!*10!),然后 C 10取5 = 10!/(5!*5!), 二者相乘 = 15!/(5!*5!*5!).  
 
机器学习 12-14视频中说 直接分成3部分用 5! 除, 能详细说一下为什么吗?

邹博 - 计算机科学博士,深谙机器学习算法原理

赞同来自: fish lloyd_dong 乱世浮生

首先,二者的结论完全一样,只不过解释不同。 我直接解释“15!/(5!5!5!)”是这样的: 1、针对15件产品的任意一种排列方式,都可以把前5个放在第1个箱子,中间5个放在第2个箱子,最后的5个放在第3个箱子。即15!种可能解。 2、放在第1个箱子中的5个,显然可以乱序存放而结果都是将它们5个放到了第1个箱子中,所以有5!种重复;第2、第3个箱子同理。所以,重复了5!5!5!种。   综合1、2,从而有效装箱数目是15!/(5!5!5!)种。

lloyd_dong

赞同来自:

谢谢邹老师。最后这个除法想了很久才想通。 大致分成3步, 第一步:
  1. 把15! 分组,头10位相同的一组,每组就会有 5!个元素,形式为 n1,n2,...n10,{5!}。
  2. 所以就得到 15!/5! 组。
第二步:
  1. 改变排列形式,把最后合并的一组提前到第5个元素后,形式为 n1,n2,...n5,{5!},n6,n7,...n10。
  2. 再把头6位(包括{5!})一样的分到一组,每组又是 5!个元素,形式为 n1,n2,..n5,{5!},{5!}
  3. 现在就有 (15!/5!)/5! = 15!/(5!*5!)组
第三步:
  1. 同理,最后就是 15!/(5!*5!*5!) 个数据了
  如果有更简单的理解请不吝赐教 :-)

acm79

赞同来自:

刚看完了回放,除以5!也就是说产品之间是无差别的,除以了全排列,5个产品怎么排都一样。

要回复问题请先登录注册