Теорема. Дереккөздерді кодтау теоремасы I.

Кез-келген негізгі алфавитті және Н(х) энтропиялы жадсыз дискретті Х дереккөзi үшін n кодты сөзінің орташа ұзындығы теңсіздікті қанағаттандыратын D-типті префиксті код бар

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Префиксті код термині кодты сөздің ешқандай бастамасы басқа кодты сөз бола алмайды дегенді білдіреді. Бұл дегеніміз оқиғалар ағыны бұл жағдайлардың арнайы бөлінуінсіз де кодталуы мүмкін екенін айқындайды. D = 2 болған жағдайда екілік код қолданылады. Егер энтропия биттерде берілген болса n-ның орташа ұзындығы да екілік кодты қолдану арқылы биттерде өрнектелген болады.

Дереккөздерді кодтау теоремасы кодты сөздің орташа ұзындығы энтропиядан кіші болуы мүмкін емес екенін көрсетеді. Бірақ, 5.2 және 5.5 тарауларда көрсетілгендей, дереккөздерді блокты кодтау уақтысында кодты сөздің орташа ұзындығы энтропияға жақындауы мүмкін. Бұл жайт энтропия түсінігінің маңыздылығын тағы да ескере кетеді. Энтропия – бұл минималды орташа шығындардың өлшемі. Теңсіздіктің (3.1) практикалық түрде жүзеге асу мысалы ретінде келесі тарауларды қаралатын Хаффман кодын алуға болады.

Ескерту.3.1.1 теоремасының дәлелі Крафт теңсіздігінің қолданылуына алып келеді және шығын тұрғысынан алғанда оптималды кодтар құруға өзімен ешқандай да негізді түсінік ұсынбайды. Дәлелдер дерліктей ауқымды, бірақ ақпараттар теориясының әдістері жайлы жақсы мәлімет береді. Сонымен қатар, келесі бөлімдерді түсіну үшін ол еш зақымсыз өткізілуі мүмкін.

Дәлел.

Қадам 1.Крафт теңсіздігі.

n1, n2, … , nk ұзындықты К кодты сөзі бар бір мәнді декодталатын D-типті кодтың бар болуы үшін, Крафт теңсіздігінің орындалуы зәру және жеткілікті

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Бұл анықтаманы дәлелдеу үшін 3.2 суретте көрсетілген кодты құрылымды қолданамыз

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

3.2. Сурет.D = 2 және n = 4 үшін кодты дарақ.

Біз бұл құрылымның 3 өзіндік қасиетін байқаймыз:

1. i тәртіптің (і дәрежелі) Di түйіні бар;

2. i тәртіптің әр түйіні n дәреженің Dn-1 туғызады;

3. Кодтық құрылым префикстік кодқа сәйкес, яғни ешбір кодты сөз басқа кодты сөздің бастамасы бола алмайды, себебі кодты сөздер біріңғай біткен түйіндермен анықталады.

Жеңілдету үшін кодты сөздердің ұзындығын тізіп шығамыз

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Енді есеп беруді бастаймыз. n1 ұзындығының с1 кодты сөзі соңғы n деңгейде нақты Dn-n1 мүмкін біткен түйінді болдырмайды. Себебі префиксті кодтың кодты сөздері бірікпейді, сонда n деңгейде

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

жүзеге аспаған түйін аламыз. N деңгейдегі мүмкін түйіндердің жалпы саны Dn-ге тең, сондықтан

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Теңсіздіктің екі бөлігін де Dn-ға бөлсек, Крафт теңсіздігін аламыз.

Қадам 2.Мак-Миллан тұжырымы.

Әр біріңғай декодталатын код Крафт теңсіздігін қанағаттандырады.

Крафт теңсіздігін қорытындылау нәтижесінде префикстік кодтың ерекшеліктері қолданылған болатын. Бірақ бұл шарт міндетті болып есептелмейді. Келесі көрсетілетіндей, кодтың біріңғай декодталуы қажетті шарт болып табылады. Крафт теңсіздігіндегі қосындыны L дәрежеге шығарамыз

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Жалпы i ұзындықты L кодты сөзі бар комбинациялар санын Аі арқылы көрсетіп, (3.6)-ны жинақы түрде жазамыз

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

