Лемель - Зива әдісі


Семей қаласының Шәкәрім атындағы мемлекеттік университеті
«Автоматика және элекротехника» кафедрасы»
СӨЖ
Тақырыбы: Лемель -Зива әдісі
Орындаған: Кусманов А. Қ.
Тобы: АУ-301
Тексерген: Кожахметова Д. О.
Семей 2015 ж.
Лемель-Зива анықтамасы
Израиль екі жұмыс алгоритмдерін отбасы ppinadlezhat әдістерін кодтау ғалымдар - Ziva және Lemelel, 1977 жылы жарық көрген. олардың мәні дестесін мәтінінде бұл фраза олар жерге көрсеткіш ауыстырылады Бұл мәтін қазірдің өзінде бұрын пайда болды. Отбасы алгоритм Lemelel-Ziva әдісі деп аталады және LZ-қысу деп аталады. Тез Бұл әдіс мәтін және кодтауға болады құрылымын ppisposablivaetsya үшін олар өте жиі пайда, өйткені қысқа функция сөздер. Жаңа сөздер мен сөз тіркестерін бұрын кездесетін сөздер бөлігі ретінде құрылуы мүмкін. Декодтау тікелей жүзеге асырылатын - индексінің қарапайым ауыстыру тіркесін аяқталды ол көрсетеді сөздік. Іс жүзінде, LZ-әдіс жақсы жетеді қысу, ол құрылған тез жұмыс өте маңызды ерекшелігі болып табылады. (Кезде, біз мәтін туралы әңгіме, ол кодтау кейбір ұшырайды деп болжануда векторы дискретті ақырғы алфавитін деректерді, ол мәтінде міндетті емес, сөзі сөзбе-сөз мағынасы. )
Ең сөздік кодтау әдістері идеяның авторлары мен Lemelel Ziva аталады, және жиі олардың бәрі бірдей шифрлау алгоритмі пайдалану деп ойлаймын. Қарай шын мәнінде алгоритмдер осы отбасының әр түрлі мүшелері өте оның жұмыс істеу егжей ерекшеленеді.
Лемель-Зива әдістеріШеннон-Фано, Хаффман және арифметикалық әдістер жалпы статистикалық әдістер деп аталады. Сөздіктік алгоритмдердің математикалық дәлелі азырақ, бірақ олар өте қолайлы.
LZ77 алгоритмі
LZ77 негізгі ойы келесіде: мәліметтегі бір символдар жолдың үзіндігі екінші және келесі кірулері оның бірінші кіруінің сілтеуімен ауыстырылады. LZ77 алгоритмі мәліметтің қаралған бөлігін сөздік ретінде қолданады. Қысу үшін алгоритм мәліметтің келесі үзіндігін сөздіктің ішіндегі сілтеумен ауыстыруға тырысады.
LZ77 мәліметтің үстімен өтетін, екі бірдей емес бөлікке бөлінген, жылжымалы терезені қолданады. Бірінші бөлік, сөздік деп аталатын көп мөлшерлі болады және мәліметтің қаралған бөлігін қабылдайды. Екінші, аз мөлшерлі, буфер деп аталатын - мәліметтің әлі таңбаланбаған символдарынан тұрады. Негізі терезенің мөлшері бірнеше килобайт, ал буфердің мөлшері - жүз байттан аспайды. Алгоритм сөздіктен (терезенің үлкен бөлігінен) буфердің ішіндегісімен сай келетін жолды іздеуді тырысады.
LZ77 алгоритмі үш элементтен тұратын код шығарады :
- буфердегі жол үзіндіктің басы мен сөздіктегі жолға сәйкес келетін оның ығысуы;
- сәйкес келген жолдың ұзындығы;
- жолдан кейінгі буфердегі бірінші символ.
LZ77 алгоритмнің кемшіліктері:
- сөздіктің мөлшері өскен сайын алгоритм-кодердің жұмыс істеу жылдамдығы пропорционал азаяды;
- жалғыз симводарды таңбалау өте тиімсіз.
Мысал 1
“КЕРІ КЕРНЕУ” жолды LZ77 алгоритмі бойынша таңбалау.
буфер
(5 байт)
К
_
К
Е
К
К
Е
Р
Е
К
Е
Р
І
Р
К
Е
Р
І
_
Н
КЕРІ_
ЕРІ_К
РІ_КЕ
І_КЕР
_КЕРН
КЕРНЕ
ЕУ . . .
0, 0, К
0, 0, Е
0, 0, Р
0, 0, І
0, 0, _
3, 3, Н
0, 1, У
Кодтың ұзындығы былай есептеледі:
жолдың ұзындығы буфер мөлшерінен үлкен бола алмайды, ал ығысу сөздіктің мөлшерінен-1-ден үлкен бола алмайды. Сондықтан, ығысудың екілік кодының ұзындығы log 2 (сөздіктің мөлшері) бүтін үлкен жағына қарай дөңгеленген мәніне тең, ал жолдың екілік кодының ұзындығы log 2 (буфердің мөлшері + 1) бүтін үлкен жағына қарай дөңгеленген мәніне тең. Ал символ 8 битпен таңбаланады (ASCII бойынша) :
(сөздіктің мөлшері) + log
2
(буфердің мөлшері + 1) + 8.
Мысалымызда кодтың ұзындығы:
(log
2
8+ log
2
(5+1) +8) *7 = 98 бит,
бастапқысы: 11*8 = 88 бит. Қарастырған мәтін жолы өте қысқа болғандықтан (қысу әдістері көп мөлшерлі файлдарға қолданады) қысу әдісті қолданғаннан кейін көлемі бастапқыдан көп болды.
Мысал 2
“КРАСНАЯ КРАСКА” жолды LZ77 алгоритмі бойынша таңбалау.
К
КР
КРА
КРАС
КРАСН
КРАСНАЯ
КРАСНАЯ_
АЯ_КРАСК
КРАСН
РАСНА
АСНАЯ
СНАЯ_
НАЯ_К
АЯ_КР
_КРАС
КРАСК
А
0, 0, К
0, 0, Р
0, 0, А
0, 0, С
0, 0, Н
5, 1, Я
0, 0, _
0, 4, К
0, 0, А
Соңғы жолында “А” әріп соңғы болғандықтан, сөздіктен алынбайды. Мысалымызда кодтың ұзындығы: 9*(3+3+8) = 126 бит, бастапқысы: 14*8 = 112 бит.
Таңбаны шешу
Кіріс таңба басылу сөздік
LZSS алгоритмі
LZSS коды таңбаланбаған символдан өзгеше бірбитті префикстен басталады. Таңба екі символдан тұрады: ығысу мен ұзындықтан, LZ77 дегідей. LZSS-та терезе сәйкес жолдын тура ұзындығана жылжиды, немесе 1-ге, егер буферде сөздіктегідей сәйкес жол болмаса. Жолдың ұзындығы әрқашан нольден көп, сондықтан жол ұзындығы үшін екілік кодтың ұзындығы - бұл буфердің ұзындығынан көп, бүтін жаққа дөңгеленген екілік логарифмі.
Мысал 2
“КЕРІ КЕРНЕУ” жолды LZSS алгоритмі бойынша таңбалау.
буфер
(5 бит)
К
Е
Р
Е
Р
І
Р
І
_
К
І
_
К
К
Е
_
К
Е
К
Е
Р
К
Е
Р
К
Е
Р
І
Е
Р
Н
К
Е
Р
І
_
Р
Н
Е
КЕРІ_
ЕРІ_К
РІ_КЕ
І_КЕР
_КЕРН
КЕРНЕ
НЕУ . .
ЕУ . . .
У
0, К
0, Е
0, Р
0, І
0, _
3, 3
0, Н
0, 1
9
9
9
9
9
7
9
7
7
Алынған таңбаның ұзындығы: 6*9+7*3=75
LZ77 және LZSS алгоритмдердің айқын кемшіліктері:
- сөздік ұзындығынан үлкен қашықтықта бір-бірінен тұрған жолдарды таңбалауды мүмкін емес,
- таңбалауға болатын жолдың ұзындығы буфердің мөлшерімен шектелген.
Егер сөздік пен буфердің мөлшерін өсіре берсек, онда таңбалаудың тиімділігі азаяды, яғни осы шамалар өскен сайын, ығысу мен ұзындықтың кодтар ұзындығы да өсе бастайды, ал бұл кішкентай жолдардың кодтарын өте үлкен қылады. Тағы да алгоритм-кодердің жұмыс жасау уақыты көбейеді.
Таңбаны шешу
Мынадай сығылған мәліметті алдық: 0, К; 0, Р; 0, А; 0, С; 0, Н; 5, 1; 0, Я; 0, _; 0, 4; 4, 1; 0, 1
Кіріс таңба басылу сөздік
Тапсырма
1 «таңбаланған хабарлама» сөйлемін LZ77 және LZSS әдістерімен таңбалаңыз.
2 Алынған код тізбегін шешіп, код ұзындығын есептеңіз:
LZ77 (сөздік - 12 байт, буфер - 4 байта)
0, 0, А; 0, 0, F; 0, 0, X; `9, 2, F; 8, 1, F; 6, 2, X 4, 3, A
LZ77 (сөздік - 12 байт, буфер - 4 байта)
0A; 0F; 0X; 1(9, 2) ; 1(8, 2) ; 1(6, 3) ; 1(4, 4) ; 1(9, 1)
3 LZ78 алгоритмі
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz