情報理論の分野で「条件付きエントロピー」が関係していると思う質問があります。私は頭を包み込もうとしていますが、助けを借りることができます。4つの家がある例を考えてみましょう。最初の家には8人、2番目の家には4人、3番目の家には2人、4番目の家には2人が住んでいます。だから、4つの家と16人。これらの人の1人をランダムに選択した場合、その選択は16人の中からの選択であり、その選択に対して4ビットの情報エントロピーが得られます。
しかし、ここで2段階の選択を考えてみましょう。最初に、ランダムに1つの家を選択し、次に、選択した家の1人を選択します。したがって、最初のステップである、利用可能な4つの家から1つの家を選択するステップでは、2ビットの情報エントロピーが生成されます。しかし今、私が最初の家を選ぶ時間の25%で、2番目のステップは最初の家の8人の中から1人を選ぶ際にさらに3ビットを追加します。別の25%のケースでは、2番目の家に住む4人の中から1人を選択するのに、あと2ビットしか必要ありません。そして最後に、完全に半分のケースでは、3番目または4番目の家のいずれかに住んでいるペアから1人を選ぶのに1ビットだけ必要です。
どういうわけか、2ステップアプローチのビットカウントの加重平均は、シングルステップメソッドが必要とするのと同じ4ビットの合計を生成するはずだと私には思えます。しかし、私は数字を合計することができないので、明らかに私が考えている以上の数学があります。私はあなたが次のように確率を単純に合計できるはずだと期待していました:
(picking a house) + (picking a person in that house) ==
log(4) + [(1/4)*log(8) + (1/4)*log(4) + (1/4)*log(2) + (1/4)*log(2)]
しかし、これは3.75ビットの結果を生成し、私が期待している4ビットではありません。これは私がこれを評価するために使用したPythonのビットです。
from math import log
def log2(x):
return log(x,2)
x = log2(4) + ((1.0/4)*log2(8) + (1.0/4)*log2(4) + (1.0/4)*log2(2) + (1.0/4)*log2(2))
print x
だから、私の数字から何かが欠けています。誰かが私を正しい方向に向けることができますか?