№1 жұмыс
ОПТИМАЛЬДЫ ТАҢБАЛАУДЫҢ АЛГОРИТМI. ШЕННОН-ФАНО ӘДІСІ
Егер алфавит әрiптерiнiң пайда болу ықтималдылығы әр-түрлi болса, онда бiркелкi таңбалау (бiр символ бiр әрiпке сәйкес келу) отимальды болмайды, үйткенi тепе-тең хаостық күйдiң (, ықтималдықтар бiрдей жағдай) энтропиясы тепе-теңсiз, реттелген күйдiң энтропиясынан ылғи да үлкен болады. Сондықтан бiркелкi емес таңбалау қолданылады. Байқалуының көбiрек ықтималдылығы бар әрiптер үшiн қысқа тiзбектi таңбалау қолданылады, ал ұзын комбинациялар сирек әрiптер үшiн қолданылады.
Шеннон-Фано әдiсiн қолданамыз. Алфавит әрiптерi (таңбаланатын кезкелген хабар) ықтималдылығы азаю ретi бойынша жазылады. Әрiптер қосқанда ықтималдылығы шамамен тең болатын екi топқа бөлiнедi. Одан соң екi топтың әрқайсысы ықтималдылықтарының қосындысы бiрдей болатын, тағы да екi топқа бөлiнедi. Бөлу алфавитте таңбалайтын бiр әрiп қалғанша жалғаса бередi. Әрбiр бөлу операциясынан кейiн ықтималдылығы жоғарғы бөлiктегi әрiптерге 1 таңбалау элементi, ал төменгi бөлiктегi әрiптерге - 0 сәйкестендiрiледi. (1 мен 0-дi ауыстырғанда не болатынын ойластырыңыз).
Осы әдiспен алынған бiртексiз таңбалау бiр мәндi шешiлетiн таңбалау болып есептелмейдi. Бұл проблеманы шешу үшiн алфавит әрiптерiнiң арасына бөлгiш символ қолдану керек, немесе бастапқы бөлiгi жеке комбинация ретiнде қолданылған таңбалауды алып тастау керек. Мысалы, 101 бiр әрiптiң таңбасын бiлдiредi, онда 1,10 немесе 10101 комбинациясын қолдануға болмайды.
Мысал
Pi ықтималдылығы азайған реттiк түрде хi( i =1, ... 8) әрiптер (сигналдар) берiлген. Жоғарыда сипатталған алгоритм бойынша ұзындықтары m1 таңбалаулар анықталған.
1 – кесте
Әрiп хi
|
Ықтим. Рi
|
Таңба
|
ұзындығы mi
|
x1
|
0,25
|
11
|
2
|
x2
|
0,25
|
10
|
2
|
х3
|
0,15
|
011
|
3
|
х4
|
0,15
|
010
|
3
|
х5
|
0,05
|
0011
|
4
|
х6
|
0,05
|
0010
|
4
|
х7
|
0,05
|
0001
|
4
|
х8
|
0,05
|
0000
|
4
|
Тапсырма: 1. 9 мүшеден тұратын тізбек үшін оптимальды таңбалау құрастырыңыз (і = 1, …, 9, x9 = 0,03)
2. берілген алфавит әріптерінің таңбасын құрастырыңыз.
Достарыңызбен бөлісу: |