贝尔数(来自维基百科)& Stirling数
贝尔数
贝尔数以埃里克·坦普尔·贝尔(Eric Temple Bell)为名,是组合数学中的一组整数数列,开首是(OEIS的A000110数列):

Bell Number
Bn是基数为n的集合的划分方法的数目。集合S的一个划分是定义为S的两两不相交的非空子集的族,它们的并是S。例如B3 = 5因为3个元素的集合{a, b, c}有5种不同的划分方法:
- {{a}, {b}, {c}}
- {{a}, {b, c}}
- {{b}, {a, c}}
- {{c}, {a, b}}
- {{a, b, c}};
B0是1因为空集正好有1种划分方法。空集的每个成员都是非空集合(这是Vacuous truth,因为空集实际上没有成员),而它们的并是空集本身。所以空集是它的唯一划分。
贝尔数适合递推公式:
上述组合公式的证明:
可以这样来想,B_{n+1}是含有n+1个元素集合的划分的个数,考虑元素
假设他被单独划分到一类,那么还剩下n个元素,这种情况下划分个数为;
假设他和某一个元素被划分为一类,那么还剩下n-1个元素,这种情况下划分个数为 ;
假设他和某两个元素被划分为一类,那么还剩下n-2个元素,这种情况下划分个数为 ;
依次类推,得到了上述组合公式
它们也适合“Dobinski公式”:
它们也适合“Touchard同余”:若p是任意质数,那么
每个贝尔数都是"第二类Stirling数"的和
Stirling数S(n, k)是把基数为n的集划分为正好k个非空集的方法的数目。
把任一概率分布的n次矩以首n个累积量表示的多项式,其系数和正是第n个贝尔数。这种数划分的方法不像用Stirling数那个方法粗糙。
贝尔数的指数母函数是
贝尔三角形[编辑]
用以下方法建构一个三角矩阵(形式类似杨辉三角形):
- 第一行第一项是1(
)
- 对于n>1,第n行第一项等同第n-1行最后一项。(
)
- 对于m,n>1,第n行第m项等于它左边和左上方的两个数之和。(
)
结果如下:(OEIS:A011971)
每行首项是贝尔数。每行之和是第二类Stirling数。
这个三角形称为贝尔三角形、Aitken阵列或Peirce三角形(Bell triangle, Aitken's array, Peirce triangle)。
参见[编辑]
参考[编辑]
贝尔数(来自维基百科)& Stirling数的更多相关文章
- 自然数幂和——第一类Stirling数和第二类Stirling数
第一类Stirling数 首先设 $$S_k(n)=\sum_{i=0}^ni^k$$ 根据第一类斯特林数的定义(P是排列数,C是组合数,s是Stirling) $$C_n^k={P_n^k\over ...
- arp:地址解析协议(Address Resolution Protocol)(来自维基百科)
地址解析协议(Address Resolution Protocol),其基本功能为通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在I ...
- web框架--来自维基百科
- Bell(hdu4767+矩阵+中国剩余定理+bell数+Stirling数+欧几里德)
Bell Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status ...
- 第一类和第二类Stirling数
做了老是忘…… 实际问题: 找维基百科.百度百科…… 第一类Stirling数 n个元素构成m个圆排列 S(n,m)=S(n-1,m-1)+(n-1)*S(n-1,m) 初始 S(0,0)=1 S(n ...
- [总结] 第二类Stirling数
上一道例题 我们来介绍第二类Stirling数 定义 第二类Stirling数实际上是集合的一个拆分,表示将n个不同的元素拆分成m个集合的方案数,记为 或者 .和第一类Stirling数不同的是,集合 ...
- Stirling数
第一类: 定义 第一类Stirling数表示表示将 n 个不同元素构成m个圆排列的数目.又根据正负性分为无符号第一类Stirling数 和带符号第一类Stirling数 .有无符号Stir ...
- Bell数和Stirling数
前面说到了Catalan数,现在来了一个Bell数和Stirling数.什么是Bell数,什么是Stirling数呢?两者的关系如何,有用于解决什么算法问题呢? Bell数是以Bell这个人命名的,组 ...
- Stirling数入门
第一类Stirling数 定义 $$\begin{aligned}(x)_n & =x(x-1)...(x-n+1)\\&= s(n, 0) + s(n,1)x +..+s(n,n)x ...
随机推荐
- android-基础编程-ExpandableListview
ExpandableListView继承ListView,具有LIstVIew的基本功能.此外具有group/child,由组与子元素组成. 1.布局主要有是三个. a.主布局: <Expand ...
- linux服务器时间同步失败解决方法
linux服务器时间同步失败解决方法 1.为什么会时间不同步: ①计算机的时间是根据电脑晶振以固定频率震荡而产生的,由于晶振的不同或者老化,会导致电脑时间积累误差的产 (什么是电脑晶振:http:// ...
- EF6 学习笔记(一):Code First 方式生成数据库及初始化数据库实际操作
EF6 学习笔记总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 本篇参考原文地址: Creating an Entity Framework Data Model 说明:学习 ...
- 调用opencv相关函数,从视频流中提取出图片序列&&&&jpg图片序列,转化成avi格式视频
/************************ @HJ 2017/3/30 参考http://blog.sina.com.cn/s/blog_4b0020f301010qcz.html修改的代码 ...
- 二进制加法Java实现
二进制整数的Java实现 任意两个二进制数(不论在什么位置)相加,只可能出现4种情况.它们是: 0+0=0 1+0=0+1=1 1+1=10=0+向高一位的进位1 1+1+1=11=1+向高一位的进位 ...
- centoos内核升级
1.检查当前CentOS内核版本 uname -r 2.导入key 打开http://elrepo.org/tiki/tiki-index.php 复制执行该命令 3.安装ELRepo 打开2步中的网 ...
- Array.prototype.slice.call引发的思考
概述 今天在看书的时候看到Array.prototype.slice.call(arguments),有点看不懂,所以认真研究了一下,记录下来,供以后开发时参考,相信对其他人也有用. call 每一个 ...
- linux 软件安装篇
在linux下安装软件,不像windows一样,下一步下一步安装,但是也有很方便的方式.也有自定义的安装方式,总体来说,套路还不算太深,但是要实践才能出真知哦! linux版本有很多,但是大部分命令都 ...
- RabbitMQ常见错误2
java.io.IOException at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:105) at com.rabbitmq ...
- Spark之GraphX的Graph_scala学习
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreem ...