组合数学(一):绪论、抽屉原理

本文介绍了组合数学的基础概念,包括研究内容、特征和应用,并深入探讨了抽屉原理及其加强形式,通过多个实例展示了如何运用抽屉原理解决实际问题,如在数字通信、算法设计中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

绪论

1. 组合数学的研究内容

组合数学研究的中心问题是"按照一定的规则来安排有限多个对象",它主要涉及四类问题:

  • 安排的存在性问题
  • 安排的总数问题
  • 构造确定的方案
  • 组合优化

我们通过一个例子来了解这四个问题的顺序:

给出一个 n × m ( m > n ) n\times m(m>n) n×m(m>n)的棋盘,甲从左下角出发前往右上角,每次有且仅有一种前进路线(向上,向下,向左,向右)。现在要求:

  • 存在性——甲能否不跨越棋盘对角线到达右上角?
  • 总数——甲在不跨越对角线的情况下有多少种前进方案?
  • 构造——请写出一种方案,使得甲只跨越一次对角线后到达右上角;
  • 最优化——甲该如何选择路径.使得在不跨越对角线的情况下到达右上角的路程最短?

虽然这个问题可能有临时编造的意思,但是4个小问都很明白的展现出组合数学的研究内容。

2. 组合数学的特征

组合数学最大的特征是离散型。大多数组合数学的问题来源于智力游戏和生产生活,而人的生产生活一定是离散的。

虽不说世界到底是连续的还是离散的,我们日常处理问题,比如安排时间表,我们需要一个一个的把一定时间段内该完成的任务列举出来。也许在一个时间段内人“连续”的完成一件事,然而整个时间表的任务安排确实是离散的。建立在离散的基础上,我们可以讨论时间表安排的具体方案,如何优化方案使得用时最少等等。

离散的特性就是我们可以“一个一个”的把所有可能发生的事情都列举出来,用数学的语言就是一个集合A,它对等于自然数集 N \mathbb{N} N,它的基数是 ℵ 0 \aleph_0 0

3. 组合数学的应用

如果你是计算机专业的学生,那么一定要学习算法和数据结构的知识,而很多编程练习题的原型就是组合数学题。一道组合数学题,确定其输入和输出后,就可以改编成为一道程序设计题,让广大程序员体会组合数学的爱。

其他领域,比如数字通信,运筹管理,规划等等处理离散对象的问题都可以用组合数学的理论来研究。

例1: 长度为n的线段,从中切开后可以重叠放置在一起,然后再切。问至少要切几刀才可以切成 n × 1 n\times 1 n×1的线段?

这里如果知道二分法的时间复杂度的话,其实是比较好处理的。
我们切一刀,整个长度变成 n 2 \frac{n}{2} 2n,重叠在一起可以减少切刀的次数(也就是不重叠要切成等分的4块,需要4刀,但是重叠在一起只需要两刀)。设需要k刀可以让整个线段变成长度为1的线段组合,那么一定有
n 2 k = 1 \frac{n}{2^k}=1 2kn=1
也就是 k = log ⁡ n k=\log n k=logn。k肯定是整数,所以最少可以切 ⌈ log ⁡ n ⌉ \lceil\log n\rceil logn刀,而前者恰好是二分法的时间复杂度。

4. 我能不能学好组合数学

组合数学来源于生活,而且(表面上)并不涉及过多高深数学知识,任何人都可以学习组合数学。普通人学习数学理论的价值就是应用它的价值。有些组合数学的题目确实很难,不用因为做不出题目而贬低自己。

抽屉原理

抽屉原理又叫“鸽笼原理”、“鸽舍原理”等等,这个定理主要说明放置物品数目的存在性。

1. 抽屉原理及其加强形式

定理1. 如果把 n + 1 n+1 n+1个物品放入 n n n间抽屉,那么至少有一个抽屉中有两件物品或者更多物品。

推论1. 设 q 1 , q 2 , … , q n q_1,q_2,\ldots,q_n q1,q2,,qn都是正整数,如果把 q 1 + q 2 + … + q n − n + 1 q_1+q_2+\ldots+q_n-n+1 q1+q2++qnn+1个物品放入到n个盒子中,那么或者第一个盒子至少有 q 1 q_1 q1个物品,或者第二个盒子至少有 q 2 q_2 q2个物品…,或者第n个盒子至少有 q n q_n qn个物品。

推论2. 如果将 n ( r − 1 ) n(r-1) n(r1)个物品放入到 n n n个盒子中,那么至少一个盒子中有r个物品。

推论3. 设 m 1 , m 2 , … , m n m_1,m_2,\ldots,m_n m1,m2,,mn是n个整数,而且它们的均值大于等于r
m 1 + m 2 + … + m n n > r − 1 \frac{m_1+m_2+\ldots+m_n}{n}>r-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值