容斥恒等式的证明
容斥恒等式的证明
推广公式
P(A∪B)=P(A)+P(B)−P(A∩B)P(A\cup B)=P(A)+P(B)-P(A\cap B) P(A∪B)=P(A)+P(B)−P(A∩B)
(a)设A、B、C为三个事件,则下列恒等式成立:
P(A∪B∪C)=P(A)+P(B)+P(C)−P(A∩B)−P(A∩C)−P(B∩C)+P(A∩B∩C)P(A\cup B\cup C)=P(A)+P(B)+P(C)-P(A\cap B)-P(A\cap C)-P(B\cap C)+P(A\cap B\cap C) P(A∪B∪C)=P(A)+P(B)+P(C)−P(A∩B)−P(A∩C)−P(B∩C)+P(A∩B∩C)
(b)设A1A_1A1,A2A_2A2,A3A_3A3,…,AnA_nAn为n个事件,令S1S_1S1={i∣1≤i≤ni|1\leq i \leq ni∣1≤i≤n},S2S_2S2={(i1,i2)∣1≤i1<i2≤n(i_1,i_2)|1\leq i_1 < i_2 \leq n(i1,i2)∣1≤i1<i2≤n},一般的,令S1S_1S1为满足条件$ \le i_1 < i_2<… < i_m\le n的m维指标,(的m维指标,(的m维指标,(i_1,…i_m$)的集合,则下列恒等式成立:
P(∪k=1nAk)=∑i∈S1P(Ai)−∑(i1,i2)∈S2P(Ai1∩Ai2)+∑i1,i2,i3∈S3P(Ai1∩Ai2∩Ai3)−...+(−1)n−1P(∩k=1nAk)P(\cup^n_{k=1}A_k)=\displaystyle \sum_{i\in S_1}P(A_i)-\displaystyle\sum_{(i_1,i_2)\in S_2}P(A_{i_1} \cap A_{i_2})+\displaystyle \sum_{i_1,i_2,i_3 \in S_3}P(A_{i_1} \cap A_{i_2} \cap A_{i_3})-...+(-1)^{n-1}P(\cap^n_{k=1}A_{k})P(∪k=1nAk)=i∈S1∑P(Ai)−(i1,i2)∈S2∑P(Ai1∩Ai2)+i1,i2,i3∈S3∑P(Ai1∩Ai2∩Ai3)−...+(−1)n−1P(∩k=1nAk)
解:(a)利用公式P(X∪Y)=P(X)+P(Y)−P(X∩Y)P(X\cup Y)=P(X)+P(Y)-P(X\cap Y)P(X∪Y)=P(X)+P(Y)−P(X∩Y)和(A∪B)∩C=(A∩C)∪(B∩C)(A\cup B)\cap C=(A\cap C)\cup (B\cap C)(A∪B)∩C=(A∩C)∪(B∩C),我们有
P(A∪B∪C)=P(A∪B)+P(C)−P((A∪B)∩C)=P(A∪B)+P(C)−P((A∩C)∪(B∩C))=P(A∪B)+P(C)−P(A∩C)−P(B∩C)+P(A∩B∩C)=P(A)+P(B)−P(A∩B)+P(C)−P(A∩C)−P(B∩C)+P(A∩B∩C)=P(A)+P(B)+P(C)−P(A∩B)−P(A∩C)−P(B∩C)+P(A∩B∩C)P(A\cup B\cup C)=P(A\cup B)+P(C)-P((A\cup B )\cap C) \\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ =P(A\cup B)+P(C)-P((A\cap C )\cup (B\cap C))\\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ =P(A\cup B)+P(C)-P(A\cap C)-P(B\cap C)+P(A\cap B\cap C) \\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ =P(A)+P(B)-P(A\cap B)+P(C)-P(A\cap C)-P(B\cap C)+P(A\cap B\cap C) \\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ =P(A)+P(B)+P(C)-P(A\cap B)-P(A\cap C)-P(B\cap C)+P(A\cap B\cap C)P(A∪B∪C)=P(A∪B)+P(C)−P((A∪B)∩C) =P(A∪B)+P(C)−P((A∩C)∪(B∩C)) =P(A∪B)+P(C)−P(A∩C)−P(B∩C)+P(A∩B∩C) =P(A)+P(B)−P(A∩B)+P(C)−P(A∩C)−P(B∩C)+P(A∩B∩C) =P(A)+P(B)+P(C)−P(A∩B)−P(A∩C)−P(B∩C)+P(A∩B∩C)
(b)利用归纳法,主要推断部分可以模仿(a)中步骤
n=2时,P(A∪B)=P(A)+P(B)−P(A∩B)P(A\cup B)=P(A)+P(B)-P(A\cap B)P(A∪B)=P(A)+P(B)−P(A∩B).
假设n=k-1,有
P(∪k=1k−1Ak)=∑i∈S1P(Ai)−∑(i1,i2)∈S2P(Ai1∩Ai2)+∑i1,i2,i3∈S3P(Ai1∩Ai2∩Ai3)−...+(−1)n−2P(∩k=1k−1Aik)P(\cup^{k-1}_{k=1}A_k)=\displaystyle \sum_{i\in S_1}P(A_i)-\displaystyle\sum_{(i_1,i_2)\in S_2}P(A_{i_1} \cap A_{i_2})+\displaystyle \sum_{i_1,i_2,i_3 \in S_3}P(A_{i_1} \cap A_{i_2} \cap A_{i_3})-...+(-1)^{n-2}P(\cap^{k-1}_{k=1}A_{i_k})P(∪k=1k−1Ak)=i∈S1∑P(Ai)−(i1,i2)∈S2∑P(Ai1∩Ai2)+i1,i2,i3∈S3∑P(Ai1∩Ai2∩Ai3)−...+(−1)n−2P(∩k=1k−1Aik)
则n=k时,P(∪k=1nAk)=P(∪k=1k−1Ak∪Ak)P(\cup^n_{k=1}A_k)=P(\cup^{k-1}_{k=1}A_k\cup A_k)P(∪k=1nAk)=P(∪k=1k−1Ak∪Ak)
令∪i=1k−1Ai=B\cup^{k-1}_{i=1}A_i=B∪i=1k−1Ai=B,
P(∪k=1nAk)=P(B∪Ak)P(\cup^n_{k=1}A_k)=P(B\cup A_k)P(∪k=1nAk)=P(B∪Ak)
所以,
P(∪k=1nAk)=P(B∪Ak)=P(B)+P(Ak)−P(B∩Ak)P(\cup^n_{k=1}A_k)=P(B\cup A_k)=P(B)+P(A_k)-P(B\cap A_k)P(∪k=1nAk)=P(B∪Ak)=P(B)+P(Ak)−P(B∩Ak) (1)
前两个地方都很好推导,主要是最后一项。
P(B∩Ak)=P(∪i=1k−1AiAk)=∑i=1k−1P(AiAk)+(−11)∑1≤i1<i2≤ik−1P(Ai1Ai2Ak)+...+(−1)k−2P(A1A2...Ak)P(B\cap A_k)=P(\cup^{k-1}_{i=1}A_iA_k)\\=\displaystyle \sum_{i=1}^{k-1}P(A_iA_k)+(-1^1) \displaystyle \sum_{1\le i_1<i_2\le i_{k-1}}P(A_{i_1}A_{i_2}A_k)+...+(-1)^{k-2}P(A_1A_2...A_k)P(B∩Ak)=P(∪i=1k−1AiAk)=i=1∑k−1P(AiAk)+(−11)1≤i1<i2≤ik−1∑P(Ai1Ai2Ak)+...+(−1)k−2P(A1A2...Ak) (2)
把(2)带入(1),
得到:
P(∪k=1nAk)=∑i∈S1P(Ai)−∑(i1,i2)∈S2P(Ai1∩Ai2)+∑i1,i2,i3∈S3P(Ai1∩Ai2∩Ai3)−...+(−1)n−1P(∩k=1nAk)P(\cup^n_{k=1}A_k)=\displaystyle \sum_{i\in S_1}P(A_i)-\displaystyle\sum_{(i_1,i_2)\in S_2}P(A_{i_1} \cap A_{i_2})+\displaystyle \sum_{i_1,i_2,i_3 \in S_3}P(A_{i_1} \cap A_{i_2} \cap A_{i_3})-...+(-1)^{n-1}P(\cap^n_{k=1}A_{k})P(∪k=1nAk)=i∈S1∑P(Ai)−(i1,i2)∈S2∑P(Ai1∩Ai2)+i1,i2,i3∈S3∑P(Ai1∩Ai2∩Ai3)−...+(−1)n−1P(∩k=1nAk)
得证。
相关文章:
容斥恒等式的证明
容斥恒等式的证明 推广公式 P(A∪B)P(A)P(B)−P(A∩B)P(A\cup B)P(A)P(B)-P(A\cap B) P(A∪B)P(A)P(B)−P(A∩B) (a)设A、B、C为三个事件,则下列恒等式成立: P(A∪B∪C)P(A)P(B)P(C)−P(A∩B)−P(A∩C)−P(B∩C)P(A∩B∩C)P(A\cup B\cup C)P(A)P(B)P(C)…...

Java中的this与super关键字深度解析
一、this关键字this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。(1)this.属性名this修饰的变量用于指代成员变量方法的形参如果…...

CSS3新增的视口单位Vh、Vw单位
定义vw:浏览器可见视口【宽度】的百分比(1vw代表视窗【宽度】的1%)vh:浏览器可见视口【高度】的百分比(1vw代表视窗【高度】的1%)vmin:当前 vw 和 vh 较小的一个值。vmax:当前 vw 和…...

【Linux】yum安装docker指定版本
🍁博主简介 🏅云计算领域优质创作者 🏅华为云开发者社区专家博主 🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 文章目录卸载已有的docker部署指定版本docker安…...

SpringBoot相关操作
01-今日内容 Spring概述、快速入门SpringBoot配置SpringBoot整合 02-SpringBoot概述 SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的…...
Python super()函数:调用父类的构造方法
Python 中子类会继承父类所有的类属性和类方法。严格来说,类的构造方法其实就是实例方法,因此毫无疑问,父类的构造方法,子类同样会继承。 但我们知道,Python 是一门支持多继承的面向对象编程语言,如果子类…...

@ConfigurationProperties在方法上的使用
文章目录1. 前言2. 先说结论3. 代码解释1. Component ConfigurationProperties2. EnableConfigurationProperties ConfigurationProperties3. Bean ConfigurationProperties1. 前言 在学习spring的时候,ConfigurationProperties应该经常被使用到,作用…...
【QT】如何查找和获取界面上的子部件(findChild 和 findChidren)
目录1. findChild()函数2. findChildren()函数3. 示例1. findChild()函数 函数原型: T QObject::findChild(const QString &name QString(), Qt::FindChildOptions options Qt::FindChildrenRecursively) const返回该对象的子对象,该子对象可以转…...
MIT 6.S081学习笔记
计划花25天时间学完6.S081课程,从2月20日-3月20日。课程主页Link xv6 book GDB User Manual Lecture 1: Introduction and Examples课程主题:设计和实现操作系统 OS的三大功能:多路复用、隔离和交互。 Lab: Xv6 and Unix utiliti…...

《网络安全入门到精通》 - 2.1 - Windows基础 - DOS命令Windows防火墙Windows共享文件
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「订阅专栏」:此文章已录入专栏《网络安全入门到精通》 Windows基础一、DOS命令1、目录文件操作dir 列出目录文件cd 切换目录md 创建目录rd 删除目录move 移动文件或目…...

八、Vben框架动态生成可编辑Table
开发过程中产品经理提出了一些奇怪的需求,让人很摸不着头脑,一问就是客户的需求就是这样,那么我们开发只能想各种办法啦。 最近就提出了两个需求, 第一个是需要在日期选择的时候根据时间选择的不同让底下table中增加两个时间中间的…...
浅谈ERP数据的重要性
影响一个ERP项目的因素有很多,数据无疑是其中很重要的一项,正所谓“正确的诊断源于准确的信息,准确的信息基于可靠的采集”,当我们抓住数据这个根基,大处着眼,小处着手的时候,我们距离ERP成功的日子就不会太…...

【RabbitMQ笔记06】消息队列RabbitMQ七种模式之Topics主题模式
这篇文章,主要介绍消息队列RabbitMQ七种模式之Topics主题模式。 目录 一、消息队列 1.1、主题模式(Topics) 1.2、案例代码 (1)引入依赖 (2)编写生产者 (3)编写消费…...

ChatGPT似乎有的时候并不能搞懂Java的动态分派,你懂了吗?
目录 碎碎念 ChatGPT 中出现的问题 那么正确答案应该是什么呢? 分派的相关知识点总结: 分派是什么? 静态分派与动态分派: Java语言是静态多分派,动态单分派的; 静态分派:静态重载多分派…...

【C++初阶】vector的模拟实现
大家好我是沐曦希💕 文章目录一、前言二、无参构造&析构三、基础接口1.empty和clear2.size和capacity3.[]和iterator四、reserve和resize五、尾插尾删六、其他构造1.迭代器区间构造2.拷贝构造七、memcpy问题八、完整代码一、前言 在模拟实现容器时候࿰…...

微信小程序、小游戏的流量主一般可以赚多少钱?
本篇文章主要科普小程序、小游戏流量主一般赚钱的实际情况,通过在下长期运营的经验汇总而成。 日期:2023年2月26日 作者:任聪聪 小程序、小程序满1000用户后即可开通流量主,但实际上很多人并没有传说中的那种日赚几千的流量收入的…...

jni-Demo-基于linux(c++ java)
跑一个jni 的最简单的Demo需要提前准备 VsCode 编译器、win10下,vscode中集成linux操作系统、c编译器(gcc、g),java编译器(jdk1.8)参考:https://mangocool.com/1653030123842.htmlJniDemo类&…...

指针的进阶——(1)
本次讲解重点: 1、字符指针 2、数组指针 3、指针数组 4、数组传参和指针传参 5、函数指针 关于指针这个知识点的主题,我们在前面已经初级阶段已经对指针有了大致的理解和应用了。我们知道了指针的概念: 1、指针就是地址,但口…...

电商平台的促销活动如何抵御大流量的ddos攻击
每一次活动大促带来的迅猛流量,对技术人而言都是一次严峻考验。如果在活动期间遭受黑产恶意 DDoS 攻击,无疑是雪上加霜。电商的特性是业务常态下通常不会遭受大流量 DDoS 攻击,且对延迟敏感,因此只需要在活动期间按需使用 DDoS 防…...
代码随想录-48-104. 二叉树的最大深度
目录前言题目1.层序迭代思路2. 本题思路分析:3. 算法实现4. pop函数的算法复杂度5. 算法坑点前言 在本科毕设结束后,我开始刷卡哥的“代码随想录”,每天一节。自己的总结笔记均会放在“算法刷题-代码随想录”该专栏下。 代码随想录此题链接 …...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...

【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...