匹配问题

  • 匹配问题

    • 问题
    • 解决方法一
      • 问题a
      • 问题b
    • 解决方法二
      • 问题a
      • 问题b

问题

一个屋子里面有N个人,每个人有一顶帽子。假如所有人把帽子扔到屋子中央,然后每个人都随机选一顶帽子。
a) 没有人捡到自己帽子的概率;
b) 有k(k⩽N)k(k \leqslant N)个人捡到自己帽子的概率。

解决方法一

问题a

先计算至少有一个人捡到自己帽子的概率。设Ei,i=1,2,…,NE_i,i=1,2,\dots,N表示事件第i个人捡到了他自己的帽子。现在,根据容斥原理,至少一个人捡到自己帽子的概率P(⋃i=1NEi)P(\displaystyle\bigcup_{i=1}^NE_i)就等于:

P(⋃i=1NEi)=∑i=1NP(Ei)−∑i1<i2P(Ei1Ei2)+…+(−1)n+1∑i1<i2⋯<inP(Ei1Ei2…Ein)+⋯+(−1)N+1P(E1E2…EN)

\begin{array}{cl} P(\displaystyle\bigcup_{i=1}^NE_i) = & \displaystyle\sum_{i=1}^NP(E_i)-\sum_{i_1

如果将实验结果看作是一个NN维数组的话,其中第ii个元素表示被第ii个人捡到的帽子的编号,那么有N!N!种可能的结果(例如结果(1,2,3,…,N)(1,2,3,\dots,N)表示所有人都拿到了自己的帽子)。进一步的,Ei1Ei2…EinE_{i_1}E_{i_2}\dots E_{i_n} 表示事件是i1,i2,…,ini_1,i_2,\dots,i_n这nn个人拿到了自己的帽子,这样的可能有(N−n)(N−n−1)⋯3⋅2⋅1=(N−n)!(N-n)(N-n-1)\cdots3\cdot2\cdot1=(N-n)!种,因为剩下的N−nN-n个人中随便选帽子。总共的可能结果是N!N!种,因此:

P(Ei1Ei2⋯Ein)=(N−n)!N!

P(E_{i_1}E_{i_2}\cdots E_{i_n}) = \frac{(N-n)!}{N!}
同时,对于 ∑i1<i2<⋯<inP(Ei1Ei2…Ein)\displaystyle\sum_{i_1 总共有 (Nn)\binom{N}{n}(即 CnNC_N^n)种选法,因此:

∑i1<i2<⋯<inP(Ei1Ei2…Ein)=N!(N−n)!(N−n)!n!N!=1n!

\displaystyle\sum_{i_1
因此,

P(⋃i=1NEi)=1−12!+13!−⋯+(−1)N+11N!

P(\displaystyle\bigcup_{i=1}^NE_i)=1-\frac{1}{2!}+\frac{1}{3!}-\cdots+(-1)^{N+1}\frac{1}{N!}
所以,没有人捡到自己帽子的概率就是:

1−1+12!−13!+⋯+(−1)NN!

1-1+\frac{1}{2!}-\frac{1}{3!}+\cdots+\frac{(-1)^N}{N!}
NN非常大时,此概率为e−1≈.36788e^{-1}\approx.36788.也就是说, NN很大时,没有人捡到自己帽子的概率大约是.37,而不是很多人认为的概率会趋向于1当N→∞时N\rightarrow\infty时

问题b

设EE表示事件kk人中每个人都拿到了自己的帽子,GG表示事件其它的N−kN-k个人中没有人拿到自己的帽子。则:

P(EG)=P(E)P(G|E)

P(EG)=P(E)P(G|E)
设 Fi,i=1,…,kF_i,i=1,\dots,k,表示事件第 ii个人拿到了自己的帽子。则:

P(E)====P(F1F2⋯Fk)P(F1)P(F2|F1)P(F3|F2F1)⋯P(Fk|F1⋯Fk−1)1N1N−11N−2⋯1N−k+1(N−k)!N!

\begin{array}{ccl} P(E) & = & P(F_1F_2\cdots F_k) \\ & = & P(F_1)P(F_2|F_1)P(F_3|F_2F_1)\cdots P(F_k|F_1\cdots F_{k-1})\\ & = & \frac{1}{N} \frac{1}{N-1}\frac{1}{N-2}\cdots \frac{1}{N-k+1}\\ & = & \frac{(N-k)!}{N!} \end{array}

已知kk人中的每个人都捡到了自己的帽子,其它的N−kN-k个人将随机的在他们的N−kN-k个帽子中选择,因此其它人中没有人捡到自己帽子的概率是:

P(G|E)=PN−k=∑i=0N−k(−1)i/i!

P(G|E) = P_{N-k} = \displaystyle\sum_{i=0}^{N-k}(-1)^i/i!
因此,指定的 kk人捡到自己帽子而其它人没有捡到自己帽子的概率是:

P(EG)=(N−k)!N!PN−k

P(EG)=\frac{(N-k)!}{N!}P_{N-k}
因为选择 kk人有(Nk)\binom{N}{k}种方法,因此,要求的概率就是:

P(只有k个人捡到自己帽子)=PN−k/k!≈e−1/k!当k很大时

P(只有k个人捡到自己帽子)=P_{N-k}/k!\approx e^{-1}/k! \quad 当k很大时


解决方法二

问题a

设EE表示事件没有匹配发生,此事件显然与nn有关,记为Pn=P(E)P_n=P(E). 我们从第一个人是否选择到了自己的帽子开始——分别记为MM和MCM^C。则:

Pn=P(E)=P(E|M)P(M)+P(E|MC)P(MC)

P_n=P(E)=P(E|M)P(M)+P(E|M^C)P(M^C)
显然, P(E|M)=0P(E|M)=0,因此

Pn=P(E|MC)n−1n(1)

P_n=P(E|M^C)\frac{n-1}{n}\quad(1)
现在, P(E|MC)P(E|M^C)剩下 n−1n-1个人都没有捡到自己帽子的概率(且其中一人的帽子不在这些帽子中,因为已经被第一个人捡走了)。此事发生可由两种独立事件组成:那个人捡到了第一个人的帽子且其它人都没有捡到自己的帽子,以及那个人捡到了除了第一个人和他自己的帽子以外的一顶帽子,且其它人都没有捡到自己的帽子。前者的概率是 [1/(n−1)]Pn−2[1/(n-1)]P_{n-2},由此可得:

P(E|MC)=Pn−1+1n−1Pn−2

P(E|M^C)=P_{n-1}+\frac{1}{n-1}P_{n-2}
因此,由式 (1)(1),可以得到:

Pn=n−1nPn−1+1nPn−2

P_n = \frac{n-1}{n}P_{n-1}+\frac{1}{n}P_{n-2}
或者,等价地:

Pn−Pn−1=−1n(Pn−1−Pn−2)(2)

P_n-P_{n-1} = -\frac{1}{n}(P_{n-1}-P_{n-2})\quad(2)
再由于 PnP_n表示 nn个人中无匹配的概率,因此:

P1=0P2=12

P_1 = 0\quad\quad P_2=\frac{1}{2}
由 (2)(2)式,得:

P3−P2=−P2−P13=−13!P4−P3=−P3−P24=−14!ororP3=12!−13!P4=12!−13!+14!

\begin{array}{lcl} P_3-P_2=-\frac{P_2-P_1}{3}=-\frac{1}{3!} & or & P_3 = \frac{1}{2!}-\frac{1}{3!} \\ P_4-P_3=-\frac{P_3-P_2}{4}=-\frac{1}{4!} & or & P_4 = \frac{1}{2!}-\frac{1}{3!}+\frac{1}{4!} \\ \end{array}
由此,一般地,

Pn=12!−13!+14!−⋯+(−1)nn!

P_n = \frac{1}{2!}-\frac{1}{3!}+\frac{1}{4!}-\cdots+\frac{(-1)^n}{n!}

问题b

为了计算只有kk人得到自己帽子的概率,我们考虑一个确定的kk人组,有且只有此kk人捡到自己帽子的概率是:

1n1n−1⋯1n−(k−1)Pn−k=(n−k)!n!Pn−k

\frac{1}{n}\frac{1}{n-1}\cdots\frac{1}{n-(k-1)}P_{n-k}=\frac{(n-k)!}{n!}P_{n-k}
其中Pn−lP_{n-l}表示其它n−kn-k个人没有捡到自己帽子的概率。总共有(nk)\binom{n}{k}种选法,因此有且只有kk个捡到自己帽子的概率是:

Pn−kk!=12!−13!+⋯+(−1)n−k(n−k)!k!

\frac{P_{n-k}}{k!}=\frac{\frac{1}{2!}-\frac{1}{3!}+\cdots+\frac{(-1)^{n-k}}{(n-k)!}}{k!}

概率论经典问题之匹配问题相关推荐

  1. 快速解决工作中遇到经典的括号匹配问题

    问题来源:从缓存中取出的数据没有空格和换行,很难阅读,但又找不到像JSON一样的在线格式化工具.灵机一动,自己写了一个小程序将其格式化. 一.先看效果 1.原始数据长这样,难以阅读 MemCached ...

  2. 【HDU - 1281 】棋盘游戏 (经典的二分图匹配,匈牙利算法,枚举删除顶点,必须边,关建边)

    题干: 小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的"车",并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只有某些格子才 ...

  3. 概率论经典问题 —— 三个事件 A、B、C 独立 ≠ 三个事件两两独立

    三个事件 A.B.C 相互独立?三个事件两两独立? A:第一次正面朝上: B:第二次正面朝上: C:第一次和第二次结果不同: P(AB)=P(A)P(B)P(AB)=P(A)P(B): P(AC)=1 ...

  4. 概率论经典分布与定律

    1.贝叶斯概率 例如:在历史姓氏的统计下,对某个人姓氏作出猜测,先猜"李王张刘-",猜对的概率相对较大,这就是先验概率,姓氏的历史统计就是先验信息. 若知道某人来自"牛家 ...

  5. 【理论恒叨】【立体匹配系列】经典SGM:(1)匹配代价计算之互信息(MI)

      半全局立体匹配算法Semi-Global Matching,SGM由学者Hirschmüller在2005年所提出1,提出的背景是一方面高效率的局部算法由于所基于的局部窗口视差相同的假设在很多情况 ...

  6. 面向数据科学的概率论 一、基础

    一.基础 原文:prob140/textbook/notebooks/ch01 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 究竟是什么概率,一直是有争议的辩论主题.有些人认为 ...

  7. 「NLP-语义匹配」详解深度语义匹配模型DSSM

    2019-12-29 11:05:55 所谓语义匹配,就是在语义上衡量文本的相似度,在产业界有很多的应用需求.例如,在FAQ场景中需要计算用户输入与标问之间的相似度来寻找合适的答案.本文介绍一种经典的 ...

  8. 【NLP-语义匹配】详解深度语义匹配模型DSSM

    所谓语义匹配,就是在语义上衡量文本的相似度,在产业界有很多的应用需求.例如,在FAQ场景中需要计算用户输入与标问之间的相似度来寻找合适的答案.本文介绍一种经典的语义匹配技术,DSSM,主要用于语料的召 ...

  9. 基于卷积神经网络的匹配代价算法

    1.问题分析 立体匹配问题,即根据双目摄像头拍摄到的参考图像和目标图像,确定参考图像上每个点在目标图像上对应位置的一个过程.一般展示效果通过输出视差灰度图或伪彩色图像表示实际物体远近程度.直观上人眼可 ...

  10. ZOJ-1654 Place the Robots 拆行拆列构图+二分匹配 Or 最大独立点集+TLE

    题意:给定一个方格,格子中的每点由空地,草地和墙组成,每个空地可以放置一个机器人,每个机器人能够向四个方向扫射激光,所以要给定一种方案能够在棋盘上放置足够多的机器人.激光可以穿过草地但是不能够穿过墙. ...

最新文章

  1. es6 函数解构的用途
  2. linkedin软件 iPad pro 2018 和huawei mate 30内存使用的对比情况
  3. 四种方法使Map线程安全
  4. 高性能MySQL(二)
  5. java异常体系_JAVA异常体系结构详解
  6. java 接口中的成员只有静态常量和_Java中抽象类和接口的具体区别是什么?
  7. 二叉排序树 算法实验
  8. 被全球 iPhone 用户讨伐 49 天后,苹果终于为 iOS 带来手动关闭降频功能!
  9. CSS 的复合选择器
  10. Javascript 笔记(2)----闭包
  11. 虚拟机VMware安装学习过程中遇到的几个问题
  12. c语言课程设计管理系统的设计,c语言课程设计-学生管理信息系统设计.doc
  13. 再次深入分析不可重入函数---请小心使用localtime函数
  14. VIP邮箱移动办公平台软件,疫情居家办公小助手
  15. 你有用过Type-C接口的手电筒吗?
  16. 电脑进入bios快捷键是什么|开机按哪个键进BIOS设置
  17. MSM8998(高通835处理器)外接指纹识别传感器linux驱动如何与设备树进行匹配
  18. magento EAV 模型理解
  19. 中国医科大学2021年12月《护理中的人际沟通学》作业考核试题
  20. Java截取字符串(substring)

热门文章

  1. xp无法访问文件共享服务器,XP不能访问Windows7共享文件之解决办法
  2. yylabel支持html ios,iOS简单高性能标签TagView(巧用YYLabel)
  3. 27亿美元的NASA「毅力号」成功登陆火星!还带了一架1%大气密度也能飞的无人机...
  4. mac win7 计算机,几步教会你win7更改mac地址_win7电脑改mac地址方法
  5. 微信浏览器 视频自动播放 解决方法
  6. 词法分析之LED文件生成程序【调试中......】
  7. 电感电容之开关电源的原理
  8. 全网最全网络数据采集(爬虫)指南
  9. 基于 SpringBoot + MyBatis 的在线五子棋对战
  10. GitHub:一款基于OCR技术的翻译器