Карта сайта

Это автоматически сохраненная страница от 22.07.2013. Оригинал был здесь: http://2ch.hk/b/res/52107004.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Пнд 22 Июл 2013 03:55:38
Ночная ебля мозгов для мазохистов.
Доброй ночи.
Анон, можешь называть меня поехавшим и ссылаться на антивирус и ультрасжиматель какого-то школьника, но я хочу просто излить пару мыслей на этот счет. я думал об относительно недавнем случае когда новости громко заявили о юном вундеркиндешколотля-фантазера, конечно же, который научился сжимать файлы всего до 8 килобайт.
И знаешь о чем я подумал? А ведь в чем-то его идея неплоха. То есть если ее взять за основу, но подойти разумно, то ее можно выполнить. Сразу оговорюсь что я не технарь, и не гуманитарий, просто бывший медик со склонностью к кодингу и технарским мыслям.
Так вот, давайте с вами представим что у нас есть некий алгоритм, который позволяет сжимать любые файлы до чрезвычайно малых значений, гигабайты до десятков мегабайтов и так далее. Как он должен работать?
Я пришел к тому выводу, что следует искать не механизм сжатия, а механизм распаковки файла. То есть должен быть некий алгоритм роста кода, которому задается значение предела роста(размер файла) а также некоторое количество изначальных маркеров для инициализации кода. Я решил разбить значения двоичной системы на кластеры по 3 числа, для простого примера. получилось 8 последовательностей единиц и нулей, из которых(при сложении определенным образом) получалось 7 РАЗНЫХ значений. Цифра 7 повторялась вроде.
Я немного обдумал эту систему на бумаге и понял вот что - у роста кода есть 2 пути:
1)прямой - это когда одни кластеры предполагают появление других кластеров без ответвлений и вставляют эту последовательность следом за собой. Эта идея даже мне показалась бредоватой в силу того что затруднительно, а точнее почти невозможно предугадать то как должен выглядеть алгоритм выведения следующих кластеров. Хотя...
2)Делящийся - тут все несколько сложнее. Представь себе трифорс, анон. Трифорс с 8 верхушками, например. Вкратце ты уже получил схему, но если быть точнее, то 8 верхушек - это 8 кластеров, которые порождают +1 комбинацию на каждом дальнейшем шаге(то есть на каждом новом ряду будет х+1 кластер). Если учитывать что у нас один из кластеров выдает 7 в двух позициях, то можно эту схему зациклить по краям, что уже переводит нас в нечто похожее на баскетбольную сетку, если представлять все это не только схематически, естественно. Но по сути кое-что меняется в этой схеме. Первый шаг после обозначения 8 вершин(кластеров) дает нам 8 чисел! и только потом уже дает 9, 10, 11...
Но вот тут еще один момент появился - каждый переход на следующий "уровень" предполагает наличие выбора между одним и другим вариантом числа. То есть схема описанная выше - это схема ВЫБОРА кластера. Тем не менее еще нужен алгоритм вставки кластера, что приводит нас вот к чему - в код может быть вставлен не один, а два кластера на основании нужного нам алгоритма. Чтобы было понятней возьмем пример:
У нас есть кластер 010.
Он порождает 2 вида кластеров - 001 и 100.
Кластер 010 порождает одновременно 2 кластера из выборки выше, но имеет выбор в формате 00, 01, 10, 11, где 0 - 001, а 1 - 100. То есть у нас должен быть второй ряд пар нулей и единиц чтобы направить выбор кластера куда надо. То есть 010 10 будет выдавать нам 100 001, а они в свою очередь - свои числа итд. В данном смысле уже получается многовато, нам нужно помимо алгоритма генерации кластеров и стартового набора кластеров еще и ряд чисел - наводчиков выдавать для правильного роста изначального ряда кластеров.

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

Итак, дискач.


Пнд 22 Июл 2013 03:56:46
>>52107004
Бамп!

Пнд 22 Июл 2013 04:00:23
>>52107124
Ну же анон, Дискач нужен! Голова болит от того что я не могу додумать эту мысль...

