容斥原理---概念介绍

容斥原理---概念介绍

 

容斥原理是一种基本的计数工具。

假设我们有N个对象的集合A,设a1, a2,…, ar是这些对象可能有的性质的集合,设N(ai )是有性质ai的对象数目。一个对象可能有若干个所讨论的性质(或一个性质也没有)。设N(a’i )计数没有性质ai的对象数目。这时,我们有

N = N( ai ) + N( a’i).

因为一个对象可能有多个性质,所以计数既有性质ai又有性质aj的对象数目很有用。这一数目记为N(ai  aj). 既没有性质a 又没有性质a 的对象数目记为N(a’i  a’j),有性质aj 但是没有性质ai的对象数目记为N(a’iaj )。

 

我们为N(a’1 a’2  a’3 )开发容斥原理,这是既没有性质a1又没有性质a2也没有性质a3的对象数目。这一原理的解释参见下面的韦恩图:

 

首先我们使A包容所有的对象(数目总共为N),然后,我们排除那些有性质a1的所有对象,有性质a2的所有对象,有性质a3的所有对象。因为某些对象可能有多个性质,所有我们有必要加回被过多排斥掉的对象,我们加回(包容)有两个性质的对象,这些对象对应于上图的粉红、黄色、绿色区域,这时我们又多加回了若干对象,即有三个性质的那些对象,这些对象对应于上图中深红色区域,这些对象必须被排除。 对这一推理的结果加以公式化,我们得到下面的公式:

N(a’1a’2 a’3) = N – N(a1) - N(a1)- N(a1)

              + N(a1 a2) +N(a1 a3) + N(a2 a3)

              -N(a1 a2 a3)

一般的,没有任意r个性质的对象数量都可以通过扩展上面公式得到。这一公式称为容斥原理(principleof inclusion and exclusion)。

 

定理:容斥原理

如果N是集合A中的对象的数量,集合A中没有性质a1,a2, …, ar 的对象数量由下式给出:

N(a’1a’2...a’r)= N – ΣiN(ai)

           +Σi != jN(ai aj)

           -Σi,j,k互不相同N(aiajak)

           +(-1)rN(a1a2…ar)

上式中,第一个和是对所有取自{1,2,..,r}的i求和,第二个和是对所有无序对{i,j}求和,其中i和j取自{1,2,..,r},i!=j。第三个和是对于无序三元组{i ,j,k}求和,其中i ,j,k取自{1,2,..r},i ,j,k互不相同。一般项是(-1)t乘以形如N(a1 ,a2 ,…,ar )的项的和,其中这种形式的和是对于所有无序t元组{i1 ,i2 ,…,it}求和,而i1 ,i2 ,…,it取自{1,2,..,r},且i1 ,i2 ,…,it互不相同。

 

全部选自《应用组合数学(Applied Combinatorics)》原书第二版,Fred S.Roberts Barry Tesman著,冯速 译

原书第七章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492924.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c#自动更新+安装程序的制作

一、自动更新的实现 让客户端实现自动更新,通常做法是在客户端部署一个单独的自动更新程序。主程序启动后,访问服务端,检查配置文件是否有更新版本,有更新版本就启动更新程序,由更新负责下载更新版本,并更新…

中国AI科研产出全球第一 但引文影响力低

来源:科学网 日前,爱思唯尔发布了《人工智能:知识的创造、转移与应用》报告,分析了全球人工智能科研的发展趋势。报告显示,2017年中国在人工智能领域出版的文章数量位列全球第一,科研产出已在2004年超过美国…

OpenCV--SIFT算法检测特征点

代码选自:http://blog.csdn.net/zhaocj/article/details/42124473 SIFT算法是用来检测图像中特征点的, 代码如下: opencv版本:2.4.9 #include "opencv2/opencv.hpp" #include "opencv2/imgproc/imgproc.hpp" #include…

对话 Geoffrey Hinton Demis Hassabis :人工智能离我们有多远?

来源:AI科技评论预测用户喜欢的音乐类型、检测出转移性肿瘤、生成脑癌的综合扫描、利用真实世界中拍摄的视频创造出虚拟环境、识别出被拐卖的人口、击败国际象棋大师以及专业的 Dota2 电竞团队、帮助 Alphabet 旗下的 Waymo 首次推出商业无人驾驶出租车服务、代替出…

SharePoint 2013 关于自定义显示列表表单的bug

1、在SharePoint 2013中,我们隐藏列表Dispform页面的ListFormWebPart部件,转而使用自定义显示列表表单进行展示,因为这样更容易定制我们需要的显示; 2、之后发现文件夹下的文档,查看属性会报错,如下图&…

