【组合数学】递推方程 ( 递推方程示例 1 | 列出递推方程 )

举报
韩曙亮 发表于 2022/01/11 01:02:51 2022/01/11
【摘要】 文章目录 一、递推方程示例 1二、递推方程示例小结 一、递推方程示例 1 编码系统使用 8 ...





一、递推方程示例 1



编码系统使用 8 8 8 进制数字 , 对信息编码 , 8 8 8 进制数字只能取值 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 0,1,2,3,4,5,6,7 0,1,2,3,4,5,6,7 ,

只有当某个编码含有 偶数个 7 7 7 时 , 该编码才是有效的 ,

n n n 位的编码中有效的编码个数 ?



分析 :

n n n 位长的编码 , 可以 n − 1 n-1 n1 位长的编码 , 后面加上 一位 8 8 8 进制数字 构成 ;

对于每个 n − 1 n-1 n1 位长的编码 , 后面加上一位数字 , 使得最终的编码 满足 有效编码的要求 , 即含有偶数个 7 7 7 , 就可以得到一个有效的 n n n 位长的编码 ;


1 . 设 n n n 位长的有效编码个数是 a n a_n an 个 ;

则有 n − 1 n-1 n1 位长的有效编码个数是 a n − 1 a_{n-1} an1 个 ;


现在考虑 n n n 位长的编码 与 n − 1 n-1 n1 位长的编码之间的关联关系 ;

( 1 ) 偶数个 7 7 7 : 假定当前已经有一个 n − 1 n-1 n1 位长的 8 8 8 进制编码串 , 恰好含有偶数个 7 7 7 , 即该编码已经满足有效编码的要求 , 在加上一位数字 :

  • 不可以加的数字 : 不能加 7 7 7 , 加了 7 7 7 之后 , 就会变成 奇数个 7 7 7 , 成为无效编码 ;
  • 可以加的数字 : 只能加 0 , 1 , 2 , 3 , 4 , 5 , 6 0,1,2,3,4,5,6 0,1,2,3,4,5,6 数字 , 这里有 7 7 7 种方式 ;

由一个 n − 1 n-1 n1 位长的 , 满足要求的编码 , 有 7 7 7 种方式生成一个 n n n 位长的编码 ;


( 2 ) 奇数个 7 7 7 : 假定当前已经有一个 n − 1 n-1 n1 位长的 8 8 8 进制编码串 , 恰好含有奇数个 7 7 7 , 即该编码不满足有效编码的要求 , 在加上一位数字 :

  • 不可以加的数字 : 不能加 0 , 1 , 2 , 3 , 4 , 5 , 6 0,1,2,3,4,5,6 0,1,2,3,4,5,6 数字 , 加了以后 , 最终结果还是有奇数个 7 7 7 , 不满足有效编码的要求 ;
  • 可以加的数字 : 只能加 7 7 7 , 加了 7 7 7 之后 , 就会变成 偶数个 7 7 7 , 成为有效编码 ;

由一个 n − 1 n-1 n1 位长的 , 不满足要求的编码 , 有 1 1 1 种方式生成一个 n n n 位长的编码 ;



3 . 总个数 8 n − 1 8^{n-1} 8n1 :

n − 1 n-1 n1 位长的编码的总数是 8 n − 1 8^{n-1} 8n1 , 每个位置都有 8 8 8 种可能的选择 , 有 n − 1 n-1 n1 个位置 ;

又可以表述成 : n − 1 n-1 n1 位长的包括 , 奇数个 7 7 7 , 偶数个 7 7 7 , 的编码总数是 8 n − 1 8^{n-1} 8n1

编码中如果没有 7 7 7 , 是 0 0 0 7 7 7 , 算偶数个 7 7 7 ;



4 . n − 1 n-1 n1 位编码的有效个数 a n − 1 a_{n-1} an1 :

n − 1 n-1 n1 位中 , 偶数个 7 7 7 的个数 , 就是有效编码的个数 , 即上述假设的

“设 n n n 位长的有效编码个数是 a n a_n an 个” , 则有