Пнд 22 Июл 2013 04:04:05
>>52107004
Подумай подольше, а лучше попробуй реализовать ЛЮБОЙ алгоритм.

Пнд 22 Июл 2013 04:04:19
>>52107223
Ебануться, в 4 часа ночи нет никого кто сумел бы устроить дискуссию под данной теме. Двач, во что ты превратился?

Пнд 22 Июл 2013 04:06:13
>>52107312
Всмысле любой?
Таки простейшие алгоритмы я знаю как строить, просто тут у меня в голове какой-то бзик произошел и не могу думать ни о чем кроме этого.

Пнд 22 Июл 2013 04:07:08
>>52107004
> который научился сжимать файлы всего до 8 килобайт
Этот "алгоритм" придумал школьник, который даже не знает про существование иррациональных чисел, что тут говорить.

> возможнен ли такой алгоритм
Я в математике несилен, но уже понимаю, что это всё бред.


Пнд 22 Июл 2013 04:07:52
я кстати как-то реализовывал алгоритм того вундеркинда (пикрелейтед). Обычно сжатые файлы получалить на несколько процентов больше исходных. Наверняка твой алгоритм не лучше

Пнд 22 Июл 2013 04:08:15
>>52107413
ну если ты понимаешь, то объясни почему. Я каждый шаг вроде как объяснил, а ты взял и без объяснений назвал это бредов не показав на слабое место этой теории.

Пнд 22 Июл 2013 04:10:05
>>52107390
Как ни крути, но информация для построения результата нужна, иначе всё множество не покрыть. А чем больше множество, тем больше этой информации. Вот начни с подсчёта, а не с чудесных алгоритмов.

Пнд 22 Июл 2013 04:11:06
>>52107440
но при том вопрос к тебе - код-то получался таким же, или все-таки были серьезные смещения последовательностей?
То есть если закодировать(в качестве оче простого примера) 010 000 111, то тебе выдавалось на выходе 010 000 111 011, или 010 011 000 111?

Пнд 22 Июл 2013 04:12:53
>>52107522
я об этом и говорил, что если идти по второму пути, то нужен ряд пар 01, 10, 11, 00 чтобы у нас было 4 выбора для выдачи цифр. Это не сильно снижает размер файла по сути.

Пнд 22 Июл 2013 04:13:30
>>52107440
Как же ты сжимаешь? Он предлагал находить два числа, произведение который будет давать после нуля десятичный код самого файла.

Пнд 22 Июл 2013 04:14:35
ОП, я не осилил понять суть твоего поста, но если ты предлагаешь сжимать исходные данные представляя их в виде математических функций (последовательностей/ещё какой хуйни, я сам не технарь), то это уже реализовано в JPEG. Оценить потери по мере увеличения степени сжатия JPEG, я думаю, ты можешь сам.

Пнд 22 Июл 2013 04:15:36
>>52107004
Шеннон смотрит на вас с неодобрением.

Пнд 22 Июл 2013 04:15:43
>>52107646
> произведение
частное.
fix

вечно путаю

Пнд 22 Июл 2013 04:16:46
>>52107004
Слушай меня, щегол. Сначала ты берёшь и обмазываешься алгоритмами сжатия и архивации. ПОТОМ ты приходишь сюда и начинаешь вываливать свои мысли. Понял?

Пнд 22 Июл 2013 04:16:51
>>52107625
Ну так ты видишь это, значит всё хорошо.

Пнд 22 Июл 2013 04:17:07
>>52107646
я это и делаю, он предлагал не точное совпадение а совпадение значения дроби и числа а только первых n цифр, которые соответсвуют данным файла. То есть передается еще размер файла. Я и раскладываю число в дробь цепными дробями.

Пнд 22 Июл 2013 04:17:30
>>52107646
Ну а почему нельзя? В раиссе все можна! Серьезно, тут идет операция с нулями и единицами. Да, для полноценной реализации алгоритма мне не хватает знаний и идей, но тем не менее идея сама есть - идея создания алгоритма наращиваемого кода, при помощи которого из определенного количества стартовых кластеров цифр можно получить программу любого размера. Это теории же, если в этот час на бордах сидит пара математиков-байтоебов, то может они смогут опроергнуть/подтвердить реалистичность этой идеи.