SIFT算法中概念简单解释

尺度空间 真实世界的物体只有在一定尺度上才有意义,例如我们能够看到放在桌子上的水杯,但对于整个银河系,这个水杯是不存在的。物体的这种多尺度的本质在自然界中是普遍存在的。尺度空间就是试图在数字图像领域复制这个概念。又比如&#xf…

发布|CES 2019 科技趋势(附40页PPT)

来源:Robot未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网&#xff…

UVAL - 6755 - Swyper Keyboard

先上题目: https://icpcarchive.ecs.baylor.edu/external/67/6755.pdf 题目复制起来比较麻烦。 题意:定义一种操作:给出一个字符串,然后手指就按照给出的字符串的字符出现顺序不离开触摸屏那样移动,这样最后就会得到一…

Ransac算法简介

给定两个点p1与p2的坐标,确定这两点所构成的直线,要求对于输入的任意点p3,都可以判断它是否在该直线上。初中解析几何知识告诉我们,判断一个点在直线上,只需其与直线上任意两点点斜率都相同即可。实际操作当中&#xf…

2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势

来源:网络大数据1、简介过去几年一直是人工智能爱好者和机器学习专业人士最幸福的时光。因为这些技术已经发展成为主流,并且正在影响着数百万人的生活。各国现在都有专门的人工智能规划和预算,以确保在这场比赛中保持优势。数据科学从业人员也…

HDU 2421

由算术基本定理Np1^e1*p2^e2....ps^es,可知一个素的因子个数为(e11)*(e21)*...*(es1)。 而N的一人因子必定也有np1^k1*p2^k2。。。。*ps^ks的形式。因子个数形式同上。 而事实上,即是从ei中选取其中一些来充当k1。那么,所有的因子的个数之和必…

仿射变换的原理

在条形码识别软件中有图像预览的功能。有时预览的图像需要进行转置(旋转180度或者90度)、缩放、镜像(左右反转)等操作。OpenCV提供了相应的函数进行以上操作。例如: 转置:cv::WarpAffine() 缩放&#xff…

拯救顽疾大作战!IDC绘中国医疗AI生态图谱,英伟达献医疗影像新杀器

来源:智东西摘要:中国千家医院部署AI系统!IDC医疗AI报告详解行业趋势和五大药方。2018年是令人唏嘘的一年,台湾作家李敖、动画大师高畑勋、相声表演艺术家师胜杰、央视主持人李咏、微软联合创始人保罗艾伦、武侠小说宗师金庸等一个…

设计模式之适配器模式(Adapter Pattern)

在正式开始之前,让我们先思考几个问题: 如果现有的新项目可以利用旧项目里大量的遗留代码,你打算从头开始完成新项目还是去了解旧项目的模块功能以及接口?如果你了解过遗留代码之后,发现有几个重要的功能模块接口不同&…

错位排列-信封问题

五个编号为1~5的小球放进5个编号为1~5的小盒里面,全错位排列(即1不放1,2不放2,依次类推)一共有多少种放法 这是著名的信封问题,很多著名的数学家都研究过瑞士数学家欧拉按一般情况给出了一个递推公式: 用A…

存在描述所有生命的方程吗?

○ 生物体既复杂又有序,就像这片亚麻茎的横截面。研究人员希望最终发展出描述所有生命的基本方程。来源:原理关于生命,没有什么是简单的。每一秒钟,都有数百万个缜密有序的化学反应发生在一个细胞内;数十亿个单细胞生物…

asp.net(C#)写SQL语句技巧

/*添加SQL*/string fields "";string values "";fields "xm"; values "" Request.Form["xm"].ToString() "";fields ",xb"; values "," Request.Form["xb"].ToString() …

Python函数参数值传递

Python的函数参数是通过值传递的,但是如果变量是可变对象,返回到调用程序后,该对象会呈现被修改后的状态 测试程序如下: # 值传递不改变变量 def addInterest(balance, rate):newBalance balance * (1rate)return newBalance de…

CSS3滤镜

今天在办公室亲眼目睹了同事使用CSS3滤镜为一张漂亮的照片轮廓加上了阴影,瞬间亮瞎了我的的双眼,见笑了。 所以也迅速尝试使用CSS3滤镜让最新出炉的MUI LOGO也性感一把,试图来愉悦一下大家的双眼。已经等不及了,赶紧奉上今天的测试…

Python中递归字符串反转

我们可以用Python轻松的反转字符串,代码如下: def reverse(s):if s :return selse:return reverse(s[1:]) s[0]print(reverse(hello))运行结果如下:Connected to pydev debugger (build 143.1559) ollehProcess finished with exit code 0