You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何会出现0比特每字符(bpc)的熵?字符串ABABABAB熵计算疑问

为什么选用双字符字母表时字符串ABABABAB的熵为0比特每字符?

咱们先回到香农熵的核心逻辑:熵衡量的是单个符号单元的不确定性,计算公式是:
H = -Σ(p_i * log₂(p_i))
其中p_i是字母表中第i个符号在序列中出现的概率。

你遇到的情况,本质是因为两种字母表定义了不同的“符号单元”,导致概率分布完全不同:

  • 当用单字符字母表{A,B}时,字符串里A和B各出现4次,概率都是0.5。代入公式计算每个字符的熵是1比特,这和你得到的结果一致。
  • 当用双字符字母表{AB, AA, BB, BA}时,咱们把字符串拆成连续的双字符单元:AB AB AB AB——整个序列里只有AB这一个符号重复出现,另外三个符号(AA、BB、BA)的出现概率都是0,AB的概率是1。

把这个概率代入熵公式:
H = -1*log₂(1) - 0*log₂(0) - 0*log₂(0) - 0*log₂(0)
因为log₂(1)=0,所以最终H=0比特每字符。

简单说,这种情况下你能100%预测下一个双字符单元是什么(必然是AB),没有任何不确定性,所以熵为0。这也说明熵的计算结果和你定义的“基本符号粒度”直接相关——不同的粒度下,我们衡量的是不同层面的不确定性,所以结果自然不同。

内容的提问来源于stack exchange,提问作者I K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:20:32