Пнд 22 Июл 2013 04:18:08
смотрите технологию будущего
модель ФРМ
делаем онлайн\оффлайн базу масок\образцов, множеств, совмещаем ее на пеке\серверах, тут смысл хранить уже базы уже в собранном виде, и далее собираем нужные файлы, уже по формулам, как из конструктора, из базы онлайн\офлайн.
сложность - фрактальные маски, но для начала можно начать с индексирования текста, и операций производимые с ним. думаю это реально написать в неделю.



Пнд 22 Июл 2013 04:18:37
>>52107440
> Обычно сжатые файлы получалить на несколько процентов больше исходных.
Ну ок, успехов тебе.

Пнд 22 Июл 2013 04:19:22
>>52107746
Нет, я хочу чтобы тут мне пояснили где я неправ, а дальше решал куда идти и что делать. Ясненько?

Пнд 22 Июл 2013 04:20:37
>>52107840
Кури теорему об источнике шифрования.

Пнд 22 Июл 2013 04:23:07
>>52107840
Может быть ты еще хочешь, чтобы тебе всё разжевали? Привыкли на всё готовенькое.

Пнд 22 Июл 2013 04:24:03
>>52107947
>8Кб

Пнд 22 Июл 2013 04:24:22
>>52107678
Ну не совсем так. Я предлагаю скорей подбирать минимальное количество кластеров единиц и нулей, чтобы в дальнейшем алгоритм обрабатывал их как надо для распаковки исходного файла. Если проще, то грубо говоря кластер 010 должен выдавать(например) 010 001 110 111 001 010 001 001 и наоборот при своей работе. По сути это алгоритм роста файла из изначального минимального значения.

Пнд 22 Июл 2013 04:25:24
>>52107552
разумеется, если мы представляем число как числитель+знаменатель+длина, то данные на выходе совсем другие

Пнд 22 Июл 2013 04:25:39
>>52107979
Разжал.

Пнд 22 Июл 2013 04:25:52
>>52107979
сколько это знаков?

Пнд 22 Июл 2013 04:28:23
>>52107979
Виноват, не заметил. Вот, держи двукилобайтное цп.

Пнд 22 Июл 2013 04:29:06
>>52107878
Покурил. Энтропия решается последовательностью вспомогательного ряда пар единиц и нулей ИЛИ алгоритмом, который знает в какой последовательности идут нули и единицы во вспомогательном ряду.

Пнд 22 Июл 2013 04:29:42
>>52108099
Я уже вижу что это альбом virgin eater

Пнд 22 Июл 2013 04:31:49
>>52108140
Молодец.

Пнд 22 Июл 2013 04:32:12
>>52108112
Ну ладно.

Пнд 22 Июл 2013 04:32:25
>>52108211
Тайская проститутка --__--

Пнд 22 Июл 2013 04:33:29
>>52107004
Я бы мог подумать над всем этим и прочитать полностью, но, к сожалению, я наркоман и ничего не пойму. Вот.

Пнд 22 Июл 2013 04:35:48
>>52108225
Но тем не менее этот ряд не эффективен в силу того что позволяет сжать файл по сути до 2/3 информации + стартовый набор кластеров. Вот почему я думал об алгоритме для замены этого дурацкого вспомогательного ряда...
Может тут тоже нужно ввести кластеры из пар чисел и сделать подобую схему? Это снижает тогда ряд вспомогательный до 2/3 своей + стартовый набор.

Пнд 22 Июл 2013 04:36:32
>>52108270
А ты попробуй, авось вселенную сожмешь, варп откроешь.

Пнд 22 Июл 2013 04:38:09
>>52108352
Третий день открываю, надоело уже.
Хотя бы бампом подсоблю, чего уж там.

Пнд 22 Июл 2013 04:39:08
Хм, об этой идее >>52108328

у нас есть 4 варианта для двух единиц и нулей
00, 10, 01, 11
При росте кода у нас должно быть 2 варианта роста для следующего шага, то есть по идее 00 должен иметь выбор между 10 и 01, например.

