Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676

Арифметическое кодирование

15.02.2019, 10:18. Показов 6333. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сразу скажу что тема для меня не новая, 25 лет назад читал про это и даже что-то с преподом обсуждали, но не понял тогда не понимаю и сейчас. Во первых не ясно зачем считать вероятности, только если ради оптимизации, но в целом для байта мы имеем 256 отрезков, каждый из которых разбит на еще 256, а тот в свою очередь еще на 256 и так всего 256 вложенных разбиений. Даже если взять калькулятор и посчитать, то только для 100 это 3,8392238435728152443331697603278e-239. И вот вопрос - хватит ли точности такого деления интервалов у ЦПУ и не будут ли искажены данные неточностями. Я не знаю как этот алгоритм реализуется в 7zip например, может какие-то ухищрения есть в реализации.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.02.2019, 10:18
Ответы с готовыми решениями:

Арифметическое кодирование/сжатие
Здравствуйте! С помощью арифметического сжатия/кодирования требуется закодировать сообщение "информационный", а затем...

Арифметическое кодирование в vp8
Всем привет, возник такой вопрос. В формате vp8 используется арифметическое кодирование. Имеется функция token_prob_update() ...

Помехоустойчивое кодирование.
Помогите ответить на вопросы: Может ли код длиной 4 исправлять двухкратные ошибки? Сколько разрешенных последовательностей может иметь...

27
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,907
19.02.2019, 17:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от belalugoci Посмотреть сообщение
записано 01, это число 1, что оно может обозначать?
Это первые цифры дробной части числа 0.010101110101, которое получается в процессе кодирования входных данных.

Цитата Сообщение от belalugoci Посмотреть сообщение
ну то есть для запаковки в реальной жизни нужно прибегать к хитростям реализации?
Библиотеки для работы с числами неограниченной точности не являются хитростями реализации.
Что касается этого алгоритма, то в промышленных реализациях используется оптимизация, позволяющая работать с числами меньшей точности.
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
19.02.2019, 18:24  [ТС]
Цитата Сообщение от Shamil1 Посмотреть сообщение
Это первые цифры дробной части числа 0.010101110101, которое получается в процессе кодирования входных данных.
в примерах я не заметил чтобы были такие числа, да и как-то нелогично.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,907
19.02.2019, 18:51
Цитата Сообщение от belalugoci Посмотреть сообщение
в примерах я не заметил чтобы были такие числа, да и как-то нелогично.
Чем это число отличается от чисел в примерах и что именно нелогично?
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
19.02.2019, 20:04  [ТС]
Цитата Сообщение от Shamil1 Посмотреть сообщение
Чем это число отличается от чисел в примерах и что именно нелогично?
в примерах показаны обычные числа 0.07846463, 0.1252543643 и т.п. А тут 0 и 1, явно будет меньше значений.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,907
20.02.2019, 10:36
Цитата Сообщение от belalugoci Посмотреть сообщение
в примерах показаны обычные числа 0.07846463, 0.1252543643 и т.п. А тут 0 и 1, явно будет меньше значений.
Там десятичные числа, тут двоичные. Значений не меньше - просто запись другая.
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
20.02.2019, 10:39  [ТС]
Цитата Сообщение от Shamil1 Посмотреть сообщение
Там десятичные числа, тут двоичные. Значений не меньше - просто запись другая.
а сколько 01 в десятичной и в двоичной?
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,907
20.02.2019, 11:06
Цитата Сообщение от belalugoci Посмотреть сообщение
а сколько 01 в десятичной и в двоичной?
0.2510 = 2/10 + 5/100
0.012 = 0/2 + 1/4

Вы прочтите внимательно страницы 36-40, там всё это есть. В технической литературе - в отличии от гуманитарной - нельзя пропускать скучные места и сразу переходить к интересным.
0
 Аватар для belalugoci
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
20.02.2019, 11:11  [ТС]
Цитата Сообщение от Shamil1 Посмотреть сообщение
Вы прочтите внимательно страницы 36-40, там всё это есть
Прочитано не значит понято. Я не пропускал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.02.2019, 11:11

Равномерное кодирование
Скажу коротко, есть задание : программа должна сжимать файлы текстовые и бинарные с помощью равномерного кодирования. И если с исходным...

Кодирование данных
Добрый день, не могу разобраться с МНР (машина с натуральными регистрами) и в инэте очень мало примеров дан пример нашла...

Адаптивное кодирование Хаффмана
Задали курсовую "Реализация кодирования текста адаптивным алгоритмом Хаффмана". Разобрался с обычным кодированием (ну вроде бы всё...

Кодирование Шеннона-Фано
Как реализовать метод Шеннона-Фано без использования дерева?

Арифметическое кодирование.
Арифметическое кодирование динамическое. Слово-вычисление


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru