Дано дискретное распределение вероятностей p = {0.5, 0.25, 0.25}: вычислите энтропию источника в битах, постройте оптимальный префиксный код (например, Хаффмана), определите среднюю длину кода и избыточность, и обсудите, как понятие ёмкости канала и шум влияет на выбор кодирования в реальных каналах связи
1) Энтропия источника: H(X)=−∑ipilog2pi=−(0.5log20.5+0.25log20.25+0.25log20.25)=1.5 бит.
H(X)=-\sum_i p_i\log_2 p_i = -\Big(0.5\log_2 0.5 + 0.25\log_2 0.25 + 0.25\log_2 0.25\Big)=1.5\ \text{бит}. H(X)=−i∑pilog2pi=−(0.5log20.5+0.25log20.25+0.25log20.25)=1.5бит. 2) Оптимальный префиксный (Хаффманов) код: - Свернем две наименьшие вероятности 0.25+0.25=0.50.25+0.25=0.50.25+0.25=0.5. - Возможный оптимальный код (символы A с 0.50.50.5, B и C с 0.250.250.25): A: 000 B: 101010 C: 111111 3) Средняя длина кода: L=∑ipili=0.5⋅1+0.25⋅2+0.25⋅2=1.5 бит/символ.
L=\sum_i p_i l_i=0.5\cdot1+0.25\cdot2+0.25\cdot2=1.5\ \text{бит/символ}. L=i∑pili=0.5⋅1+0.25⋅2+0.25⋅2=1.5бит/символ. 4) Избыточность: R=L−H=1.5−1.5=0.
R=L-H=1.5-1.5=0. R=L−H=1.5−1.5=0.
(Избыточность нулевая потому, что вероятности являются степенями 1/21/21/2, что позволяет достичь L=HL=HL=H.) 5) Влияние ёмкости канала и шума на выбор кодирования (кратко): - Ёмкость канала CCC (бит/использование) ограничивает максимально возможную скорость передачи без ошибок: при скорости источника RsrcR_{\text{src}}Rsrc нужно, чтобы Rsrc≤CR_{\text{src}}\le CRsrc≤C либо применять сжатие/уменьшать скорость. - Сжатие (например, Хаффман) оптимально для безошибочного канала — минимизирует среднюю длину. Но в реальном шумном канале после сжатия обычно добавляют канальное кодирование (избыточность для защиты от ошибок). - Теорема разделения утверждает: асимптотически оптимально разделять сжатие и защиту от шума (source coding + channel coding), если допускается большой блок и малые ошибки. На практике важны задержка, сложность, искажения; иногда используют совместное (joint) source–channel кодирование или несимметричную защиту (более защита для важной информации). - Следствие: выбор кодов — компромисс между степенью сжатия, требуемой защитой от шума, доступной пропускной способностью CCC, задержкой и вычислительными ресурсами.
H(X)=−∑ipilog2pi=−(0.5log20.5+0.25log20.25+0.25log20.25)=1.5 бит. H(X)=-\sum_i p_i\log_2 p_i
= -\Big(0.5\log_2 0.5 + 0.25\log_2 0.25 + 0.25\log_2 0.25\Big)=1.5\ \text{бит}.
H(X)=−i∑ pi log2 pi =−(0.5log2 0.5+0.25log2 0.25+0.25log2 0.25)=1.5 бит.
2) Оптимальный префиксный (Хаффманов) код:
- Свернем две наименьшие вероятности 0.25+0.25=0.50.25+0.25=0.50.25+0.25=0.5.
- Возможный оптимальный код (символы A с 0.50.50.5, B и C с 0.250.250.25):
A: 000
B: 101010
C: 111111
3) Средняя длина кода:
L=∑ipili=0.5⋅1+0.25⋅2+0.25⋅2=1.5 бит/символ. L=\sum_i p_i l_i=0.5\cdot1+0.25\cdot2+0.25\cdot2=1.5\ \text{бит/символ}.
L=i∑ pi li =0.5⋅1+0.25⋅2+0.25⋅2=1.5 бит/символ.
4) Избыточность:
R=L−H=1.5−1.5=0. R=L-H=1.5-1.5=0.
R=L−H=1.5−1.5=0. (Избыточность нулевая потому, что вероятности являются степенями 1/21/21/2, что позволяет достичь L=HL=HL=H.)
5) Влияние ёмкости канала и шума на выбор кодирования (кратко):
- Ёмкость канала CCC (бит/использование) ограничивает максимально возможную скорость передачи без ошибок: при скорости источника RsrcR_{\text{src}}Rsrc нужно, чтобы Rsrc≤CR_{\text{src}}\le CRsrc ≤C либо применять сжатие/уменьшать скорость.
- Сжатие (например, Хаффман) оптимально для безошибочного канала — минимизирует среднюю длину. Но в реальном шумном канале после сжатия обычно добавляют канальное кодирование (избыточность для защиты от ошибок).
- Теорема разделения утверждает: асимптотически оптимально разделять сжатие и защиту от шума (source coding + channel coding), если допускается большой блок и малые ошибки. На практике важны задержка, сложность, искажения; иногда используют совместное (joint) source–channel кодирование или несимметричную защиту (более защита для важной информации).
- Следствие: выбор кодов — компромисс между степенью сжатия, требуемой защитой от шума, доступной пропускной способностью CCC, задержкой и вычислительными ресурсами.