Алгоритм Шеннона — Фано: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Olexiim (обговорення | внесок)
Olexiim (обговорення | внесок)
Рядок 9:
== Основні етапи ==
 
# Символи первинного алфавіту m <sub> 1 </sub> виписують в порядку зменшення ймовірностей.
# Символи отриманого алфавіту ділять на дві частини, сумарні ймовірності символів яких максимально близькі один одному.
# У префіксному коді для першої частини алфавіту присвоюється [[Двійкова система числення|двійкова]] цифра «0», другої частини - «1».
# Отримані частини рекурсивно діляться і їх частинахчастинам призначаються відповідні двійкові цифри в префіксному коді.
 
Коли розмір підалфавітапідалфавіту стає рівним нулю або одиниці, то наступне подовження префіксних коду для відповідних йому символів первинного алфавіту не відбувається, таким чином, алгоритм привласнює різним символам префіксні коди різної довжини. На кроці ділення алфавіту існує неоднозначність, так як різниця сумарних ймовірностей <math> p_0 -p_1 p_1</math> може бути однакова для двох варіантів поділу (враховуючи, що всі символи первинного алфавіту мають ймовірність більше нуля).
 
== Алгоритм обчислення кодів Шеннона - Фано ==