数学中的熵-相关问题
Posted wale2016
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数学中的熵-相关问题相关的知识,希望对你有一定的参考价值。
1. 猜数字游戏
A 写下一个数 $x$,其取值范围为 $xin [1,n]$,B 来猜这个数字是多少,A 会告诉 B 猜的数字比 $x$ 大了还是小了,问 B 最少猜多少次可以猜出这个数字?
把 $x$ 看作一个随机数,他的取值范围是$[1,n]$,B 第一次任意猜一个数,猜中的概率是 $P(x) = frac{1}{n}$。利用数学中的熵的定义,B 猜中的熵是
$$S_{xin[1,n]} = -Sigma_{xin[1,n]}{P(x)log_2 P(x)} = log_2 n$$
假如 B 第一次猜的数是 $y$,则 $P(xin[1,y]) = frac{y}{n}$,$P(xin(y,n]) = frac{n-y}{n}$, 则 条件熵(给定条件下的熵)为 $$S_1 = P(xin[1,y])S_{xin[1,y]} + P(xin(y,n])S_{xin[y,n]} =frac{y}{n} log_2 y +frac{n-y}{n}log_2 (n-y)$$
求 $y$ 取何值时,熵最小?
$$frac{dS_1}{dy} = 0
ightarrow y = frac{n}{2}$$
所以每次都猜一个区间的中间值是最优的选择。由于 A 会告诉 B 两种状态,因此 B 只需要猜 $lceillog_2 n
ceil$ 就可以猜出 A 给定的数。n 代表可取的状态数,2 代表给定信息的个数
2. 排序问题
有 $n$ 个互不相等的数,需要通过多少次比较才可以将这些数从小到大排序?
比较两个数 $a,b$ 的大小有两种状态,所以对数的底应取为 2,n 个数排序的方式,即可取的状态数为 $A_n^n = n!$,所以需要比较 $lceil(log_2 n!) ceil$ 次。
3. 猜球问题
有 n 个球,其中有一个球与其他 n-1 个球的重量不一样,现在有一个天平,问需要称多少次可以找出这个球?
天平有三种状态,故对数的底应为3,n 个球要么重了要么轻了,故有 2n 中状态数,所以需要称 ($lceillog_3 2n ceil$) 次可以找出这个球。
以上是关于数学中的熵-相关问题的主要内容,如果未能解决你的问题,请参考以下文章