" n − 1 n-1 n1 位长的有效编码个数是 a n − 1 a_{n-1} an1 个"



5 . n − 1 n-1 n1 位编码的无效个数 8 n − 1 − a n − 1 8^{n-1} - a_{n-1} 8n1an1 :

n − 1 n-1 n1 位长的包括 奇数个 7 7 7 , 偶数个 7 7 7 的 编码总数是 8 n − 1 8^{n-1} 8n1

n − 1 n-1 n1 位中 , 偶数个 7 7 7 的个数 , 就是 有效编码的个数 , 即上述假设的 a n − 1 a_{n-1} an1

n − 1 n-1 n1 位中 , 奇数个 7 7 7 的个数 , 就是无效编码的个数 , 即上述 总个数减去有效编码个数 , 结果是 :

8 n − 1 − a n − 1 8^{n-1} - a_{n-1} 8n1an1



6 . 分析第 n n n 项与 n − 1 n-1 n1 项之间的关系 , 即 n n n 位有效编码个数 与 n − 1 n-1 n1 位有效编码个数 :

有效编码个数对应的添加方法数 : n − 1 n-1 n1 位编码的有效个数 a n − 1 a_{n-1} an1 , 含有偶数个 7 7 7 , 每个有效编码 , 添加一位数字 , 组成 n n n 位有效编码 , 7 7 7 种对应的添加方式 , 即添加 0 , 1 , 2 , 3 , 4 , 5 , 6 0,1,2,3,4,5,6 0,1,2,3,4,5,6 数字 , 七种方式 ; 方法数是 7 a n − 1 7a_{n-1} 7an1

无效编码个数对应的添加方法数 : n − 1 n-1 n1 位编码的无效个数 8 n − 1 − a n − 1 8^{n-1} - a_{n-1} 8n1an1 , 还有奇数个 7 7 7 , 每个无效编码 , 只能添加一个数字 7 7 7 , 组成 n n n 位有效编码 , 只有一种方法 ; 方法数是 8 n − 1 − a n − 1 8^{n-1} - a_{n-1} 8n1an1

因此这里可以写出 n n n 位编码的有效个数 a n a_n an n − 1 n-1 n1 位编码有效个数 a n − 1 a_{n-1} an1 的关系 :

a n a_n an = = = 7 a n − 1 7a_{n-1} 7an1 + + + 8 n − 1 − a n − 1 8^{n-1} - a_{n-1} 8n1an1

化简后得到 :

a n a_n an = = = 6 a n − 1 6a_{n-1} 6an1 + + + 8 n − 1 8^{n-1} 8n1



7 . 初值讨论

如果只有 1 1 1 位编码 , 肯定不能是 7 7 7 , 这样就含有奇数个 ( 1 1 1 个 ) 7 7 7 , 是无效编码 ;

只能是 0 , 1 , 2 , 3 , 4 , 5 , 6 0,1,2,3,4,5,6 0,1,2,3,4,5,6 7 7 7 种 , 因此有 1 1 1 位编码时 , 有效编码个数是 7 7 7 个 ,

产生 递推方程初值 a 1 = 7 a_1 = 7 a1=7



8 . 最终得到的递推方程 :

递推方程 : a n a_n an = = = 6 a n − 1 6a_{n-1} 6an1 + + + 8 n − 1 8^{n-1} 8n1

初值 : a 1 = 7 a_1 = 7 a1=7

解上述递推方程的通项公式 : a n = 6 n + 8 n 2 a_n = \cfrac{6^n + 8^n}{2} an=26n+8n





二、递推方程示例小结



该问题是一个具体的计数问题 , 上述问题并不是简单的计数 ,

该计数带参数 n n n ,

这种类型的计数 , 可以看成一个 数列计数结果 ,

如果可以找到该数列 , 后项 , 前项 , 的依赖关系 ,

并且知道 初值 ,

就可以 解出该数列的通项公式 ,

该通项公式就恰好对应该计数结果 ;

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/109210674

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。