astax 2003-10-21 16:26:30
Всего постов: 350
Бород: 37
Рейтинг: +5|9|-1 = +80%
Хорошая идея -
<...> после воспоминаний о приколе о "супер-архиваторе" времен доса, втихую копировавшем файлы куда-то в сторону и создававшем очень маленький якобы архив, я задумался <...>


А если серьезнее, то:

Берем некий байт-код. Что такое байт-код? Это "машинный код виртуальной машины", вроде бинарников для Java-машины и подобного :-) Набор инструкций оптимизируем для вывода байтиков в что-то вроде stdout, ну, и не забываем всю остальную арифметику.
Берем архивируемый файл. Полным перебором всех вариантов по мере возрастания длины, перебираем все варианты "архива" - то есть, пробуем "0", "1" ... "255", "0,0", "0,1" ... "0,255" ... "255,255", "0,0,0" и так далее. Функция "пробуем" заключается в следующем. Мы пихаем "архив" на вход интерпретатора байт-кода, задаем "таймаут" (чем больше таймаут - тем лучше архивация), и ждем, что получится на выходе. Если байт-код выдал на выход полное содержимое архивируемого файла - то вот он, искомый "идеальный архив"! Если за время таймаута этого не произошло (выдан не тот поток байт, код зациклился или не успел отработать) - переходим к следующему варианту в переборе.
Как несложно понять, это почти идеальный архиватор - поскольку сможет "засечь" абсолютно любую алгоритмизируемую закономерность во входном файле, и при этом обладает небольшим оверхедом при сжатии "действительно не жмущихся" данных. Кстати, его можно будет использовать в науке - как раз для поиска закономерностей.

...одно плохо - работает уж больно долго :-)


(с) DiBR
ХнЗ кто 2013-09-28 00:21:55 #
http://www.youtube.com/watch?v=jo18VIoR2xU

приколов.нет Байанометр СКОТОБАЗА АТАТАТ yaplakal.com
© СВАЛКА, 2003–2024. Авторы двиШка: megath[aka duro], skupr, спасибо MakZ'у за пинки ;), Methos'у за скин sandbox, Татьяне за синий скин, Сверстайго Сайтег за вебдванолизацию синего скина.
Также огромное спасибо всем, кто сюда что-то когда-то постил, и тем, кто постил тем, кто постил, а также - авторам )))