信息量 就是确定某件事发生需要的有效信息多少。不一定是数据的长度。

某件事的信息量计算公式log_{2}\frac{1}{p}  (p为这件事概率)

为了计算出整数,假定 1-8个编号球,从8个球中摸出一个。m1表示摸出1号球,m2表示摸出2号......

例如:

1)我告诉你"摸出了7号球",实际上我告诉你了最大有效信息。

信息量为  :log_{2}\frac{1}{1/8}=3  ,3是最大信息量,它让你确定了摸出的结果。

2)如果我告诉你"摸出了1到4号球”,实际上你没有得到准确的信息。

信息量为:log_{2}\frac{1}{4/8}=1

 3)如果我告诉你"摸出了球,可能是1到8”,实际上你没有得有效的信息。

信息量为:log_{2}\frac{1}{8/8}=0


也可以这么理解,假定我发送的都是有效信息。

我编码 000,001,010,011,100,101,110,111 (8个)分别表示摸到第一个球m1、摸到第二个m2...

我发给你3个bit,010,你得到了确定的信息摸到了第3个,信息量最大为3

我发给你1个bit, ,完了,你只能知道{m5,m6,m7,m8}中的一种可能,信息量为1

我不发信息,你完全没得到有效信息,信息量为0。

总结1,信息量可以理解为,你得到的数据量,让一个随机事件概率变大,当随机事件概率变为1,这样有效数据量就最大了。

总结2,把所有等可能事件编号,这样都是有效数据,确定一个随机事件的信息量,等于你发送数据的多少。(只能发送编号编码)

你可能感兴趣的:(java,servlet,数据库)