мұндағы Ln, max L кодты сөзді хабарламаның максималды ұзындығы.

Егер код біріңғай декодталатын болса, онда жалпы і ұзындықты L кодты сөзден шығатын реттіліктер өзгеше. Себебі Di ғана мүмкін реттіліктер бар болғандықтан

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

және осылайша

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

L-типті негізді шығара отырып, Крафт теңсіздігіндегі дәреже өзгерісін

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

барлық натурал L-дер үшін аламыз.

L санының мәнін талқылауға көшейік. Бұл {1, 2 , … , K}-дан алынатын және Ln, max-тан аспайтын ұзындықтың барлық мүмкін реттіліктерін құру үшін қолданылатын тәуелсіз кодты сөздердің саны. Сондықтан, L → ∞ болған жағдайда біз Крафт теңсіздігіне келеміз

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Жоғарыда келтірілген тұжырымдар әрбір біріңғай декодталатын код үшін әділ болып табылады. Сол себепті, әрбір біріңғай декодталатын код Крафт теңсіздігін қанағаттандырады.

Адам 3.

Теңсіздіктің (3.1) сол жақ бөлігін келесі түрде жазамыз

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Pk оқиғасының ықтималдығын және nk кодты сөздерінің сәйкес ұзындықтарын пайдаланамыз

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Тоқтамды(2.1) дәлелдегендегідей, (2.19) көмегімен логарифмдік функцияны төбесінен бағалайық

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Бұл жерде Крафт теңсіздігі және Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru шарты қолданылған болатын.

Осылайша дереккөздерді кодтау теоремасының сол жақ бөлігі дәлелденді.

Адам 4.

Теңсіздіктің (3.1) сол жақ бөлігі

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Дәлелдеу барысында Крафт теңсіздігінің nk кодты сөздерінің және Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru шартының сәйкес ұзындықтарымен болу шартын қолданамыз.

Крафт теңсіздігін келесі түрде жазсақ болады

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Крафт теңсіздігі күшін жоймай тұрғанда, біз nk ∈ N кодты сөздерінің ұзындығын таңдау еркіндеміз. Әр өрнекке келесі нәтиже шығатындай ең аз nk таңдаймыз

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Мұндай таңдауда Крафт теңсіздігі орындалатын болады, демек, 3.2 суреттегі құрылымды қолданып біз мұндай префиксті код құра аламыз. nk (3.17) орынды болатын ең аз бүтін болғандықтан, nk – 1 үшін келесі теңсіздік әділетті

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Дәлелдің қалған бөлігі негізсіз.

Логарифмдік функцияның қасиеттерін пайдаланып, алатынымыз

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Барлық K-ларға қосқанда

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Теңсіздіктің екі жағын да logD-ға бөліп және мүшелерді -1 көбейтіп (нәтижесінде теңсіздік белгісін өзгертеді) қайта орындарына қойсақ, ізделіп отырған дәлелді аламыз.

Хаффман кодтары

Хаффман1 кодтары айнымалы ұзындықты кодты сөзді кодтар тобына жатады. Ең әйгілі айнымалы ұзындықты код – Морзе2 әліпбесі (3.2 кесте). Морзе әліпбесінің негізгі мақсаты – жиі кезесетін әріптерді қысқа ұзындықты кодты сөздермен тасымалдау және , керісінше, сирек кездесетін әріптерді ұзын кодты сөздермен орташа шығынды азайту үшін тасымалдау. Кодтаудың мұндай тәсілін сондай-ақ минималды шығынмен кодтау немесе энтропиялық кодтау деп атайды.

Мысалы, Морзе әліпбесінде жиі кездесетін “Е” әріпі бір «∙» белгісімен, ал сирек “Х” төрт «- ∙ ∙ -» белгісімен кодталады.

1952 жылы Хаффман ұсынған айнымалы ұзындықты кодты сөздермен кодтау әдісі жадсыз дискретті дереккөздер үшін ең қолайлы префиксті код болып табылатынын көрсетті. Яғни Хаффман коды сөзінің орташа ұзындығы минималды және де ол үтірсіз код болып табылады. «Үтірсіз код» термині синхрондау орнатылғанда кодты сөздердің арнайы бөлінуінсіз мәндес декодты үзіліссіз хабарламалар тасымалы мүмкін екендігін білдіреді.

Префикстік кодта ешқандай кодты сөз басқа сөздің префиксі бола алмайды.

________________________________

1 Дэвид Хаффман (1925 - 1999) – америкалық ғалым.

2 Самуэль Морзэ (1791 - 1872) – америкалық суретші және шебер.

3.1 Кесте.Морзе әліпбесінің әріптері, символдары және олардың

неміс әдебиетіндегі салыстырмалы жиіліктері

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Ескерту.Хаффман кодтары кескіндерді кодтау барысында маңызды рөл атқарады. Олар JPEG, MPEG және H.261 стандарттарының негізгі бөлігі болып табылады. Сонымен қатар олар аудио сигналдарды цифрлеуде қолданылады. Әдебиеттерде энтропиялық кодтау мысалы ретінде Шеннон және Фано кодтарын атап өтеді, бірақ олар барлық жағдайларда да қолайлы болып табылмайды, сондықтан біз оның сипаттамасын өткізіп жібереміз.

Хаффман кодтауы үш қадам арқылы жүзеге асады. Біз бұл процессті шағын мысалда айқындаймыз.

Хаффман кодтауы.

1. Тәртіптеу.Белгілерді олардың ықтималдықтарының азаю тәртібі-мен орналастыру.

2. Редукция. Екі ықтималдықтары ең аз белгілерді бір құрама таңбаға біріктіру. Таңбалар тізімін 1-ші қадамға сәйкес қайта тәртіпке келтіру. Бұл процессті барлық таңбалар бірікпегенше жалғастыру.

3.2 Кесте. Екі таңбаның ықтималдықтары және энтропиясы.

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

3. Кодтау.Соңғы бірікпеден бастау. Құрама таңбаның біріші компоненті-не «0» символын, ал екіншісіне «1» символын енгізу. Бұл процессті барлық жәй таңбалар кодталмағанша жалғастыру.

Бірнеше таңбалар біркелкі ықтималдыққа ие болған жағдайда бұл уақытқа дейін ең аз біріккен екі таңба қосылады. Бұл әрекетпен ақпарат тасымалдауды жеңілдететін кодты сөздердің ұзындықтарын туралау жүзеге асады.

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

3.3 Сурет. Хаффман кодтауы n=4.

Мысал:

Хаффман кодтауы 3.2 кестеде берілген дереккөз мысалында айқын көрсетілген. Сондай-ақ, біз екінші қадамдағы айқын қайта тәртіптеуден бас тартып кодтауды азғана жеңілдетеміз, себебі мұндай шағын мысалда мұны «ойша» істеуге болады. Бірінші қадамға сәйкес, барлық таңбаларды олардың ықтималдықтарының азаю тәртібі бойынша орналастырамыз (3.3 сурет).

3.3 Кесте. 3.3 суретке Хаффман кодтау тәсілімен кодтау.

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Екінші қадамда ең аз ықтималдықтарға ие «а» және «с» символдарын «ас» құрама символына біріктіреміз. Онан соң «е» және «ас» символдарын 0.25 ықтималдықпен «еас» құрама символына біріктіреміз. Енді ең аз ықтималдықтарға ие символдар «f» және «b». Келесі редукция 0,6 ықтималдықпен «fbeac» құрама сиволын береді. Және, соңында, барлық символдарды біріктіріп ықтималдығы 1-ге тең «dfbeac» құрама символын аламыз.

Үшінші қадамда оңнан солға қарай жүретін боламыз, бірлеспелердің жоғарғы компоненттеріне «0», ал төменгі компоненттеріне «1» символдарын енгіземіз. Барлық жәй таңбалардың кодты сөздері ұзындықтарымен 3.3 кестеде көрсетілген.

Бұл код кодты сөздің минималды орташа ұзындығына ие.

Кодты сөздің орташа ұзындығы сәйкес pi ықтималдықтарымен«өлшенген», барлық ni сөздердің ұзындығымен анықталады

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Жоғарыда қаралған мысалда Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru кодты сөзінің орташа ұзындығы Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru энтропиясына жақын. Код нәтижелілігі немесе қысу факторы деп аталатын маңызды өлшем орташа ұзындықтың энтропияға қатынасы болып табылады. Біздің мысалда код нәтижелілігі Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru -ға тең.

Код нәтижелілігі немесе қысу факторы

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

Символдардың ықтималдықтарының айырмашылығы қаншалықты көп болса, қарапайым блокты кодтаумен салыстырғандағы Хаффман кодының ұтысы соншалықты көп болатыны мысалдан айқын көрініп тұр.

Шеннонның дереккөздерді кодтау турасындағы теоремасы мұндай кодтау қаншалықты нәтижелі болатынын көрсетеді. Бірақ сонымен қатар ақпараттар теориясы кодтау уақтысында ұзындығы өте үлкен кодты сөздер пайда болатын жағдайға да меңзейді. Бұл жағдай дереккөздерді кодтау теоремасын практикалық түрде қолдануға кедергі келтіруі мүмкін.

Хаффман кодының декодерін жүзеге асыру тікелей 3.3 суретке апарады. 3.4 суретте декодердың кодты дарағы бейнеленген.

Әрбір жаңа сөзді декодтау кодты дарақтың әуелгі түйінінен (тамыры-нан) басталады. Егер біз «0»-ді қабылдасақ , онда нөлге сәйкес қабырғамен жүреміз(жоғарғы қабырғамен). Біздің мысалда біз сонымен қатар d біткен түйініне де жетеміз. Демек, d символы тасымалданған және біз жаңа символды декодтауды негізінен бастаймыз.

Теорема. Дереккөздерді кодтау теоремасы I. - student2.ru

3.4 Сурет. D = 2 және n = 4 үшін кодты құрылым.

Егер біз «1»-ді қабылдасақ, онда төменгі қабырғамен жүреміз және екі қабырға шығатын түйінге кезігеміз. Келесі қабылданған бит бұл екі қабырғаның қайсысын таңдау керек екенін көрсетеді. Біз бұр рәсімді біткен түйінге жетпегенше жалғастырамыз. Бұл жағдайда біз тасымалданған символ турасында шешім қабылдаймыз және кодты дарақтың негізіне қайта ораламыз.

Декодтаудың және құрудың тым қарапайымдылығына қарамастан, Хаффман кодтарының үш кемістігі бар:

● Кодты сөздердің түрлі ұзындықтары декодтауды әркелкі тоқтауларға алып келеді.

● Мағлұматтарды қысу шығынды төмендетеді және сондықтан қателердің таралу мүмкіндігін жоғарылатады. Хаффман кодтауы жағдайында, бір қате орналасқан бит, келесі символдардың баршасының дұрыс декодталмауына әкелуі мүмкін.

● Хаффман кодтауы оқиғалар (таңбалар) ықтималдығын болжайды немесе бұл ықтималдықтардың дұрыс бағалауды жүзеге асырады. Практикада көп жағдайларда оқиғалар ықтималдығы беймағлұм, ал олардың бағалаулары өте қиындатылған.

Сол себепті деректердің үлкен ауқымын қысу үшін Лемпель-Зива алгоритмі деп танылған кодтаудың универсалды алгоритмін жиі қолданады. Бұл алгоритмнің сипаттамасы 6.3 бөлімде көрсетілген. Кодтаудың универсалды алгоритмі деректердің статистикасын негізсіз білуді талап етпейді.

БӨЛІМ

БАЙЛАНЫСТЫ

ДЕРЕККӨЗДЕР

ЭНТРОПИЯСЫ

Осы уақытқа дейін біз өз пікірлерімізде реттілікті оқиғаларың тәуелсіз болжамдарынан шығып отырдық. Бірақ, неміс орфографилық сөздігін ашқан күйде, біз бірден жақын орналасқан әріптер арасындағы тәуелділікті байқаймыз, мысалы: «qu», «ch», «ck», «tz» және «sch». Неміс мәтінін оқи отыра «q»-дан соң, сирек жағдайларды есепке алмағанда, «u» кездеседі. Бұл жағдайда «u» шарасыз оқиға секілді өзімен ешқандай ақпарат тасымалдамайды. Сондықтан, бұл тәріздес дереккөздер ақпаратын анықтау уақтысында оқиғалар арасындағы өзара байланысты ескеруіміз керек.

Наши рекомендации