首页 > 其他分享 >组合数学课程笔记(一):框架构建

组合数学课程笔记(一):框架构建

时间:2023-02-17 13:56:47浏览次数:52  
标签:存在 组合 text 定理 笔记 问题 给定 构建 数学课程

组合数学的严格定义是非常困难的,其设计的内容广泛,分类困难,体系性较弱。不过,我们可以把组合数学按照问题、工具、对象三种方法进行分类,例如图论,就是按照研究对象分出的内容。

而别的分支,例如代数组合学,就是对一系列的代数对象,如生成函数、反演等进行研究。

我们认为最科学的分类方法是根据组合数学所解决的问题进行分类,分为组合计数、组合存在性、组合设计和组合优化四大类。

组合计数问题

组合计数的本质是对含有一些条件的有穷结构(解空间)进行计数,是组合数学最古典的内容。对它的研究占到组合数学的很大篇幅。

组合存在性问题

组合存在性是求问满足条件的有穷结构是否存在。它研究的对象往往是最复杂的。而组合存在性下有两个比较特殊的重要分支。

极值组合学

极值组合学研究的内容是给定条件的有穷结构在某个定义下的最大或最小结构有多大/多小。

极值组合学的对于计算机理论科学的意义更多不在于具体算法的分析,而在于从理论层面上对一大类具有相同特点的算法分析性质。这是非常伟大的。

  • \(\text{k-3 free}\) 问题,即一个没有三元环的图最多有多少条边?我们可以很轻易的发现,二分图是满足没有三元环的,不仅没有三元环,连奇环都没有。但是奇环的条件太过宽泛了,是否存在限制更加强大(没有 \(\text{3-tuple}\) 但是有奇环存在的更大的图呢?

  • 基于比较的排序算法的最少比较次数。这是非常经典的极值组合学问题。判定树的证明决定了任何基于比较的排序算法都至少要比较 \(\Theta(n\log n)\) 次。

  • 基于比较的并行排序算法的排序层数下界问题。虽然人类在很长的时间内都只发现了高于 \(\log^2 n\) 的做法,但是通过一般的证明方法会得到下界是大于等于 \(\log n\) 的。所以有人在收紧下界的方向进行了很多的研究,直到有人发现了新的 \(\log n\) 的做法。

极值组合学探讨的方向是人类对于自然科学的认知边界,其意义在于对我们认知自然科学的工具的效用性有了较为准确的认识。

拉姆塞问题

拉姆塞问题来自 \(\text{Ramsey}\) 定理。我们一般接触到的形式是“有六个人的聚会,至少有三个人互相认识或者不认识”。但是其本质是非常深刻的。它声明了任何有穷结构,只要规模大到一定地步,就一定包含某些确定的子结构或者局部存在某些确定的性质。

  • 二分查找真的是在有序序列(不使用额外空间)中确定给定元素存在性的最优办法吗?首先,我们可以证明二分查找已经是最优解了。但是,我们想要研究的问题是,对于无序的序列,能否进行类似的查找。而给定的结论是,假设我们的元素来自某个域 \(\mathbb{U}\),那么只要 \(\mathbb{U}\) 的规模大到一定程度,序列都是局部有序的。因此无论我们使用多强大的数据结构,在维护足够大规模的序列时,都一定要(或者等价于)进行了排序。但是在这一过程中,如果使用了额外的空间,哪怕只是一个位,都可能给上述的论证带来质的变化,因为我们就可以进行编码,从而得到更优的做法。

  • \(\{\) “五连号问题”属于这类形式吗?:从 \(786\) 个数字中选出 \(203\) 个,虽然这些数字是无序的,但是存在五个连号的概率接近 \(49\%\)。看上去符合大结构包含给定结构的形式,但是却不符合拉姆赛定理“一定存在这样结构”的形式。\(\}\)

  • \(\{\) “鸽笼原理”或者“抽屉原理”是否是拉姆塞定理的一种形式?因为当我们的物品比较少的时候,不一定会存在某个抽屉的数量达到一定量,但是当我们的物品够多,就可能存在至少有一个抽屉存着给定数量以上的物品。而物品和抽屉的比例越大,这个给定数量也会越大。符合拉姆塞定理“随结构的扩张而增加”和“一定存在”两个形式。\(\}\)

拉姆塞定理的意义在于巨大的结构而带来的特殊性质。这些性质在小形式是是不存在的。这给了我们研究很多复杂问题的办法。

组合设计

组合设计的内容就是,不仅要论证符合条件的有穷结构是否存在,还要给出特定的构造。例如编码论。但是组合设计的过程中,很多的方法不具有推广性。也就是很难建立体系和联系。

组合优化

组合优化是更加偏向算法方面的。其研究的内容是找到某个解空间中某种意义下最好的解。

  • \(\text{matching theory}\) 匹配论,原始对偶现象。内容是最优类的问题在解空间中成对出现。例如,网络最大流和网络最小割就是一对对偶的最优化问题。它们在组合数学的深层有着相同的特殊性质。而二分图点覆盖和二分图最大匹配一类问题中,存在若干个不同方向的定理,如 \(\text{Hall}\) 定理,这些若干个定理其实是等价的。这意味着我们可以把一个问题转化成另一个问题,求出另一个问题的最优解。\(\{\) 在网络流模型中,这种转化问题到特定形式的形式非常多见。\(\}\)

标签:存在,组合,text,定理,笔记,问题,给定,构建,数学课程
From: https://www.cnblogs.com/jucason-xu/p/17129870.html

相关文章

  • JAVA 学习笔记(五)
      子类通过方法的重写机制可以隐藏继承父类的方法,把父类的状态和行为改变为子类自己的状态和行为.假如父类中有一个方法myMethod(),一旦子类重写了超类的方法myMethod......
  • 多项式相关算法学习笔记(持续更新)
    第一次用博客园写学习笔记,写的不好请见谅~欢迎各位OIer在评论区说一下自己对这篇博客的建议!有关多项式的基本概念对于求和式\(\suma_nx^n\),如果是有限项相加,称为多项......
  • jenkins 流水线构建发布流程
    jenkins流水线构建发布流程:1.输入一个任务名称:xxx.xxxx.WebApi.prod2.选择-》pipeline3.流水线:pipelinescriptfromSCM4.SCM--Subversion5.RepositoryURL:http://......
  • dp学习笔记
    目录斜率优化dpH.仓库建设思路代码J.土地购买思路:代码斜率优化dpH.仓库建设思路很容易想暴力,因为只能往后送物资,从后往前计算dp[i]为在i这里建造仓库且i~n都有地可去......
  • docker 项目从构建到推送
    此次示例针对python项目1.准备工作:请确保已经安装好Docker2.准备项目2.1只需要在项目的根目录进行操作就能只打包对应的项目2.2列表项目的依赖pipinstall......
  • 《分布式技术原理与算法解析》学习笔记Day14
    分布式计算模式:Stream什么是流数据?实时性任务主要是针对流数据处理,对处理时延要求很高,通常需要常驻服务进程,等待数据的随时到来随时处理,以保证低时延。流数据有4个特征:......
  • 读Java实战(第二版)笔记12_重构、测试和调试
    1. 设计模式1.1. 对设计经验的归纳总结1.2. 一种可重用的蓝图1.3. Java5引入了for-each循环1.3.1. 替代了很多显式使用迭代器的情形1.4. Java7推出的菱形操......
  • 谷粒学院day03笔记
    前端开发一、工具vscode层级:文件夹->工作区->文件/文件夹插件:二、ECMAScript6简介1.ECMAScript和JavaScript的关系2.ES6与ECMAScript2015的关系3.......
  • 【学习笔记】支配树
    先对自己说句话:你觉得没用的算法不一定没用,别太自以为是在那里一遍一遍叫"stoplearninguselessalgorithm",最useless的是你。支配给定一个有向图\(G\),有一个起点......
  • 面试笔记
    1 用简历争取到更多的面试机会  本不想写这段,但最近我在帮一些同学准备简历时,发现他们虽然在当前公司里能胜任Java开发的工作,但凭简历恐怕无法得到面试机会,或者无法......