Пнд 22 Июл 2013 04:40:23
>>52108397
Значит просто вселенную сожмешь, как навигаторы в Дюне. Они же там те еще наркоманы.

Пнд 22 Июл 2013 04:42:19
>>52107413
> Этот "алгоритм" придумал школьник, который даже не знает про существование иррациональных чисел, что тут говорить.
Этот алго придумал не он.

Пнд 22 Июл 2013 04:43:00
>>52108493
А кто же?

Пнд 22 Июл 2013 04:47:10
Бампану пару раз.
Но если подвести итоги, то ИТТ мы выяснили что:
ОП как обычно хуй.
ОПу надо додумать способ сжатия вспомогательного ряда чисел, возможно многократно.
Теория ОПа возможно реалистична, ибо на все возмущения и энтропии был дан ответ того что система закрыта от того что пытались предупредить.

Пнд 22 Июл 2013 04:51:42
>>52107816
ничего смешного блять, я тогда заебался рабираться в цепных дробях и в доказательстве рекурсивной формулы нахождения их значения

Пнд 22 Июл 2013 04:56:42
>>52107004
Каким же идиотом нужно быть, чтобы не понимать, что коротких файлов на порядки меньше, чем длинных, и коротких просто не хватит на то, чтобы закодировать все длинные.

Если не веришь, попробуй закодировать все множество трехбитных файлов (см. ниже) так, чтобы каждый из них обозначался не более, чем тремя битами, и хотя бы один - менее чем. Соснешь.

000 001 010 011 100 101 110 111

Пнд 22 Июл 2013 04:56:49
>>52108748
лол.

Пнд 22 Июл 2013 05:10:30
>>52108880
А вот это другой разговор!
Допустим что мы переводим эти нули и единицы в:
000 = 0
001 = 1
010 = 2
011 = 3
100 = 3
101 = 4
110 = 5
111 = 6

Как мы видим 011 и 100 дают нам 3. Значит берем эту связь и делаем стартовой. Допустим мы хотим просто сжать это дело в 2 раза. Это значит чтобы получить 8 кластеров нам нужно 4 кластера, которые выдадут эти значения.
Берем вариант со вспомогательным рядом чисел.
Он построен на таком принципе - 0 значит что нам дается то же число, 1 - следующее из минимального ряда 8 цифр(которое идет у нас вне зависимости от расположения финального вида числа). У тебя получилось то что нужно.
Я сейчас пытаюсь это решить при помощи схемы. Не уходи, ты заставил меня думать.

Пнд 22 Июл 2013 05:19:39
>>52107004
оп мудак, ты ебешь собак.
единственный способ сильно сжимать большие файлы состоит в том, что больших файлов на самом деле мало, но при этом один файл хранится много где. собственно, можно считать торренты таким сжатием. в остальном все идеи блюрей фильма на дискете - бред.

Пнд 22 Июл 2013 05:33:04
>>52109224
Итак, я решил твою задачку.

Я взял за основу алгоритм описанный выше. из 4 чисел удалось составить 8 при помощи ряда из 4 чисел для каждого. то есть получилось 24 значения из 12 + 24 вспомогательных, что многовато. То есть для каждого финального числа нужна своя цепочка вспомогательных чисел, которая может быть больше самого кластера.

Что из этого следует?
Ну ОП, конечно же, хуй, по другому быть не может.
Во-вторых надо придумать способ сжать полученный вспомогательный ряд.

Пояснение по пикче - посередине таблица алгоритма
слева - принцип движения, где прямая - ноль, ответвления - 1
Внизу по бокам идет отсчет пути по первому и последнему нижнему кластеру. Если вкратце, то 0 = поворот налево, 1 = поворот направо после следующего узла.

Пнд 22 Июл 2013 05:34:10
>>52109420
А теперь с обоснованиями и подтверждениями. Копии файлов не есть расширение файла.

Пнд 22 Июл 2013 05:35:22
БААААМП!
КУДА >>52108880 ЗАПРОПОСТИЛСЯ?!

Пнд 22 Июл 2013 05:38:39
>>52107004
Дурак ты, Петька. Мне лень писать простыню, поэтому иди-ка ты и реализуй свой алгоритм и посмотри насколько хуевый велосипед ты изобрел.

