Алгоритм Краскала, Прима для нахождения минимального остовного дерева


Биграммная модель[править | править код]


Download 285.1 Kb.
bet9/10
Sana17.06.2023
Hajmi285.1 Kb.
#1547608
TuriЗадача
1   2   3   4   5   6   7   8   9   10
Bog'liq
Алгоритм Краскала

Биграммная модель[править | править код]


Существует разновидность алгоритма Хаффмана, использующая контекст. В данном случае размер контекста равен единице (биграммный — два символа, триграммный — три и так далее). Это метод построения префиксного кода для моделей высших порядков, уже не источника без памяти. Он использует результат (предыдущей операции) операции над предыдущей буквой совместно с текущей буквой. Строится на основе цепи Маркова с глубиной зависимости �=1 .[4]
Алгоритм

  1. Строится таблица в виде квадрата — распределение вероятностей на биграммах. Сразу вычисляется стартовая схема, с помощью которой будет кодироваться только первая буква. Строками в таблице, например, являются предыдущие буквы, а столбцами текущие.

  2. Вычисляются вероятности для кодовых деревьев для контекстов.

  3. По контекстам длины �=1  строятся остальные кодовые деревья, с помощью которых будут кодироваться все остальные символы (кроме первого).

  4. Выполняется кодирование, первый символ кодируется согласно стартовой схеме, все последующие — исходя из кодовых деревьев для контекстов (предыдущего символа).

Декодирование выполняется аналогично: из стартовой кодовой схемы получаем первый контекст, а затем переходим к соответствующему кодовому дереву. Более того, декодеру необходима таблица распределения вероятностей.
Пример
Допустим, сообщение, которое надо закодировать «abcabcabc». Нам заранее известна таблица частотностей символов (на основе других данных, например, статистических данных по словарю).




a


Download 285.1 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling