本次给出这个定理,主要是为了完善“杰林码”的部分数理原理。
斐波那契数列的定义:
斐波那契数列是满足递推关系式:
{
F
1
=
F
2
=
1
F
n
=
F
n
−
1
+
F
n
−
2
,
n
=
3
,
4
,
5
,
…
\left\{ \begin{matrix} F_{1} = F_{2} = 1\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ F_{n} = F_{n - 1} + F_{n - 2},n = 3,4,5,\ldots \\ \end{matrix} \right.\
{F1=F2=1 Fn=Fn−1+Fn−2,n=3,4,5,…
的数列 { F n } \{ F_{n}\} {Fn}。
定理1: F n = ∑ m C n − m − 1 m ( m = 0 , 1 , 2 , … ; 2 m ≤ n − 1 ) F_{n} = \sum_{m}^{}C_{n - m - 1}^{m}(m = 0,1,2,\ldots;2m \leq n -1) Fn=∑mCn−m−1m(m=0,1,2,…;2m≤n−1)
证明:将 F n = ∑ m C n − m − 1 m F_{n} = \sum_{m}^{}C_{n - m - 1}^{m} Fn=∑mCn−m−1m, F n + 1 = ∑ m C n − m m F_{n + 1} = \sum_{m}^{}C_{n - m}^{m} Fn+1=∑mCn−mm, F n + 2 = ∑ m C n − m + 1 m F_{n + 2} = \sum_{m}^{}C_{n - m + 1}^{m} Fn+2=∑mCn−m+1m展开可得:
F n = ∑ m C n − m − 1 m = C n − 1 0 + C n − 2 1 + C n − 3 2 + … + C n / 2 n / 2 − 1 F_{n} = \sum_{m}^{}C_{n - m - 1}^{m} = C_{n - 1}^{0} + C_{n - 2}^{1} + C_{n - 3}^{2} + \ldots + C_{n/2}^{n/2 - 1} Fn=m∑Cn−m−1m=Cn−10+Cn−21+Cn−32+…+Cn/2n/2−1
F n + 1 = ∑ m C n − m m = C n 0 + C n − 1 1 + C n − 2 2 + … + C n / 2 n / 2 F_{n + 1} = \sum_{m}^{}C_{n - m}^{m} = C_{n}^{0} + C_{n - 1}^{1} + C_{n - 2}^{2} + \ldots + C_{n/2}^{n/2} Fn+1=m∑Cn−mm=Cn0+Cn−11+Cn−22+…+Cn/2n/2
F n + 2 = ∑ m C n − m + 1 m = C n + 1 0 + C n 1 + C n − 1 2 + … + C n / 2 + 1 n / 2 F_{n + 2} = \sum_{m}^{}C_{n - m + 1}^{m} = C_{n + 1}^{0} + C_{n}^{1} + C_{n - 1}^{2} + \ldots + C_{n/2 + 1}^{n/2} Fn+2=m∑Cn−m+1m=Cn+10+Cn1+Cn−12+…+Cn/2+1n/2
因为 C n − 1 m = C n − 2 m − 1 + C n − 2 m C_{n - 1}^{m} = C_{n - 2}^{m - 1} + C_{n - 2}^{m} Cn−1m=Cn−2m−1+Cn−2m,且 C n 0 = C n + 1 0 = 1 C_{n}^{0} = C_{n+ 1}^{0} = 1 Cn0=Cn+10=1,所以
C n − 1 0 + C n − 1 1 = C n 1 C_{n - 1}^{0} + C_{n - 1}^{1} = C_{n}^{1} Cn−10+Cn−11=Cn1
C n − 2 1 + C n − 2 2 = C n − 1 2 C_{n - 2}^{1} + C_{n - 2}^{2} = C_{n - 1}^{2} Cn−21+Cn−22=Cn−12
C n − 3 2 + C n − 3 3 = C n − 2 3 C_{n - 3}^{2} + C_{n - 3}^{3} = C_{n - 2}^{3} Cn−32+Cn−33=Cn−23
… \ldots …
C n / 2 n / 2 − 1 + C n / 2 n / 2 = C n / 2 + 1 n / 2 C_{n/2}^{n/2 - 1} + C_{n/2}^{n/2} = C_{n/2 + 1}^{n/2} Cn/2n/2−1+Cn/2n/2=Cn/2+1n/2
即
F
n
+
1
+
F
n
=
C
n
+
1
0
+
C
n
1
+
C
n
−
1
2
+
C
n
−
2
3
+
…
+
C
n
/
2
+
1
n
/
2
=
F
n
+
2
F_{n + 1} + F_{n} = C_{n + 1}^{0} + C_{n}^{1} + C_{n - 1}^{2} + C_{n -2}^{3} + \ldots + C_{n/2 + 1}^{n/2} = F_{n + 2}
Fn+1+Fn=Cn+10+Cn1+Cn−12+Cn−23+…+Cn/2+1n/2=Fn+2,且
F
(
1
)
=
C
0
0
=
1
F\left( 1 \right) =C_{0}^{0} = 1
F(1)=C00=1,
F
(
2
)
=
C
2
0
=
1
F\left( 2 \right) = C_{2}^{0} = 1
F(2)=C20=1。所以
F
(
n
)
=
∑
m
C
n
−
m
−
1
m
F\left( n \right)= \sum_{m}^{}C_{n - m - 1}^{m}
F(n)=∑mCn−m−1m满足斐波那契的定义。
同理可以给出基于组合数的定理:
定理2:
∑
m
C
n
−
m
+
1
m
=
∑
m
C
n
−
m
m
+
∑
m
C
n
−
m
−
1
m
\sum_{m}^{}C_{n - m + 1}^{m} = \sum_{m}^{}C_{n - m}^{m} +\sum_{m}^{}C_{n - m - 1}^{m}
∑mCn−m+1m=∑mCn−mm+∑mCn−m−1m
证明:略
定理1在“杰林码”信道检错纠错算法中的应用:
设二进制序列 X X X长度为 n n n,其中符号1的个数为 m m m。因连续 n − m n - m n−m个符号0有 n − m + 1 n - m + 1 n−m+1个间隔,所以将 m m m个符号1插入间隔位置的组合数为 C n − m + 1 m C_{n- m + 1}^{m} Cn−m+1m,于是存在 C n − m + 1 m C_{n - m +1}^{m} Cn−m+1m个序列 X X X满足“序列中连续符号1的个数最多为 1 1 1”,则总的序列数有:
E n = ∑ m C n − m + 1 m E_{n} = \sum_{m}^{}C_{n - m + 1}^{m} En=∑mCn−m+1m | (1) |
---|
当 n ≥ 1 n \geq 1 n≥1时, E n = F n + 2 E_{n} = F_{n +2} En=Fn+2。由于序列 X X X满足“序列中连续符号1的个数最多为 1 1 1”,当序列 X X X通过信道传输, Y Y Y为接收到的二进制序列,若 Y Y Y中任意位置出现了“11”,则说明数据传输发生了错误。同时,这类序列利用我的加权概率模型实现很好的无损压缩。