Bell Numbers (贝尔数)--Number of ways to Partition a Set(划分集合的方法的数量)

贝尔数是组合数学中的重要概念,表示基数为n的集合的划分方法数。本文介绍了贝尔数的定义、递推公式,以及通过动态规划计算贝尔数的方法。贝尔三角形的特性也被提及,作为求解问题的辅助工具。
摘要由CSDN通过智能技术生成

首先介绍一下什么是贝尔数。贝尔数以埃里克·坦普尔·贝尔命名,是组合数学中的一组整数数列,开首是在这里插入图片描述
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种划分方法。空集的每个成员都是非空集合,而它们的并是空集本身。所以空集是它的唯一划分。
贝尔数的递推公式为:
在这里插入图片描述
令S(n,k)表示n个元素划分为k个集合的数目。 第n个贝尔数等于等于S(n,1)+S(n,2)+…S(n,n)的值
在这里插入图片描述
S(n,k)的值可以递归的表示为:S(n+1, k) = kS(n, k) + S(n, k-1)。为什么会这样表示呢?当我们将第(n + 1)个元素添加到k个划分集合时,有两种可能性。
1)第n + 1个元素作为一个单独的集合参与到划分成k个集合,有S(n,k-1)个。
2)将第n + 1个元素添加到已经划分的k个集合中,一共有k*S(n,k)种。
S(n, k)也称为第二类斯特林数。
第一种求贝尔数的方法就是,k从1到n计算S(n,k)并且累加求和。
第二种方法就是使用贝尔三角形,如下所示:
在这里插入图片描述
贝尔三角形有以下特点:
1)第一行第一项是1,( a 1 , 1 a_{1,1} a1,1 = 1)
2) 对于n>1,第n行第一项等同第n-1行最后一项。( a n

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值