Прва Шенонова теорема

Првата Шенонова теорема ги воспоставува границите на можната компресија на податоци, и ѝ дава практично значење на Шеноновата ентропија. Оваа теорема ја докажал Клод Шенон во 1948 година, и заклучил дека не е можно да се изврши компресија, а просечниот број битови по симбол да биде помал од ентропијата на изворот на дадените симболи или ќе дојде до губење на информација. Меѓутоа можно е да се врши компресија при што бројот на битови по симбол ќе биде приближен на ентропијата на изворот со мала веројатност за губење информација. Поточно, оваа теорема покажува дека со кодирање на секвенци од изворот со помош на код со одреден алфабет може сигурно со декодирање да се добијат изворните симболи.<ref>David J. C. MacKay. '''' Cambridge. .
1 Дискретен извор без меморија
Дискретен извор без меморија (|discrete memoryless source - DMS) чиј излeз е случајна променлива a, која зема реализации од конечен алфабет А=(а1, а2... ар) со веројатности P[i], i=1,2...n. Симболите се појавуваат по некој случаен распоред, во константни или променливи временски растојанија.
2 Кодирање
Код е преведувањње на низа влезни симболиу во низа симболи. Кодот е еднозначно декодабилен доколку не постојат два кодни збора со конечна должина кои чинат иста секвенца, поблаг критериум е ниеден збор да не е префикс на некој друг збор.
3.1 Позитивен став
За DMS со алфабет А и ентропија Н(А)=Н за секое N од множеството природни броеви пости еднозначно декодабилен код кој се состои од бинарни секвенци со должина <math>l_n[\overrightarrow{a}]</math>, a е вектор од <math>A_n</math>(n-торка од A)
<math><l_n> =</math> ''Σ''<math> P_n[\overrightarrow{a}]l_n[\overrightarrow{a}]</math><math> \le </math><math>NH+o(N)</math>
каде сумата оди по <math>A_n</math>
Очекуваната должина на кодните зборови. о(N) претставува член кој со N расте поспоро од линеарно.
3.2 Негативен став
Не постои случај да
<math><l_n> < NH</math>
3 Доказ
3.1 Позитивен став
Сите N-торки од <math>A_n </math> може еднозначно да се кодираат со бинарни <math>l_n'</math>-торки доколку
<math>2^{ln'-1}<r^N</math><math> \le </math><math>2^{ln'}</math>
од што следува дека
<math>l_n'=Nld(r)</math>
Нека <math>A_n </math> се подели на подмножества <math>S(N,e)</math> и <math>\overline{S(N,e)}</math>
Како во лемата АЕР секој елемент од <math>S(N,e)</math> може да се кодира со <math>l_n</math>
каде според АЕP тоа изнесува
<math>l_n=N(H+e)</math>
за сигурно да се добие префиксен код на секој елемент од <math>S(N,e)</math> му се доделува 0, а на елемент од <math>\overline{S(N,e)}</math> 1.
Просечната должина на вака добиен код е:
<math><l_n> = (l_n+1)P[\overrightarrow{a}\in S(N,e)]+(l_n'+1)P[\overrightarrow{a}\in \overline{S(N,e)}]</math><math>=1+(l_n)P[1-\overrightarrow{a}\in \overline{S(N,e)}]+(l_n')P[\overrightarrow{a}\in \overline{S(N,e)}]</math><math>\le 1+(l_n)+(l_n')P[\overrightarrow{a}\in \overline{S(N,e)}]</math>
па се добива
<math>\le NH+Ne+2+ Nldr\sigma^2/Ne^2</math>
и за е=<math>N^{1/3}</math> се добива
<math><l_n> \le NH+N^{2/3}+2+ (N^{2/3}ldr+N^{-1/3}ldr)\sigma^2</math>
па
o(N)<math>=N^{2/3}+2+ (N^{2/3}ldr+N^{-1/3}ldr)\sigma^2</math>
е функција која расте поспоро од линеарно и следи дека
<math><l_n> = \sum_{A_n}^{}P_n[\overrightarrow{a}]l_n[\overrightarrow{a}]\le NH+o(N)</math>
3.2 Негативен став
Се дефинира распределба
<math>Q_n[\overrightarrow{a}]=2^{-l_n[\overrightarrow{a}]}/\sum_{A}^{}2^{-l_n[\overrightarrow{a'}]}</math>
и следи
<math>NH(A)=\sum_{A_n}^{}P_n[\overrightarrow{a}]*ld(1/P_n[\overrightarrow{a}])</math><math>\le\sum_{A_n}^{}P_n[\overrightarrow{a}]*ld(1/Q_n[\overrightarrow{a}])</math><math>=\sum_{A_n}^{}P_n[\overrightarrow{a}]*ld\sum_{A}^{}2^{-l_n[\overrightarrow{a'}]}/2^{-l_n[\overrightarrow{a}]}</math><math>=\sum_{A_n}^{}P_n[\overrightarrow{a}]l_n[\overrightarrow{a}]+\sum_{A_n}^{}P_n[\overrightarrow{a}]ld\sum_{A}^{}2^{-l_n[\overrightarrow{a'}]}</math>
познато е дека
<math><l_n> = \sum_{A_n}^{}P_n[\overrightarrow{a}]l_n[\overrightarrow{a}]</math><math>\sum_{A_n}^{}P_n[\overrightarrow{a}]ld\sum_{A}^{}2^{-l_n[\overrightarrow{a'}]}\le1</math>
според Крафт МакМилановата нееднаквост следи
<math>NH\le<l_n></math>