Пнд 22 Июл 2013 05:38:57
>>52109761
Неужели все съебались? Ну так не интересно!

Пнд 22 Июл 2013 05:39:12
>>52109224
Чому ты сделал 011 и 100 равным тройке? В бинарном коде 100 это четверка же. Поясни.

Пнд 22 Июл 2013 05:40:20
Господа, а что если использовать не двоичную систему счисления, а, скажем, шестнадцатиричную. Это же наверняка гораздо компактнее.
Выпустился из девятого класса. Не имею ни малейшего представления, как всё это хранится.

Пнд 22 Июл 2013 05:40:25
>>52109798
Я создал тред чтобы как раз таки проверить эту теорию в работе и получить полноценные опровержения ей. Будь добр, накатай простынку, а я тут немного пикч покидаю.

Пнд 22 Июл 2013 05:43:07
>>52109806
ну я представил кластер как X*3*Y*2*Z*1, что и дало такой вот эффект.

Пнд 22 Июл 2013 05:44:12
>>52109874
ой, извиняюсь. Попутал.
>X*3+Y*2+Z*1

Пнд 22 Июл 2013 05:45:26
>>52109896
Ты ошибся.
Там X*2^2+Y*2^1+Z*2^0
Все тот же девятиклассник

Пнд 22 Июл 2013 05:46:47
>>52109917
Эм, тут спрашивали почему я так перевел все, а не как это обычно делается. Учись понимать что спрашивают, школота.

Пнд 22 Июл 2013 05:48:12
>>52109940
> школота
Донёсся пронзительный визг со стороны параши.
> Эм, тут спрашивали почему я так перевел все, а не как это обычно делается
Зачем делать так, если обычное бинарное кодирование в твоем случае куда оптимальнее?

Пнд 22 Июл 2013 05:51:50
>>52109956
>Донёсся пронзительный визг со стороны параши.
Я рад, что ты даже не стал говорить что ты хотел сказать, а просто взвизгнул.
>Зачем делать так, если обычное бинарное кодирование в твоем случае куда оптимальнее?
А зачем делать так как ты сказал? И где тут оптимальнее?
Я просто хотел сделать систему максимально простой. И никакие квадраты тут не нужны. По крайней мере мы получим менее наглядные числа для работы с ними.

Пнд 22 Июл 2013 05:58:55
бамп. Все съебались. Даже злой глупый школьник.

Пнд 22 Июл 2013 06:04:04
Друг на флэшке принес нового "Супермена". Неудачно распаковал новым ДВОЩ УЛЬТИМАЙТ ЭДИШОН РАЗАРХИВАТОРОМ и на винте опять 600мб версия фильма "Беспредел". И так каждый раз.

Ненавижу Кемерово.

Пнд 22 Июл 2013 06:04:22
>>52109997
>А зачем делать так как ты сказал?
Затем, что так оптимальнее.
> И где тут оптимальнее?
Открываешь учебник по информатике за 8-9 класс, и начинаешь изучать правила кодирования информации.
Во-первых, у тебя 100 равносильно 011. Из-за этого код может трактоваться неоднозначно.
Во-вторых, представь, мы уходим до числа почти в два раза большего, чем 2^32. Для записи этого числа хватит 32 символов в классической двоичной системе. В твоей же системе для этого нужно будет гораздо больше.
>Я просто хотел сделать систему максимально простой.
Она создана до тебя. Используй ее.

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

Все-тот-же-девятиклассник

Пнд 22 Июл 2013 06:10:15
>>52109224
>100 = 3
>101 = 4
>Значит берем эту связь и делаем стартовой
Но при восстановлении данных, ты будешь терять информацию из-за этой неоднозначности.

Пнд 22 Июл 2013 06:11:56
>>52110156
>готовый принять точку зрения оппонента
Только в случае 100% очевидных аргументов в его пользу. И итт просто незачем было указывать что ты школотль, вот и все.Я таких как ты уже 3 года щупаю, стукаю и слушаю. в 9 классе как правило школьник еще остается школьником, вне зависимости от его стремления к развитию.

