卡塔兰数列(应用场景、反射定理、生成函数和通项公式)
moboyou 2025-05-30 18:41 5 浏览
卡塔兰(Eugène Catalan)在19世纪中叶系统研究卡塔兰数列,使其得名,但未涉及现代生成函数工具。
递归分治结构:每个复杂问题可拆解为两个独立子问题(如左子树/右子树、括号内/括号外),子问题解相乘后求和,天然匹配递推式:
一、卡塔兰数场景
1、「正确括号」的排列:
编程写代码时括号必须成对闭合,比如 (()()) 是合法的,但 ())( 是错的。
卡塔兰数是计算像“n对括号能组成多少种正确嵌套的排列方式”这类问题的答案。
例如3对括号有5种正确排列:((()))、(()())、(())()、()(())、()()(),像搭积木一样一层套一层,不允许中间塌掉。
2、「二叉树」的家族图谱
想象家族族谱,每个人要么没有后代,要么有左右两个分支。3代人形成的家族族谱中,每一代父母必须有两个孩子,计有5种组合数!
3、标准Young表
将 1~2n 填入一个 2×n 的方格表中,使得每一行自左而右、每一列自上而下都是严格增的。
当 n=3 时,有5种不同的标准Young表:
如果第一行表示“(”的位置,第二行表示“)”的位置,那么每个“标准Young表”都对应一个“匹配的括号串”。
4、不相交的弦
在一个圆周上分布着 2n 个点,两两配对,并在这两个点之间连一条弦, n 条弦彼此不相交。
当 n=3 时,有5种不同的连弦方式:
从某一个特定的点开始,逆时针“前进”,如果“遇到”了“新”弦,则写下一个“(”,如果“遇到”了“旧”弦,则写下一个“)”,不相交的弦就转化为匹配的括号串。
5、出栈序列
假设入栈顺序为 1,2,3,...n ,所有可能的出栈序列的数目是多少?
当 n=3 时,有如下5种不同的入出栈顺序,对应于5个不同的出栈序列:
从上图来看,“入出栈顺序”和“括号匹配”之间存在一一对应。
6、笔画“群峰”
使用 n 个斜向上的线段和 n 个相同长度的斜向下的线段,画出群峰。
当 n=3 时,可以画出以下5种不同的群峰:
如果用“(”取代斜向上的线段,用“)”取代斜向下的线段,则转化为“括号匹配”问题。
二、卡塔兰数(Catalan Numbers)的标准定义
1. 递推关系定义
卡塔兰数 Cn 满足以下递推关系:
- 初始条件:C0=1,表示空结构的唯一性(如空括号序列、空二叉树)。
- 递推逻辑:第 n+1项的值由前 n+1 项的组合分解求和得到,体现了分治思想。例如,合法括号序列可分解为第一个括号内的 i 对括号和剩余的 n-i对括号的组合。
- 递推关系最早由欧拉(18世纪)和 Segner(1758)在研究多边形剖分时提出。
- 递推关系角标之和不变,
2、闭式公式(通项公式)
卡塔兰数的通项表达式为:
- 通项公式由 Liouville(1838)通过生成函数法首次严格证明。
- 通过生成函数法或反射原理(路径计数)得出。
示例:
3、生成函数
三种定义等价性说明:
递推 → 生成函数:通过将递推关系代入生成函数,解得闭式表达式。
生成函数 → 通项:利用广义二项式定理展开生成函数,提取系数得到通项公式。
通项 → 递推:通过数学归纳法可验证通项公式满足递推关系。
分别对应组合分解、直接计算和解析分析的需求。其核心是通过不同数学工具(分治、路径计数、幂级数)揭示同一组合结构的本质。
三、反射原理推导卡塔兰级数通项公式
1、关于反射定理
反射原理由法国数学家 Désiré André 于 1887 年提出,用于解决路径计数问题。核心内容如下:
路径定义:考虑从起点 A(0,0) 到终点 B(m,n)的网格路径,每一步仅允许向右(→)或向上(↑)移动。
限制边界:定义一条禁止跨越的直线边界 L,例如对角线 y=x+k(k 为常数)。
非法路径:路径在移动过程中至少有一次跨越(即触碰或越过)边界 L。
非法路径与反射后路径的一一对应:每个从 A(0,0)到 B(m,n) 的非法路径,均可通过关于边界 L 的几何反射,唯一映射到一条从 A 的对称点 A′ 到 B 的路径,且反射后的路径不再受原边界限制。
具体映射步骤:
1)首次跨越点:找到非法路径首次跨越边界 L的点 P。
2)反射操作:将点 P 之后的路径关于 L反射(即交换移动方向:右→上或上→右)。
3)新路径终点:反射后路径的终点变为 B′(m′,n′),其位置由反射对称性决定。
一一映射:通过几何变换(反射)将复杂计数问题转化为简单问题。
首次越界分析:聚焦路径首次越界的时刻,利用对称性简化计算。
反射原理通过将非法路径反射为终点不同的路径,巧妙地将卡特兰数问题转化为组合数的差值计算。
这一方法体现了组合数学的直观与几何之美,是经典计数技术的典范。
2、反射原理应用于不能“穿越”对角线的格路问题:
从 (0,0) 点出发,每步只能沿 x 轴或 y 轴的正方向每步走一个单位,最终走到 (m,n) 点,有多少条路径?方案数就是X走m步,Y走n步:
不“穿越”对角线的各路问题,那就是从 (0,0) 到 (m,n) (其中 m>n ),要求途径的每个点 (a,b) 都满足 a>b (除起点外)。这样就只能在对角线(y=n/m*X)下方走,变成不能“接触”对角线的格路问题。
第一步一定是 (0,0)→(1,0),之后每1条接触对角线的道路都一一对应1条从 (0,1) 到 (m,n) 的道路(就是第一次接触对角线之前的道路做关于对角线的对称:反射原理):
从 (0,1) 到 (m,n) 的路线方案数是:
结果是
当 m=n+1 时得著名的卡特兰数(Catalan number) Cn :
如m=4,n=3时
四、幂级数、生成函数法推导卡塔兰通项公式
推导步骤:
1、定义幂级数
Cn递推关系式,两系数“先相乘后相加”之形式,且两系数下标之“和”n不变,是“和”的平衡点i在变化!什么情况下才能够形成“先相乘后相加”这个形式呢?
……(x+y)(x+y)(x+y)这个两(或n)数“先相加再相乘”的形式可以变成x^3+3x^2y+3xy^2+y^3这个两(或n)数“先相乘后相加”的形式,也就是公式的展开……反之,“先相乘后相加”的形式可以通过代数基本原理,因式分解变成“先相加再相乘”的形式,这种关系是互逆的!
2、将递推关系编码生成函数方程
从递推关系出发:
3、求解得生成函数方程:
G(x)在 x=0 处收敛且 G(0)=C0=1:
4、卡塔兰生成函数表达式
选取唯一合理解:
5、推导通项公式
运用广义二项式定理:参阅《牛顿广义二项式定理推导(1664年~1667年原滋原味)》
其中广义二项式系数为:
化简系数:
生成函数的级数形式:
通项公式:
对比系数,由此直接读出 Cn的表达式:
6、衍生公式
备注:码字不易,图片来至于网络,如有侵权可以联系删除!!!
相关推荐
- NASA研发飞机机身机器人自动检测系统
-
NASA近期对外公布,在“NASA先进复合材料项目”的支持下,正在研发飞机机身机器人自动检测系统。先进复合材料项目的目标是通过改进相关方法、工具和协议,将飞机复合材料构件的开发和认证时间缩短30%。此...
- 是什么使牛顿定律成立?这里有一个简单的方法.
-
牛顿定律何以成立?答案在这里。物理定律确定了行星的运行轨道。(图片来源:MarkGarlick/SciencePhotoLibraryviaGettyImages)保罗M·萨特是天体物理...
- 卡塔兰数列(应用场景、反射定理、生成函数和通项公式)
-
卡塔兰(EugèneCatalan)在19世纪中叶系统研究卡塔兰数列,使其得名,但未涉及现代生成函数工具。递归分治结构:每个复杂问题可拆解为两个独立子问题(如左子树/右子树、括号内/括号外),子问题...
- Python数据分析(五)Pandas数据预处理
-
合并数据在实际工作中,我们的数据源往往是来自多个地方(比如分散在不同的表里),具体分析的时候需要把相关联的数据信息整合在一张表里,可能会有如下操作:横向或纵向堆叠合并数据主键合并数据重叠合并数据...
- 轴荷为什么要乘以0.98
-
对于才进门的小白授权签字人,最大的疑问莫过于计算制动率时,轴荷为什么要乘以0.98,那是因为制动力的单位为牛顿(N),轴荷的单位为千克(Kg)。牛顿(N)和千克(kg)是不同物理量的单位,它们之间的换...
- 碾压牛顿力学,拉格朗日力学到底有多强大? #前沿知识
-
这个看似很简单的双摆模型实际上一点都不简单。如果你没学过拉格朗日力学,只用牛顿力学分析,那你写满三页纸都算不出两个摇摆小球的受力情况。因为牛顿力学更适用于简单的受力分析,比如单摆运动以及自由落体运动。...
- 机房精密空调基础知识
-
空调与制冷常用术语:摄氏温标:在标准大气压下,把水的冰点作为O度,沸点作为100度,在O度与100度之间分成100格,每格为1度,以符号℃表示。华氏温标:在标准大气压下,把水的冰点定为32度,而沸点定...
- 深度学习风管设计(经典课件)
-
风管系统的构成风管的分类风管称呼及压力范围根据压力分类的风管称呼压力范围流速范围[m/s]常用压力[Pa]{mmAq}限制压力[Pa]{mmAq}低压风管+490{+50}以下-490{-50}以下+...
- 屁有颜色吗?真的有“彩虹屁”吗?|No.143
-
小朋友们总是会问起充满想象力的问题这些问题老师不教爸妈不会不问憋得慌比如下面这个问题屁有没有颜色啊?1Q冬天的手机为什么更费电?by秦智琛A首先,我们来解析一下题目:冬天的手机真的会更费电吗?其实不...
- 整理一份详细的数据预处理方法
-
数据预处理的主要步骤分为:数据清理、数据集成、数据规约和数据变换。本文将从这四个方面详细的介绍具体的方法。如果在一个项目中,你在这几个方面的数据处理做的都很不错,对于之后的建模具有极大的帮助,并且能快...
- 动画必备神器:AE牛顿动力学插件汉化版+独家教程。免费领取
-
动画必备神器:AE牛顿动力学插件汉化版+独家教程。免费领取!今天花荞为伙伴们分享的是动画必备神器:AE牛顿动力学插件汉化版+独家教程,有需要的伙伴可免费领取。(领取方式见文末)牛顿是一款2D动力学插件...
- 从郭守敬招差术 看 牛顿插值与泰勒公式的原理
-
郭守敬累裁招差术既是通过已知数据2,9,24,50,90,147,224,324,450,605,求这些数据的原函数y=ax+bx^2+cx^3。求解三次方程中的系数a,b,c。累裁来自于唐朝的一行...
- 牛顿插值公式的三种表达方式
-
1、系数用向前差分公式表示;2、区间n等分:x=x0+th(t=0,1,2,……,n;h为步长);3、系数用差商公式表示,分别为零阶、一阶、二阶……n阶差商。...
- 牛顿插值表达式如何记住
-
从上图可以看出,随着点数的增加,拉格朗日插值中的Li(x)在计算机程序中需要重新计算。为了解决这个矛盾,提出了牛顿插值法,还是先考虑两个点:上述过程显而易见,再考虑三个点上述过程也不存在困难,而那些待...
- 三个免费物联网平台推荐
-
物联网平台是指通过云计算、大数据分析、物联网通信技术等手段,将各种设备、传感器等智能化产品互联互通,实现设备之间的数据共享和交互。随着物联网技术的不断发展和普及,越来越多的人开始关注物联网平台。在众多...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 使用 (12)
- 启动oracle的监听服务 (13)
- oracle 数据库 字符集 (20)
- powerdesigner oracle (13)
- oracle修改端口 (15)
- 左连接 oracle (15)
- oracle 标准版 (13)
- oracle 转义字符 (14)
- oracle安装补丁 (19)
- matlab归一化 (16)
- matlab求解方程 (13)
- matlab脚本 (14)
- matlab多项式拟合 (13)
- matlab阶跃函数 (14)
- 三次样条插值matlab (14)
- 共轭梯度法matlab (16)
- 牛顿插值法matlab (13)