Составить одну задачу на использование формулы Шеннона.
Условие:
Решение:
Конечно! Вот одна задача на использование формулы Шеннона:
Предположим, что у вас есть источник информации, который передает сообщения с использованием алфавита из 26 букв английского алфавита (A-Z). Вероятность появления каждой буквы в сообщении следующая:
P(A) = 0.08, P(B) = 0.02, P(C) = 0.03, P(D) = 0.04, P(E) = 0.13, P(F) = 0.02, P(G) = 0.02, P(H) = 0.06, P(I) = 0.07, P(J) = 0.01, P(K) = 0.01, P(L) = 0.04, P(M) = 0.02, P(N) = 0.07, P(O) = 0.08, P(P) = 0.02, P(Q) = 0.01, P(R) = 0.06, P(S) = 0.06, P(T) = 0.09, P(U) = 0.03, P(V) = 0.01, P(W) = 0.02, P(X) = 0.01, P(Y) = 0.02, P(Z) = 0.01.
Требуется вычислить среднюю длину кодового слова, используя формулу Шеннона:
H = -Σ(P(x) * log2(P(x)))
где P(x) - вероятность появления символа x, log2 - логарифм по основанию 2.
Решение:
- Вычислим значение H для каждой буквы, используя формулу Шеннона и вероятности появления каждой буквы:
H(A) = -0.08 * log2(0.08) = 0.361 H(B) = -0.02 * log2(0.02) = 0.097 H(C) = -0.03 * log2(0.03) = 0.139 H(D) = -0.04 * log2(0.04) = 0.193 H(E) = -0.13 * log2(0.13) = 0.500 H(F) = -0.02 * log2(0.02) = 0.097 H(G) = -0.02 * log2(0.02) = 0.097 H(H) = -0.06 * log2(0.06) = 0.221 H(I) = -0.07 * log2(0.07) = 0.249 H(J) = -0.01 * log2(0.01) = 0.032 H(K) = -0.01 * log2(0.01) = 0.032 H(L) = -0.04 * log2(0.04) = 0.193 H(M) = -0.02 * log2(0.02) = 0.097 H(N) = -0.07 * log2(0.07) = 0.249 H(O) = -0.08 * log2(0.08) = 0.361 H(P) = -0.02 * log2(0.02) = 0.097 H(Q) = -0.01 * log2(0.01) = 0.032 H(R) = -0.06 * log2(0.06) = 0.221 H(S) = -0.06 * log2(0.06) = 0.221 H(T) = -0.09 * log2(0.09) = 0.410 H(U) = -0.03 * log2(0.03) = 0.139 H(V) = -0.01 * log2(0.01) = 0.032 H(W) = -0.02 * log2(0.02) = 0.097 H(X) = -0.01 * log2(0.01) = 0.032 H(Y) = -0.02 * log2(0.02) = 0.097 H(Z) = -0.01 * log2(0.01) = 0.032
- Вычислим среднюю длину кодового слова, сложив произведения вероятностей появления каждой буквы на ее длину кодового слова:
Average Length = Σ(P(x) * Length(x))
где Length(x) - длина кодового слова для символа x.
Допустим, что кодовое слово для каждой буквы состоит из 5 битов.
Average Length = (0.08 * 5) + (0.02 * 5) + (0.03 * 5) + (0.04 * 5) + (0.13 * 5) + (0.02 * 5) + (0.02 * 5) + (0.06 * 5) + (0.07 * 5) + (0.01 * 5) + (0.01 * 5) + (0.04 * 5) + (0.02 * 5) + (0.07 * 5) + (0.08 * 5) + (0.02 * 5) + (0.01 * 5) + (0.06 * 5) + (0.06 * 5) + (0.09 * 5) + (0.03 * 5) + (0.01 * 5) + (0.02 * 5) + (0.01 * 5) + (0.02 * 5) + (0.01 * 5)
Average Length = 2.18
Ответ: Средняя длина кодового слова для данного источника информации составляет 2.18 бита.