>Для записи этого числа хватит 32 символов
Не то что бы я сомневался, но разве это бы не дало нам возможность сжимать 536 мегабайт в 32 бита? Кажись тут ты даже бабушкина обошел, или я ^ случайно принял за степень.

Пнд 22 Июл 2013 06:12:54
>>52110215
Ну это мимоходом. Как ты мог заметить в дальнейшем я это не использовал.

Пнд 22 Июл 2013 06:16:04
>>52110238
> Не то что бы я сомневался, но разве это бы не дало нам возможность сжимать 536 мегабайт в 32 бита? Кажись тут ты даже бабушкина обошел, или я ^ случайно принял за степень.
Ты толстишь или что?
Загугли, как кодируется число в двоичном коде, а затем прочти внимательно.
Ухожу. Вернусь через поласа.
Школьник

Пнд 22 Июл 2013 06:18:32
>>52107004
Опять ты сжимаешь, ебучий шакал?

Пнд 22 Июл 2013 06:19:20
>>52110297
>мы уходим до числа почти в два раза большего, чем 2^32. Для записи этого числа хватит 32 символов в классической двоичной системе.

Ты представил мне что мы ходим до числа равного 2 в степени 32. А затем сказал что для этого хватит 32 символа. Если пытаешься что-то объяснить, то объясняй полностью.

Пнд 22 Июл 2013 06:21:23
>>52110326
Твой анус сжимаю, пес.

Пнд 22 Июл 2013 06:23:03
>>52110251
Не мог заметить. Не читал. :D

Пнд 22 Июл 2013 06:32:08
ОП, объясняю просто и популярно, как если бы ты был умственно отсталым ребёнком.

Есть 2^(8‡1024^4) различных терабайтных файлов. Есть только 2^(1+8‡1024^3)1 различных файлов размером гигабайт и меньше. ТЕХ, БЛЯДЬ, В ДОХУЯ РАЗ БОЛЬШЕ. Значит, ты не можешь однозначно закодировать все терабайтные файлы в гигабайтные файлы.

Пока понятно?

Есть два пути решения этой проблемы. Первый кодировать [интересныеk файлы меньшим количеством бит, а [дурацкиеk большим. Книжки интересные, книжки хорошо сжимаются. Белый шум дурацкий, он хуже сжимается. Чтобы хорошо сжимать, надо построить модель исходного файла. Таких моделей в современных архиваторах сотни.

Второй путь очень любопытен. Сжимаем как угодно, а при расжатии пытаемся воссоздать самый интересный из файлов, которые при сжатии могли дать данный сжатый файл. Например: сжали Войну и мир, расжали получили Гарри Поттера. Сжали белый шум, расжали получили порнографию. Занимательно, не правда ли? К сожалению, алгоритм не учитывает пристрастий конкретных пользователей. А вдруг какому-то долбоёбу Война и мир нравится больше Гарри Поттера? Алгоритм ему файл испортит и он подаст на тебя в суд. Ссыкотно такой алгоритм писать.

Для более развитых среди нас, я просто в немного ебанутой форме описал сжатие без потерь и с потерями.

Заметь, что третьего не дано.

> КТО СКАЗАЛ ЧТО ТРЕТЬЕГО НЕ ДАНО КО-КО-КО Я ГЕНИАЛЬНЫЙ ИЗОБРЕТАТЕЛЬ ИДУ НЕПРОТОРЕННЫМИ ТРОПАМИ РАСШИРЯЮ ГРАНИЦЫ ДОЗВОЛЕННОГО КО-КО-КО

А всем похуй. Ты все равно пытаешься алгоритм первого типа придумать, а на него действует Фундаментальное Ограничение Чисел. Другое дело, что если у тебя таки дойдут руки закодить свой гениальный алгоритм, ты можешь с удивлением обнаружить, что он каким-то удивительным образом сжимает, скажем, бинарные файлы не хуже RAR-а и при этом работает на 1.5% быстрее. Правда, более реалистичный прогноз таков: алгоритм ничего не сжимает и при этом дольше работает. Но ты все равно напиши.


← К списку тредов