Каков максимум теоретически возможный уровень сжатия?

Это - теоретический вопрос, поэтому ожидайте, что много деталей здесь не вычислимы на практике или даже в теории.

Скажем, у меня есть строка s то, что я хочу сжаться. Результатом должен быть самораспаковывающийся двоичный файл (может быть x86 ассемблер, но это может также быть некоторый другой гипотетический полный по Тьюрингу низкоуровневый язык), который выводы s.

Теперь, мы можем легко выполнить итерации через всех возможных такие двоичные файлы и программы, заказанные размером. Позволить B_s будьте подсписком этих двоичных файлов, кто произвел s (конечно, B_s невычислимо).

Поскольку каждый набор положительных целых чисел должен иметь минимум, должна быть наименьшая программа b_min_s в B_s.

Поскольку, что языки (т.е. набор строк), мы знаем что-то о размере b_min_s? Возможно, только оценка. (Я могу создать некоторые тривиальные примеры, где я могу всегда даже вычислять B_s и также b_min_s, но я интересуюсь более интересными языками.)

20
задан Albert 10 September 2011 в 01:23
поделиться

4 ответа

Это сложность Колмогорова , и вы правы, что она не вычислима . Если бы это было так, вы могли бы создать парадоксальную программу длины n, которая печатала бы строку с колмогоровской сложностью m> n.

Очевидно, вы можете связать b_min_s для заданных входов. Однако, насколько мне известно, большинство попыток сделать это были доказательствами существования. Например, продолжается соревнование по сжатию английской Википедии .

16
ответ дан 30 November 2019 в 01:02
поделиться

Клод Шеннон оценил плотность информации английского языка где-то между 0,6 и 1,3 бит на символ в своей статье 1951 года Предсказание и энтропия печатного английского языка (PDF, 1,6 МБ. Bell Sys. Tech. J (3) стр. 50-64).

7
ответ дан 30 November 2019 в 01:02
поделиться

По сути, вам нужно достаточно информации, чтобы восстановить вашу исходную информацию. Я думаю, что другие ответы более полезны для вашей теоретической дискуссии, но просто имейте это в виду.

0
ответ дан 30 November 2019 в 01:02
поделиться

Максимально возможная (средняя) степень сжатия - 1:1.
Число возможных входов равно числу выходов.
Должна быть возможность сопоставить выход с входом.
Чтобы иметь возможность хранить выход, необходим контейнер того же размера, что и минимальный контейнер для входа - что дает степень сжатия 1:1.

0
ответ дан 30 November 2019 в 01:02
поделиться