有序有重复、有序无重复、无序无重复、无序有重复区别详解及Python实现

这几个概念理解起来有点困难,然而他们是整个概率论的基础。理解了他们的四个的区别,对于理解高阶概率论很有帮助。
本文是在学习Vamei 概率论01 计数 基础上得到的。

  • 概率论的基础

    • 大数定律(伯努利)证明随机事件的频率可以近似于它的概率。以此,使概率称为一门可以确定研究的学问。这是概率论的确定性基石。
    • 等概率假设:在一个事件中,每种结果出现的可能是等概率的。
    • 分步:将复杂过程解析为多个步骤,在每一个步骤内部等概率。
  • 重复与有序

    • 重复:在等概率假设这一层世界起作用,如果是重复抽样,每次可能结果的数量相同,每个可能结果的概率也就相同;如果是非重复抽样,每次的可能结果数量不同,导致概率不同。
    • 有序:在分步这一层世界起作用,如果N次抽样是有序的,那就是分为N步,如果N次抽样是无序的,可以视N次抽样为一次,只是一次抽取结果中有N个元素。单纯将N次抽取结果由有序变为无序就是将可能性去除这N个结果的 N ! N! 种可能。
  • 重复与有序在不同位面的婚姻

    • 有序有重复的从N个总数中抽取M个样本
      1. 有序。将M个样本分为M步。
      2. 有重复。M步中每一步的可能等概率的为N。
    • 有序无重复
      1. 有序。将M个样本分为M步。
      2. 无重复。M步中每一步的可能等概率不相同,每走一步,可能减少一个种类
    • 无序无重复
      1. 无序。将M个样本作为一步来看。相当于对M步那个世界的一种高级封装,将M个样本内部的顺序作为一个低级维度封装成一种可能,就是说,对N个总体种类世界里的可能性降低 M ! M! 倍。(我也不知道这么说能否让人看明白,暂时想不到更简介的表述)。无序无重复被称为分组就在这里。

      2. 无重复。因为无序,所以看作只有一次操作,就相当于将总体的N成2,带走了其中数量为 M M 的一组。同样因为无序,剩下一组(数量为 N M N-M )也看作低纬度的封装,需要去除组内部的 ( N M ) ! (N-M)! 种可能。所以,可能性有:
        N ! ( N M ) ! ( M ) ! \frac{N!}{(N-M)!(M)!}

    • 无序有重复
      1. 无序,等同于上面。还是看作分组。

      2. 有重复。虽然还是分组,但不同于直观意义上的分组。因为**“有重复”**的存在,本质上是扩充了总量N。有重复的选取M本质是向原来的N中新加入了 M 1 M-1 个元素。此时的总数是 N + M 1 N+M-1 分成的两组的内部数量分别是:原来的 N N ,以及新加入的 M 1 M-1 。此时,套用公式(1)结果就是:
        ( N + M 1 ) ! N ! ( M 1 ) ! \frac{(N+M-1)!}{N!(M-1)!}

  • Python实现

事件 本质 函数
有序有重复 itertools.product()
有序无重复 排列 itertools.permutations()
无序无重复 组合(内部) itertools.combinations()
无序有重复 组合(外部)

猜你喜欢

转载自blog.csdn.net/The_Time_Runner/article/details/90173471