| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Юмор > алгоритм сжатия с помощью которого можно |
| Автор: AgereS 21.6.2005, 16:36 |
| помогите реализовать, а то идея есть, даже всё рассчитал на листочке, а опыта кодинга мало. кодить нужно на дельфе |
| Автор: Irokez 21.6.2005, 16:39 |
| "Не верю" (с) Станиславский |
| Автор: AgereS 21.6.2005, 16:40 |
| могу обрисовать идею, если интересно |
| Автор: Irokez 21.6.2005, 16:45 | ||
конечно давай.. с делфями правда не смогу помочь (если только не просто паскаль..) но выслушать интересно |
| Автор: AgereS 21.6.2005, 16:47 |
| это можно сделать даже на паскале - там простая арифметика |
| Автор: S.A.P. 21.6.2005, 16:48 |
| На дискетку можно хоть терабайт ужать, если там избыточной информации много. |
| Автор: Mephisto 21.6.2005, 16:48 | ||
| Давай. Добавлено @ 16:49
Именно. Смотря чего сжимать. |
| Автор: esperant0 21.6.2005, 16:50 | ||
К сожалению не существует алгоритма сжимающего любой текст хоть на сколько. Поэтому и ваш алгоритм не рабочий. Так что не пытайтесь его написать. |
| Автор: AgereS 21.6.2005, 16:52 |
| любуюинфу можно сжать, хоть уже запакованную, представляете раровский архив объёмом 600 метров можно сжать на дискету |
| Автор: Mephisto 21.6.2005, 16:52 |
| Ну, почему. Если этого еще никто не делал, то это не значит что это невозможно. |
| Автор: Cheba 21.6.2005, 16:53 | ||
Не, ну, пусть человек изложит свою идею. Все таки среди нас все еще встречаются свелые умы. Тем более, что уже все посчитано на листочке... Идею в студию! |
| Автор: AgereS 21.6.2005, 16:54 |
| ребята, дело не в том можно-нельзя я прошу только помочь реализовать |
| Автор: esperant0 21.6.2005, 16:55 | ||
Любую программу можно сделать на совремменных языках программирования. |
| Автор: S.A.P. 21.6.2005, 16:57 |
| AgereS ты выкладывай, а мы реализуем Хотя можно, конечно создавать гигантские словари и по ним кодировать... |
| Автор: esperant0 21.6.2005, 17:00 | ||
Вы просите помочь, реализовать вещь, которая не существует и не может существовать. Это вам к Богу Добавлено @ 17:10 Теорема: Не существует программы сжимающий ЛЮБОЙ текст размером к байт, в текст размером меньший чем к байт. Доказательство: Для простоты расмотрим бинарный алфавит. Количество текстов длиной к равно 2^k. Количество текстов длиной меньшей к, строго меньше чем 2^k. А это значит, что существуют два текста М и Н длинной к, которые ваша программа сожмет в одну и ту же последовательность-Ц длины меньшей к( по принципу дирихле). А это значит, что зная что закодируемый текст есть Ц, вы не сможете решить, откуда он взялся из М или Н. |
| Автор: AgereS 21.6.2005, 17:11 |
| esperant0 боишься ? кого ??? |
| Автор: Wowa 21.6.2005, 17:21 | ||
Я не пойму в чем дело. Сказал А, говори Б. Что тебе надо? Реализовать - народ готов тебе помочь. Все ждут от тебя хоть какой-то инфы. |
| Автор: Mephisto 21.6.2005, 17:31 | ||||
Вот демо версия одной из них:
Пока только сжимает до байта три текста. Ну, еще немного и террабайты будем. |
| Автор: AgereS 21.6.2005, 17:55 |
| Wowa значит так, все сидите ? объясняю... берём число и разбиваем на триады |
| Автор: AgereS 21.6.2005, 18:06 |
| затем берём любое двухзначное число около 100 и вычитаем его из каждого из триад Добавлено @ 18:07 меньшее 100 Добавлено @ 18:09 вычитаем до тех пор пока не останется число около 100 или меньше Добавлено @ 18:10 продолжать или уже догадались ? |
| Автор: esperant0 21.6.2005, 18:36 | ||||||
Вы пропустили слово ЛЮБОЙ в моем предложении. Очевидно ваш пример не подходит |
| Автор: En_t_end 21.6.2005, 19:24 |
| В принципе можно... можно попробывать оперировать на уровне файловой системы( вернее на уровне разработки файловой системы). Это позволит добиться максимальной эфективности сохранения сжатого файла. Но все же фильм сжать так не получиться Добавлено @ 19:27 __esperant0 У меня сложилось впечатление, что у вас слишком много предрасудков Возможно, это как раз эффект институтского "натравливания" на аксиомы, в правильности которых я смею сомневаться. |
| Автор: esperant0 21.6.2005, 20:24 | ||
Я привел доказательство невозможности такого архиватора. С этого доказательства обычно начинают курсы по теории сжатия. И ничего не поделаешь оно верно и это факт, в не зависимости от нашего желания или знаний. |
| Автор: Irokez 21.6.2005, 20:30 |
| так где идея то? обманули ... |
| Автор: oleg1973 21.6.2005, 21:55 |
| ну хорошо, есть же идея представить последовательность байт в наших данных которые мы пакуем как некое число которое является результатом работы некой мат-функции тоесть теоретически наша функ на дискетку влезет ))) |
| Автор: podval 21.6.2005, 22:02 |
| AgereS Я не догадался. Расскажи до конца идею кодера. А потом постарайся сформулировать декодер. |
| Автор: p0s0l 22.6.2005, 00:21 | ||
| Идея сжатия в малый объем любого текста конечно ерунда. Никак 1 битом нельзя закодировать абсолютно любые данные любой длины (это я привел конечный случай "идеального"(утопического) архиватора). Также нельзя 1 мегабайтом представить любые данные длиной до 600 мб... А текст, имеющий какие-то определенные параметры и характеристики сильно сжать каким-то определенным методом - реально. Но ты выкладывай, мы послушаем
- долгий подбор - количество параметров и операторов, необходимых для описания функции, может превышать размер исходного текста |
| Автор: Girder 22.6.2005, 00:26 |
| Был у меня когда-то алгоритм... сжимал он... просто не реально круто(мегабайты в байты)! PS: Вот только распаковать... у меня так и ни чего не получилось |
| Автор: Irokez 22.6.2005, 00:39 | ||
md5, sha1, password |
| Автор: S.A.P. 22.6.2005, 01:03 |
| Кодируем большую строку по md5, а декодируем перебеором: вот и архиватор |
| Автор: Sardar 22.6.2005, 01:14 | ||||
Сразу чувствуеться не серьёзный подход...
Не догадался. Приведи пример с вычислениями и самое главное декодирование, шаг за шагом. ИМХО такой архиватор сделать нельзя, esperant0 уже обьяснил почему. |
| Автор: p0s0l 22.6.2005, 01:15 | ||
|
| Автор: S.A.P. 22.6.2005, 01:35 | ||
|
| Автор: p0s0l 22.6.2005, 01:39 |
| Получится, что указание № совпадения будет занимать столько же и даже больше объема, чем исходный текст |
| Автор: S.A.P. 22.6.2005, 01:47 |
| Ну есть же вероятность, что попадем с первого раза |
| Автор: AgereS 22.6.2005, 11:38 |
| значит так, если не догадались - объясняю подробно: представляем некую строку символов в виде наборов байт, каждый байт как известно представляется в виде числа 255, получается некое число из триад, каждое из которых будет меньше или равно 255 Добавлено @ 11:43 затем берём число в 2 или больше раза меньшее числа 255 и вычитаем его из каждого из триад пошагово. то есть прогнали это вычитание один раз по всей строке - это будет один шаг Добавлено @ 11:45 чем меньше это чило будет тем лучше, но только не надо изголяться |
| Автор: Дрон 22.6.2005, 11:50 |
| AgereS Ничего не понял... Покажи пример кодирования и раскодирования хоть какой-нибудь текстовой фразы. |
| Автор: AgereS 22.6.2005, 12:01 |
| суть идеи такова - избавится от ВСЕЙ лишней информации по максимуму до минимума |
| Автор: Дрон 22.6.2005, 12:10 |
| |
| Автор: batigoal 22.6.2005, 12:15 |
| Ну вот есть у нас строка 100 200 150 50. Выберем для вычитания число 100. Вычитаем. 0 100 50 50. Что дальше? |
| Автор: AgereS 22.6.2005, 12:18 |
| 145'167'057'189'234 - пример строки представленной ввиде числа вычитаем из каждой триады число например 56. один раз вычли - это один шаг Добавлено @ 12:18 ладно, вычитаем... Добавлено @ 12:27 89'111'1'133'178 получилось такое число. затем перераспределяем значки триад... 891'111'133'178 и так далее до МИНИМУМА |
| Автор: AgereS 22.6.2005, 12:53 |
| кто меня понял - стучитесь в аську |
| Автор: S.A.P. 22.6.2005, 13:06 | ||
|
| Автор: AgereS 22.6.2005, 13:09 |
| думай |
| Автор: Batou 22.6.2005, 17:23 | ||
Смутно улавливаю сСуть Пардон , а как вы "891" в байт запихаете? |
| Автор: Амортизатор 22.6.2005, 18:35 |
| Почему же это невозможно? Пишем прогу, создающую 5 Гб "111...111". Сжимаем в SFX 50 кб... Называем "Запусти меня"... Отсылаем админу Вингранда... |
| Автор: En_t_end 22.6.2005, 19:44 | ||
Амортизатор
И он ставит за это пожизненный бан тебе и за одно всем ip твоего прова |
| Автор: podval 22.6.2005, 20:02 | ||
Энтропийное кодирование уже давно придумали. Однако повторяю намек: как ты декодер соберешь при своих правилах кодирования? |
| Автор: Irokez 22.6.2005, 20:40 | ||
предлагаю более радикальный вариант - умножить число на 0 ... |
| Автор: S.A.P. 22.6.2005, 20:58 | ||
|
| Автор: batigoal 22.6.2005, 21:05 |
| Мужики, я немало посмелся над вашим стебом. Но все же это раздел "Научные дискуссии", а не "Юмор". Так что давайте ближе к телу. AgereS Ты можешь наконец написать четкий алгоритм либо пример? Шифрование и дешифрование. К чему тянуть? Пиши все или не пиши вовсе. |
| Автор: RA 22.6.2005, 21:06 |
| Гы-гы. Тему в юмор. Добавлено @ 21:11 Мне это всё напоминает мою идею зоздания ДБ на основе структуры Zip архива, всё получилось и был огромный выигрышь в размере базы, но когда обшщий размер такой базы достигал > 200MB скорость доступа к базе резко падала, независимо от размера записи. |
| Автор: Irokez 22.6.2005, 21:12 | ||
|
| Автор: Akina 22.6.2005, 21:58 |
| Бред. При этом объем инфы о пути кодирования (необходимый для обратного хода) станет не меньше объема кодируемой инфы. |
| Автор: Fantasist 22.6.2005, 22:39 | ||
Так весь этот топик - стеб от начала до конца. Уже была одна такая статья - студент придумал и реализовал архиватор, который давал немыслимые проценты сжатия. Всю статью рассказывалось как на эту новость отреагировали разные компании и продвижении самого студента. В конце статьи упоминалось, что для полноценной версии ему осталось довершить небольшую доработку - разработать деархиватор. |
| Автор: neutrino 23.6.2005, 15:52 |
| Мдаа.... Вот там ей и место! |
| Автор: neutrino 23.6.2005, 15:53 |
| Тема перемещена во флейм. |
| Автор: Voldemar2004 24.6.2005, 10:08 | ||
Тут вас всех почитать - так страшно становится - ничего не приведено, никаких принципов и конкретных алгоритмов. Только пустая болтовня. ЗЫ: "Ну так это ж Флейм". |
| Автор: AgereS 24.6.2005, 10:10 |
| ребята, извините, над процессом деархивации я пока не поработал, надо будет на досуге подумать... Добавлено @ 10:13 у деархивации есть один недостаток, я не могу угадать когда триады нужно переставлять в обратном порядке |
| Автор: Mayk 24.6.2005, 10:16 |
| Есть идея по сжатию html. Предлагаю из всех хтмл-ов нафик выкинуть </td> </tr> </p> </html> </head> </body>, в тексте вне <pre> заменить все переносы строк одним пробелом(в винде перенос занимает 2 байта. В маке, кажется, тоже), все последовательности пробелов одним пробелом, выкинуть все комментарии, получившийся текст сжать rar/zip/ace(помните такой?), заUUEкать для надежности, на java script'е написать деархиватор и им деархивировать страницу на лету |
| Автор: AgereS 24.6.2005, 10:34 |
| ребята, придумал !!!!!!!! надо к этим числам которые получились сделать таблицу, в первом столбце которой будет номер строки, а во втором - порядок расстановки триад, а потом сжать эту таблицу архиватором (представляете какая компрессия у файла где будут одни числа ?) Добавлено @ 10:35 я гений !!!! давайте ребята - помогайте, одному не справится... Добавлено @ 10:41 РЕБЯТА, ВРЕМЯ ИДЁТ. |
| Автор: AgereS 24.6.2005, 10:52 |
| всё, теперь либо либо, всем пока |
| Автор: Girder 24.6.2005, 13:24 |
| AgereS, ждем релиза. |
| Автор: AgereS 24.6.2005, 13:43 |
| ребята, я конечно постараюсь, но вместе веселей, ведь так ? |
| Автор: Дрон 24.6.2005, 14:01 | ||
Конечно... Только ты почему-то не хочешь нормально описать свой алгоритм. |
| Автор: Mephisto 24.6.2005, 14:28 | ||
А ты пропустил сово "Демо версия". |
| Автор: сок 24.6.2005, 14:38 |
| AgereS, я с тобой |
| Автор: Ignat 24.6.2005, 15:24 | ||||
сок, что, даже чаю не попьёшь? |
| Автор: Black 24.6.2005, 18:51 | ||
AgereS
как уже выше заметили при таком подходе сохранения информации о пути расшифровки числа будет не менее, чем само число А ввиду того что эту информацию надо хранить будет в определенном порядке мы получил еще более большой объем данных |
| Автор: sergejzr 24.6.2005, 18:59 |
| Когда я в первый раз побежал к отцу рассказать про модель вечного двигателя, которую только что изобрёл, он сказал мне: "А заче ты мучаешься? Возми верёвку, перекинь через ролик, привяжи к каждому концу по ведру с водой и пусть они по очереди перетягивают". "Мда...", подумал я, а ведь действительно систему можно упростить до подобной схемы.. Тот факт, что любую информацию, которую можно хранить в 4 битах, не возможно будет сохранить в 3, распределяй их и вычитай как хочешь, дошёл до меня пару лет назад уже без батиной подсказки |
| Автор: Дрон 24.6.2005, 19:02 |
| sergej.z Ключевое слово: любую. Уравнения степеней выше 4 не решаются. Доказано. Но ведь ты всегда можешь решить уравнение x^25 = 1 Это во-первых. А во-вторых, что такое "информация" |
| Автор: chipset 24.6.2005, 22:42 |
| Да приведи уже внятный алгоритм, АгереС |
| Автор: ManiaK 24.6.2005, 22:49 | ||
Во как! А где про ето можно почитать? |
| Автор: esperant0 25.6.2005, 09:14 | ||||
Тут явно забыли квантор существования упомянуть. Некоторые Уравнения степеней выше 4 не решаются в общем виде. -аналитически |
| Автор: Medved 27.6.2005, 00:40 | ||
Вы можете в более читабельном виде рассказать о свое идеи? Выдавать информацию по крупицам - имхо не самая лучшая идея. Создается ощущение, что вы сами не до конца ее продумали (идею). Пожалуйста, соберитесь с мыслями и опубликуйте свое предложение в виде статьи, вообщем от начала до конца. А так - это воздух, я отказваюсь участвовать в этой афере. И так дел много. |
| Автор: сок 27.6.2005, 09:23 |
| а угадайте, кто я ? Добавлено @ 09:31 ладно, откроюсь, раз никто не поможет АгереСу, то я сам себе помогу ЗЫ Администрации форума: аккаунт AgereS прошу стереть - начинаю новую жизнь... |
| Автор: Batou 27.6.2005, 09:36 |
| Затравили парня блин |
| Автор: сок 27.6.2005, 09:42 |
| а алгоритм мой всё таки путёвый, там таблица только из двоек и троек будет состоять, а она хорошо ужмётся тем же самым раром |
| Автор: Batou 27.6.2005, 09:46 |
| сок , не гробь новый акк =) Мало гениев было признано при жизни... вот и я тоже... |
| Автор: сок 27.6.2005, 09:49 |
| ...и на развалинах часовни напишут посетителей винграда имена... |
| Автор: Ignat 27.6.2005, 09:50 | ||
Очень приятно. Царь. |
| Автор: сок 27.6.2005, 09:54 |
| свой алгоритм я посвящаю моему младшему братишке - Гусеву Диме. |
| Автор: Batou 27.6.2005, 09:56 |
| Ignat , а-а вас уже выпустили из сумашедшего дома?(с) |
| Автор: Ignat 27.6.2005, 09:59 | ||
Нет, это вас впустили. (без с) |
| Автор: SoWa 28.6.2005, 10:43 | ||
Ладно, я погял как что работает, придумал оптимизацию- не разбивать на триады, а разбивать на что-нить поменьше... Попробую щас(Или лучше сразу в сумасшедший дом???) |
| Автор: сок 28.6.2005, 11:09 |
| SoWa наоборот можно оразбивать числа по 4 или по 5 символов и делить соответственно на 1000 или 10000 |
| Автор: Gold Dragon 28.6.2005, 11:38 |
| Да, токой бред..... А про сжатие можно вспомнить это http://forum.vingrad.ru/index.php?showtopic=24452&hl= |
| Автор: SoWa 28.6.2005, 17:43 |
| Лады, я все понял. Закройте тему, а с соком я еще пообщаюсь. |
| Автор: sergejzr 28.6.2005, 19:55 | ||
Ну вот... люди уже с соками общаются... Добро пожаловать в клуб |
| Автор: SoWa 29.6.2005, 03:33 | ||
Если сделают "Участником Клуба"- то с удовольствием! ЗЫ: А сок надо пить! |
| Автор: chipset 29.6.2005, 08:41 |
| Сумасшедший дом.. |
| Автор: RA 29.6.2005, 09:06 |
| Я же говорил, что тему в юмор нужно перенести, ато тут смотрю некоторые серьёзно настроились. |
| Автор: сок 30.6.2005, 13:27 |
| я тут подумал и решил - может быть триады зашивровать побитно в байте, в нём может поместиться 4 позиции (в 4 раза уменьшается размер выходного файла). итак размер выходного файла без сжатия будет составлять 60% от входного плюс в 4 раза меньше этих 60%, то есть всего 15%, а если ещё и ужать Добавлено @ 13:31 это, конечно на дискету не влезет, но прикиньту, качество сжатие мпег - 15% от основного, то есть на компаху поместиться 6-7 фильмов. НА ОБЫЧНУЮ КОМПАХУ. |
| Автор: сок 30.6.2005, 13:46 |
| кто возьмётся разрабатывать архиватор по моему алгоритму - предлагаю долю, если, конечно, дело выгорит. Добавлено @ 13:47 а кто сделает забесплатно, укажите плиз в разделе About меня и моего брата Добавлено @ 13:52 почему я прошу именно форумчан разработать архиватор - просто я лентяй каких свет не видывал ЗЫ вы бы видели что у меня в комнате творится |
| Автор: Дрон 30.6.2005, 13:53 |
| сок Дык, как же мы его разработаем, если алгоритм ты нам так и не представил? |
| Автор: сок 30.6.2005, 13:55 | ||
я там уже побывал - пгезабавнейшее место смею вам доложить и очень спокойное. |
| Автор: Ignat 30.6.2005, 13:57 | ||
Легко... Напишу архиватор за умеренную плату. PS. Деархиватор писать не буду. |
| Автор: сок 30.6.2005, 14:12 | ||
ребятаааа, я щас клаву сломаю уффф. ладна, ещё раз. есть файл. представляем его как строку байтов. байт - число от 0 до 255. то есть представляем файл как строку триад (по три) чисел. например 123'134'065'156'253 (15 чисел) - файл из 5 байт, где числа - чар коды символов далее берём константу, например 100 (так легче считать (мне по крайней мере) ) и вычитаем её из каждой из троек чисел строки, НО правило такое: если число из которого мы вычитаем число 100 само меньше ста, то мы этого не делаем. вот первый шаг: -100 23'34'065'56'153 (12 чисел), то есть за один шаг файл уменьшился на 3 числа (это характеризует скорость преобразования файла) теперь нам надо запомнить количества символов в каждом из чисел. как я говорил - сделать это можно побитно: 10 - число 2, 11 - число 3 (двоичная система счисления) итак: к этой строчке получили следующую последовательность чисел: 22323 (посмотрите на преобразованное число - именно так распределены числа и такое количество цмфр в каждом из них) преобразуем это число к двоичной системе - 1010111011 (два байта за первый шаг накапливающейся инфы) далее, что мы делаем...мы расставляем значки триад в нормальном порядке, начиная с конца: было: 23'34'065'56'153 стало: 233'406'556'153 повторяем процедуру (следующий шаг). в итоге у нас получится два числа: одно - двузначное (итог уменьшения нашего файла), чисто 100 (та константа, которую мы брали за основу). и совокупность байт - размещения "запятых" на каждом шаге в числе. процесс деархивации я думаю понятен, хотя над программированием его надо поломать голову... Добавлено @ 14:20 О придумал, можно дже сделать так: 1 - три цифры в числе, а 0 - 2 числа (меньше инфы будет) |
| Автор: Дрон 30.6.2005, 14:31 |
| сок А количество необходимых шагов ты посчитал? |
| Автор: S.A.P. 30.6.2005, 14:54 |
| сок у тебя было изначально 5 байтов, из них ты сделал 2 настоящих байта + 2 непонятных числа 406'556, которые влезут в 4 байта + информация для восстановления - 10 бит, то биш один полноцнный байт и 2 бита, которые опять придется упаковать в еще один байт и того 8 байт из 5-ти изначальных. Компрессия -60% Добавлено @ 14:57 архиватор писать будем? |
| Автор: Ignat 30.6.2005, 15:11 | ||
Будем, но за деньги Уникальный продукт - архиватор с коэффициентом 1,6 это же в два раза больше JPEGa с его 0,8. ЗЫ. Если честно, то ЯПАДСТУЛАМ |
| Автор: сок 30.6.2005, 15:48 |
| ребята, я передумал. я решил захватить мир. Добавлено @ 15:50 вы просто не просекли суть моего алгоритма |
| Автор: Voldemar2004 30.6.2005, 16:19 | ||||||||||||
У нас много гениев на этом форуме:
Я же предлагаю свою идею сжатия информации: все мы были студентами (и остаемся ими и сейчас) - помните, как бывает досадно, когда забываешь какой-то материал... Но вдруг вспоминаешь буквально ОДНО (!) слово и вспоминается целая страница лекции... Вот так. ИМХО - лучший алгоритм сжатия - это когда отрезается 99% информации, а остальное вспоминается по вышеописанному принципу. Например я тут у вас прочел типа 192.168.128.299 - вычитается из каждого регистра число 100 например... А не проще отрезать все числа и оставить: 1??.???.???.??? а отрезанные числа запомнить самому, как стихи например. И память развивает и коэффициент сжатия превосходный. |
| Автор: Mayk 30.6.2005, 16:46 | ||
Надо очень постараться И запомнить всё как есть: Три. четырнадцать, пятнадцать, Девяносто два и шесть. Хотя у меня где-то миллион знаков после запятой числа пи было. |
| Автор: Ignat 30.6.2005, 16:57 | ||
Стихотворно? |
| Автор: сок 30.6.2005, 17:07 |
| ребята, кто из питера, отзовитесь... |
| Автор: Voldemar2004 30.6.2005, 17:19 | ||
|
| Автор: Mayk 30.6.2005, 17:48 | ||
Нет, цифорками. Пока запомнил только первые двадцать: 3.1415926535897932384636 Кстати столько же написано в константе в math.h... Дальше, кажется, 26 идёт.. ЗЫ. В dxvector.h пи определяется вот так: 3.1415926535, а в dxhelp3.h даже так: 3.1415926538 Добавлено @ 17:50 Voldemar2004 Флудер |
| Автор: oleg1973 30.6.2005, 18:14 |
| вот пример супер сикретного военного упаковщика запускаем файл, он распакует все в текушую диру,наслаждаемся содержимым,там картинка будет, а потом попытайтесь снова запаковать раром/зипом и сравнить размеры )))) к слову общий размер распакованных данных 256 байт )))) |
| Автор: Ignat 30.6.2005, 18:45 | ||
22 после запятой. Просто я помню только 18. Больше пока не нужно |
| Автор: Дрон 30.6.2005, 19:08 | ||
Да я имел ввиду то, что одну и ту же последовательность байт можно трактовать по разному. В трёх битах может храниться и побольше информации, чем в 4-х, при условии, что есть ещё специальный алгоритм для её обработки Добавлено @ 19:09 Mayk, Ignat Хмм... Я помню только 14. Но этого для типов двойной точности хватает 3.14159265358979 |
| Автор: sergejzr 30.6.2005, 21:21 | ||||
Этот двигатель вечный, пока энергия не кончится.
Нет, в трёх битах может храниться и побольше информации, чем в 4-х, при условии, что 4-битовая на самом деле двухбитовая и два остальных бита инфы не несут. сок, твой алгоритм рабочий! Но только для некоторых файлов |
| Автор: S.A.P. 30.6.2005, 21:50 |
| oleg1973, там большее место имена файлов занимают |
| Автор: oleg1973 30.6.2005, 21:52 |
| Perchilla ты паковать раром пробовал? ))) |
| Автор: S.A.P. 30.6.2005, 22:26 | ||
|
| Автор: dm9 1.7.2005, 01:00 |
| oleg1973 Правда, демка в 256 к эффектнее, чем этот супер-секретный упаковщик |
| Автор: PILOT 1.7.2005, 01:13 |
| Разговор двух программеров: -Слухай, Диман, я тут разработал алгоритм, котоый любой файл сжимает в 10 байт!!! -Вау!!! Круто!!! -Ага! Это просто прорыв... сейчас вот работаю над распаковщиком... СУВ. |
| Автор: chipset 1.7.2005, 01:26 | ||
Ну и бред у вас тут...
Энергия не кончаеться |
| Автор: Domestic Cat 1.7.2005, 01:32 |
| Модератор: перенесено в Юмор |
| Автор: sergejzr 1.7.2005, 01:47 | ||
Ещё как кончается. Какая мне разница, если она преобразовалась в другую, но её уже невозможно использовать? Это как суперархиватор. Информация тоже по идее не кончается, а вот попробуй, достань её из "триадного" архива. |
| Автор: Batou 1.7.2005, 08:51 |
| Тема эволюционирует прямо на глазах |
| Автор: vadims 1.7.2005, 09:07 |
| Господа, неужели вы не видите - над вами либо просто поиздевались, либо провели некое психологическое исследование |
| Автор: сок 1.7.2005, 10:32 | ||
vadims
да, а я - психолог |
| Автор: сок 1.7.2005, 10:44 |
| ребята, я ещё одну идейку придумал, надо когда триады переносишь совмещать числа побитно, а вычитать из них число 255 |
| Автор: Domestic Cat 1.7.2005, 10:46 |
| Ты все-таки сначала про разархивацию расскажи... |
| Автор: сок 1.7.2005, 10:56 |
| вы что ? думать разучились чтоли ? ах да, вы же ПРОГРАММЕРЫ |
| Автор: DENNN 1.7.2005, 10:57 | ||
Да что про нее рассказывать.... Как в анекдоте когда ищут на работу секретаршу: -у меня скорость 130 знаков в минуту -у меня 150 -а у меня 210 -?!!!! Правда??? -Да, но такая фигня получается. |
| Автор: сок 1.7.2005, 11:00 |
| DENNN ребята, мой алгоритм на логике основан, эх вы. пидётся учить асм |
| Автор: vadims 1.7.2005, 11:18 | ||
Да вроде не ты тему то поднял ? Вообще-то мб я чего-то просто не понял, опять же прочитать полностью весь 'диалог' поленился Про психологию сказал, тк система поведения автора была такая - начал предложение тумманно на что-то намекающее и ... Потом несколько постов от других - спорят, просят автора ну наконец-то скажи чего-нибудь - он молчит, потом опять какой-то намек и тд Серый-белый-бесконец Никого не хочу обидеть, но ассоциация простая - покажи собачке кусок мяса - убери, дай понюхать - убери и параллельно наблюдай как она вокруг тебя вертиться А задача сжатия абстрактных данных, с заданным коэффициентом сжатия, отличным от нуля - нерешаема. Но могу предложить свой вариант - много лет назад несколько дней пытался написать суперархиватор Идея - представим сжимаемые данные как матрицу. Потом решаем что эта матрица коэффициентов некой системы уравнений. Те получив решение этой системы можем однозначно восстановить и сами коэффициенты - те исходные данные. А нарисовав целевую функцию в которой стремимся к тому чтобы максимизировать кол-во переменных равных нулю, получаем мат модель универсального архиватора и стандартную задачку из области методов оптимизации (ИСО). Вот только чтобы аналитически ее решить надо до кучи решить систему из n/2 (n кол-во байт в исходном наборе) нелинейных уравнений - я не смог. Может у кого-то получиться для которой |
| Автор: stron 1.7.2005, 11:33 |
| vadims там ещё, наверняка, станет проблема точности решений |
| Автор: сок 1.7.2005, 11:52 | ||
именно я и поднял эту тему, ты просто за событиями не следишь |
| Автор: DENNN 1.7.2005, 11:59 | ||
Ага. Уже боьше недели прошло, а логика полностью так и не была раскрыта. Где распаковка? Где описание? Я тоже могу рассматривать числа и как триады, и три байта как одно число из 24-ричной системы счисления, забписывая алфавитом. Суть не меняется. Есть такое понятие: количество информации. Если ты жмешь картинку, где масса однородных областей, то способов сжатия можно придумать намного больше, чем если к примеру ты сжимаешь данные о габаритах столов в офисе. Хочешь чтоб тебе помогли что-то сделать - докажи, что твой метод действительно работает и что он эффективен. А просто так тратить свои силы для работы "в темную" - это пионерство. |
| Автор: сок 1.7.2005, 12:06 |
| |
| Автор: Дрон 1.7.2005, 12:11 |
| сок Мне кажется это уже слишком |
| Автор: stron 1.7.2005, 12:40 | ||
А причём тут мат? DENNN очень правильно сказал. Ты объясни всё от и до. Пока все вышеизложенное чётко соответствует разделу "Юмор" |
| Автор: vadims 1.7.2005, 12:41 | ||||
А вообще забавно могло получиться - алгоритм сжатия данных с огромным коэффициентом сжатия и погрешностью восстановления каждого байта равной +-127
|
| Автор: stron 1.7.2005, 12:44 | ||
я про это и говорил |
| Автор: Dubinsky 1.7.2005, 18:59 |
| хмм а никто не задумывался что англицкий плоский текст можно сдавить в 2-3 раза (а то и больше)? |
| Автор: S.A.P. 1.7.2005, 19:06 |
| Dubinsky взять какой - нибудь учебник по английскому и под пресс его |
| Автор: Irokez 1.7.2005, 19:47 | ||
а как потом восстановить данные? |
| Автор: S.A.P. 1.7.2005, 20:11 | ||
|
| Автор: Mayk 1.7.2005, 21:08 | ||
В английском языке 26 букв. Пусть 32 включая пробел и некоторые знаки пунктуации. Таким образом можно выкинуть 3 бита из 8. А деархить так: Если буква первая, или перед ней стоит точка, то разархивируем ее как большую. Иначе как маленькую. Еще в дерхиватор можно вшить словарь имён собственных, чтоб имена деархились нормально. Правда качество текста все равно потеряется, но все же лучше, чем ничего. А еще можно из исходного тектса выкинуть все u после q. А при разархивировании если есть q, то после нее ставим u. Вуаля. |
| Автор: Irokez 1.7.2005, 21:21 | ||
и получится винрар |
| Автор: Дрон 1.7.2005, 21:39 | ||
Dubinsky
А про алгоритм Хаффмана, что никто не слышал? Раза в 2 вполне сожмёт. |
| Автор: Sardar 1.7.2005, 23:37 |
| На текстах наверное BWT преобразование + кодирование растояниями или арифметическое по моему дадут лучшее сжатие. bzip2 сии алгоритмы реализовывает, пользователи *никсов могут опробовать |
| Автор: Mayk 2.7.2005, 13:32 | ||
ДА! Бзип форева! Добавлено @ 13:40 Кстати! Я знаю еще один алогритм архивирования. Он применялся в каком-то графическом редакторе на компе "Орион"(или около того). АФАИР его описание можно найти в одном из старых номеров журнала радио. Алгоритм распаковки примерно таков: В качестве заголовка берется один байт. Если старший бит (0x80) сброшен, то все остальные биты указывают кол-во несжатых байт идущих за заголовком. То есть в выходной файл пихается header & 0x7F байт идущих вслед за заголовком. Если старший бит установлен, то в выходной файл пихается header & 0x7F одинаковых байт равных байту идущему за заголовком. |
| Автор: Амортизатор 3.7.2005, 08:29 |
| Насчет алгоритма восстановления регистра - получится, так, как положено, а не так, как было на самом деле. Здесь придется наверное ставить пятый бит с информацией о регистре. |
| Автор: Sardar 3.7.2005, 20:39 |
| Mayk похоже это RLE(Run Length Encoding) кодирование, может сжать гиг нулей буквально в несколько байт |
| Автор: Irokez 3.7.2005, 20:43 | ||
по моему на метод сжатия GIF похоже.. или я неправ.. |
| Автор: vadims 3.7.2005, 20:54 |
| Вообще-то это помоему один из первых классических методов сжатия Running Length Coding, он раньше Хаффманов появился |
| Автор: Sardar 3.7.2005, 21:06 | ||
Нет, в GIF используеться LZW, вариациа словарных LZ, внесён динамически обновляемый словарь. Классный алгоритм для однопроходного(потокового) сжатия. Хавает кучу памяти при сжатии и столько же при распаковке. Чем больше данных, тем лучше сжатие, алгоритм "как бы" обучаеться. |
| Автор: sergejzr 4.7.2005, 00:06 |
| Ребята, а что, если пользоваться инфой, которая на клиенте уже есть. Например, если знаем, что на клиенте стоит ХР, ищем наиболее длинные совпадения нашего файла и файлов ХР, и потом передаём только эту инфу, а клиент строит файл сам |
| Автор: Sardar 4.7.2005, 00:49 |
| Была такая идея сделать большие мощные библиотеки "слов", которые бы позволяли "телепортировать" инфу с компа на комп. Идея не получила широкого применения из-за сложности апдейтов таких библиотек. Реальных случаев использования такого подхода не знаю, может военные чего и намудрили |
| Автор: Wowa 4.7.2005, 01:09 |
| интересно, насколько большие библиотеки должны быть для эффективного сжатия. |
| Автор: Sardar 4.7.2005, 01:14 |
| Взять любую либу слов для проверки орфографии, они не очень большие. Имея такую либу человеческих слов можно очень компактно сжимать текста определённого языка. Под бинарные данные создать словарь не реально, ИМХО |
| Автор: sergejzr 4.7.2005, 01:15 |
| Я думаю, текстовые файлы (книги например) можно очень эффективно передавать таким образом. Только в наше время инфа становится наоборот более разнообразной |
| Автор: сок 4.7.2005, 06:46 |
| ребята, вы уж меня простите Добавлено @ 06:48 рано извинился, не посмотрел что мне репутацию понизили |
| Автор: Дрон 4.7.2005, 11:53 | ||
sergej.z
Читаешь мои мысли! Несколько месяцев назад пробовал. Нифига не выходит. Максимум, что можно нарыть -- несколько последовательных байт совпадений. Против теории вероятности не попрёшь |
| Автор: Dubinsky 4.7.2005, 11:57 |
| да кстати военные каждую Букву словом кодят (А - Альфа , Р - Роджер) по причине плохой усвояемости информации , Вот и ждите от них алгоритмов сжатия ... |
| Автор: ~FoX~ 4.7.2005, 14:41 | ||
Элементарно - на дискете создаем ярлык с путем напрмиер "C:\Program Files\Microsoft Office\.........\EXCEL.EXE" и передаем целый ексел без всяких проблем |
| Автор: сок 4.7.2005, 16:10 |
| размерность может совпадать но смысл может потеряться |
| Автор: S.A.P. 4.7.2005, 16:25 |
| Нет, просто можно составить словари для каждого типа файлов и таскать их с архиватором. |
| Автор: RA 4.7.2005, 16:32 |
| Проще выкрасть исходник рара. |
| Автор: Akina 4.7.2005, 16:46 | ||||
Ну почему? получила, даже очень широкое... viruslist.ru -> вирусы-дропперы. |
| Автор: Shlit 6.8.2005, 23:29 |
| Вопрос весь в том, что сжимать и как. Допустим, что есть язык, в котором оперируют не словами, а понятиями. В переводе на русский понятие - большое предложение. Всего понятий - 1056784. (1028**2) . Вот русский текст из таких предложений, переведеный в понятие, очень хорошо ужать можно! Это просто пример. А вот фильм приличного качества на дискетку вряд-ли влезет. Разве что какой-нибудь векторный формат придумают. |
| Автор: S.A.P. 6.8.2005, 23:53 | ||
|
| Автор: AlDev 7.8.2005, 11:30 | ||
повешаешься ) хороший фильм на flash на дискету... он в себе сильно много хранит всего минимальный размер - рисовать программно |
| Автор: AlDev 16.8.2005, 06:17 |
| http://www.romanm.ch/index.php?seiten=seiten/ascii&ascii=menue/ascii вот вам сжатие фильма |
| Автор: Batou 19.8.2005, 11:22 |
| Идея хорошая |