惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
S
Securelist
博客园 - Franky
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
AI
AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Schneier on Security
Schneier on Security
Attack and Defense Labs
Attack and Defense Labs
Vercel News
Vercel News
腾讯CDC
Google DeepMind News
Google DeepMind News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
M
MIT News - Artificial intelligence
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
Netflix TechBlog - Medium
量子位
S
Schneier on Security
Hacker News: Ask HN
Hacker News: Ask HN
Cyberwarzone
Cyberwarzone
S
Security Affairs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
News and Events Feed by Topic
T
Tenable Blog
PCI Perspectives
PCI Perspectives
MyScale Blog
MyScale Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
W
WeLiveSecurity
N
News | PayPal Newsroom
P
Proofpoint News Feed
O
OpenAI News
C
CERT Recently Published Vulnerability Notes
B
Blog
Cisco Talos Blog
Cisco Talos Blog
Microsoft Security Blog
Microsoft Security Blog
V
Visual Studio Blog
MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
A
Arctic Wolf
Y
Y Combinator Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Spread Privacy
Spread Privacy

博客园 - Anders Cui

jieba.NET与Lucene.Net的集成 jieba中文分词的.NET版本:jieba.NET 迷人的斐波那契数 趣题一则:交替放置的碟子 用户中心 - 博客园 趣题一则:寻找那扇门 HashSet的实现(下) HashSet的实现(上) 趣题一则:如何快速过桥? 制作自己的wikibook 玩儿一下Word Search Puzzle 整数的展开 找零钱的两种方法 离散数学拾趣(二):逻辑难题 离散数学拾趣(一) 关于命名中的数量和人称 扩展方法浅谈 意外之喜 最近遭遇的两个VS配置
离散数学拾趣(三):集合的子集有多少个
Anders Cui · 2011-03-10 · via 博客园 - Anders Cui

集合广泛应用于计数问题,这类问题需要讨论集合的大小。

令S为集合。若S中恰有n个不同的元素,n是非负整数,就说S是有限集合,而n是S的基数,用|S|表示。若S={ 1, 2, 3 },则|S| = 3。

有时候需要考虑一个集合的元素所有可能的组合,看它们是否具有某种性质。为此构造一个新的集合,它以S的所有子集作为它的元素,该集合称为S的幂集合,记为P(S)。

比如:离散数学拾趣(三):集合的子集有多少个_html_m1aefcf61

本文的主题也就是:对于集合S,P(S)的基数是多少?

方法一:首先观察上面例子中的三个集合,它们的基数分别是0、1、2,而它们的幂集合的基数分别是离散数学拾趣(三):集合的子集有多少个_html_m4c4b7e9b,于是可以猜想n个元素的集合有离散数学拾趣(三):集合的子集有多少个_html_m50dac5f7个子集,下面用数学归纳法证明。

基础步骤:由上面例子可知,当n=0时命题为真。

归纳步骤:假定当n=k时命题成立,即每个有k个元素的集合有离散数学拾趣(三):集合的子集有多少个_html_4ac6ce59个子集。设T是有k+1个元素的集合,那么T至少包含一个元素,任取其中的一个元素a,设离散数学拾趣(三):集合的子集有多少个_html_4abbad87,即离散数学拾趣(三):集合的子集有多少个_html_7f0686c2,S有k个元素。对于S的每个子集X来说,恰好存在两个T的子集,即X和离散数学拾趣(三):集合的子集有多少个_html_618b6995,这些子集构成了T的所有子集并且互不相等,因为S有离散数学拾趣(三):集合的子集有多少个_html_4ac6ce59个子集,所以T有离散数学拾趣(三):集合的子集有多少个_html_m55b86990个子集,也就是说当n=k+1时命题也成立,命题得证。

方法二:对于集合S,|S|=n。可以按任意顺序将这n个元素排成一个序列,要确定一个子集,也就是对于n个元素依次确定它是否属于该子集,如果属于记为1,否则记为0。这样,确定了一个集合之后,也确定了一个n位长的二进制串。(假设S有3个元素,其中的一个二进制串是110,它表示前两个元素属于相应的子集,而第三个元素不属于)可以得出,S的所有子集与所有n位的二进制串一一对应,而对于n位的二进制串,由乘积法则(或乘法原理)可知共有离散数学拾趣(三):集合的子集有多少个_html_m50dac5f7个,这样也可以证明。

方法三:对于集合S,|S|=n,该命题还可以使用组合证明。可以按如下顺序寻找S的子集:先找有0个元素的子集;再找有1个元素的子集;...;最后找有n个元素的子集(离散数学拾趣(三):集合的子集有多少个_html_f356803)。它们的个数分别是离散数学拾趣(三):集合的子集有多少个_html_33c67f3e,它们的和恰好是离散数学拾趣(三):集合的子集有多少个_html_m50dac5f7,命题得证。

对于这种方法,在离散数学中会比较常见,在计数的时候通过一一对应将问题转化为更简单的问题,比如二进制串、树的路径等。

在撰写本文内容时,也是在尝试OpenOffice Math和Live Writer结合使用,使用OO Math编写数学公式,最后文档可以直接导出为HTML,其中的公式以gif的格式创建,以Firefox打开生成的HTML文件,通过Blog This for Firefox插件可以将文件内容拷贝到一个新的Post中,然后微调,效果没有生成的HTML好,不过还可以接受。在Firefox浏览,默认情况下公式图片可能会有些模糊,可以将字体缩小一点儿。不知道怎样才能在HTML中更好地添加数学公式?清晰版的还是看PDF吧。

参考:

离散数学及其应用