当前位置:   article > 正文

01串的熵_01 串的熵

01 串的熵

7.01串的熵 - 蓝桥云课 (lanqiao.cn)
问题描述
对于一个长度为n的01串S=12223...an,香农信息熵的定义为 H(S)=-Znp()log2(p()),其中p(0),p(1)表示在这个01 中0和1出现的占比。
比如,对于S=100来说,信息 H(S)-l0g2(请)-号l0g2(3)-号lg2(3) = 1.3083
对于一个长度为23333333的01串如果其信息熵为11625907.5798,且0出现次数比1少那么这个01串中
0出现了多少次?

  1. import os
  2. import sys
  3. import math
  4. # 请在此输入您的代码
  5. #x为总,i为0出现的次数,j为1出现的次数
  6. x=23333333
  7. for i in range(10000000,x//2): #01少,肯定0小于总数一半,为了减少计算量从一个较大值开始
  8. j=x-i
  9. if round((j/x)* (math.log2(j/x))*j+(i/x)*(math.log2(i/x)*i),4) == -11625907.5798: #*i和j是因为i*i=-1 是题目公式的变式
  10. print(i)
  11. break

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/438834
推荐阅读
相关标签
  

闽ICP备14008679号