| (Эта тема расположена в архиве и закрыта для обсуждения.) Версия для печати | |
| Конференция: | Конференция iXBT.com (http://forum.ixbt.com/) |
| Форум: | Архив "Программирование" (http://forum.ixbt.com/?id=40) |
| URL: | http://forum.ixbt.com/topic.cgi?id=40:515 |
| Tsykunov, 14.01.2002 11:20 |
Я сильно задумался над проблемой сжатия данных. Начинал, не зная никакой теории, и "изобрел" и Хаффмана, и LZ и еще всякого. Приобрел только лишь святую веру ;) в возможность создания алгоритмов, сжимающих то, что сегодня не сжимается. Все известные lossless-архиваторы используют примерно один набор алгоритмов, в результате чего не могут сжать результаты друг друга сколько-нибудь серьезно. Мой первый вопрос: есть ли архиваторы, заточенные под компрессию чужих архивов (что-то вроде слышал)? И как они работают? Вопрос второй, принципиальный: где пределы сжатия битового потока, есть ли они? Это у меня на уровне ощущений. Делюсь ими. Imho, пределы находятся там, где служебная информация становится больше выигрыша от сжатия. Под служебной информацией понимаю алгоритм (код) (де)компресии и/или его маркеры, словари, SFX-модули и т.д. То есть, архиватор, который весит M байт и будет использован для сжатия ~N файлов, создаст служебную информацию M/N байт. Практический алгоритм эффективен, если компрессия превышает M/N байт/файл. Здесь нет никаких предположений о характере входного файла, случайностях, энтропиях и т.п. Еще одно наблюдение. Возьмем строку фиксированного размера 256 байт. Если она состоит из 256 одинаковых символов, то легко сжимается через RLE. Если в ней 256 разных символов – она сжимается динамически. Это два полюса, между ними все возможные сочетания. По мере движения от одного к другому снижается эффективность соответствующих алгоритмов сжатия и падает до отрицательной к середине. Шенноновская энтропия для данного алфавита изменяется от минимума до максимума. Получается три промежутка, два из которых сжимаются, обладая соответствующими свойствами, по своим алгоритмам, и третий, который не может быть сжат ими. Есть ли алгоритм для среднего промежутка? Очевидно, он должен использовать свойства, присущие всем строкам промежутка (называются они энтропией или иначе). Какие это свойства? IMHO, это отсутствие у них свойств, подходящих первым методам сжатия. Отсюда вытекает возможность сжатия. Далее можно определить множества на стыках трех алгоритмов… Это уже не чистая теория, ведь всегда имеешь дело с битовым потоком с определенными характеристиками. Выходной поток архиваторов довольно предсказуем. OK, закругляюсь. Please, подскажите чего-то по теме, подтвердите/опровергните мои сумбурное сообщение. |
| 1. WPooh, 14.01.2002 11:37 |
Не стоит изобретать велосипеды. Почитайте лучше литературу по этому поводу. В этой области уже столько натеоретизировали, что изобрести что-то новое без специальных знаний практически невозможно. Увеличить степень сжатия можно, в частности, зная структуру данных. Например, сигнал определенной частоты длительности 1 минута, можно закодировать одной чиселкой "частота" и одной "длительность" вместо сжимания бинарных данных (составления таблиц соответствия, выяснения частоты вхождения каждой конкретной величины и пр.) Добавление от 14-01-2002 11:40: Выяснить же структуру данных на лету - тяжелое занятие. Можно попробовать перебрать некоторые методы (это кодируем вейвлетами, вон то - RLE) и выбрать лучший. Но занятие ИМХО неблагодарное. |
| 2. Tsykunov, 14.01.2002 17:40 |
Понятно, что зная структуру данных, можно добиться большего, чем от бинарных данных. Это специализированные задачи. Хотя выходной поток архиватора - тоже в некоторой степени известная структура данных. И на лету выяснять нужно меньше. Message был такой: любые данные сжимаются. Здесь у меня крутое расхождение и с теорией и с практикой. Так как Вы считаете? |
| 3. Alchemist, 14.01.2002 17:43 |
Tsykunov Message был такой: любые данные сжимаются. Неправильно. Абсолютно хаотичный поток не сжимается. Например, если я правильно помню, белый шум. Хотя, это не совсем "данные". |
| 4. Lionking, 14.01.2002 18:18 |
Белый шум вполне может сжиматься - например, если он был сгенерирован некоторым алгоритмом на основе псевдослучайного датчика, достаточно задать начальное значение датчика, алгоритм получения значения и число элементов в файле - сжатие при достаточно большом объеме выборки просто страшное. На самое деле копайте в строну колмогоровской сложности, это как раз и есть мера сжимаемости конечной послеовательности. |
| 5. Vladimir Rybinkin, 14.01.2002 18:19 |
Tsykunov Постановка задачи интересная... Пару замечаний по интуитивным ощущениям (сжатием никогда не занимался): 1. Сжатие разных кусков исходника должно бы осществляться разными алгоритмами. |
| 6. Asclepius, 14.01.2002 18:53 |
Lionking Белый шум вполне может сжиматься - например, если он был сгенерирован некоторым алгоритмом на основе псевдослучайного датчика По моему белый шум по определению полностью хаотичный. То есть, в математическом смысле, это стохастный процесс. Не забывай что физические процессы могут создать настоящий белый шум. Vladimir... |
| 7. Lionking, 14.01.2002 19:25 |
Asclepius Насколько мне известно, белый шум - это сигнал с постоянным Фурье-образом (в отличие от, скажем, розового). Что такое полная хаотичность - не знаю. Можешь дать математическое определение ? (Стохастический процесс не обязательно случаен - стандартное отображение генерит вполне стохастическую картинку, оставаясь при этом полностью детерминированным). |
| 8. Asclepius, 14.01.2002 19:30 |
Lionking цитата: |
| 9. Lionking, 14.01.2002 19:45 |
Asclepius Никаких противоречий возможности детерминированной генерации белого шума не вижу. Все эти слова про случайность позволяют хорошо работать со статистическими храктеристиками, мало что говоря о данной конкретной выборке - она вполне может быть четко структурированной и совершенно не хаотичной. |
| 10. Vladimir Rybinkin, 14.01.2002 19:48 |
Интересно, а кто-нибудь (что-нибудь) способен определить, белый это шум или полностью детерминированная последовательность? |
| 11. Asclepius, 14.01.2002 19:57 |
Vladimir Rybinkin Это уже косит на разборку с генераторами псевдо-рандомальных чисел во 2ом томе Кнута Lionking |
| 12. Lionking, 14.01.2002 20:04 |
Asclepius Да мы же работаем с заданным конечным файлом. Чем он сгенерирован - неизвестно да и неважно - от того, что чередующаяся последовательность нулей и единиц была снята с шумящего резистора (есть такая ненулевая вероятность). жаться она хуже не будет. |
| 13. Asclepius, 14.01.2002 20:14 |
Lionking Смотри на мой ответ Владимиру - это уже совсем другая темма. Я просто пытался объяснить что белый шум, как таковой (по определению) не сжимаем |
| 14. IronPeter, 14.01.2002 20:20 |
Господа. Хотите я докажу теорему, что сжатие в принципе невозможно? Дано: алфавит из N букв. Наборов строк длины K ровно N^K штук. Теперь мы хотим переписать (закодировать) Возможно оно лишь в том случае, ежели мы сжимаем строки с разумным строением. Есть такое понятие - |
| 15. Vladimir Rybinkin, 14.01.2002 20:57 |
IronPeter Вводная: N = 4, K = 3; В этих наборах буквы расположены так: |
| 16. Enot, 14.01.2002 21:03 |
IronPeter Как-то странно получается. Колмогоровская сложность необъективная величина? Дали мне строку. Ну я сотворил печатающий ее алгоритм, потом кто-то его улучшил...потом мне показали реккурентное соотношение, я ее вообще в одну строчку записал Или про нее только доказывают, что она "не больше, чем" ? Добавление от 14-01-2002 21:07: Vladimir Rybinkin |
| 17. Asclepius, 14.01.2002 21:13 |
Enot Скорее - теоретический предел, аналитически сложность Колмогорова подсчитать невозможно. Кстати, формального доказательства о несжимаемости рандомального потока не существует |
| 18. Vladimir Rybinkin, 14.01.2002 21:16 |
Enot Дык спрашиваю я Да и написал неверно: Первая буква - всегда A, а остальные K-1 - чего останется из N... |
| 19. Asclepius, 14.01.2002 21:21 |
Vladimir Rybinkin Это не потходит сабжу IronPeter-а, потому что это уже не любой, а ограниченный алфавит из N букв. Энтропия такого потока по определению меньше чем у неогранниченого. |
| 20. Vladimir Rybinkin, 14.01.2002 21:27 |
В таком случае, я бы сформулировал это так: можно подобрать такую последовательность, которая не сжимается. Мож, и так, только это вряд ли имеет какое-то практическое значение - реальные данные сожмутся |
| 21. Asclepius, 14.01.2002 21:30 |
Vladimir Rybinkin "Сожмутся" - понятие широкое... |
| 22. IronPeter, 14.01.2002 21:40 |
Vladimir Rybinkin А как? Записать надо на том же языке из 3 букв. Enot Дык конечно необъективная. |
| 23. Lionking, 14.01.2002 21:45 |
Asclepius Непонятно, что есть сжатие белого шума самого по себе. С файлом все понятно - это конкретная последовательность байтов, а вот стохастический процесс - это уже достаточно абстрактная вещь, его и потрогать то нельзя, а уж как сжимать - и вовсе не понятно. В принципе можно определить величину - среднюю колмогоровскую сложность файла заданной длины, сгенеренного генератором белого шума с заданными параметрами (по идее это вполне конкретное число); скорее всего, она будет близка к длине файла, однако о конкретном файле сказать, исходя из того, что он сделан источником белого шума, ничего нельзя. |
| 24. Enot, 14.01.2002 21:53 |
Lionking - среднюю колмогоровскую сложность файла заданной длины, сгенеренного генератором белого шума с заданными параметрами (по идее это вполне конкретное число); По идее - сложность белого шума (если он действительно белый) равна его объему. Он же совсем от балды |
| 25. IronPeter, 14.01.2002 22:00 |
Vladimir Rybinkin Я сформулировал простенькое утверждение - почти все строки являются несжимаемыми. Вот скажем, алгоритм сжимает некоторые битовые строки длины 1024 до длины 512. Спрашивается, какая вероятность, что он сожмет данную строку длины 1024 до длины 512. Ответ. Меньше 2^{-512} . Два в минус пятисотой степени. 150 нулей после запятой... Вот доказательство того, что случайные данные несжимаемы. Относительно любого алгоритма сжатия!!! А по поводу реальных данных - да, сжимаются. Потому как эти данные не с потолка взяты, а получены как результат работы некоторых алгоритмов/процессов. Какие это алгоритмы? А хрен его знает... В этом и проблема. Добавление от 14-01-2002 22:03: Lionking Естественно, что средняя колмогоровская сложность строки длины N в алфавите A относительно любого формального языка над тем же алфавитом больше N. |
| 26. Enot, 14.01.2002 22:06 |
IronPeter Естественно, что средняя колмогоровская сложность строки длины N в алфавите A относительно любого формального языка над тем же алфавитом больше N. Почему это? |
| 27. IronPeter, 14.01.2002 22:08 |
Enot Я сказал "средняя". Идея очень простая - что в общем ничего сжать нельзя. 1000 букв - это уникумы. А типичная строка очень поганая. |
| 28. Enot, 14.01.2002 22:09 |
IronPeter Все равно. Максимум - строка описывается сама собой, так? То есть максимальная сложность - N. Минимальная - где-то 2..3 |
| 29. Denis_03, 14.01.2002 22:13 |
Tsykunov По теме есть неплохой FAQ вот здесь: |
| 30. Asclepius, 14.01.2002 22:14 |
Enot строка описывается сама собой, так? Не так... не забывай код который её выписывает... Даже если этот код занимает 1 бит. В среднем > N, так как в данном алфавите шанс что строку можно будет серьёзно сжать стремится к нулю |
| 31. Enot, 14.01.2002 22:22 |
Хм...имеем множество строк длины N. Вопрос: какое распределение у колмогоровской длины? Неужели мощность множества почтибелошумных строк больше, чем хороших (есессно берем какие-то диапазоны для длины Колмогорова)? Может это что-то типа рациональных точек, понатыканных среди иррациональных большинств? IronPeter |
| 32. IronPeter, 14.01.2002 22:35 |
Enot Ну конечно. Как было сказано, мера битовых строк с К. сложностью равной 512 среди всех строк длины 1024 меньше или равна 2^{-512}. Ма-а-аленькое число. |
| 33. Enot, 14.01.2002 22:46 |
Тогда можно итоги подводить - все хреново Так и останется загадкой, как архиваторы умудряются сжимать, а математики - решать дифуры. Надо, надо двигать теорию хаоса, а то сидим на островке, а вокруг оно - неупорядоченное. |
| 34. Tsykunov, 15.01.2002 07:20 |
Iron Peter. Оцените это. Первое. Теорема. Сжатие невозможно. Так как строка А, сжатая в строку В, уже не есть строка А. Второе. Теорема. Сжатие всегда возможно. Эмпирическое доказательство: строка Tsykunov сжата до строки Ц алгоритмом, умеющим преобразовывать Tsykunov в Ц и обратно. Это к тому, что во всех случаях, когда говорят о сжатии\кодировании, имеется в виду система, имеющая 2 состояния: компрессор и несжатые данные, декомпрессор и сжатые данные. В Вашей теореме отсутствует алгоритм. Данные не могут быть никак изменены относительно самих себя, сохранив информацию. При этом неважно, какая у них структура, сложность.… Из такого же игнорирования условий по умолчанию получаются парадоксы формальной логики. Говоря о цирюльнике, который бреет всех мужчин, мы семантически исключаем его из множества, и на самом деле парадокса нет. Нулевой уровень теории сжатия должен выглядеть так: для любого конечного объема данных существует алгоритм сжатия. Первый уровень: алгоритм сжатия эффективен, если его издержки меньше выигрыша от сжатия. На более высоких уровнях начинается обсуждение структуры данных! Третье. N=2 => N1=0, N2=1; K=1 => K1=0, K2=1; F – набор данных => F1=K1K2=01, F2=K2K1=10, EF=N^K=2 Сжимаю F1 до 0, F2 до 1 => ratio=50% Алгоритм прилагается. Vladimir Enot |
| 35. Евгений Машеров, 15.01.2002 09:54 |
1. Вероятно, рассматривается вопрос сжатия без потерь? Или я пропустил то место, где это оговаривалось? 2. В этом случае универсального алгоритма сжатия не может существовать. Положим, что таковой есть, сжимающий строку в М бит в строку длиной не более М-1 бит. Но всех строк длиной М-1 меньше, чем строк длиной М (доказывается суммированием геометрической прогрессии). Следовательно, существует образ, у которого не менее двух прообразов, то есть такой сжатый сигнал, по которому исходный не восстанавливается. 3. Если же речь идет о сжатии с потерями - то также доказывается невозможность гарантированного сжатия для какой-либо функции потерь, и эффективность существующих алгоритмов объясняется тем, что входные данные отнюдь не равновероятны. Поэтому можно выбрать алгоритм, дающий эффективное сжатие на наиболее вероятных входных последовательностях. 4. А вот результат работы сколько-нибудь рабочего алгоритма сжатия весьма похож на случайную последовательность. |
| 36. rGlory, 15.01.2002 10:08 |
Моя ложка в общую бочку Точка зрения практика, это чиста мое ИМХО, поэтому просьба ногами не пинать аксиома 1 бит несжимаем - поспорим? принимаем следующее: итого длинна входящей последовательности 2 * N, где N количество групп |
| 37. Diamant, 15.01.2002 10:15 |
Сейчас появляется новоя тема - сжатие данных на основе фракталов. говорят, много ожидается от этого! Что - нибудь знаете об этом? |
| 38. Евгений Машеров, 15.01.2002 10:42 |
| 39. Tsykunov, 15.01.2002 10:53 |
О колмогоровской сложности, белом шуме и хаотичности. Истинно говорю, Информация абстрактна и нет у двуногих способов узнать ее, ибо они реальны или не существуют. |
| 40. IronPeter, 15.01.2002 11:06 |
rGlory Дак то, что вы говорите, это хорошо известный факт. Есть такие "энтропийные" оценки. Но это для конкретного алгоритма сжатия - замене длинных часто встречающихся последовательностей на более короткие. Tsykunov Ну это философия... А колмогоровская сложность, малая для одних языков, вполне может оказаться большой для других языков. Более того, для каждой строки существует свой язык (Tzynikov->Z), колмогоровская сложность в котором равна 1. |
| 41. Lionking, 15.01.2002 11:18 |
IronPeter цитата: Неестественно - зависит от того, какое распределение вероятностей по последовательностям мы имеем. При равномерном - полностью согласен. |
| 42. IronPeter, 15.01.2002 12:09 |
Lionking Да, равномерное. А то нелепо получается - среди абсолютно одинаковых строк наводится какая-то дискриминация. Одни более вероятны, чем другие. |
| 43. Diamant, 15.01.2002 12:17 |
| 44. Lionking, 15.01.2002 12:23 |
IronPeter И что с того ? В реальной жизни оно так и есть. |
| 45. Harkonnen, 15.01.2002 12:54 |
Tsykunov Вот мои мысли: 1. Для сжатия данных без потерь действует принцип Дирихле (равномощность множеств при биекции), который был уже упомянут три раза. 2. Для сжатия данных с потерями все зависит от этих самых потреь. Архив может занимать и 0 бит (и давать 10 нулей в выходном потоке). Да, это сжатие иногда вообще без потерь 3. Случай отсыкания функции, создающей последовательность не приведет к искомому (кстати, невозможному по принципу Дирихле) сжатию, т.к. для описания этой функции потребуется некий формальный язык, на котором запись этой функции может занять ОООЧЕНЬ много бит. В случае с шумящим резистрором придется описать как минимум всю солнечную систему, в которой планеты влияют на солнце, солнце влияет на землю, земля влияет на розетки, розетки влияют на блок питания, блок питания влияет на резистор, а резистор влияет на солнечную систему (тут можно остановиться, это влияние не вылезет за разрешение измерений шума резистора 4. Искать алгоритм, сжимающий что угодно, нет смысла. Есть смысл думать о минимальных потерях в случае увеличивающегося размера данных, но тут все просто: одним битом в начале выходного потока мы указываем язык. Если 0, то это язык идентичности, т.е. просто несжатый входной поток. Если 1, то сжатая информация. Ну и т.д. (языков может быть не 2, а 4, 8, 16, etc...) 5. Ну и последний парадокс, доказывающий невозможность сжатия: 6. Если мыслить философски, то стоит думать не о сжатии информации в данный момент времени, а о взятии ее из другого момента времени. Тогда если мы определим cluster_size как величиу времени (пусть, в секундах), в течении которого искомая информация остается неизменной, то траффик будет зависеть уже не только от bandwidth (пропускной способности), а от величниы: bandwidth / cluster_size, т.е. чем больше кластер, тем меньше бит потребуется для описания временной точки, в которой находится искомая инофрмация. Эту идею можно развить и до времени/пространства, только тогда описание координат кластера будет занимать в разы больше места. Фактически, эта идея и так воплощена в интернете, где все на ссылках (которые - сжатая информация, которая в процессе "разархивации" скачивается). GetRight - не downloader, GetRight - разархиватор! |
| 46. Asclepius, 15.01.2002 13:02 |
Harkonnen Пусть у нас есть алгоритм, уменьшающий любые входные данные >1 бита минимум на 1 бит. Тогда если мы применим его рекурсивно N раз (по размеру входного потока), то на выходе мы получим 1 бит. Таким образом, любая информация может быть передана всего 1м битом! (теперь я понял, как Pentium III ускоряет интернет с AGP модемом...) 2 All Давайте так: НЕТУ архиватора который может сжимать любые файлы из данного алфавита. Проехали Но, реальные данные обычно имеют много redundancy которую по умному можно использовать, и по этому размышлять о лучших компрессорах не грех. |
| 47. Tsykunov, 15.01.2002 13:29 |
rGlory Поспорим! (Если Вы не уточните Вашу аксиому.) 1. Чем бит отличается от байта? Принципиально – ничем. У Вас 1 бит - минимальная единица хранения информации? А если бы были переключатели, способные принимать три значения yes/no/maybe? А четыре? Такой бит уже сжимается? Или это уже байт? Или файл? Шутка, но в ней намек. 2. Если я зарарил файл, то вполне могу считать, что в нем каждый 1 бит сжался до 0,653 бита. Так? Далее. Формула хорошая, только с оговоркой. Равные вероятности символов означают в данном случае равную вероятность появления строки любой длины только из символов 01 и строки случайной, в классическом понимании. То есть эта формула – математическая абстракция и не имеет права быть распространенной на реальные данные в таком виде. Кроме того, даже в этом виде она верна лишь для непрерывного потока символов. Если Вы передадите мне конечную строку – у неё сразу появятся некие свойства, позволяющие найти алгоритм ее сжатия. Заметьте, я не говорю, что это сжатие будет эффективным для другой строки или вообще (в смысле совокупных издержек). Вообще, непрерывная последовательность – несуществующая вещь. У нее нет никаких аналогов в материальном мире. Поляризованные лучи света – эта такая летящая колбаса, начинающаяся от сетчатки глаза и заканчивающаяся в дохлых батарейках фонарика . О генераторе белого шума. Верно. Обезьяна рано или поздно напечатает на машинке "Книгу Джунглей". Правда, непонятно, как его сделать, ведь белый шум – абстрактен, а плата – материальна. Как бы не пришлось делать много разных плат, чтобы получить разные белые шумы. Уже глупо звучит – "разные белые шумы"? А зашить в плату функцию – красота! На 6,34 секунде генерит справку, на 56,45 –ой – диссертацию!
|
| 48. Евгений Машеров, 15.01.2002 14:06 |
1. ОК 2. Нет. Это доказательство невозможности универсального сжатия. Число всех строк длины М-1 равно 2^M-1. Оно ограничено, но велико. Что именно Вы полагаете под хаосом? Случайный ли процесс или же процесс, описываемый хаотической динамикой? Попршу уточнить. 3. Ваш аргумент совершенно невнятен. Или он уже взорвался? 4. Проверка выхода хорошего алгоритма сжатия тестом на случайность дает картину, весьма похожую на последовательность случайных и равновероятных битов. Ваш же аргумент столь же невнятен. |
| 49. Harkonnen, 15.01.2002 14:40 |
Tsykunov Во всех примерах используются переходы через логичность (набор вместо элемента, стержень для объектов и т.п.), но проблема в том, что все эти переходы берутся из человеческой логики. Если жать на ее основе, то получится самый лучший компрессор для человеческих нужд. Типа картина: зеленое дерево + трава, звук: Trance, 180BMP, программа: делает то-то, то-то. Но если абстрагироваться от человеческого мышления, то появятся такие ситуации, которые методом человеческих привычек будут записаны гораздо длинее, чем тем же RAR-ом. Добавление от 15-01-2002 14:43: P.S: В этих 6ти строках я заархивировал 3Gb кода (или сколько там) архиватора, который бы так работал. И так получилось только потому, что формальный язык мышления людей способен эту информацию разархивировать с бешенным уровнем компрессии. |
| 50. Vladimir Rybinkin, 15.01.2002 14:53 |
Tsykunov цитата:Это вряд ли |
| 51. Tsykunov, 15.01.2002 16:59 |
2All Как автор темы, позволю себе высказать пожелание к характеру нашей беседы. Большая просьба: если выдвигаете идею, противоречащую высказанной другим (мной), не только доказывайте ее (это есть), но и опровергайте чужое (мое) доказательство (а это не всегда). Please!
Harkonnen Asclepius |
| 52. Asclepius, 15.01.2002 17:11 |
Tsykunov Пример: файл без единого избыточного бита на ура жмется, если имеешь сотню таких одинаковых файлов в наборе данных. Странное заявление... Под файлом естественно подразумевается то что надо сжимать, а то так всегда можно отменить избыточность |
| 53. IronPeter, 15.01.2002 17:37 |
Tsykunov Так ежели мы язык выбираем для сжатия, мы так и должны указать в преамбуле - "мол, был выбран способ сжатия N 1203". Для начало должно быть зафиксировано множество способов сжатия. То есть свой формальный язык, описывающий способы сжатия. И пользоваться мы будем этим новым формальным языком, к которому применимы все теоремы о невозможности сжатия. Так что фундаментальное ограничение не обойти. |
| 54. Lionking, 15.01.2002 18:58 |
Tsykunov По идее при определении колмогоровской сложности язык должен фиксироваться (скажем. машина Тьюринга) - другое дело, что изменение языка приведет к несущественным изменениям в мере типа констант и множителей, так что все рассуждения обычно применимы к любому языку. Но изменять его в процессе кодирования, естественно, нельзя. |
| 55. Konstantin Mironovich, 15.01.2002 19:38 |
Tsykunov результат лучшего известного мне сжатия выглядел так: veni vidi vici |
| 56. Kantor Ilia, 15.01.2002 20:08 |
Значить так: есть такая штука - энтропия текста. У естественных языков - большая, у программного кода - меньше, у сжатых текстов - еще меньше. Существуют формулы для ее расчета. Энтропия очевидным образом характеризует количество излишней информации, то есть сжимаемость текста. Добавление от 15-01-2002 20:14: Имеется в виду сжатие _одним_ алгоритмом для _всех_ файлов. Да и еще |
| 57. IronPeter, 15.01.2002 20:27 |
Kantor Ilia Нет у текста никакой энтропии. Энтропия есть у вероятностной меры на пространстве строк. |
| 58. rGlory, 15.01.2002 21:13 |
Tsykunov А если бы были переключатели, способные принимать три значения yes/no/maybe? А четыре? А при чем тут переключатель? Мой кошелек хранит деньги, если сделать кошелек стеклянным, заничт деньги бывают стеклянные? Здесь уже была дискуссия по поводу третичных битов, полторичных битов и иже с ними. Вы сначала опишите, что это такое, может математику новую откроете. Но пока имеем данное - бит. IronPeter |
| 59. Overdream, 15.01.2002 21:24 |
Во! Так вы тут горячо обсуждаете компрешн... http://forum.ixbt.com/0026/010633.html Вдруг специалисты по компрешану изволят помочь... |
| 60. Евгений Машеров, 15.01.2002 21:30 |
rGlory Многозначная логика разработана достаточно, но никакого вклада в сжатие она не вносит. И не внесет. Изменение основания логарифма в формуле энтропии меняет только постоянный множитель. Впрочем, помимо теоретического анализа -строились и машины на троичной логике - "Сетунь", "Сетунь-70" и экспериментальные. Tsykunov Еще раз. Универсальный алгоритм сжатия невозможен, потому что сжатых последовательностей будет меньше, чем несжатых. Иначе говоря, будет существовать такая сжатая последовательность, которая была получена из разных несжатых. Восстановление при этом, очевидно, невозможно. |
| 61. Overdream, 15.01.2002 23:11 |
"Рвем рубаху нагруди в жарком споре..." вот забавно - разговор на 4-ый лист, а еще никто не замолвил слово за эргодичность Это в духе нашего времени... |
| 62. YAL, 16.01.2002 00:42 |
Простите меня за грубость - я вклинюсь в ваш высокий спор с великим китайским вопросом "а на хуа". Я понимаю, что информации мало не бывает, а носителей не хватает... Но с каждым годом объемы дисков увеличиваются в 2x, память дешевеет и процессоры ускоряются. (Если речь не идёт об управлении крылатыми ракетами или спутниками....) Но по прежнему остаётся (и будет долго оставаться) проблема сжатия при передаче данных, а ведь об этом не сказано ни слова! Вот пример - страница, которую я сейчас смотрю состоит из N слов словаря из M+(новояз, слэнг, ошибки) слов. У меня платный инет:-( и я плачу K $ за каждое прочитанное слово. Итак я бы пожертвовал бы многим, если бы словарь размещался у меня локально, а страница ЭЛЕМЕНТАРНО сжималась при передаче! Сговор провайдеров или отсутсвие идей? А компрессия изображений на основе shared словарей - соответсвующий формат файлов - где всё это? А звук, а видео? Я понимаю что всё это лишь малое подмножество некой великой идеи компрессии данных - но это реалии жизни... |
| 63. Hlad, 16.01.2002 00:58 |
Я конечно в вопросе не особо разбираюсь, но хочу сказать, что все вы забыли одну вещь: параметры сжимающего алгоритма. Архиватор может сжимать в 1000000 раз, но иметь размер в 10 гигабайт. |
| 64. AleX_SPb, 16.01.2002 07:23 |
YAL Хоть вопрос и не по теме... Существует "принцип разумной достаточности". Инет это СЕТЬ. Задача сети - передача данных в целости и сохранности. Не важно каких... Обычно, оплата инета производится по времени, а не по объему. Звук, видео и картинки в сети существуют в виде mp3, mpg (или avi), jpg (или gif) и пр - они уже сжаты, причем в соответствии с контекстом. А вот wav или bmp я что-то не встречал (кроме особо оговоренных случаев). Не нравятся рекламные баннеры - поставьте AtGuard'а и расслабьтесь. |
| 65. Tsykunov, 16.01.2002 07:37 |
Евгений Машеров 2. Не знаю, что такое хаотическая динамика. Поэтому считайте процесс случайным или хаот. дин. как Вам выгодно в каждом случае. Понимаете, Ваше доказательство имеет силу только в абстрактной математической системе. Реальные данные находятся в другой системе. АБСТРАКТНОГО универсального алгоритма в Вашей системе действительно не существует. Я же сказал, что прореха в доказательстве в слове "все". Оно предполагает бесконечный поток – чистая абстракция. Реально, Вы всегда можете передать мне только конечный набор данных. А для него существует некий алгоритм сжатия. Дайте мне другой – я найду другой алгоритм. Ваше доказательство говорит: если первый алгоритм сжимает первый набор, то он не сожмет второй. Мы уже толчем воду в ступе. Поэтому, пожалуйста, прежде чем продолжать опровергните мое доказательство: Дайте мне ВСЕ строки M – я сожму этот набор данных. Дадите не ВСЕ, я выявлю, что отличает все от ВСЕХ. и сожму. 3. Беру свою гранату обратно – это offtopic. Потом, может быть, вернемся. 4. А какой у Вас тест на случайность? Подозреваю, что это проверка шенноновской энтропии. IMHO, мы ее дезавуировали уже. Еще раз объясняю на пальцах. Все наборы данных из выходного потока архиватора обладают ОБЩИМ СВОЙСТВОМ. Что есть общее свойство? Например, если все наборы данных начинаются с бита 1. Это дает повод сжать каждый из них на один бит. Если алгоритм сжатия осуществляет RLE, в выходном потоке НЕ будет длинных монотонных последовательностей. Это будет общим свойством наборов данных из такого потока. Такое свойство позволит использовать сжатие на основе предположения о низкой вероятности встречи последовательности. Напишите программку, анализирующую файл по количеству и распределению символов для нескольких алфавитов, прогоните через нее несколько архивов и увидите закономерности. Я так делал.
Vladimir Rybinkin Asclepius P.S. Пример. Сжимаю некоторым архиватором 1000 файлов до размера N (система 1). Вы пишете алгоритм, который подсовывает этому архиватору файлы в оптимизированном для него порядке (система 2). И получаете размер M<N и L денег впридачу (поделитесь) IronPeter Lionking Kantor Ilia rGlory Евгений Overdream YAL Hlad |
| 66. Ahf, 16.01.2002 07:58 |
на Кулере (http://cooler.irk.ru/) сегодня прочитал: Компания ZeoSync (http://www.zeosync.com/) заявляет, что ее математики вплотную подобрались к алгоритму сжатия цифровой информации, который позволит сократить исходный размер в 100 раз _без потерь_. "Вплотную подобралась" - это означает, что команда ученых успешно опробовала алгоритм на небольшом файле. Файл содержал случайный набор символов (т.е. избыточности по определению вроде как уже не должно быть!). |
| 67. Евгений Машеров, 16.01.2002 09:27 |
Tsykunov Вы даже не заметили, что в моем рассуждении не говорится о бесконечных последовательностях? И меня создается впечатление, что Вы спорите с неким абстрактным противником, не слушая аргументов реальных оппонентов... Впрочем, если Вас не убеждают абстрактные рассуждения - попробуйте посмотреть, как меняется длина файла при сжатии его последовательно разными архиваторами. Рано или поздно она начнет расти. Какой тест на случайность? Нет, не только энтропия. Перечислю часть: Хи-квадрат, Колмогоров-Смирнов, Омега-квадрат (закон распределения), автокорреляция, покер-тест, "тест собирателя купонов", спектр (взаимозависимость символов) и некоторые другие.
|
| 68. Alexzander, 16.01.2002 09:27 |
цитата: На мой взгляд, не совсем верно - будет использован не язык мышления людей (как разархиватор), а библиотека функций, понятий, алгоритмов и прочей упорядоченной, и не очень, информации, используя которую (неким способом - "языком программирования человека"), мы получим закодированную в этих строках информацию. Результат таков - сколько людей, столько и языков программирования, столько же методов, столько же и результатов (выходных данных). Значит, либо заархивированно было с потерями (которые заполняются каждым лично в меру своих способностей), либо архив правильный, да только разархиватор у каждого свой - все равно что некий архив *.archive разархивируют раром, зипом и пр. и в каждом случае получают некий разумный результат. 2 ALL: И еще. Доказательство о пределе сжатия данных. Аксиома: сжатие без потерь предпологает, что каждому исходному сообщению соответствует одно единственное сжатое сообщение, и каждому сжатому сообщению соответствует одно единственное несжатое сообщение. Допустим мы имеем возможность сжать любое сообщение любой длины до одного байта. Мы знаем, что уникальных, или неповторимо разнообразных, сообщений может быть бесконечно много. Значит и сжатых сообщений тоже бесконечно много. Соответственно сжатие до одного байта противоречит аксиоме. Соответственно предел сжатия находится выше одного байта всегда! минимум - два байта (первый номер функции в библиотеке функций архиватора, второй - базовое значение, по которому эта функция выдает поток данных полностью идентичный исходному сообщению). Как вам? (сорри, если напостил глупости, я не математик и даже не программист... я больше философ) |
| 69. Tsykunov, 16.01.2002 10:12 |
Ahf Слышал. Не они первые об этом заявляют. Я так понимаю, если программный код состоит из реализаций алгоритма и интерфейса, то сделать продукт при готовом алгоритме очень просто. Где продукт? Или это демонстрация намерений с целью урвать инвестиций? Вообще, лучший способ проверить - сходить в US Patent and Trademark Office www.uspto.org или на зеркало какое поудобнее и посмотреть, что они конкретно запатентовали. Сходите, подЕлитесь. А кто-то ведь действительно напишет такое........ |
| 70. Vladimir Rybinkin, 16.01.2002 10:47 |
YAL цитата:А те, от которых зависит величина траффика, эти деньги ПОЛУЧАЮТ. ИМХО, траффик при желании давно можно было уменьшить раз в 10. Tsykunov цитата:Я тоже (совсем для других целей). Жмет действительно неплохо (и "бесплатно" цитата:Согласен, пора конструктивно. Где продукт? Или это демонстрация намерений с целью урвать инвестиций? цитата:Верно и для архиватора (даже супер). |
| 71. Lionking, 16.01.2002 11:30 |
Tsykunov Хаффман и LZ - это не языки, а форматы; я имел в виду язык, который их описывает (в колмогоровской сложности фигурирует алгоритм, создающий данный файл - по сути дела self-extract архив - так вот язык, на которой этот алгоритм написан, фиксирован; дальше уже можно на нем реализовывать свои языки и методы - ценой увеличения архива на длину соответствующего кода). Hlad В колмогоровскую сложность размер распаковщика входит, так что никто про него не забывает. Overdream Всяческие разговоры про эргодичность, энтропию и т.д. применимы к множеству файлов и для размышлений о средних значениях, но ничего не говорят о конкретном файле. Последовательность из заданного числа знаков числа пи весьма случайна с их точки зрения, однако при правильно подобранном методе упаковки (алгоритм генерации числа пи + номера первого и последнего знаков) размер архива будет расти логарифмически от размера исходного файла. |
| 72. IronPeter, 16.01.2002 11:35 |
rGlory Какие еще бывают алгоритмы? Хм... То, что язык состоит из одинаковых слов, которые можно кодировать другими словами - это одна абстракция. Вторая абстракция - числовые данные, которые мало меняются по времени. То есть каждый предыдущий символ отличается от последующего в среднем ненамного. Тоже можно сжимать регулярным образом. Tsykunov Скажите, если написать алгоритм (на новом языке), сжимающий nnn.rar на 20%, - это будет обходом фундаментальных ограничений? Нет. Я могу сжать один конкретный файл nnn.rar до одного бита, загнав этот файл в текст разархиватора. Я не против сжатия естественных данных. Скажем, mp3 файлов. Скажу почему. Думаю, что вполне можно сжимать звук (с потерями), основываясь на особенностях человеческого уха и строении Ровно так, как для кодирования изображения достаточно RGB данных, хотя длина волны в видимом диапазоне меняется непрерывно. |
| 73. Enot, 16.01.2002 12:17 |
IronPeter Нет. Я могу сжать один конкретный файл nnn.rar до одного бита, загнав этот файл в текст разархиватора. Нельзя сжать все *.rar файлы. Тогда, по тем же причинам, можно и RLE пользоваться. Речь идет не о сжатии всех-всех-всех, а о хорошем сжатии...эээ....в среднем, что ли. Почему-то же мы считаем RAR "хорошим" архиватором. Потому что он на одних и тех же наборах данных дает результаты не хуже, чем тот же Zip. |
| 74. Harkonnen, 16.01.2002 12:41 |
Alexzander Об этом я и говорю, что для детерминированности выбранного алгоритма потребуется мегабитный ID. Tsykunov |
| 75. Overdream, 16.01.2002 12:43 |
Tsykunov Расскажите, пожалуйста, по эргодичность. идем на yandex.ru и по слову "эргодичность" и получаем ответы на все беспокоящие вопросы. Lionking |
| 76. Lionking, 16.01.2002 13:37 |
Overdream Само понятие эргодичности включает усреднение. Если у нас есть конкретный экземпляр - нет никакого усреднения и никаких вероятностей. |
| 77. ExtraLamer, 16.01.2002 13:55 |
Harkonnen ... кроме данных для функции требутеся и описание самой функции .... В этих 6ти строках я заархивировал 3Gb кода (или сколько там) архиватора, который бы так работал. И так получилось только потому, что формальный язык мышления людей способен эту информацию разархивировать с бешенным уровнем компрессии. Теперь мой пример Так вот вопрос пояснение: ИМХО любой архиватор получает на входе последовательность байт и дает другую на выходе, но к конечной последовательности следует прицепить алгоритм распаковки, что в сумме может дать совсем не уменьшение длины а увеличение. |
| 78. Lionking, 16.01.2002 15:08 |
ExtraLamer На процессоре можно остановиться - сказать, скажем, что это машина Тьюринга. |
| 79. Витька, 16.01.2002 21:27 |
Внесу свою лепту, с точки зрения теории Легко представить архиватор, сжимающий любой существующий файл до восьми байт. Таких файлов гораздо меньше, чем 1e19. Достаточно поместить в него их все, а в архив – порядковый номер. Однако, как правило, это не практично и бесперспективно. Рассмотрим самораспаковывающиеся архивы (sfx). Очевидно, что в этом случае предел сжатия данных существует. Достаточно (наплевав на теорему (аксиому) Черча (Тьюринга)) перебрать все sfx начиная с самого маленького. Этот предел зависит от процессора и OS, для которых создаётся sfx. Впрочем, переход от одного варианта, к другому может изменить размер архива не более, чем на соответствующую константу, независящую от размера и вида архивируемого файла. Ведь всегда возможен фиксированного размера интерпретатор первого варианта (процессор, ОS) на втором. Эта добавка (константа), конечно может быть весьма велика, особенно, если второй вариант реализует сжатие до восьми байт из предыдущего примера, однако, для реальных случаев – она мала. Обычно, рассматриваются варианты сжатия с потерей или без потери. На мой взгляд, для картинок, видео, аудио – более эффективны варианты с приобретением. То есть, когда устраняются шумы, и используется известная информация об отображаемых объекта. Музыка -> ноты, музыкант и пр.; Видео -> артисты, сценарий. Шумы можно подмешивать на этапе распаковки. Никто и не заметит. |
| 80. Tsykunov, 17.01.2002 09:04 |
Нет скоростей выше Скорости Света, и Мухаммед – пророк Его. Уважаемые Евгений Машеров и другие приверженцы теорий невозможности! И меня создается впечатление, что Вы спорите с неким абстрактным противником, не слушая аргументов реальных оппонентов... Согласен, у меня тоже. Мы с Вами играем на разных полях, Вы на "Эйнштейне", я на "Ньютоне". Я забиваю Вам гол, а Вы этого даже не замечаете. Перейдите на мое поле и забейте гол мне! .. универсального алгоритма сжатия не может существовать. Положим, что таковой есть, сжимающий строку в М бит в строку длиной не более М-1 бит. Но всех строк длиной М-1 меньше, чем строк длиной М (доказывается суммированием геометрической прогрессии). Следовательно, существует образ, у которого не менее двух прообразов, то есть такой сжатый сигнал, по которому исходный не восстанавливается НЕ ПРАВИЛЬНО. Вы исходите из того, что число N строк M-1 зависит от M-1, то есть от длины строки в битах N=2^(M-1). Я говорю, что N(M-1)<>2^(M-1). Доказываю. N(M)=2^M (c этим согласны?). Каждый бит в M увеличивает N(M) вдвое. Каждый бит в M-1 увеличивает N(M-1) более чем вдвое. Иначе говоря, каждый реальный бит (в предыдущем предложении – формальный) имеет в строке M-1 размер (длину) меньше 1. Слышу, слышу Ваше негодование. Не удивляйтесь, именно так выглядит Ваша теорема на моем поле. Доказываю. Все строки M при M=2 - 00, 01, 10, 11. Передайте мне набор данных, состоящий из всех строк M. Например, 10,00,01,11. Сжимаю - 01100. Это 5 формальных бит или 8 реальных. (здесь M-1 означает просто >M) Если Вы передадите мне набор данных 10,00,10,11, я не смогу сжать ее тем же алгоритмом, но Вы НЕ передали мне ВСЕ строки M! Где строка 01? Если Вы передадите мне кроме набора данных 10,00,01,11 еще строку, например 10, Вы снова нарушите свои же условия и я не смогу применить мой алгоритм по объективной причине. Цитирую: Вы даже не заметили, что в моем рассуждении не говорится о бесконечных последовательностях?. В Вашем рассуждении – бесконечные последовательности – граничные условия, а Вы их просто не замечаете. Они не переносятся на поле моей теории, поэтому Ваша теория ошибочна на моем поле и верна на Вашем. (Поэтому Вы и проигнорировали мою просьбу опровергнуть мои доказательства – Вы отвергли их без рассмотрения.) Дальше мне остается только цитировать самого себя, это глупо. Добавлю, что моя теория верна при любом М>2 (это очевидно?), и при некоторых М появляется интервал, в котором слегка модифицированный алгоритм сжатия эффективен и при нарушении условия передачи ВСЕХ строк.
IronPeter и Lionking IronPeter |
| 81. Евгений Машеров, 17.01.2002 09:36 |
Tsykunov 1. Боюсь, что Ваше доказательство - набор слов. Судя по всему, Вы рассматриваете задачу, не имеющую ничего общего с реальным сжатием. Для него алгоритма, всегда сжимающего без потерь, не существует. 2. Каков Ваш опыт работы с реальными архиваторами? Насколько я знаю, многие начинают с идеи комбинировать несколько архиваторов, дабы получить суперсжатие - и после первых же опытов просвещаются. Неужели Вы обошли этот этап? 3. 20% выигрыш при сжатии РАР - это Ваш реальный результат? Тогда снимаю шляпу. Или все же фантазии? 4. 5% разница в степени сжатия - да и большая - наблюдается у многих промышленных архиваторов. Она не определяет их успех. 5. Рекомендую ознакомиться с состянием дел, например, в ФИДО-конференции RU.COMPRESS (Они доступна , например, и через www.spektrum.org.ru или другие точки входа) 6. Обычно говорят не о случайности последовательности, а о информации, в ней содержащейся. Когда информация на один, хранимый в байте, символ достигает 8 бит - сжимать бессмысленно. |
| 82. Tsykunov, 17.01.2002 10:39 |
Евгений Машеров 1. Обзывать доказательство набором слов неконструктивно. Не уходите в кусты. Опровергните. 2.Все универсальные архиваторы rar, zip, arj, etc.. суть одно и то же. Я прекрасно осознаю, что 3*rar~~rar+zip+arj и хуже, чем один rar 3. Я писал, что алгоритма у меня нет, но не думаю, что его не может быть. 4.Раз Вы смогли ее наблюдать - они есть на рынке - о чем я и говорил. 5.Знакомлюсь 6.Ерунда. Информация в наборе данных есть в системе ДАННЫЕ-ПРИЛОЖЕНИЕ, в системе ДАННЫЕ-АРХИВАТОР этой информации уже нет. (bmp-Imageviewer и bmp-rar) |
| 83. Lionking, 17.01.2002 11:19 |
Tsykunov По идее, при разбиении/склейке колмогоровская сложность практически не меняется (если пренебречь информацией для передачи позиции разбиения) - в конце концов это те же самые данные. |
| 84. Vladimir Rybinkin, 17.01.2002 11:50 |
Витька цитата: Tsykunov цитата:Я вообще не сжимал. Я анализировал данные в БД. Сжатие получилось само собой (раза в полтора). цитата:Не понял! А разве из существующих ни один не годится (хотя бы с некоторыми модификациями)? Я думал, что задача стоит, по большому счету, в разбивке исходника на куски, которые сжимаются разными алгоритмами, в т.ч. и известными... цитата:Оптимист - плохо информированный пессимист Евгений Машеров цитата:А разве сам факт наличия многих архиваторов не говорит, что в этом что-то есть? Это что, бесперспективное занятие? цитата:О! Вот с этим - поспорю! Что есть информация? Мне кажется, что даже кортеж отношения байт на 200, скажем, может быть представлен меньше, чем одним битом Tsykunov цитата: |
| 85. Lionking, 17.01.2002 12:33 |
Vladimir Rybinkin Факт наличия многих архиваторов говорит скорее о том, что во-первых нет общего критерия "хорошего компилятора" - кому-то нужно быстрее, кому-то - сжимать посильнее, кто-то еще хорошее криптование хочет вдобавок; во-вторых, развитие технологии архивирования еще продолжается (частично из-за роста скорости/памяти комьютеров - попробовал я недавно распаковать не особо большой tar.bz2 на 4M оперативки, после получаса дрыгания винтом таки решил перепаковать его в gz на другой машине). |
| 86. Alexzander, 17.01.2002 12:57 |
Я так вижу, что идея ИИ (мелькавшая в других ветках), маячит и здесь. Кто-нибудь может предположить, какую выгоду мы получим, если архиватор сможет сам разбивать файл на куски таким образом, чтобы каждый кусок можно было сжать своим методом (из уже имеющихся) макисмально эффективно? Очевидно, результат сжатия - это среднее из лучших результатов используемых методов. Значит нужно писать алгоритм эффективного разбиения файла на куски. Кто-нибудь может сказать - какие типы/виды данных каким методом сжимаются лучше всего? |
| 87. Overdream, 17.01.2002 13:00 |
Tsykunov Спасибо, за ценный совет. Не могли бы представить свою точку зрения на проблему в рамках темы? Я не считаю себя специалистом по компрешану и не готов ввалится в спор без дополнительного изучения проблемы. Но знаю, что там где есть траффик - нужны компрессоры, а это фактически везде... и как правило, там где они нужны - их нет... |
| 88. Tsykunov, 17.01.2002 14:41 |
Евгений Машеров Уклоняясь от дачи опровержения, Вы скрываете информацию от общественности и оставляете несчастного ламера тонуть в пучине его невежества и заблуждений. Lionking По идее, при разбиении/склейке колмогоровская сложность практически не меняется (если пренебречь информацией для передачи позиции разбиения) - в конце концов это те же самые данные. Набор данных X с К.сл.=x. Набор данных Z состоит из суммы двухсот X (нет не суммы, из последовательно записанных X) Вывод. К.сл. x становится вложенной для К.сл. z, которая вычисляется для функции z=1&1&….&1 и явна невелика. Таким образом, x никак не влияет на возможность сжимаемости Z, а влияет лишь на степень сжатия для неэффективного алгоритма , приложенного к Z или на сжимаемость (полагаю, что на степень, а не возможность) результата эффективного сжатия Z. Предлагаю обсудить возможность введения термина "колмогорозависимость" для оценки эффективности сжатия системы 'данные-алгоритм сжатия' по одному из возможных параметров. Vladimir Rybinkin |
| 89. Евгений Машеров, 17.01.2002 14:41 |
Tsykunov 1. Вот Ваше доказательство: "Доказываю. Все строки M при M=2 - 00, 01, 10, 11. Передайте мне набор данных, состоящий из всех строк M. Например, 10,00,01,11. Сжимаю - 01100. Это 5 формальных бит или 8 реальных. (здесь M-1 означает просто >M) Если Вы передадите мне набор данных 10,00,10,11, я не смогу сжать ее тем же алгоритмом, но Вы НЕ передали мне ВСЕ строки M! Где строка 01? Если Вы передадите мне кроме набора данных 10,00,01,11 еще строку, например 10, Вы снова нарушите свои же условия и я не смогу применить мой алгоритм по объективной причине. " Я вижу, что Вы не поняли моего утверждения. Вы показали, что перестановку из 2^M элементов можно закодировать меньшим M числом бит. Но это выполняется лишь для малых М, поскольку число перестановок составляет (2^N)!, где знак ! суть факториал. Логарифм факториала будет порядка M*2^M, что при больших М возрастает весьма быстро. Я же утверждаю, что не существует алгоритма сжатия без потерь, который способен сжать каждую строку длины М. Как видим, мое утверждение отлично от Вашего. Доказуется оно весьма просто: Положим, что такой алгоритм существует. Тогка каждой строке длины М от сопоставляет сжатую строку меньшей длины. Но мощность множества всех таких строк равна SUM(i=0,M-1) 2^i=2^M-1. Таким образом, согласно принципу Дирихле, двум исходным строкам сопоставятся одна и та же сжатая, так что по ней исходная восстановлена быть не может. 2. Зачем делают разные архиваторы? В основном ища компромисс между степенью сжатия, скоростью работы и объемом памяти. А также реализуя удобства и прибамбасы - и демонстрируя свою квалификацию. 3. У Вас есть что-то работающее? Не откажите преоставить для ознакомления. Мой опыт в компрессии, увы, мал - делал Хаффмана и РЛЕ, знаком с арифметическим кодированием и LZW, немного имел дело с JBIG - это что касается без потерь. С потерями - работал с вейвлетным и ДКП-сжатием (ADV601 и JPEG), спектральные методы, неравномерное квантование , ADPCM. Не более того. Так что если что-то столь новое - буду рад узнать... Vladimir Rybinkin Если появится архиватор, сжимающий информацию до 8 бит на байт - берем ГСЧ, рассматриваем его выход, как вход архиватора - и читаем все возможные шедевры человеческой мысли... (Лет 25 тому были очень популярны сочинения братьев Стругацких на магнитной ленте - вот как-то за рюмкой кофе обсуждали мы, как хранить их незаметно для начальства, а диски в то время были на 7.25Мбайт; вот и задумались о создании архиватора специально для них - и обнаружили, что идеал-архиватор должен быть способен писать если не их новые произведения, то, по крайней мере, хорошие пародии...) Overdream Т.е. ни GIF, ни JPEG Вы в Интернете не используете, модем Ваш лишен протоколов с компрессией, по телефону Вы говорите исключительно по полевому? |
| 90. ThreeDHead, 17.01.2002 21:06 |
сори |
| 91. Dmitriy M. Reznitskiy, 17.01.2002 21:10 |
ThreeDHead Хорошо, пусть так. Пусть файл занимает 1Мб Это 8388608 бит. Различных картинок, как ты описал подобной длины может быть 2^8388608 Сам модсчитаешь, сколько это? И это - только 1Мб. |
| 92. ThreeDHead, 17.01.2002 21:49 |
сори |
| 93. Dmitriy M. Reznitskiy, 17.01.2002 22:12 |
ThreeDHead Задача - заархивировать 1Мб. Какое разбиение? цитата: |
| 94. Overdream, 17.01.2002 22:35 |
Евгений Машеров Т.е. ни GIF, ни JPEG Вы в Интернете не используете, модем Ваш лишен протоколов с компрессией, по телефону Вы говорите исключительно по полевому? Дело в том, что это Ваше виденье проблемы... Трафик бывает не только сетевой, если Вам это интересно... |
| 95. ThreeDHead, 17.01.2002 22:48 |
сори |
| 96. Dmitriy M. Reznitskiy, 17.01.2002 22:54 |
ThreeDHead Я тебе про более жизненную вещь говорю. Теорию можно навести любую |
| 97. Tsykunov, 18.01.2002 08:17 |
Евгений Машеров Другое дело, Евгений! Спасибо. По существу Вашего доказательства: неправильно. Вы показали, что перестановку из 2^M элементов можно закодировать меньшим M числом бит. Показал. И это выполняется. Но это выполняется лишь для малых М, поскольку число перестановок составляет (2^N)!, где знак ! суть факториал. А тут сразу два неверных утверждения. Почему это значение переменной ("выполняется"), вычисляемое по некой функции должно считаться верным для одних аргументов и неверным для других? Где в этой функции пределы или еще что? А каким отношением у Вас связаны "выполняется" и "число перестановок"? Ваша формула выглядит так: "Выполняется"=f("число перестановок"), где "число перестановок"=(2^M)! Что это за f ? Так вот, "выполняется" и "число перестановок" никак не связаны. Это ошибка. Следовательно, "выполняется" не зависит от М. Я сожму Вам ЛЮБУЮ перестановку для любого М. Вы опять попались на своих граничных условиях, Вы передали мне строку из всех М – это одна перестановка, и тут же передаете мне еще одну – вот откуда у Вас вылез факториал. Хотя я сожму и вторую Вашу перестановку-строку и третью и (2^M)!-ную. А логарифм здесь вовсе не причем. Далее. Я же утверждаю, что не существует алгоритма сжатия без потерь, который способен сжать каждую строку длины М. Опа! А раньше Вы утверждали, что нельзя сжать ВСЕ строки М, а теперь, что КАЖДУЮ. Вот цитаты: В этом случае универсального алгоритма сжатия не может существовать. Положим, что таковой есть, сжимающий строку в М бит в строку длиной не более М-1 бит. Но всех строк длиной М-1 меньше, чем строк длиной М (доказывается суммированием геометрической прогрессии). Следовательно, существует образ, у которого не менее двух прообразов, то есть такой сжатый сигнал, по которому исходный не восстанавливается. .. Это доказательство невозможности универсального сжатия. Число всех строк длины М-1 равно 2^M-1. Вы писали "..всех строк длиной М-1 меньше, чем строк длиной М..", подразумевая "..чем ВСЕХ строк длиной М". Если Вы не подразумевали это, строже формулируйте. Но я считаю, что именно это и предполагалось. Теперь Вы поменяли свои граничные условия. И снова в них Ваше утверждение верно. Действительно, нет алгоритма, способного сжать каждую из строк длиной М. Поэтому я и не проверял Ваше доказательство ЭТОГО утверждения. Ведь, это и есть принцип Дирихле? Чем отличаются набор данных, содержащий ВСЕ строки длиной М, от строки длиной М (любой или каждой), imho понятно. Вот если Вы передадите мне не каждую строку М, как отдельный набор данных, подлежащий сжатию алгоритмом, а каждую строку М, как единый набор данных, то есть ВСЕ строки М и не больше, это станет в поле моего алгоритма ВСЕМИ строками N - одной из перестановок. Но так мы, как кенгуру, поскачем к бесконечным последовательностям. Однако, я утверждаю, что и Ваши новые граничные условия не совпадают с моими. Почему - ниже. У нас с Вами самая продуктивная дискуссия, не так ли? Пусть в ней родится истина. Опровергните меня снова, пожалуйста. 2All |
| 98. Евгений Машеров, 18.01.2002 10:38 |
Overdream Позвольте получить разъяснения, какой еще бывает трафик, кроме возникающего в коммуникационных сетях? (Да, есть еще на дорогах - но там применение компрессии несколько затруднительно) Tsykunov |
| 99. Tsykunov, 18.01.2002 11:04 |
Евгений Машеров блины - что это такое? Алгоритм - через несколько минут. А Вы бы могли "декомпилировать" его самостоятельно из двух, приведенных мной примеров. А Overdream, видимо, учитывает трафик между флоппиком и саундкартой. Добавление от 18-01-2002 12:26: Евгений Машеров Например, 10,00,01,11. Сжимаю - 01100. - я. p.s. Простите за "несколько минут" – dialup… |
| 100. Overdream, 18.01.2002 13:11 |
Евгений Машеров Позвольте получить разъяснения, какой еще бывает трафик, кроме возникающего в коммуникационных сетях? (Да, есть еще на дорогах - но там применение компрессии несколько затруднительно) Не позволю. Сами догадаетесь, Вы уже на правильном пути, про дороги вспомнили... а если не вспомните, то ничего страшного - для Вас везде есть компрешн |
| 101. Tsykunov, 18.01.2002 13:38 |
Alexzander если архиватор сможет сам разбивать файл на куски таким образом, чтобы каждый кусок можно было сжать своим методом (из уже имеющихся) макисмально эффективно? Все известные мне алгоритмы разбивают файлы на куски неким образом. Например, на куски: первые 8 бит, вторые 8 бит …. А как разбить чтобы было круто (а не как обычно)– большой вопрос для меня. Все, кроме одного, а какого я скажу чуть позже. Надо подумать. |
| 102. Alexzander, 18.01.2002 13:55 |
Tsykunov Наверное дожен быть алгоритм анализа данных: видим текст - жмем алгоритмом для текста, ставим метку "здесь был текст", видим винарные данные - жмем другим алгоритмом, ставим метку "здесь были 0 и 1", видим bmp - жмем третьим алгоритмом и ставим метку "здесь была картинка". Мне интересно вот что: какие типы данных существуют, для которых есть одельные алгоритмы сжатия (текст, бинарные, еще какие?). Ну а про ИИ я сказал, потому что если разные типы данных встречаются внутри одного файла, то его надо правильно разбить на куски, т.е. должна быть встроенная функция оценки качества данных, а это уже близко к ИИ. |
| 103. Евгений Машеров, 18.01.2002 15:19 |
Tsykunov Уточните, что есть "Номер вхождения"? |
| 104. Tsykunov, 18.01.2002 15:48 |
Евгений Машеров Уточняю. Первая итерация 10 00 01 11 - Набор данных 00 01 10 11 - Вхождения каждой строки длиной 2 бита в набор данных записываем, где находится в наборе данных первая строка - 00 это второе вхождение в из четырех возможных - 01 исключаем его из набора данных Вторая итерация 10 01 11 - Набор данных 0 10 11 - Вхождения каждой строки длиной 2 бита в набор данных записываем, где находится в наборе данных вторая строка - 01 это второе вхождение в из трех возможных - 10 исключаем его из набора данных Третья итерация 10 11 - Набор данных 0 1 - Вхождения каждой строки длиной 2 бита в набор данных записываем, где находится в наборе данных третья строка 10 это первое вхождение в из двух возможных - 0 исключаем его из набора данных Итого выходной набор данных 01 10 0 Восстановление в обратном порядке. |
| 105. quest, 18.01.2002 16:01 |
Tsykunov Пять битов на кодировку 24 вариантов (число возможных перестановок из 4-х строк: 4!=24) - в самый раз! |
| 106. Tsykunov, 18.01.2002 18:21 |
quest True Добавление от 19-01-2002 07:39: Alexzander Добавление от 19-01-2002 12:00: Евгений Машеров |
| 107. quest, 19.01.2002 14:21 |
To All Как хорошо быть молодым и не слишком обремененным лишними знаниями! Но невольно вспоминается крылатое выражение: "Пессимист - это хорошо информированный оптимист" Для начала проанализируем алгоритм Tsykunov на предмет эффективности: Теперь о сжатии вообще. Пусть у нас есть некий алгоритм компрессии (архивации) последовательности битов длины N. Ессно, имеется и обратный алгоритм, который из образа исходной последовательности генерирует последнюю, т.е. - алгоритм разархивации (декомпрессии). Пора привести несколько фактов из теории представления двоичных функций. 1. Каждую двоичную функции f от n двоичных переменных можно представить (реализовать) контактной схемой (определения последней я не привожу, т.к. это не важно для дальнейшего); Обогатившись знаниями теории (и, как следствие, - потеряв некоторую долю оптимизма), вернемся к нашему декопрессору Если, как того требует условие компрессии, вся информация об исходной последовательности заключена в её образе после компрессии, наш алгоритм работает разумное время (значит, его сложность не растет экспоненциально) и учитывая, что двоичный сумматор тоже не отличается экспоненциальной сложностью, мы имеем реализацию двоичной функции, закодированную последовательностью битов длины M, где М - длина сжатой последовательности. Таким образом, не только существуют последовательности битов, которые нельзя "сжать", но и таких последовательностей большинство (см. п.7 "теории")! А именно, - это те последовательности, которые представляют собой двоичные фунции максимальной сложности по Шеннону. Реальные архиваторы работают с достаточно узкими классами последовательностей, причем такими, которые имеют заведомо малую сложность. В основном, - используются статистические закономерности в этих последовательностях, обнаруженные архиваторами при анализе. А последовательности максимальной сложности отличаются тем, что в них невозможно обнаружить какие-либо статистические закономерности - именно этот факт лежит в основе определения случайности через сложность алгоритмов (см. II том Кнута). В заключении пролью бальзам на душу оптимистов: несмотря на то, что доказано, что "почти все" двоичные функции имеют максимальную сложность, доселе не известно общее описание (для произвольного n) ни одной такой функции, хотя подозрения имеются... Успехов в поиске суперэффективных алгоритмов сжатия! |
| 108. PetrZloy, 20.01.2002 01:30 |
вот почитал я тут последнюю страницу, (и последнее сообщение в частности) и подумал: наверное если взять посл-сть - число Pi, думаю что эта последовательность имеет весьма высокую сложность... а запаковать ее можно довольно просто - правда в понятиях "не совсем двоичных"... Что вы по этому поводу думаете? (возможность ввода "новых понятий" и стоимость такого "введения" (в смысле размера))
Добавление от 20-01-2002 03:56: First of all: я говорю об архивации без потерь; рассматриваю практическое применение, а не теорию. Пусть кто нибудь скажет только, что последовательность бит в MP4 файле не отличается от "случайной" и что нельзя ее запаковать. То есть теоретически - не отличается, может весь фильм и есть белый шум - но на практике такого не бывает. Поэтому я хочу рассмотреть практическое применение, а не теорию (теорию конечно тоже, но во имя практики). Tsykunov Допустим я тебе даю последовательность битов. Ты, если я не ошибаюсь, говорил что "сожмешь" любую конкретную конечную последовательность, которую тебе дадут. Чтобы _всем_ (а не только тебе) ее можно было "разжать" ты должен кроме результата сжатия передать им алгоритм распаковки. Если размер результата сжатия + размер алгоритма окажется больше исходного - то вся проделанная работа не нужна. Не уверен что возможно сжать любую конкретную последовательность так, чтобы суммарный размер результата и алгоритма для распаковки был меньше по размеру чем исходная последовательность. Допустим, что это возможно. Если так, тогда к (полученному результату + алгоритму) можно заново применить такую процедуру и получить новый результат и новый алгоритм. и в конце концов сжать все до 1 бита... Или нет, не до одного бита, но до какой то определеннлй величины, равной к примеру количеству проделанных таких процедур, умноженному например на 2 (это например, может на 8 или на 1 - не важно). Чем длинней последовательность и случайней, тем сложнее придумать достаточно небольшой по размеру алгоритм распаковки. Можно разбивать исходную последовательность на куски - уменьшится время поиска алгоритма сжатия/разжатия, однако вероятность его нахождения увеличится(?) Можно написать программу-СверхАрхиватор - эта программа должна генерировать для заданной последовательности следующую пару объектов: архиватор и разархиватор. Эта пара должна удовлетворять требованиям: размер результата, сгенеренного архиватором + размер разархиватора должен быть меньше исходного размера. Услуги такого СверхАрхиватора предлагаешь ты, когда говоришь что сожмешь любую последовательность бит, которую тебе дадут. Евгений Машеров Lionking |
| 109. Tsykunov, 20.01.2002 05:50 |
guest Весьма благодарен за столь подробное заявление. Опровергаю Вашу критику моего алгоритма. 1. Сей алгоритм "сжимает" не строки длины N, а строки длины N*2^N; Верно. Как я неоднократно уже заявлял, мой алгоритм сжимает ВСЕ строки длиной N – набор данных из ВСЕХ строк длиной N общей длины N*2^N. Этим алгоритмом я пытаюсь опровергнуть заявление Евгения о невозможности сжатия ВСЕХ строк длиной N. Я ни разу не заявлял, что имею алгоритм, который сжимает КАЖДУЮ отдельную строку длиной N. В тексте от 18.01 08.17 я сделал предположение о возможности сжатия КАЖДОЙ строки длиной N, если они сжимаются не по отдельности, а в наборе данных. Могу подтвердить это алгоритмом, с той разницей, что этот алгоритм не сожмет произвольный набор данных, а лишь некоторые из них. То есть он не универсальный (иначе я бы сжал им что угодно), а применим для отдельных случаев. 2. Алгоритм "сжимает" не все 2^(N*2^N) строки длины N*2^N, а только (2^N)! из них; Верно. Наборов данных, содержащих ВСЕ строки длиной N, как раз (2^N)! 4. Алгоритм сжимает не любые (2^N)! строк длины N*2^N, а только те, что являются перестановками всех 2^N строк длины N Верно. По тем же причинам. 3. "Сжатием" считается случай, когда длина выходной последовательности алгоритма меньше log2((2^N)!), Неверно. Давайте не будем усложнять. Сжатием строки, состоящей из ВСЕХ строк длиной N бит и общей длиной N*2^N бит, считается случай, когда длина выходной последовательности меньше N*2^N бит. Не нужен здесь логарифм. что не выполняется никогда а уже начиная с N=3 ("сжатая" по этому алгоритму последовательнось в этом случае будет длиной 17 бит, в то время как число перестановок 8-ми элеменов равно 40320 и меньше, чем 2^16) не достигается и равенства. Пусть за нас факты говорят. N=3 бита Первая итерация 011 101 110 000 010 100 001 111 - Набор данных 000 001 010 011 100 101 110 111 - Вхождения каждой строки длиной 3 бита в набор данных записываем, где находится в наборе данных первая строка - 000 это 4 вхождение в из 8 возможных - 011 исключаем его из набора данных 2 итерация 011 101 110 010 100 001 111 - Набор данных 00 010 011 100 101 110 111 - Вхождения каждой строки длиной 3 бита в набор данных записываем, где находится в наборе данных 2 строка - 001 это 7 вхождение в из 7 возможных -110 исключаем его из набора данных 3 итерация 011 101 110 010 100 111 - Набор данных 00 01 100 101 110 111 - Вхождения каждой строки длиной 3 бита в набор данных записываем, где находится в наборе данных 3 строка - 010 это 4 вхождение в из 6 возможных -110 исключаем его из набора данных 4 итерация 011 101 110 100 111 - Набор данных 00 01 10 110 111 - Вхождения каждой строки длиной 3 бита в набор данных записываем, где находится в наборе данных 4 строка - 011 это 1 вхождение в из 5 возможных -00 исключаем его из набора данных 5 итерация 101 110 100 111 - Набор данных 00 01 10 11 - Вхождения каждой строки длиной 3 бита в набор данных записываем, где находится в наборе данных 5 строка - 100 это 3 вхождение в из 4 возможных -10 исключаем его из набора данных 6 итерация 101 110 111 - Набор данных 0 10 11 - Вхождения каждой строки длиной 3 бита в набор данных записываем, где находится в наборе данных 6 строка - 101 это 1 вхождение в из 3 возможных - 0 исключаем его из набора данных 6 итерация 101 110 111 - Набор данных 0 10 11 - Вхождения каждой строки длиной 3 бита в набор данных записываем, где находится в наборе данных 6 строка - 101 это 1 вхождение в из 3 возможных - 0 исключаем его из набора данных 7 итерация 110 111 - Набор данных 0 1 - Вхождения каждой строки длиной 3 бита в набор данных записываем, где находится в наборе данных 7 строка - 110 это 1 вхождение в из 2 возможных - 0 исключаем его из набора данных Итого: выходная строка 011 110 110 00 10 0 0 - 15 бит< N*2^N=3*2^3=24 бита |
| 110. PetrZloy, 20.01.2002 10:52 |
И вообще вот реальный пример того, что нынешние архиваторы, в частности рар "плохо работают": Берем картинку "banner-88x31-rambler-gray2.gif" (внизу этой хтмл-ки каждый может ее увидеть) сжимаем ее раром. Что нам покажет рар? да большой кукиш. Он ни с какими установками не смог ее хоть на 1% уменьшить. Посмотрим на график частот встречаемости символов в этом гифе: Ну сразу видно что хоть чуть чуть, но запаковать можно! Еще пример: я беру такой файл, который рар хорошо пакует. Начинаю прибавлять к каждому байту его номер. (то есть потом я могу отнять эти номера и восстановить оригинал). При этом из такого и у рара из второго файла получается архив в два раза больше чем из оригинала. Рар не умеет обнаруживать даже такую простую закономерность в файле. А как же он сможет запаковать сгенеренный по паре параметров белый шум? никак. он не поймет никогда в жизни что его можно запаковать. (на картинках указано значение правой границы в графиках; в каждом графике 256 значений - верхнее соответствует нулевому байту; ) |
| 111. Tsykunov, 20.01.2002 16:03 |
PetrZloy Совершенно согласен с Вашими заявлениями. (Даже скучно как-то) За небольшим исключением, касаемо Вашего обращения ко мне лично. Коротко и без оправданий (Вам ведь лень прочитать всю тему). Суперархиватор не будет жать все подряд до нуля. Он ограничен набором алгоритмов, вложенных в него создателем ( или эффективностью системы самообучения, опять-таки от программиста) и временем (рас)паковки, зависящим от вычислительной мощности. При этом декомпрессия займет много меньше времени, чем компрессия. Поэтому фильм будут сжимать на суперкомпьютере, а для распаковки хватит и обычной воркстанции. По закону Мура давка будет расти. Итак, все оппоненты молчат? Добавление от 20-01-2002 16:08: Ну сразу видно что хоть чуть чуть, но запаковать можно! |
| 112. PetrZloy, 20.01.2002 16:38 |
вобщем-то не строго видно, может только этого одного графика и маловато для упаковки (а может и достаточно(??)), но график то хороший! |
| 113. quest, 20.01.2002 16:49 |
Tsykunov Опровергаю Вашу критику моего алгоритма. Вы опровергаете самостоятельно (Вами) придуманную критику! Напомню: Евгений Машеров (#98, 18-01-2002 10:38) просил Вас "Прошу алгоритм, который для произвольной перестановки М символов строит сжатую последовательность длины (в битах) менее М.", на что Вы разразились алгоритмом (#104, 18-01-2002 15:48), относительно которого я и привел свои комментарии. В этом алгоритме Вы перестановку 4-х символов "сжали" до 5 бит, что нарушает условия задачи. Дабы сразу отсечь возражения с манипуляциями терминами уточню: в Вашем алгоритме используется перестановка строк длины 2 бита, которых ровно 4, и именно эти четыре строки являются символами в задаче Евгения Машерова. Вы произвольно изменили постановку задачи ("Неверно. Давайте не будем усложнять.") и плавно перешли к совершенно иной: Сжатием строки, состоящей из ВСЕХ строк длиной N бит и общей длиной N*2^N бит, считается случай, когда длина выходной последовательности меньше N*2^N бит. Не нужен здесь логарифм. Извините, но это совсем другая задача, более того - неинтересная потому, что имеет тривиальное решение. Это просто кодирование перестановки из 2^N символов. А логарифм пригодится: для кодирования перестановки из 2^N символов потребуется log((2^N)!) бит. Не нужно быть ни Энштейном ни Ньютоном, чтобы просто пронумеровать перестановки и объявить номер перестановки её "сжатием". Пусть за нас факты говорят. Факты говорят, что Вы опять передернули: 011 101 110 100 111 - Набор данных Это на каком основании Вы закодировали один из 5 вариантов двумя битами? Только потому, что в подобранной Вами перестановке на этом этапе строка 011 оказалась на первом месте? А если она была бы на пятом? Беда в том, что апосля хрен раскодируешь! Откуда Вы, guest , взяли число 40320, я не знаю. Странно. Вы сами меня процитировали: "число перестановок 8-ми элеменов равно 40320", а теперь утверждаете, что не знаете... Как у Вас с русским языком? Пока меня никто не опроверг (по крайней мере, последнее слово сказано мной). Дык, таким способом Вы можете и вечный двигатель сконструировать! Как первого, так и второго рода... Ответьте на вопрос: как осуществлять арифметические операции с шенноновской сложностью? Точно так, как и с любой другой мерой! Любой набор данных (строка) с max шенноновской сложностью может входить в другой набор данных или разбит на части, где эта сложность будет меньшей, и набор данных может быть сжат. Не согласны? Как Вам сказать поласковей?... Сия фраза - просто находка для любых дальнейших манипуляций. Следствием Шенноновкой теории сложности двоичных функций является тот факт, что для почти всех последовательностей битов НЕ СУЩЕСТВУЕТ self-экстракторов этих последовательностей длины меньших, чем сами последовательности. Можете сколько угодно опровергать это утверждение, но ИМХО конструирование вечных двигателей - более продуктивное занятие. To All Жду желающих... |
| 114. IronPeter, 20.01.2002 16:53 |
Следствием Шенноновкой теории сложности двоичных функций является тот факт, что для почти всех последовательностей битов НЕ СУЩЕСВУЕТ self-экстракторов этих последовательностей длины меньших, чем сами последовательности ИМХО это следствие здравого смысла. Нельзя посадить десять кроликов в две клетки так, чтобы в каждой клетке было не больше одного кролика. |
| 115. quest, 20.01.2002 17:10 |
IronPeter ИМХО это следствие здравого смысла. А у Шеннона здравого смысла не отнять, в отличии от некоторых из присутствующих... |
| 116. Vladimir Rybinkin, 20.01.2002 17:32 |
quest цитата:Не. ну какая провокация! Я НЕ занимался архивацией, но мне, как алгоритмисту, явно брошен вызов... 10 баксов я-то найду Ok, подумаем |
| 117. PetrZloy, 20.01.2002 18:57 |
quest Заманчивое пари предлагаете... Так соберете по десятке и пропадете... А вы где проживаете? В москве небось... какая гарантия что если выиграю получу свою штуку? Интересно, вы уже продумали как будете генерить эту последовательность? |
| 118. Vladimir Rybinkin, 20.01.2002 19:02 |
PeterZloy Элементарно. Вот последовательность: "AB". Нужны еще гарантии? |
| 119. quest, 20.01.2002 19:14 |
PetrZloy Vladimir Rybinkin Насчет 1Mb принимается... Гарантии. Ну раз слова мало, то предлагайте схему, которая Вас устроит. Причем учтите, что я рискую в 100 раз больше |
| 120. Vladimir Rybinkin, 20.01.2002 19:30 |
Не, мне гарантии не нужны, я их сам найду Смело, уважаю! |
| 121. PetrZloy, 20.01.2002 19:40 |
Vladimir Rybinkin я не понял! Элементарно. Вот последовательность: "AB". можно пояснить? Естественно, 10 мб запаковать легче чем 1 мб. Так что лучше 10! Мне вообще то для начала решить эту задачу применительно к просто сгенеренной функцией random() - чтобы так сказать время выиграть - ведь не с нуля же начинать. Разлбраться поплотнее в существующих алгоритмах - хафмане, етс. Мне вот кажется в 10 мб-й посл-сти будут повторяющиеся данные, может реверсивно, может еще как то - ... В общем я пока не готов к такому пари. А ответ на вопрос буду ли готовиться - скорее нет чем да, к сожалению... |
| 122. IronPeter, 20.01.2002 19:44 |
quest Однако рискуете... Очень думается, что на байтик-два сжать удастся. Добавление от 20-01-2002 19:46: Вероятность того, что рандомный файл можно сжать на один байт, равна приблизительно 1/256. В качестве условия надо ставить сжимаемость на несколько байт. |
| 123. Vladimir Rybinkin, 20.01.2002 19:54 |
PetrZloy Минимальный размер экзешника (точнее - .com) - 1 байт (retn). Даю файл в 1 байт - задача не имеет решения. IronPeter |
| 124. PetrZloy, 20.01.2002 20:16 |
Vladimir Rybinkin Ну так речь шла о файле "до 10 мб". Вернее было бы сразу определить 10 мб или 1 мб или еще что. То что 1 или 2 или даже 10 байт неполучится сжать это понятно. А к чему это вы ко мне так обратились? я что, обещал сжать посл-сть любой длины что ли? что то не припоминаю. Давайте если с самого начала шла речь о 10 мб то определимся с цифрой 1024*1024*10=10485760 байт и небудем больше об размере. Кстати сжать данный мегабайтный файл до 99% -= это очень сильное заявление. Давайте тут тоже определимся - пусть сжатие будет минимум на 1 байт (ессно учитывая анпакер) Добавление от 20-01-2002 20:29: Ну если вы, Vladimir Rybinkin такой крутой - то вам можно поставить и такие условия, как вы говорите: задана последовательность; длина - 1 мб; надо сжать до 99%. Тут можно пожалуй больше чем штуку ставить. IronPeter Добавление от 20-01-2002 20:30: Ну если вы, Vladimir Rybinkin такой крутой - то вам можно поставить и такие условия, как вы говорите: задана последовательность; длина - 1 мб; надо сжать до 99%. Тут можно пожалуй больше чем штуку ставить. IronPeter |
| 125. Vladimir Rybinkin, 20.01.2002 20:32 |
PetrZloy цитата:Да, речь шла "до", но не шла "от". Я привел вариант, который quest выигрывает 100 из 100. Предлагаю вариант - сжатие хотя бы на 1 байт возвращает 11 баксов, более 1% - пари выиграно |
| 126. PetrZloy, 20.01.2002 20:59 |
Vladimir Rybinkin ну не надо об этом, к одному слову придираться. Когда я решу заключить пари я бы КОНЕЧНО согласовал точный размер - так что не надо об этом. Раз сказал 10 мб - значит 10. А вообще насчет процента - это, помоему, вы перегинаете. IronPeter Предлагаю точно и честно сформулироваь условия для начала. Правда есть риск сделать "неоптимальности" в простом выводе на экран (кто нибудь оптимизирует код, на 1 байт его укоротит к примеру (без применения архивации) - но думаю такое навряд ли возможно, достаточно 10 минут внимательно поглядеть на исходный .сом нескольким человекам - если за это время никто не заметит ошибок такого рода - то их не будет. Добавление от 20-01-2002 21:11: и вообще, если вернуться к началу. Даю вам файл 10485760 байт. Добавление от 20-01-2002 21:19: Если 200 раз уменьшать по 1 проценту то из 10-ти мб получится 1.5 мб. Или вы расчитываете что мой 10 мб-й файл будет сжиматься, а полученный архив будет "более сложен" (по колмогорову), другими словами что последовательность в условии будет достаточно вам удобной? |
| 127. Vladimir Rybinkin, 20.01.2002 21:33 |
quest Нет, это все-таки: 1. Красиво 2. Нагло Короче, я согласен принять пари. Верю в свое мастерство алгоритмиста (про то, что я здесь дилетант - уже писал Условия: исходник 1-10 Mb, результат - экзешник меньшего размера, генерящий исходник. Если сжатия нет - я проиграл, если более 1% - выиграл. Иначе - ничья. Идет? Еще можно тотализатор устроить (на сколько %/байт удастся сжать). QZ, скажем, будет ставки принимать |
| 128. PetrZloy, 20.01.2002 21:44 |
Слушайте друзья, можно подумать что вы сговорились. Quest специально предложит заранее сжимающуюся посл-сть, владимир ее сожмет, все будут ставить против, кто будет знать секрет - поставит за и выиграет кучу бабок. Причем я думаю что не так сложно придумать 10 мб которые можно сжать на 1%, но внешне это хрен заметишь. так что идею ставок не поддерживаю. |
| 129. Vladimir Rybinkin, 20.01.2002 21:50 |
PetrZloy |
| 130. PetrZloy, 20.01.2002 22:00 |
quest Учти, что если в файля будет совсем туго со "стандартными закономерностями" - то можно будет сделать некую оценку об отсутствии оных и применить необратимый алгоритм (который не может ОДНОЗНАЧНО распаковать, но в тех местах где он будет предлагать выбор будет работать оценка об отсутствии закономерностей) поэтому можно чересчур перестараться с генерацией исхходника... Добавление от 20-01-2002 22:01: насчет судьи я подумаю |
| 131. rGlory, 21.01.2002 06:36 |
PetrZloy цитата: Да зачем так сложно. Можно например файл того же размера зашифровать. |
| 132. Alexzander, 21.01.2002 07:48 |
Ставлю на Vladimir Rybinkin 1000 виртуальных у.е. (виртуальных потому что столько реальных у меня нет, но я верю в Vladimir Rybinkin). |
| 133. rGlory, 21.01.2002 07:52 |
Alexzander Принимаю. Кто-то же должен принять |
| 134. Евгений Машеров, 21.01.2002 09:15 |
Tsykunov Не имев возможности сразу ответить на Ваш вопрос, я с радостью увидел квалифицированное разъяснение quest'а. В реальности Ваш алгоритм сжимает перестановку последовательностей длины 2^m с m*2^m до (m-1)*2^m В то же время энтропийный предел сжатия явно ниже Вашего результата, и достичь его просто. Добавление от 21-01-2002 09:31: PetrZloy |
| 135. quest, 21.01.2002 10:20 |
Vladimir Rybinkin Условия: исходник 1-10 Mb, результат - экзешник меньшего размера, генерящий исходник. Если сжатия нет - я проиграл, если более 1% - выиграл. Иначе - ничья. Идет? Идет! На таких условиях я даже не стану требовать "предоплаты" (хотя творение файла и потребует от меня расходов и отнюдь не $10 До конца месяца вышлю по мылу (уместится в ящике 10 Mb?) файл и жду до 8 марта результата или $10 по указанному в мыле номеру счета в Сбербанке |
| 136. IronPeter, 21.01.2002 10:31 |
1/256 - это оценка сверху. Реальная вероятность не больше. Хотя я думаю, что и не намного меньше. На таких объемах данных влияние конкретной структуры языка должно размываться. Готов поставить (виртуальные) 1000$ за quest. Если ему удастся найти хороший источник случайной информации. |
| 137. Tsykunov, 21.01.2002 11:21 |
guest Вы не поняли суть моих разногласий с Евгением Машеровым и, увы, не желаете понимать ее. Дабы сразу отсечь возражения с манипуляциями терминами уточню: в Вашем алгоритме используется перестановка строк длины 2 бита, которых ровно 4, и именно эти четыре строки являются символами в задаче Евгения Машерова. Перестановка строк длины 2 бита, которых ровно 4 – это строки 00, 01, 10, 11 или символы a, b, c, d, их перестановка – это dcba или badc или ….. [/i]Евгений Машеров (#98, 18-01-2002 10:38) просил Вас "Прошу алгоритм, который для произвольной перестановки М символов строит сжатую последовательность длины (в битах) менее М."[/i] Вы хотите сказать, что Евгений просил меня сделать из строки-перестановки dcab длиной 8 бит сделать строку длиной менее 2 бит? Или менее 4 бит? Не слишком ли круто, такие задачи ставить? Не этого хотел Евгений, IMHO. Хорошо, пусть вопрос о постановке задачи решает Евгений Машеров. Вы же обвинили меня еще и в том, что МОЯ задача неправильно решена. Она тривиальна, тривиально и мое решение, но тривиально для меня, а не для Вас. Это на каком основании Вы закодировали один из 5 вариантов двумя битами? А на таком. Если Вы дадите себе труд капельку подумать, то увидите, что каждый раз номера вхождений у меня представлены двоичным деревом и уникальны. Для каждой итерации строится новое дерево. И каждый раз длина в битах номеров вхождений сокращается. Так что, это не фокусы. Одна случайная перестановка сожмется до 15 бит, другая до 17, третья до 14, но все они будут меньше 24 бит. Беда в том, что апосля хрен раскодируешь!/i] Я-то раскодирую. И Вы тоже. Сейчас объясню. Ничего, если только для одной итерации? 4 итерация раскодирования. То есть раскодируем четвертое значение – 011. То есть определяем его вхождение в выходной поток разархиватора, в котором уже есть X X X 000 010 X 001 X, где X – незанятые позиции, то есть вхождение в одну из незанятых позиций. Дерево для четвертой итерации 00 01 10 110 111 – точно такое же, как при кодировании "входящий бит" – это функция, откусывающая 1 бит от входного потока и возвращающая его значение Входящий поток 00 и т.д. Процедура такая. если "входящий бит"=0 то если "входящий бит"=0 то "вхождение":=1 иначе "вхождение":=2 иначе если "входящий бит"=0 то "вхождение"=:3 иначе если "входящий бит"=0 то "вхождение":=4 иначе "вхождение":=5 Получаем для 00 "вхождение"=1 и ставим значение 011 в выходной поток: 011 X X 000 010 X 001 X. Вроде, понятно? Дерево не надо рисовать? .. [i]А логарифм пригодится: для кодирования перестановки из 2^N символов потребуется log((2^N)!) бит. "Сжатием" считается случай, когда длина выходной последовательности алгоритма меньше log2((2^N)!) Вы разберитесь среди Ваших log2((2^N)!) и log((2^N)!). А потом ответьте на вопросы: Ваш логарифм от 40320 – целое число? Нет? А как Вы собирались кодировать номер перестановки нецелым числом бит? Или Вы его округлили? Тогда, где округление в формуле? А на каком основании округление? Вот Вы послали меня к учебнику для мехматов универов, я схожу, а Вас к какому послать за логарифм? Как Вам сказать поласковей?.. - А вы не стесняйтесь, мой IE все стерпит. Вы утверждаете, что Ваша теория правильна и выполняется на всем пространстве. Я привожу одну точку, где она неверна. (см. мой ответ Lionking от 17,01 14,41 – только меняйте Колмогорова на Шеннона). Отсюда может быть три вывода: 1. Я неправ. 2. Теория полностью неверна. .3. Теория верна не на всем пространстве. Какой вывод сделаете Вы? А пари с Вами заключать не буду. По двум причинам. Первая, сами знаете какая. Вторая – написавший такой алгоритм может поиметь с него больше 1000 долларов. P.S. Прошу прощения за стиль изложения, но я брал пример с Вас. PetrZloy можно подумать что вы сговорились судьей может быть, скажем, PetrZloy – Vladimir Rybinkin можно подумать, что вы сговорились втроем |
| 138. Евгений Машеров, 21.01.2002 11:31 |
Tsykunov Боюсь, что для восстановления дерева при раскодировании Вам придется иметь уже декодированную последовательность. Ваш алгоритм в таком виде неработоспособен. А исправленный - дает ухудшенный вариант стандартного. |
| 139. quest, 21.01.2002 11:39 |
Tsykunov Извините, но для Вашего образования у меня нет времени, а у Вас - денег Излагать специально для Вас основы математики, изучаемые на первых курсах за просто так мне как-то лениво... Чао! ЗЫ. Желаю всяческих успехов в написании алгоритмов! |
| 140. Vladimir Rybinkin, 21.01.2002 12:13 |
quest Принято. Гарантирую выплату "чистыми" (накладные расходы за мой счет). Я, конечно, дилетант в области архивации, но завелся, поэтому сжигаю мосты: жать буду беспощадно, не 1% + 1 байт, а сколько смогу. 10% - так 10%, в 10 раз - так в 10 раз цитата:А что, заархивировать нельзя? Должно, вроде... В крайнем случае, можно нарезать. Alexzander rGlory цитата:мне тоже По поводу тотализатора: мы делали это на чемпионаты мира/европы по футболу. Безумно интересно. Общий смысл: правила и алгоритмы расчета должны быть открыты (чтобы каждый заинтересованный мог проверить). Данные сдаются до заранее оговоренного срока (для каждого этапа), после чего публикуются (рассылаются всем участникам). Войти не сначала можно только в заранее оговореных точках (с начала очередного этапа), получая очки последнего участника (если они отрицателные) или 0. Более поздние туры оцениваются дороже, чтобы сохранить интригу до конца. Количество параметров достаточно большое, чтобы обеспечить "разброс и шатание" участников. Ведется график (при большом количестве участников только для нескольких текущих лидеров - у нас было 8). Примерные правила для этого варианта: Числовые значение штрафов/премий не очень важны, главное - чтобы были заранее оговорены. |
| 141. PetrZloy, 21.01.2002 12:56 |
rGlory Да зачем так сложно. Можно например файл того же размера зашифровать. Опять я ничего не понял. Вот теперь думаю: я тагой тугой что ли либо присутствующие уже выработали свой язык? (в котором столько всего опускается (хорошее сжатие All Да, предлагаю исходник заархивировать например РАРом, и выложить для скачивания. Представьте, если алгоритм будет работать для своих архивов? вот я тогда фильмы буду на дискетах носить Tsykunov |
| 142. WPooh, 21.01.2002 14:37 |
Класс! Сколько я всего интересного напропускал!quest и Vladimir Rybinkin если чего надо, могу посодействовать. Не корысти для а только истины ради. Могу попросить своего друга присобачить АЦП нужной разрядности (до 24 бит) к резистору и нагенерить шума сколько влезет. Могу поанализировать данные. (не одновременно, конечно) Если обе стороны не против. |
| 143. Tsykunov, 21.01.2002 14:57 |
2All Искренне благодарю ВСЕХ участников дискуссии. Я многое понял с Вашей бескорыстной помощью. Vladimir Rybinkin Если выиграете 1000 реальных долларов – с Вас 500 виртуальных, как посреднику. Высылайте мылом. Заодно, сыграйте на http://mailcom.com/challenge. Удачи! Евгений Машеров Боюсь, что нам уже трудно договориться. Вам - особое спасибо. |
| 144. Евгений Машеров, 21.01.2002 15:48 |
quest Отважно Но не столь рисковано. Кстати, физический генератор будет ли программный? Давненько к военной истории не возвращались - а ведь компрессия и там может быть не оффтопиком |
| 145. Vladimir Rybinkin, 21.01.2002 16:47 |
WPooh цитата:Разумеется, я не против. Мне нужен теоретически несжимаемый файл, и кто его получит - дело десятое. Евгений Машеров цитата:Согласен. Кстати, с моей стороны ставки тоже достаточно высоки. Дело же не в паршивом червонце (и даже не в штуке |
| 146. Кудрявцев Леонид, 21.01.2002 17:24 |
цитата: Мое IMHO, что полученные данные любым ZIP/ARJ/RAR сожмутся отнуть не на 1% (готов поставить на минимум _30_ - 90%). Врят ли шумы будут _чисто случайные_. P.S. Предлагаю в качестве теста постараться сделать файл предварительно заархивированный, а потом через какой нибудь крутой шифровальшик пропущенный. |
| 147. Lionking, 21.01.2002 19:05 |
Кудрявцев Леонид Если брать разумно (например, младший бит от каждого измерения), никаких лишних корреляций быть не должно и 30% никак не должно получиться (хотя ненулевая вероятность есть |
| 148. IronPeter, 21.01.2002 20:04 |
Кудрявцев Леонид Я для смеху сгенерил с помощью rand() файл длиной 1МБ и потом злорадно хихикал над попытками RARа его сжать. Уже в случае такой наивной "случайности" сжать ничего не получается. |
| 149. PetrZloy, 21.01.2002 22:21 |
Ага, я тоже раньше говорил, что мне бы для начала научиться сжимать файлы, которые random() генерит... |
| 150. AleUri, 21.01.2002 22:25 |
IronPeter а случайно не последний RAR archiver 3.00 beta 1 |
| 151. IronPeter, 21.01.2002 22:29 |
Нет. А что, он умеет? |
| 152. AleUri, 21.01.2002 22:34 |
пока науке (эмпирической) это не известно |
| 153. Dmitriy M. Reznitskiy, 21.01.2002 22:34 |
2[bold]All[/bold] Всё, конечно, хорошо, всё супер. А скажите мне - хоть кто-то и вас пытался создать нечто работающее? Я даже не говорю о коммерческом использовании, я говорю всего лишь опервом так сказать шаге, когда надо просто попытаться написать некий код ? а? ну? К чему вся эта ветка? |
| 154. ThreeDHead, 21.01.2002 23:35 |
2 All Я на 3-й страничке этой ветки описывал свою ижею сжатия данных, потом она мне показалась очень привлекательной и я свои высказывания подчистил. Но как оказалось, на теории все красиво, а на практике не удалось (отрицательный результат - тоже опыт). Сейчас я заново выложу свою идею (без корректировок), а ниже опишу проблемму с которой я столкнулся, быть может у кого нибудь возникнут идеи.
Вариантов море, время "архивации" долгое, но ведь это вариант. Как говорится если при подборе пароля не учитывать время, то абсолютно любой пароль можно подобрать. Так и тут, если не учитывать время, то можно подобрать абсолютно любую последовательность формул, чтобы описать исходные данные. В дополнение себе:
|
| 155. PetrZloy, 22.01.2002 03:41 |
для Dmitriy M. Reznitskiy Написать думаю для многих не проблема (в частности для меня) - вот придумать что-нибудь для начала попробуйте... 2 all Я тут такой бред написал, что пришлось его удалить впринципе могу ее заново запостить, но уже в качестве анекдота Добавление от 22-01-2002 08:40: ThreeDHead Давайте возьмем 4х4 (для простоты). Кол-во бит=16, то есть это два байта. Остальные мысли по возвращению... |
| 156. Евгений Машеров, 22.01.2002 09:49 |
Tsykunov Не сочтите за попытку "давить эрудицией", но рекомендовал бы Вам ознакомится с базисной математикой. В частности, необходимыми являются теория информации (для общего знакомства - Яглом и Яглом), теория вероятностей, Кнут. (Кроме того - некоторые разделы численной математики). Для сжатия с потерями желательно знакомство с психоакустикой, физиологией зрения и т.п., смотря по предметной области. Сжатие без потерь в общем случае действительно невозможно - не существует алгоритма, который любой набор символов превратит в меньший по объему, так, чтобы можно было восстановить исходный. Это происходит потому, что несжатых, длинных наборов, больше, чем коротких, так что одному сжатому будет соответствовать несколько несжатых. Эффективность существующих алгоритмов такого рода обусловлена взаимосвязью символов и их неравновероятностью. Так что необходимыми этапами сжатия будет вычленение зависимостей между символами (будь то корреляция - тогда переход к Карунену-Лоеву или его аппроксимации, или повторение символов - и приходим к RLE), за которым следует энтропийное, использующее неравновероятность символов, кодирование (Хаффман, Шеннон-Фано, арифметическое). В первой части возможен успех - для новых предметных областей, во второй он крайне маловероятен. Действительный прорыв ИМХО возможен в сжатии с потерями, скажем, видеоинформации или геофизики. Его возможность связана с тем, что сжатие с потерями эксплуатирует тот факт, что различные сигналы практически тождествены с точки зрения некоторого критерия - причем он трудно формализуется, например, такой простой для анализа, как среднеквадратическое отклонение очень плох для сжатия звука. Последовательности же чисто случайных (или выглядящих как случайные) данных сжимаются весьма плохо. Свидетель тому присутствующий здесь экс-офицер Кей-Джи-Би, ныне дрессирующий многоногих монстров для империализма |
| 157. IronPeter, 22.01.2002 10:56 |
Евгений Машеров Не вижу серьезной разницы между наличием корреляции и повторяющимися символами. Ежели у нас есть марковский процесс, то переходная мера задает вероятность на большем алфавите. |
| 158. ThreeDHead, 22.01.2002 11:10 |
PetrZloy Теперь моя очередь опустить тебя с небес на землю. Дело в том что каждый бит служебной информации для блока "незапакованных" данных, в конце вылезет тебе боком. Так как подобрать (каждый пятый блок - по твоим словам) будет нереально. Твой алгоритм от моего отличается только лишь тем что я хочу использовать базу данных сгенерированных образов, а ты использовать формулы для их генерации - что в результате одно и тоже. Да, на счет моего N. Абсолютно понятно что я не смогу подобрать все блоки данных, иначе количество комбинаций станет равным размеру блока (переливание из пустого в порожнее). Но тем не менее есть вероятность что 50% комбинаций кудато да и сгодится - а это хоть небольшое но сжатие. Но на практике пока - фиг там. Но тем не менее попытку решить проблемму преветствую - тренеровка мозгов. |
| 159. Tsykunov, 22.01.2002 11:13 |
Vladimir Rybinkin с моей стороны ставки тоже достаточно высоки |
| 160. Евгений Машеров, 22.01.2002 12:01 |
IronPeter Для марковских - да. А вот известный контрпример, в котором Карунен-Лоев оказывается неоптимальным, построен как раз на сжатии последовательностей одинаковых символов. |
| 161. Vladimir Rybinkin, 22.01.2002 13:13 |
Dmitriy M. Reznitskiy цитата:Интересно, это кому вопрос? ThreeDHead Евгений Машеров цитата:А это как раз мой главный козырь. Мне надо НЕ ЛЮБОЙ Tsykunov цитата:Нет, этим рискует как раз quest. цитата:Вашими бы устами цитата:Угу. Я и предлагал тотализатор, имея в виду, что буду выкладывать текущую удачу на всеобщее обозрение (если quest не будет возражать). Я попросил шефа написать, что он по этому поводу думает, и в дальнейшем планирую рассказывать о текущем состоянии здесь: цитата:Открыл и закрыл |
| 162. PetrZloy, 22.01.2002 13:49 |
Вот я и вернулся. ThreeDHead ну впрочем в 4:53 я же написал что все понял, какой просчет я совершил. Да, согласен, мой алгоритм по сути имеет ту же идею, что и Ваш. Поэтому мне и легко было понять тонкие места в нем (после того, как я нашел в своем). А теперь хочу обратиться ко всем: Вобщем, использовать информацию об отсутствии определенных закономерностей. Tsykunov Добавление от 22-01-2002 13:53: Vladimir Rybinkin Добавление от 22-01-2002 13:56: ThreeDHead, ALL |
| 163. Dmitriy M. Reznitskiy, 22.01.2002 13:59 |
Vladimir Rybinkin Всем, кто писал, что то-то и это дескать просто сделать |
| 164. Tsykunov, 22.01.2002 14:07 |
Евгений Машеров Согласен с Вашими рекомендациями. С Вашими взглядами на развитие теории и практики сжатия спорить не буду. На мой взгляд, общая дискуссия исчерпала потенциал в заданных рамках и форме. Могу лишь изложить личные выводы из нее. Существуют несколько теорий, обосновывающих невозможность сжатия данных с некими формальными признаками. Однако, все они оперируют в основном относительными значениями этих признаков. Некоторые из теорий не имеют общих точек соприкосновения, иные противоречат друг другу. Общим для всех является лишь отсутствие алгоритмов, отодвигающих границу их действительности. То есть эмпирический показатель. В некотором роде, вера в сжатие – религиозный вопрос. Я пришел сюда испытать мою веру (в числе прочего). Она не поколебалась. Сегодня у меня есть 3-4 направления для работы. Если они окажутся тупиковыми, как и N прошлых, - появятся новые. Я не жду Универсального алгоритма, я ищу доли процента. Возможно, я смогу найти их. Сделал же я основные существующие алгоритмы, пользуясь школьным курсом информатики, и практически на бумаге. И я не одинок в своей вере. Добавление от 22-01-2002 14:10: PetrZloy |
| 165. Vladimir Rybinkin, 22.01.2002 15:57 |
PetrZloy цитата:Ну надоело, ей-богу! Как я что-нибуть этакое скажу - "демагогия", покажу - "реклама"... Поверьте, я в состоянии заработать $10 гораздо меньшими усилиями. На всякий случай сообщаю: шеф еще ничего не написал, страничка пустая, НЕ ХОДИТЕ! Я ее сгенерил просто во время своего предыдущего ответа в эту тему. Сегодня инфа должна появиться, завтра (если кому интересно |
| 166. B.A.D., 22.01.2002 16:10 |
PetrZloy заархивировать например РАРом, и выложить для скачивания RAR не идеал - распаковать тем же RAR и запаковать более мощным Rybinkin точно сможет которые random() генерит Кудрявцев Леонид Vladimir Rybinkin To all quest попал на двойную работу |
| 167. PetrZloy, 22.01.2002 16:10 |
Vladimir Rybinkin Я вообще-то в шутку... [offtop]Меня одно удивляет, как на этот сайт (http://mailcom.com/challenge) пробрался spylog[/offtop]. А вообще-то наверное интересный ресурс, и вот еще один может тоже: http://arctest.cjb.net/ Добавление от 22-01-2002 16:22: B.A.D. Ну уж раскусить механизм програмнного random() любой сможет (ИМХО) код:, да потом еще запишу в обратной последовательности через один в шахматном порядке, инвертируя (я утрирую) - посмотрю как вы (в качестве каждого) раскусите ЧТО это было.randseed:=random(maxint); for i:=0 to 10mb do a[i]:=random(maxint) Я например не знаю как запаковать такой файл. Кто знает - просвятите... |
| 168. quest, 22.01.2002 17:05 |
[To All] А кроме Vladimir Rybinkin больше желающих поспорить не будет? Ну, раз так, то пока у меня кой-чё считается, проведу сеанс психологического давления на супротивника и, заодно, алаверды моим болельщикам Итак, анализ ситуации. Таким образом, всё упирается в обеспечение случайности выбора последовательности 8388698 бит (1Mb). Ессно, было бы большой глупостью просто генерить эту последовательность какой-либо, пусть самой хитрой, программой, т.к. в этом случае я бы "случайно" выбирал исходник, заведомо принадлежащих классу, генерируемых программами (рази только моя программа была бы больше 1Mb и никоим образом не могла бы быть уменьшена в размере, но такого монстра мне писать лениво, да и времени нет). Но у меня есть знания в другой области Есть ещё один вариант: я уже упоминал, что хотя общих описаний функций максимальной сложности по Шеннону нет, но относительно некоторых есть подозрения. ЗЫ. А Санитара пора вязать... |
| 169. Vladimir Rybinkin, 22.01.2002 18:35 |
quest цитата:Приветствую желающих. Приз получает только ОДИН победитель (чтобы сжали как следует, а не каждый на 1% цитата:Обожаю сеансы (психологического давления - в особенности цитата:Если это на счастье - то не вижу, почему бы благородному дону не сгенерить пару-тройку файлов цитата:Лично я собираюсь запрограммировать один... цитата:Я бы повесился цитата:Нас - Рать! цитата:Блеск! цитата:Там ей и место. цитата:Не упустить бы... |
| 170. Dmitriy M. Reznitskiy, 22.01.2002 18:49 |
Vladimir Rybinkin кстати, не только сжали, но и разжали потом |
| 171. Vladimir Rybinkin, 22.01.2002 18:56 |
Dmitriy M. Reznitskiy Ах, да, я и забыл... |
| 172. IronPeter, 22.01.2002 20:17 |
quest А что, есть предположения о классе задач, который имеет максимальную сложность??? Мне казалось, что все предположения делаются об асимптотической сложности, с точностью до O(1). Так что никто не говорит, что там несколько байтиков отщипить нельзя. |
| 173. quest, 22.01.2002 21:34 |
IronPeter А что, есть предположения о классе задач, который имеет максимальную сложность??? Угу. Грубо говоря, задача (или двочная функция) имеет максимальную сложность, если в её структуре отсутствуют какие-либо регулярности. Наличие таких регулярностей, с одной стороны, позволяет упростить представление функции (т.е. её сложность оказывается меньше максимальной), а с другой, - все известные виды регулярности приводит к наличию такого взаимнооднозначного преобразования пространства аргументов функции, которое оставляет функцию на месте: F(X)=F(C(X)), где F - функция, X - вектор её аргументов, а С - некоторое преобразование векторного пространства аргументов. Такие преобразования очевидно C образуют группу и эта группа называется группой инерции функции F в некоторой группе преобразований. |
| 174. Vladimir Rybinkin, 22.01.2002 21:55 |
quest Жуть какая... Правда, прогнозируемая - я и имел в виду при согласии на пари: легких путей не будет, мне дадут файл, который теоретически нельзя сжать. Вот смеху будет, если мне все-таки удастся выкрутиться Я примерно представляю, естественно, ЧТО я буду делать. Конечно, я не буду использовать классические методы архивации (хотя бы потому, что ни одного не знаю). |
| 175. Tsykunov, 23.01.2002 08:00 |
Vladimir Rybinkin Но, на моё счастье любой ехе-шник, являющийся self-экстрактором одного конкретного файла, может (и должен) творить только один файл. Разные exe-шники могут выдавать одинаковые файлы, но один self-экстрактор в условиях нашего пари может выдать только один исходник, а чтобы выдать другой он должен отличаться хоть на один бит. - quest Если это на счастье - то не вижу, почему бы благородному дону не сгенерить пару-тройку файлов - Vladimir Rybinkin Я бы ответил иначе, но quest на меня обиделся и со мной не разговаривает. А Вы при желании можете прислать ему экзешник, который кроме генерации исходника иногда исполняет format c: в зависимости от значения внутреннего программного рандома |
| 176. Vladimir Rybinkin, 23.01.2002 10:03 |
Tsykunov Нет, я не могу - мне байты надо экономить А по делу, конечно, дыра в рассуждениях. Одна и та же последовательность (теоретически) может сгенерить несколько выходных последовательностей (я знаю, как минимум, три способа), причем это "несколько" (опять же теоретически) вряд ли вообще конечно. Читателям этой ветки предлагается самостоятельно обосновать сие утверждение Вторая дыра здесь: Но мне же обязательно повезет, из всего этого жуткого количества обязательно выберется такая, которую можно будет сжать (например, одни нули, тогда я - гадом буду - не меньше, чем на 2% сожму Есть еще третье соображение (которое объясняет, почему я назвал 1%), но это - после получения исходника... |
| 177. Lionking, 23.01.2002 10:38 |
Кстати, надеюсь господа спорщики видели пари на http://mailcom.com/challenge/ ? |
| 178. Tsykunov, 23.01.2002 10:56 |
Lionking Я первый, первый про него сказал |
| 179. quest, 23.01.2002 11:48 |
Vladimir Rybinkin Одна и та же последовательность (теоретически) может сгенерить несколько выходных последовательностей Конечно может! Но нужна одна, конкретная. Причем она должна генерится при каждом запуске exe-шника на любой машине с, для конкретности, любой версией Виндов, начиная с 95 и NT, чтобы в правильности решения мог убедиться любой болельщик |
| 180. Tsykunov, 23.01.2002 12:17 |
Vladimir Rybinkin Один из возможных вариантов генерации предусматривает перебор вариантов. Справедливо считать выполнением условия пари генерацию за время от отправки экзешника Вами до 8 марта минус сутки на закачку (на средней машине, скажем P500-128M)? |
| 181. Lionking, 23.01.2002 12:39 |
Tsykunov Виноват, к середине дискуссии начал читать сообщения по диагонали. |
| 182. Alexzander, 23.01.2002 13:43 |
Ух ты, как тут все серьезно! Мое видение события таково: раз неизвестны пределы сжатия (или же, точнее, нечем оценить последовательность байт информации и однозначно сказать - вот эта последовательность сжимаемая, а эта - нет), то получается, что quest так или иначе генерит некую последовательность, но не обязательно самую сложную. Здесь как в рулетке - сложное/не очень сложное. Да шансы высоки, что выйдет сложная (потому что сложных больше), но на стороне Vladimir Rybinkin более простая (как это не парадоксально) задача. Сжав файл, он лишь докажет, что последовательность не самая сложная, тогда как для успеха quest ему необходимо найти, вычислить или сгенерить именно самую сложную последовательность. Предельно сложную - несжимаемую! А это посложнее будет... Так что я подтверждаю свою приверженность! |
| 183. B.A.D., 23.01.2002 14:15 |
Vladimir Rybinkin Нет, я не могу - мне байты надо экономить В отличие от вышеуказаного пари на http://mailcom.com/challenge/ ?, в этом споре конфигурация оборудования не определена - ИМХО на Z80 процессоре компактнее программный код выйдет И вроде вначале про 10Мб говорили, а теперь про 1Мб. Так 1% это будет 10К - вот куда придеться программку пихать. quest И еще большая просьба выложить для романтиков хоть 100К этой великолепной идиальной несжимаемой последовательности - так редко в нашей жизни встречаеться само совершенство. |
| 184. Vladimir Rybinkin, 23.01.2002 14:23 |
quest цитата:Не-а цитата:Да можно и учитывать. Только тогда и проверять решение без дополнительного программного кода! Сдается винт, на котором лежит экзешник, генерящий исходник. Запустить его, правда, нечем будет, да и посмотреть тоже... Tsykunov цитата:Мой второй козырь Alexzander B.A.D. цитата:Ok, уточняю: я буду писать программу под DOS в кодах 8086. цитата:А ведь если у меня чего выйдет - моя ышшо великолепнее будет Ой, извиняюсь. Моя, наверное, БУДЕТ сжиматься... |
| 185. quest, 23.01.2002 14:54 |
B.A.D. Покорректней надо условия выставлять (привлечь пару адвокатов как минимум) Ну, я надеюсь, что здесь люди разумные собрались, со здравым смыслом, тскзть
Если у меня пройдет второй вариант (с функцией максимальной сложности), то последовательность будет одна, но её я готов выложить на всеобщее обозрение и коллективное дрючение Но если посчитаться она не успеет, то буду давать первый вариант, а он - вероятностный. Могу предложить следующее: я генерю пару файлов, один выдаю приватно для зарабатывания жалких баксов, а другой - выкладываю. Есть и еще вариант: готов сгенерить пару-тройку или больше (пущай сам Vladimir Rybinkin уточнит) и выложить их все, но в этом случае попрошу сжать каждый в отдельности и неудача хоть с одним приносит мне выигрыш PS. Вооще говоря, мне пора требовать с 2bit гонорар за паблисити... Добавление от 23-01-2002 15:06: Vladimir Rybinkin Не-а! |
| 186. Vuk, 23.01.2002 15:49 |
Alexzander ... на стороне Vladimir Rybinkin более простая (как это не парадоксально) задача. Сжав файл, он лишь докажет, что последовательность не самая сложная, тогда как для успеха quest ему необходимо найти, вычислить или сгенерить именно самую сложную последовательность. Предельно сложную - несжимаемую! А это посложнее будет... Вовсе нет. Я сам посмотрел, поанализировал и попробовал - пока не получилось. А вообще задача очень интересная. |
| 187. Vladimir Rybinkin, 23.01.2002 16:22 |
quest цитата:Я тоже надеюсь. Честно играю, честно выигрываю, честно проигрываю цитата:Надеюсь цитата:Красиво и, видимо, правильно. цитата:Уточняю: одного более, чем достаточно цитата:Пока рано цитата:Да, это же я теоретически, если сжать N файлов в один архив, и доставать оттуда нужный цитата:А это почему? Исходник у нас один, экзешник - тоже один (чтобы не нарушать отчетности (c)кот Матроскин). А вот как работает main этого экзешника, и как там организованы данные - мои трудности... Vuk цитата:Согласен. Но я ОЧЕНЬ постараюсь |
| 188. Tsykunov, 24.01.2002 05:52 |
Vladimir Rybinkin Ой, извиняюсь. Моя, наверное, БУДЕТ сжиматься... А Вы не забудете (по запарке) попробовать ее раром зажать? |
| 189. Alexzander, 24.01.2002 09:40 |
2 ALL На мой взгляд, существует некое маленькое упущение. Когда мы говорим, что для каждого сжатого файла существует лишь один несжатый, а несжатых явно больше, и следовательно не все несжатые файлы могут сжаться, мы недоговариваем! Это верно только для одного и того же алгоритма сжатия! Разными алгоритмами можно из одного и того же сжатого файла восстановить сколь угодно много несжатых файлов. Но Vladimir Rybinkin не ограничен каким-либо одним алгоритмом. Это значит, файл, предоставленный ему, который несжимаем рарами и пр. архиваторами (т.е. известным набором алгоритмов), обязательно сожмется каким-либо другим алгоритмом. И еще один вывод из этого: любую информацию можно сжать до одного байта, другое дело, что суммарная длина всех использованных при этом алгортмов будет больше исходного файла (собственно это и доказывает Колмогоров). Но неочевидный вывод из этого то, что с увеличением длины исходной последовательности байтов, возрастает и вероятность того, что эту же последовательность можно представить более короткой программой (т.е. сжатый код короче исходного и генерит один в один). Причем растет, предположительно, достаточно быстро. Оценить рост такой вероятности я не знаю как, но по субъективным ощущениям, для гигабайтной последовательности, такая вероятность весьма и весьма велика, возможно даже сама 1. (Т.е. гигабайт инфы никак не может быть пределом сжатия информации, а значит его всегда можно сжать еще!). P.S. Перечитал эту ветку два раза целиком. Много думал. Вчера много спорил с парнем из МИФИ. Вывод один - предел есть, он где-то рядом, но смыс у предела только в соблюдении Колмогоровской сложности. Пример: РАР жмет отлично текст. Из 60К я получил 20К. Но сам РАР составляет 100К (все условно). Значит, фактически он ничего не сжал, так как сумма разархиватора составит 20+100К. Предел? Для этого алгоритма да. Я написал другой алгоритм, который жмет эти 20К в 15К. Можно ли говорить, что я 60К заархивировал в 15К? Нет! Для моего алгоритма предел будет иным. вот, собственно, и все. Добавление от 24-01-2002 09:51: Ха-ха! Вот идея шулерского алгоритма сжатия чего угодно. Имеем прогу размером 1-2К (больше-меньше, неважно). Имеем рядом с ней на диске исходный гигабайтный файл. Запускаем. Исходный файл исчезает, но появляется некий экзешник размером опять же 1-2К (может и меньше). Что это? Как? Ответ в слове шулерский. Необходимо описать все условия спора, иначе даже такой ламер как я, сможет получить результат (а кто сказал, что я не удовлетворил всем требованиям?), хотя с архивированием в академическом смысле результат не будет иметь ничего общего. (кому интересно могу раскрыть алгоритм Добавление от 24-01-2002 09:58: Как говорил Марк Твен (если не ошибаюсь), то проще всего профессилоналу играть против профессионала. От ламера никогда не знаешь чего ожидать и какой ход он сделает. (не дословно) В непредсказуемости ламеров - их сила! У меня есть еще как минимум два способа сжать гигабайтный исходник (два алгоритма), только я екзешники писать не умею... но своими идеями охотно поделюсь... |
| 190. B.A.D., 24.01.2002 12:41 |
quest -------------------------------------------------------------------------------- я надеюсь, что здесь люди разумные собрались -------------------------------------------------------------------------------- Насчет разумных согласен Насчет "люди" - есть большие сомнения По поводу человеческого фактора Чем сложнее и больше будет проделано операций при создании исходной последовательности, тем больше вероятность ошибиться и не получить желанного итога. Оцениваю человеческий фактор как +5% к удаче Vladimir Rybinkin |
| 191. Alexzander, 24.01.2002 12:53 |
Насчет "люди" - есть большие сомнения - явно, про себя? Добавление от 24-01-2002 12:55: Люди, может подскажете, где можно Турбо паскаль работающий скачать, что-то молодость вспомнить захотелось... Очень хочется... |
| 192. Vladimir Rybinkin, 24.01.2002 16:10 |
Tsykunov цитата:Во-первых, нельзя - должен быть самораспаковывающийся архив. Во-вторых, если сжатие удастся - незачем Alexzander цитата:На мой - не маленькое цитата:Увы, ограничен. Ща поясню. цитата:Да, и, похоже, можно сформулировать алгоритм, определяющий, можно ли в принципе сжать последовательность или же она не сожмется ни при каких условиях. цитата:Очень возможно, но есть неприятный нюанс. Ща поясню. цитата:Шулерского? Имеем прогу размером 1-2К (больше-меньше, ВАЖНО)! Я оценивал на старте ее размер в 5-7К (сейчас надеюсь на 2-3). И НЕ РЯДОМ, а НЕПОСРЕДСТВЕННО ЗА НЕЙ (copy/b) лежит некий файл, пройдясь по которому (т.е. по собственному телу) прога генерит исходник (либо промежуточный файл, по которому пойдет снова). Все бы хорошо, но ведь неявно задано жесточайшее условие (почему-то никто на него не обратил внимание, а я именно из-за этого и назвал 1%). Отщипнуть надо не только БАЙТ, но и размер дезархиватора! Иными словами, несколько КИЛОБАЙТ! Так что я шел именно на мощное сжатие исходника по определению. А раз так - либо ничего не удастся сделать, либо удастся нечто серьезное. Где 10К найдем - там и 20 должно лежать. "Политически" же результат в 1 байт - мелочь, а вот 1%... На это сразу и был соответствующий отклик цитата: ALL P.S. (как оправдание распирающего желания выговориться). Этот постинг - ответ на "сеанс психологического давления" quest |
| 193. quest, 24.01.2002 17:17 |
Vladimir Rybinkin Мм-нэ-э, а чего я усматривать должОн? Чёй-то не понял... А рассуждения интересные, но... ошибочные! |
| 194. Vladimir Rybinkin, 24.01.2002 17:31 |
quest Как чего? Я дал предложение на изменение сроков с целью работы над основной последовательностью. Мож, и ошибочные, но пока я порадуюсь |
| 195. quest, 24.01.2002 17:40 |
Vladimir Rybinkin То бишь: цитата: можно расценивать, как предложение начать сжимать не с 1, а с 8 февраля с неизменным сроком окончания (8 марта), при условии, что будет выдана (и выложена на всеобщее дрючение) расчетная, а не случайная последовательность? К сожалению, теперь уже это зависит не от меня - после 31-го января свободных мощностей для расчета (если прога не успеет) может и не быть. Узнаю только накануне. Кстати, а что делать в случае, если дискретников посрамит кто-то другой и сожмет раньше (ить на всеобщем обозрении будет)? |
| 196. Vladimir Rybinkin, 24.01.2002 17:48 |
quest Да, можно расценивать именно так (даже если не будет выложена). |
| 197. PetrZloy, 24.01.2002 17:51 |
Vladimir Rybinkin Ну я говорил, что будет честным такой вариант: достаточно чтобы self-extractor был на 1 байт короче исходника. Это как бы и означает сжатие далеко не на 1 байт, если например код будет занимать 3кб, а длина исходника 1 мб, то сжатие при этом должно быть 0.3% !!! это вовсе не 1 байт. Ну а когда вы согласились на процент пожать, тут уже эти 3 кб кода не играют решающей роли. Если селф-экстрактор будет на процент короче исходника, то получается что данные вам надо будет пожать на 1.3%. Что то мне не верится в ваш успех, извиняйте... |
| 198. Vladimir Rybinkin, 24.01.2002 17:59 |
PetrZloy Да и сам сомневаюсь quest цитата:А я же давал предложение: победителю, который 1. круче сожмет к 8 марта и 2. Заявится как участник ДО всеобщего обозрения (рисковать же тоже должен). А если НЕЗАЯВЛЕННЫЙ выложит результат, и ни один из соискателей его не превзойдет - баксы останутся у quest |
| 199. quest, 24.01.2002 18:02 |
Vladimir Rybinkin И последнее уточнение: куда выкладывать будем? |
| 200. Vladimir Rybinkin, 24.01.2002 18:06 |
Лучше всего на какой-нить сервер... Мы, к сожалению, сами хостимся - места мало |
| 201. KAE, 24.01.2002 18:20 |
Vladimir Rybinkin Если канал 128К, загруженный пользователями, рвущимися наружу |
| 202. PetrZloy, 24.01.2002 18:40 |
что так трудно положить куда-нибудь мегабайтный файл? можно на бесплатный сайт - narod.ru, chat.ru, .... Хотите - присылайте мылом (сюды: zloy@aaanet.ru, zloy@rnd.runnet.ru, coins@uic.rsu.ru) - положу на zvpsoft.narod.ru либо на uic.rsu.ru/~zpetukho какая разница на какой канал - думаю не так много народа его скачают. Всего то мегабайт качать - а из этого проблему раздувают. |
| 203. Alexzander, 24.01.2002 18:59 |
Хммм... Завтра утром я скорее всего отвечу точно - готов или нет я принять участие сам. Только просьба еще раз - нужен Паскаль! Если мои расчеты верны, то готов сжать хотя бы вдвое.... ну на 25% точно! Дайте только Паскаль. А то без него как я алгоритм испробую? А в репутации я все равно ничего не потеряю. Зато сколько приобрету... |
| 204. Vladimir Rybinkin, 24.01.2002 19:24 |
Alexzander Вот это я понимаю! Хотя бы вдвое... |
| 205. quest, 24.01.2002 19:34 |
Alexzander Vladimir Rybinkin Кто больше? Это мне напоминает анекдот, который я вычитал толь у Майерса, толь у Йодана (склероз проклятый): цитата: Если-б эти ваши алгоритмы ещё и работали... |
| 206. Vladimir Rybinkin, 24.01.2002 19:35 |
quest А зачем? Лучше 20 баксов в руках, чем... Это не анекдот, это быль про какого-то очень известного программиста (не помню, про кого). |
| 207. quest, 24.01.2002 19:41 |
Vladimir Rybinkin А зачем? Лучше 20 баксов в руках, чем... Да забавно наблюдать, как процентами туда-сюда Вы с Alexzander перекидываетесь, не имея за душой даже прототипа алгоритма. это быль про какого-то очень известного программиста (не помню, про кого). В первоисточнике это был анекдот. Майерса у меня кто-то упер, а вот Йодан сохранился - дома посмотрю... |
| 208. Vladimir Rybinkin, 24.01.2002 20:04 |
quest Да я вроде как бы на одном стоял и стоять буду... А прототип за душой иметь в таких случаях, ИМХО, вредно: |
| 209. Alexzander, 25.01.2002 07:29 |
Итак. После почти бессонной ночия пришел к следующим выводам. В лоб, обычными алгоритмами сжать сложную последовательность действительно невозможно, либо очень сложно. Что доказывает все вышеназванные умные теории, хотя они в доказательствах и не нуждаются. Тем более с моей стороны. Но это все верно для коммерческого архиватора, который должен работать на всех машинах и для всех видов данных, выдавая хоть какой, но результат. У нас же задача проще - справиться с _одним_ файлом. Я все таки призываю всех участников обговорить до конца все условия. Иначе разъясню ситуацию с моим шулерским "шуточным" алгоритмом. Программа-архиватор создает программу-разархиватор, которая знает место исходного файла на диске. Место помечается свободным для операционки, но запись в эти ячейки запрещается (под досом это сделать по-моему можно). Имеем - место свободно, файла нет, а есть "разархиватор" в 2-3К. Он же потом просто восстанавливает фат в исходное состояние и исходник восстановлен. Ура, фанфары. Мошенничество? Да. Но визуально все условия выполнены. Создана программа короче исходника которая генерит его один-в-один. А теперь фанфары номер два. У меня таки есть идея (или ИДЕЯ), как решить данную конкретную задачу. Но воплотить самому мне ее неподсилу. Есть два варианта: 1. Vladimir Rybinkin получает мою идею по почте и решает поможет она ему, или нет. Итак, первое слово за Vladimir Rybinkin. |
| 210. Vladimir Rybinkin, 25.01.2002 10:53 |
Alexzander Пинаю ногами Разархиватор в 2-3К записывается на дискету, переносится на другую машину и запускается. Фанфары Я играю честно, мне не нужна почта, тем более, что в идеях никогда недостатка не испытывал (см., например, http://forum.ixbt.com/0026/009551-2.html#23 |
| 211. Alexzander, 25.01.2002 11:04 |
Vladimir Rybinkin Ок. Тогда я могу предложить свою идею послушать кому-нибудь еще, кто оценит ее возможности и может даже захочет поучаствовать. Повторюсь, я сам не могу ее реализовать из-за недостатка умения программировать. Мой алгоритм решает задачу не в лоб, а очень так сбоку. Но абсолютно честно и академически точно. Хотя для коммерческого использования он не подойдет - нет гибкости. Но сжать им можно все что угодно от пяти байт. Хотя рекурсивно работать не будет, так что _до_ пяти байт сжать не получится, а так в 2-5 раз сожмет что угодно. |
| 212. Vladimir Rybinkin, 25.01.2002 11:13 |
Alexzander Думаю, это вопрос к quest (при наличии желающих посмотреть). Мне - по фигу, хоть в обсуждение публиковать. |
| 213. Контрабандист, 25.01.2002 11:18 |
Извините, что встреваю... Прочитал вашу интересную дискуссию и вижу для Vladimir Rybinkin только одну возможность выкрутиться (в случае правильно сгенерированного файла), зато возможность хорошую. Так как человек, запускающий у себя на компьютере программу "самораспаковки", с большой вероятностью хранит (хранил) где-то на диске и исходный файл-"ответ", программа может просто сканировать диск по фрагменту исходного файла длиной в несколько байт и обнаружить таким образом если не готовый файл, то хотя бы большой его кусок, а этого уже будет вполне достаточно. |
| 214. Alexzander, 25.01.2002 11:24 |
ОК. Тогда повторю свой вопрос для quest. Что лучше: 1. Предоставить вам на суд мой алгоритм приватно письмом или 2. Выставить на всеобщее обозрение (оборзение В случае 2 - вы признаете себя проигравшим, если алгоритм хорош? p/s/ Я так понимаю, что участвую вне конкурса, так что ни на выигрыш ни на проигрыш в денежном эквиваленте не рассчитываю Добавление от 25-01-2002 11:28: Чтобы достопочтенная публика не волновалась заранее, сообщаю, что описание алгоритма займет не очень много места в общепринятых словах и идиоматических выражениях. Ждем ответа quest.... |
| 215. PetrZloy, 25.01.2002 11:50 |
Alexzander Ну давайте, давайте, выкладывайте ваш суперсверхалгоритм прямо здесь. Почему от пяти байт работает только интересно? что то подозрительно, больно. Он случайно на мой анекдот не похож? (который я стер в форуме, но те, кто подпиман могли его прочитать - 22-01-2002 03:41) Короче, публикуйте, если он сжимает что угодно в 2-5 раз но не работает рекурсивно - значит он не сжимает ЧТО УГОДНО. результат сжатия ведь тоже "что угодно". Может вы думаете что полученный архив раром будет жаться? Короче, уточните, что вы имели ввиду под "что угодно" хотя бы, а лучше - алгоритм в студию. |
| 216. quest, 25.01.2002 11:50 |
Alexzander 1. Предоставить вам на суд мой алгоритм приватно письмом или 2. Выставить на всеобщее обозрение (оборзение ). В случае 2 - вы признаете себя проигравшим, если алгоритм хорош? Отвечаю: вариант 2. Не признаю |
| 217. Alexzander, 25.01.2002 12:02 |
quest Я вас понял. Но никто не мешает вам заключить (не пари, нет), отдельный уговор (который дороже денег, парвда?) со мной. Я предлагаю следующее. Мы с вами решаем всю проблему теоретически. Начальные условия: 1. Мы с вами виртуально находимся у компьютера, на котором находится ваш несжимаемый файл размером 1Мб. (Конфигурацию компьютера оставляю на ваш выбор А уж кто из нас прав - вы или я выяснять не будем (если не сойдемся во мнении). Пусть каждый, кто прочтет - решит сам. Идет? (можете добавить/уточнить условия по вашему выбору). |
| 218. PetrZloy, 25.01.2002 12:02 |
Alexzander Ну видите, уже все говорят, чтобы вы ее постили сюда безо всяких. Так что вперед... з.ы. какой же вы упрямый... |
| 219. Alexzander, 25.01.2002 12:04 |
PetrZloy Не торопите события, если я прав в своих рассуждениях, то это серьезно, если не прав, то тем более можно немножко отсрочить время моего позора. Добавление от 25-01-2002 12:10: Еще добавлю - я знаю некоторые условия, при которых мой алгоритм либо не работает, либо его надо существенно менять. Но эти условия больше из области коммерческого применения, а не хочу влезать в эту область и потому хочу избежать некоторых условий. |
| 220. PetrZloy, 25.01.2002 12:13 |
Alexzander Вы можете сказать quest'у что готовы соблюсти его условия - написать self-extractor длины 0.99 за месяц после выдачи исходника. Если вы не можете реализовать алгоритм сами - я готов его реализовать, и даже не на паскале (хотя если он такой крутой что жмет ЧТО УГОДНО в 2-5 раз - то почему бы и нет |
| 221. Alexzander, 25.01.2002 12:14 |
Еще добавлю, если случайно мой алгоритм будет верен, то мы очень сильно обломаем Vladimir Rybinkin, чего он конечно не заслужил. Ведь ему придется не только решить проблему, но сделать это лучше. Поэтому я и предлагаю ознакомится с решением всем желающим частным, так сказать, образом, и не ломать кайф Vladimir Rybinkin. Что думаете? |
| 222. PetrZloy, 25.01.2002 12:16 |
Alexzander Если выполнение этих условий влечет за собой то, что исходник будет паковаться классическими архиваторами - то можете смело о них забыть. А если нет - тогда я проних и спрашивал. И неужели вы думате что файл от quest'a не будет им удовлетворять? Добавление от 25-01-2002 12:17: Alexzander |
| 223. Alexzander, 25.01.2002 12:18 |
PetrZloy 1. Я не умею писать SFX. 2. Я предлагаю просто прибавлять длину моего алгоритма (теоретическую) в приблизительном исполнении к архиву и смотреть - не превысит ли сумма исходной длины минус условие. 3. Месяц нужен для _реализации_ алгоритма, для его понимания нужно куда меньше времени. Добавление от 25-01-2002 12:23: Нет, классические архиваторы и прочие приблуды не при чем. я же сразу согласился, что файл несжимаем обычными методами. Сразу же скажу, что алгоритм не делает прорыва в теории, это всего лишь реализация идеи Tsykunov о введении новой системы отсчета, это как расположить шарики на стержне на столе. Формально - условие выполнено, они действительно занимают меньше места, но в трехмерном пространстве, вместо двумерного. Так и я файл сожму, точно, но если у меня начнут отнимать стержень, то у меня ничего не получится. |
| 224. Vladimir Rybinkin, 25.01.2002 12:28 |
Контрабандист цитата:Ну-ну quest цитата:Вот именно! Alexzander цитата:Насчет кайфа полностью согласен. Насчет остального - приличнее помолчать до 8 марта либо подключаться к пари. PetrZloy цитата:Уже против. |
| 225. Alexzander, 25.01.2002 12:32 |
Ну что я говорил? До 8 марта могу поделиться своей идеей только по мылу. А вот комментарии готов уcлышать прямо здесь. На всеобщем, так сказать, порицании... |
| 226. PetrZloy, 25.01.2002 12:36 |
Все какие-то не понятные. Ок, Alexzander, вроде как тебе надо подключаться к пари, НЕ ИЗМЕНЯЯ ПРАВИЛ. |
| 227. Alexzander, 25.01.2002 12:41 |
PetrZloy Ты не так понял. 1. К пари я подключится не могу в силу моих малых знаний. 2. Алгоритм готов предоставить любому, кому интересно. Но только так, чтобы не испортить пари. 3. Алгоритм опишу словами русского языка, без блок-схем и прочих премудростей, идет? Сейчас пишу письмо, пошлю через 571 секунду или чуть позже, как сервер позволит. Если что, мой мыл posylka@moto.ru
Лови. Добавление от 25-01-2002 14:06: Так и подмывает сказать "Что молчишь, поймал?" Добавление от 25-01-2002 14:08: Знаю, что поймал, только неужели за час нельзя было найти в моих рассуждениях ошибку? |
| 228. Vladimir Rybinkin, 25.01.2002 14:15 |
Alexzander Программу строчит... Али заявку пишет |
| 229. Alexzander, 25.01.2002 14:17 |
Vladimir Rybinkin Ага, патентует. Добавление от 25-01-2002 14:22: Но если мысль там верная, то вылизать алгоритм там за месяц можно... |
| 230. B.A.D., 25.01.2002 14:23 |
Размер файла резво скачет от 10 до 1 потом к 2 затем опять к 1 Мб (год лошади, понимаешь Alexander за авторское право на свой новейший алгоритм опасается
quest не позднее 08.02.2002 предоставляет Vladimir Rybinkin файл F размером от 1Мб до 10 Мб (по своему усмотрению) Добавление by Rybinkin Если сторонне лицо (ИМХО не связанное с quest!!!) создаст программу удовлетворяющую пунктам 1-3 и меньшее по размерам программы Rybinkin'a , то "баксы останутся у quest ". |
| 231. Alexzander, 25.01.2002 14:47 |
B.A.D. Вы забыли про меня... Добавление от 25-01-2002 14:49: И в вашей версии правил нет ни слова о моем шулерстве - оно отвечает все вашим условиям! |
| 232. quest, 25.01.2002 14:50 |
B.A.D. 2. Общий суммарный побайтовый размер всех файлов программного продукта P будет меньше размера файла F хотя бы на 1 байт Фигу! Vladimir Rybinkin предложил 1%, я это предложение принял с удовольствием Во всех остальных случаях пари выигрывает quest Неверно! Пари выиграно мной, если не выполнен пункт 1 или не выполнен пункт 2 Вашей формулировки. В остальных случаях (0.99F<P<F) ничья. To All Я приветствую любые соображения относительно алгоритмов сжатия здесь на форуме, как до выкладывания последовательности на всеобщее обозрение, так и после. |
| 233. B.A.D., 25.01.2002 15:03 |
Alexander И в вашей версии правил нет ни слова о моем шулерстве - оно отвечает все вашим условиям! Насколько я понял Вы хотели скрыть файл на своем компьютере и потом из EXE шника сделать его видимым Таr в пункте 2 сказано про копирование EXE, а не скрытого файла - посмотрю как Вы будете шуровать на чужом чистом компе (например без винчестера) To quest Что ж Вы и про 1% вспомнили - думаете он хоть на байт все-таки сожмет (ему этот 1% под код программы нужен - все вроде честно) |
| 234. AlexNek, 25.01.2002 15:34 |
quest 2. Общий суммарный побайтовый размер всех файлов программного продукта P будет меньше размера файла F хотя бы на 1% Да, но в этом случае будет учитываться не только оптимальность алгоритма сжатия, но и оптимальность написания программы. Я так понимал, что идёт речь о сжатии данных на 1%, а так нужно сжать данные на 1%+х% для кода программы. Или я чего-то недопонимаю? |
| 235. PetrZloy, 25.01.2002 15:36 |
Alexzander Z bpdbyz.cm xnj nfr ljkuj - jndktrfkcz gj [jle ltkf? Я извиняюсь что так долго - отвлекался по ходу дела, но написал опровержение, вы его почитайте, потом если непротив можно его выложить чтобы другим неповадно было (в частности ThreeDHead) Добавление от 25-01-2002 15:46: AlexNek |
| 236. Vladimir Rybinkin, 25.01.2002 15:49 |
quest цитата:А чо, есть разница? Ведь никто не напишет "программную составляющую" короче, чем 500 байт, следовательно, вероятность... см. выкладки ранее Формулировку, впрочем, подтверждаю... B.A.D. цитата:Это я сразу понимал. И говорил про ДРУГОЙ 1% AlexNek цитата:А то чего бы я про asm, да про .com вспомнил? PetrZloy |
| 237. quest, 25.01.2002 16:45 |
To All Так было всё чинно-благородно, но начали копать, крючкотворы... Повторю ещё раз для всех: пари заключено и никакие изменения в условиях уже недопустимы! Теперь относительно условий пари. |
| 238. Vladimir Rybinkin, 25.01.2002 17:06 |
quest Абсолютно! Э, сорри! Уточняю: ОЗУ и диск использовать можно, но только для записи промежуточных результатов. Так? |
| 239. Контрабандист, 25.01.2002 17:08 |
Vladimir Rybinkin Желающим предлагаю подключиться к пари и попробовать. Не хочу. Возможность успеха может быть связана только с неудачной генерацией файла quest'ом, либо с присутствием на его компьютере трояна, позволяющего узнать алгоритм генерации. |
| 240. Vladimir Rybinkin, 25.01.2002 17:11 |
Контрабандист Не знаю, не знаю... Мои оценки - шансы примерно равны (разница - в процентах, вряд ли в десятках процентов). Кстати, 1% - это МОЕ предложение |
| 241. quest, 25.01.2002 17:25 |
Vladimir Rybinkin Уточняю: ОЗУ и диск использовать можно, но только для записи промежуточных результатов. Так? Да, за ради бога! |
| 242. Контрабандист, 25.01.2002 17:41 |
Vladimir Rybinkin Существует 2^(8*N) различных файлов длиной N байт. Self-extractor'ов длиной не более M байт (M=N-n) существует заведомо меньше, чем 2*2^(8*M) (множитель 2 появляется за счет учета файлов не только длины M, но и (M-1), (M-2) и т.д.). Таким образом, вероятность того, что произвольно выбранный N-байтный файл получается распаковкой какого-то self-extractor'а, не превосходит 2*2^(8*M)/2^(8*N) = 2/2^(8*n). (Да, в первоначальной оценке я забыл учесть множитель 2). |
| 243. B.A.D., 25.01.2002 17:45 |
Ну что ж теперь уже большему количеству разумных людей ( и не только людей Я ж хотел все-таки разобраться с вариантом сжатия указанным мной выше Итак : (извиняюсь за банальные напоминания, но результат интересен) Вот и возникает теоритический вывод, (при выполнении одновременно обоих условий) |
| 244. Vladimir Rybinkin, 25.01.2002 18:00 |
Контрабандист Да нас..ть мне на все теоретические выкладки, я - практик Я заведомо обладаю важной информацией, что последовательность сжать ОЧЕНЬ ТРУДНО. Посему должон стоять коэффициентик 0.??????????. Я сильно подозреваю, что за точкой идет некоторое количество нулей B.A.D. |
| 245. Контрабандист, 25.01.2002 23:24 |
Vladimir Rybinkin Ну, если практик, то вероятность того, что _правильно_ сгенерированный файл можно сжать на 10 килобайт - порядка 1/2^80000, или примерно 10^-24000. Причем, как ни парадоксально, эта вероятность не увеличивается с увеличением размера файла. Т.е. файл в 100 мб в общем случае сжать на 10 кб (0.01%) не легче, чем файл в 1 мб на те же 10 кб (1%). |
| 246. Alexzander, 26.01.2002 08:06 |
цитата: А вот этого в исходных условиях не было! Почему нельзя использовать служебную инфу ОСи? Я опечален. Дело в том, что мой алгоритм, собственно, на этом и был построен - в компе крутится столько служебной информации, что не использовать ее просто глупо. По поводу совпадений кусков кода - это вы не подумавши сказали - если кусок большой, то вероятность совпадения меньше вероятности, что вы сгенерите идеальный файл. Похоже, quest, вы начинаете волноваться и пытаетесь закрыть даже самые маленькие щели для пресечение ненужных телодвижений противников. Это хорошо и не хорошо одновременно. цитата: Так что я считаю, что служебную инфу ОС использовать можно, ведь я не раз спрашивал об уточнении условий. Ну да ладно, я вне конкурса здесь выступаю, так что если Vladimir Rybinkin согласен, то так тому и быть.
PetrZloy |
| 247. ndemia, 26.01.2002 08:12 |
Контрабандист Причем, как ни парадоксально, эта вероятность не увеличивается с увеличением размера файла. а... с уменьшением? |
| 248. Alexzander, 26.01.2002 08:16 |
2 ALL Если мы знаем, что файл несжимаем, и в нем невозможно найти никаких повторяющихся и пр. подобных последовательностей, то что мешает нам сначала перетасовать байты в файле определенным образом, и искать последовательности в новом файле. А в гигабайте их будет до черта! Архивируем уже совсем новый гигабайт, а обратно будем восстанавливать в обратно порядке. Самый простой способ - рандом генерит seed по которому тасуем байты. Перетасованное жмем РАРом. Смотрим на результат. При необходимости повторить. Быстро и доступно. За месяц можно такое нажать... |
| 249. Контрабандист, 26.01.2002 10:19 |
ndemia Если не учитывать трудность размещения в маленьком файле осмысленной программы, то и с уменьшением файла вероятность по порядку величины не изменяется (а если учитывать, то она, конечно, стремится к 0). Эта вероятность примерно соответствует тому, что произвольно сгенерированный 10-килобайтный файл окажется вдруг состоящим из одних нулей. Alexzander Всем |
| 250. PetrZloy, 26.01.2002 19:04 |
quest Жду не дождусь этой крутой посл-сти... А можно для разминки подрючить что-нибудь попроще (ты вроде говорил что есть у тебя такой-то сложности...) ? |
| 251. Alexzander, 27.01.2002 11:11 |
Контрабандист А ты пробовал применять этот метод, чтобы так утверждать? Средний выигрыш - ну, ну... И много места займет алгоритм перемены мест каждого третьего байта с каждым вторым? А ведь файл получится координально иной.. И говорить, что он несжимаем уже будет нельзя. К примеру, нашли мы зерно, по которому после перетасовки все младшие байты оказались в начале файла, старшие в конце, а между ними по возрастающей. И что, такой файл заархивировать сложно? |
| 252. Vladimir Rybinkin, 27.01.2002 12:48 |
Контрабандист цитата:Спорить не буду, но предпочитаю сжимать файл на 10М, а не на 1М. По крайней мере, удельный вес проги уменьшается Alexzander цитата:По-моему, quest ведет себя предельно корректно. Во всяком случае, ЕГО толкования условий спора полностью совпадают с МОИМИ, причем, как на старте, так и сейчас... ndemia цитата: Alexzander цитата:Оно самое! Контрабандист цитата:Ой ли? Сейчас я относительно спокоен за условия пари. Мне думается, что я сейчас рискую только червонцем, потому как, в случае неудачи я просто публикую имеющийся алгоритм (для спасения репутации Да, еще. Я ведь, в принципе, могу потренироваться "на кошках". Но не делаю, смысла нет - перегорю до соревнования. Alexzander цитата:Один бит |
| 253. KAE, 27.01.2002 13:47 |
Могу только пожелать г-ну Рыбинкину удачи в его неелегком деле и привести отрывок из бессмертного произведения А и Б Стругацких, который очень хорошо (как мне кажется) согласуется с темой цитата: |
| 254. Vladimir Rybinkin, 27.01.2002 14:03 |
KAE цитата:Именно так! Кристобаль Хозевич абсолютно прав! |
| 255. quest, 27.01.2002 14:11 |
KAE Vladimir Rybinkin Бессмыслица -- искать решение, если оно и так есть А не найти ли благородным донам заодно и решение в целых числах простенького уравнения: x^N+y^N=z^N для N>2? |
| 256. Vladimir Rybinkin, 27.01.2002 14:14 |
quest P.S. В целых - 0^3+0^3=0^3, (-4)^5+4^5=0^5 |
| 257. quest, 27.01.2002 15:45 |
Vladimir Rybinkin Молодца! А теперь, размявшись, - сотворить тоже самое для положительных целых. |
| 258. Vladimir Rybinkin, 27.01.2002 16:15 |
quest Ты не понимаешь, Теодор. Я играл в эту игру с другой стороны. "Наши" победили |
| 259. Контрабандист, 27.01.2002 16:45 |
Alexzander И много места займет алгоритм перемены мест каждого третьего байта с каждым вторым? Хотя вопрос и некорректен, т.к. каждый второй байт с каждым третьим поменять нельзя (их разное количество)
А вот это зря.
|
| 260. Vladimir Rybinkin, 27.01.2002 18:44 |
Контрабандист Или я чего-то не понимаю, или рассуждения неверны. Впрочем, я действительно ничего не понимаю - какие-то цифири, ИМХО, с потолка взятые... цитата:Да мне, в общем-то, все равно - лишь бы попался из меньшинства - а это просто (файлов из меньшинства каждый навалом видел, а из большинства - Жду не дождусь этой крутой посл-сти... цитата:Увы мне, я токо толстый понимаю... |
| 261. quest, 27.01.2002 19:49 |
Vladimir Rybinkin Файл (сжатый Сеанс психологического давления нумер 2: То All Я сотворил не просто крутую последовательность, а сверхкрутую!!! |
| 262. Vladimir Rybinkin, 27.01.2002 20:08 |
Ох, ни ....! Только я расслабился... Получил. 1 048 629 в РАРе, 1 048 576 без оного. Форварднул. А вот куда выкладывать - не знаю. У меня места нет. Кому еще форварднуть для выкладывания? P.S. Какая точность в размере! |
| 263. AleUri, 27.01.2002 20:17 |
Vladimir Rybinkin давай aleuri@narod.ru выложу на народе |
| 264. Vladimir Rybinkin, 27.01.2002 20:21 |
quest Последнее уточнение. Давать? Оно? |
| 265. quest, 27.01.2002 20:26 |
Vladimir Rybinkin Похоже оно. Давать! |
| 266. Vladimir Rybinkin, 27.01.2002 20:31 |
Дал... Народной задаче - народ.ру! Чего? Нулей на 12% больше, чем единиц??? (Сеанс психологического давления нумер 2 Обшибся |
| 267. quest, 27.01.2002 20:44 |
Vladimir Rybinkin Нулей на 12% больше, чем единиц??? Угу. Это шоб занятней было! |
| 268. AleUri, 27.01.2002 20:45 |
блин, народ, глючит паразит шли, плиз aleuri@hotbox.ru я, конечно, дико извиняюсь |
| 269. quest, 27.01.2002 20:45 |
На калькуляторе считал Дык, а надо - столбиком! |
| 270. Контрабандист, 27.01.2002 20:55 |
Vladimir Rybinkin Что же непонятного в этих цифирях? Различных файлов длиной, например, 2 байта, существует 256^2=65536. Это не вызывает возражений? Аналогично, файлов длиной N байт существует 256^N, а файлов длиной от 1 до M (далеко не все из которых - self-extractor'ы) - я, вроде, приводил иллюстрацию, что и одного может хватить Жду не дождусь этой крутой посл-сти |
| 271. Vladimir Rybinkin, 27.01.2002 21:02 |
AleUri Послал по всем направлениям Контрабандист |
| 272. quest, 27.01.2002 21:07 |
Контрабандист Он до 8 марта будет оооочень занят, гарантирую! |
| 273. AleUri, 27.01.2002 21:14 |
ALL Несжимаемый файл !!! тута http://aleuri.hotbox.ru/Rybinkin.rar и тута http://aleuri.narod.ru/Rybinkin.rar |
| 274. Vladimir Rybinkin, 27.01.2002 21:19 |
quest Я? Возможно. Мой комп - более вероятно AleUri |
| 275. quest, 27.01.2002 21:20 |
AleUri Несжимаемый файл !!! И не просто несжимаемый, а несжимаемый Vladimir-ом Rybinkin-ным - это куда круче! Добавление от 27-01-2002 21:36: То Аll Господа любители чё-нить сжать! Добавление от 27-01-2002 21:42: Контрабандист Ну не скажите! |
| 276. bgnav, 27.01.2002 23:04 |
В теории информации есть понятие предел сжатия. Дальше невозможно сжать без потери информации. Это закон природы, как закон сохраниния энергии, между прочим эти законы связаны. Расписали на 12 страниц измышлений. Никакие перестановки байтов не помогут, в теории расматриваются биты и вероятности их появления. "Крутой последовательностью" будет белый шум. Шум с радио не будет достаточно случайным. Процесс сжатия это процесс удаления избыточной информации. В любом конечном потоке ее конечное количество. Допустим существует алгоритм который сжимает любой набор данных.Таким образом он может сжать все что угодно, включая результат своей работы. Таким образом имеем бесконечное сжатие данных, что невозможно так как в наборе данных имеем конечное количество полезной информации, следовательно такой алгоритм не существует. |
| 277. Контрабандист, 27.01.2002 23:39 |
bgnav Шум с радио не будет достаточно случайным Из шума с радио можно выделить регулярный сигнал и белый шум, причем амплитуда последнего будет намного больше дискретности АЦП (у меня в этом нет сомнений). Поэтому если при оцифровке брать только младший бит каждого семпла, то последовательность таки будет случайной. Почему все надо повторять по нескольку раз??? |
| 278. Евгений Машеров, 28.01.2002 10:09 |
Alexzander Мой адрес EMasherow@nsi.ru Можно взглянуть? (Обещаю не разглашать тайну, даже если сотрудники одной спецслужбы будут подногти загонять иголки от процессора другой фирмы |
| 279. Vladimir Rybinkin, 28.01.2002 10:48 |
quest цитата:ЧЕГО??? Так если я первый "сделаю", я ее не посрамлю??? А ну, где там второй? bgnav цитата:Ну не помогут, так не помогут |
| 280. quest, 28.01.2002 11:42 |
Vladimir Rybinkin А ну, где там второй? У меня, есстно! Евгений Машеров Дык, она выложена на общедоступных сайтах (см. предыдущую страницу ветки) Внимание всем! Тому, кто первый сожмет (сотворит self-экстрактор) мою вторую последовательноть хоть на один байт, я гарантирую получение всех баксов, которые мне проиграет Vladimir Rybinkin Только скажите, кому высылать её для размещения на всеобщее обозрение. |
| 281. Vladimir Rybinkin, 28.01.2002 11:48 |
quest Ну, раз не такая крутая - пусть жмут А вдруг я выиграю - обломаются те, кто сожмет |
| 282. Vuk, 28.01.2002 12:08 |
quest (относительно выложенного файла) Я тут прогнал его своей маленькой, наспех составленной программкой, но тем не менее приобрел абсолютную уверенность, в том, что этот файл все-таким можно сжать. Если интересно, что я получил из этого файла, то вот это: код: Эти циферки показывают сколько последовательностей из одинаковых битиков встретилось в Вашем файле. Т. е. 1048199 - по одному битику, 525221 - по два битика и т. д. И в конце, на самых длинных последовательностях оказалось что это распределение существенно болтается вверх/вниз (!) относительно степеней двойки (1-2-4-8-16-...). Для наглядности я даже нарисовал тут: ![]() То есть (внимание Vladimir Rybinkin - маленькая идея), отступив от предположения, что символы в файле имеют длину 8 бит и кратны байтам - мы можем этот файл чуть-чуть, но поджать. Правда, потребуется очень много времени на написание алгоритма и очень-очень много, собственно, на сжатие. Сам попробовать не могу - ( сорри Тем более я могу и ошибаться. |
| 283. Vladimir Rybinkin, 28.01.2002 12:33 |
Мне жена сегодня сказала: "Вот уж нисколько не сомневаюсь, что ЭТО ты сделаешь. Им надо было спорить, чтобы ты по дому чего-нибудь сделал" Vuk (и другие) |
| 284. quest, 28.01.2002 12:35 |
А как Вы считаете, quest, ошибаюсь я или нет? Я, правда, не совсем понял, что Вы подсчитывали, но основную идею вроде усёк: Вы хотите использовать отклонения частот битовых подпоследовательностей от их априорных вероятностей при предположении, что все они равновероятны.
Vladimir Rybinkin Увы, ошибаетесь... |
| 285. Контрабандист, 28.01.2002 13:14 |
quest Тому, кто первый сожмет (сотворит self-экстрактор) мою вторую последовательноть хоть на один байт С таким же успехом можно было предложить сделать self-extractor ровно на 1 байт длиннее исходного файла. |
| 286. Vladimir Rybinkin, 28.01.2002 17:57 |
Ну, ребяты, молитесь, чтобы я ошибся... Ниче пока не сжал (естественно Это было: Это стало: Точнее, стало не это, но я упростил до предела, чтобы понять, чего там происходит. Не знаю, чем это закончится, но пока что оптимизма прибавилось P.S. quest - насчет "в столбик" - правильное замечание, перепутал все, что можно |
| 287. quest, 28.01.2002 18:19 |
Vladimir Rybinkin пока что оптимизма прибавилось Куды-ж больше то? |
| 288. Vladimir Rybinkin, 28.01.2002 18:24 |
quest Как это куды? Я, собственно, ничего пока не делаю - смотрю на файл, но уже и ноликов прибавилось, и упорядоченность выросла (здесь, конечно, не заметно). Причем даром - я еще даже одного байта не потратил служебного - 5 бит (или 6, еще не решил). |
| 289. quest, 28.01.2002 18:39 |
Vladimir Rybinkin но уже и ноликов прибавилось я еще даже одного байта не потратил служебного - 5 бит На эти 5 и прибавилось? Кстати. А каким образом определяется большая-меньшая упорядоченность? Чем меряете? |
| 290. AleUri, 28.01.2002 19:26 |
Все мой любимые архиваторы сдались (по этому собственно и не привожу их список quest вышли мне (aleuri@hotbox.ru) вторую последоватьность, выложу ее раз уж взялся |
| 291. Vladimir Rybinkin, 28.01.2002 20:32 |
quest цитата:Не, на 610, но не в этом дело. Я их и не прибавлял - просто так получилось. цитата:Ничем. Алгоритм тасует данные так, что они становятся более упорядоченными. Вообще-то, это видно и визуально, но не на байтовом распределении. Но, опять-таки, не в этом дело. Я (хм, до пятницы я совершенно занят |
| 292. Alexzander, 29.01.2002 07:34 |
Евгений Машеров Может хоть вы убедите меня, что алгоритм не сработает... А то пока объективных возражений не было - я ведь самоделкин, мне надо на пальцах объяснить, что алгоритм не сработает. Жаль, что мне не чем самомоу попробовать ни первый, ни второй файл. |
| 293. quest, 29.01.2002 10:06 |
Alexzander А то пока объективных возражений не было Посылайте мне - будут! Добавление от 29-01-2002 10:14: AleUri Вышлю. Возник небольшой затык по работе, а вторую последовательность я сгоряча потер: думал уже никому не нужно |
| 294. Alexzander, 29.01.2002 11:03 |
quest Отправил. Я не очень расстроюсь, если не совершу прорыва и ничего не докажу, но хотелось бы _доказательных_ возражений почему я не прав. А то я уже слышал, что место может быть занято, так и до нехватки оперативки докатиться можно... или еще много до чего. |
| 295. Vladimir Rybinkin, 29.01.2002 11:28 |
Alexzander Посылайте мне - будут! Или мне |
| 296. Alexzander, 29.01.2002 11:54 |
Vladimir Rybinkin Выслал. |
| 297. Vladimir Rybinkin, 29.01.2002 12:01 |
Alexzander Получил... Уважаемые господа! Ваш электронный адрес взят из открытых источников. Тем не менее, просим нас извинить за несанкционированную рассылку. Искренне надеемся, что данная информация будет для Вас полезна. Это? |
| 298. Alexzander, 29.01.2002 12:08 |
Vladimir Rybinkin Нет... Письмо послано с рабочего места, там должно быть все официально. Неужели не получили... Послать еще раз? |
| 299. quest, 29.01.2002 12:10 |
Vladimir Rybinkin Я, кажется, начинаю понимать Вот это - всегда полезно!!! |
| 300. Vladimir Rybinkin, 29.01.2002 12:14 |
Alexzander Ага, пришло. Но там же все написано... Здесь морду бить или мылом? quest |
| 301. Alexzander, 29.01.2002 12:21 |
quest Отвечу здесь, если не возражаете. Во-первых, несколько страниц назад я уже говорил, что алгоритм работает не во всех условиях. Непереносимость на другие машины - одно из них. Во-вторых, место, необходимое для файла, можно и ручками освободить. В-третьих, с числами вы все усложнили. Если число в пределах от 16 до 32, то номер сектора будет 16, 17, 18, 19 и т.д. до тех пор, пока (Число минус Номер сектора) >=0. То же верно и для любых других чисел. В-четвертых, мы говорим о сжатии одного единственного файла один единственный раз, чтобы доказать, что это возможно. Сколько можно приводить контраргумент, что "В других условиях этого не получится"?!! Достаточно, чтобы получилось хотя бы ОДИН РАЗ. Возможно, что я где-то не очень точно употребил терминологию, но как тогда называется физический адрес на диске для каждого конкретного байта?
Vladimir Rybinkin |
| 302. Vladimir Rybinkin, 29.01.2002 12:26 |
Alexzander Ok. А насчет не копать - я уже писал: алгоритм есть, направление, стало быть, тоже - другого такого мне не придумать, а если уж и ЭТО не работает - сдамся. |
| 303. Alexzander, 29.01.2002 12:28 |
Vladimir Rybinkin Хотя, по зрелому размышлению, непонятно, почему не реально.... Может объясните мылом? |
| 304. quest, 29.01.2002 12:28 |
Alexzander мы говорим о сжатии одного единственного файла один единственный раз Дык, что тогда сжатием называется? Добавление от 29-01-2002 12:29: Vladimir Rybinkin Точно: не работает оно, подлое! |
| 305. Vladimir Rybinkin, 29.01.2002 12:30 |
Alexzander Хорошо. Только я сейчас уезжаю на важную встречу. Вечерком, если получится. Или завтра. |
| 306. Alexzander, 29.01.2002 12:34 |
quest А причем тогда ваши (и других) возражения, что места нет или не хватит или занято, что пересылать файл нужно на другую машину (в коммерческой версии, понятно, без этого никак), зачем упоминаются служебные метки, когда для одного случая можно обойтись и без них? Разархиватор делает примерно так: И где здесь необходимые служебные метки, которые жрут так много места? Алгоритм работает один раз и ему не надо ИСКАТЬ что и где. Он ЗНАЕТ. |
| 307. quest, 29.01.2002 12:53 |
Alexzander Даже комментировать неохота Да поймите, что номер сектора нужно тоже где-то хранить, а выигрыша не будет, т.к. при сложении чисел показатели степеней складыватся не обязаны! 2^16 + 2^16 отнюдь не равно 2^32 |
| 308. Alexzander, 29.01.2002 13:45 |
quest Естественно, сорри, про 2^16 и 2^32 это из другой оперы, и будет там не вычитание, а степени, по основанию 2 Может, я чего-то не догоняю, но зачем номер сектора хранить? Ведь комп уже знает где позиционирована головка для чтения - и этот адрес наверное можно получить соответствующей функцией. ФАТ же как-то содержит в себе инфу о расположении файлов на диске? Добавление от 29-01-2002 13:49: 2 ALL Добавление от 29-01-2002 13:51: quest |
| 309. B.A.D., 29.01.2002 14:56 |
Alexander Сорри всем, за описку по поводу степеней. Самое смешное, что кроме quest больше никто ее не заметил Дык робяты может вы все-таки как-нить по почте разберетесь - народ ВООБЩЕ не в курсе мифического алгоритма от Alexander - нигде его нет и о чем речь не понятно, тем более никому это и не надо (ИМХО) - вот двое нарвались quest и Rybinkin - теперь отдуваются quest ощутимое различие в количестве 0 и 1 - так вроде стандартное "арифметическое кодирование" должно сжать |
| 310. quest, 29.01.2002 15:17 |
B.A.D. ощутимое различие в количестве 0 и 1 - так вроде стандартное "арифметическое кодирование" должно сжать Дык, где оно, ощутимое различие? |
| 311. B.A.D., 29.01.2002 15:22 |
To quest Чего? Нулей на 12% больше, чем единиц??? (Сеанс психологического давления нумер 2 ) Обшибся . На калькуляторе считал - со второго раза - 0.396800041198 (Rybinkin) Мы то этой последовательности в глаза не видали, но Rybinkin'у верим (наивные мы) To All |
| 312. quest, 29.01.2002 15:32 |
B.A.D. Мы то этой последовательности в глаза не видали А кто мешает посмотреть? Но, продолжим цитирование (Чего? Нулей на 12% больше, чем единиц??? (Сеанс психологического давления нумер 2 ) Обшибся . На калькуляторе считал - со второго раза - 0.396800041198 (Rybinkin)) цитата: Rybinkin: цитата: Советую (на будущее) читать всё подряд, а не только последнюю страницу ветки. |
| 313. WPooh, 29.01.2002 15:33 |
B.A.D. А что если quest=Rybinkin (небольшая шутка) Не, вряд ли. А вот "начальник/подчиненный" или "сотрудники" - запросто. Можно QZ спросить - он их IPшники может глянуть. Добавление от 29-01-2002 15:36: quest |
| 314. B.A.D., 29.01.2002 15:43 |
WPooh "начальник/подчиненный" или "сотрудники" - запросто точно!! - только они сами об этом не знают слышь WPooh что-то твой IP сильно на IP QZ смахивает |
| 315. WPooh, 29.01.2002 15:54 |
B.A.D. Не, у меня даже бороды-то нету. Только отращиваю. Да и возраст поменьше. Не, вроде бы не раздвоение. Да и за окном сосенки кругом и белки скачут, а не бетонные коробки с кучей машин в пробках. Вроде даже за начальника он мне не идет. |
| 316. Vladimir Rybinkin, 29.01.2002 18:49 |
Alexzander Я немного погорячился - не хочется комментировать Берем несколько чисел подрят из файла так, чтобы они лежали в промежутке от 2^16 до 2^32 Нет таких чисел в файле (подряд quest цитата:Снова правильное замечание B.A.D. цитата:А какая разница? Этому некто все равно файл либо сжать, либо не сжать. А если не сжать, так выставить алгоритм на всеобщее осмеяние. Анонсов в любом случае хватает |
| 317. Alexzander, 30.01.2002 07:26 |
Vladimir Rybinkin цитата: Нет таких - возьмем из другого промежутка, не подряд - так перетасуем, станут подряд. |
| 318. Vladimir Rybinkin, 30.01.2002 10:37 |
Alexzander Много крови |
| 319. Alexzander, 30.01.2002 10:53 |
Vladimir Rybinkin Дык я настолько непрофи, что мне неподсилу оценить сложность задумки. Зато есть куча народу, которые мне на это укажут! |
| 320. quest, 30.01.2002 13:03 |
To All Вторая последовательность выслана AleUri. Он обещался её выложить на общедоступном месте. Напоминаю: Первый, кто сожмет вторую последовательность хоть на байт (сотворит self-экстрактор длины меньшей, чем сама последовательность) получит все баксы, которые мне проиграет Vladimir Rybinkin Первенство будет определятся по дате и времени мыла, содержащего соответствующий self-экстрактор и направленное мне через сервер iXBT. Успеха! |
| 321. CrazyElk, 30.01.2002 13:24 |
Читаю и радуюсь. Образцу Вечной Дисскусии о некорректно поставленой задаче. (дискуссия будет вечной именно по причине некорректной постановки вопроса. не неправильной, а именно не корректной т.е. не допускающей однозначного ответа исходя из заданных условий). Итак вопрос. Есть ли пределы сжатия данных? Два формально абсолютно правильных ответа. 1. Данные сжать невозможно (т.е. предел сжатия 1:1, где то в дисскусии этот вариант проскакивал) Теперь пояснения Конечно тутже крик передергивание - мы хотим сжимать не все возможные данные, а только практически встречающиеся. Второй пример это как раз иллюстирует просто по другому определя данные. Упирая именно на их практическое существование и великолепное знание природы этих данных. Определение сжатие тоже самое. 2. Данные это последовательность бит длинны N (можно даже N равно бесконечности) формируемая как отклик фильтра КИХ или если нравится экзотика и бесконечность БИХ на разовое возмущение (данные практически существуют и их природа хорошо известна). Таких данных будет ровно два (а чем это вам не множество). Возмущение единичное и возмущение нулевое. В промежутке и перпендикулярно к вышеописанным есть еще масса ответов в зависимости от определения данных и сжатия. Если кто-то еще вставит словечко "в среднем" пусть не забудет поиграть с определением этого самого среднего (и соответственно функций плотности вероятности и т.п.), изумительная картина получается с точностью до наоборот в зависимости от определений вероятостного пространства. Так что самый разумный ответ на вопрос в том виде в каком он задан на мой взгляд - unpredictable result due to incorrect question. P.S. |
| 322. quest, 30.01.2002 13:49 |
CrazyElk Читаю и радуюсь. ИМХО, - немного не тому По-моему, дискуссия крутится вокруг другого вечного вопроса: "Вера или знание?"! Те, у кого знаний недостаточно (по причинам объективным, или субъективным) основывают свои суждения по сабжу на вере, другая сторона - на знаниях. Ну верит Vladimir Rybinkin в свои возможности алгоритмиста! А я пытаюсь ему показать, что в математике и программизме вера в свои возможности, хоть и полезная штука, но отнюдь недостаточная... |
| 323. Vuk, 30.01.2002 13:51 |
CrazyElk Мдя... Радость - это хорошо. to All |
| 324. CrazyElk, 30.01.2002 14:04 |
Vuk Если можно каких именно терминов я не понимаю (можно часным порядком olegkrs@mail.ru во избежание флейма). Даже не зная каких, на мой взгляд важнее наоборот "надо научиться правильно писать или, по крайней мере, понять их смысл" Добавление от 30-01-2002 14:16: quest |
| 325. quest, 30.01.2002 14:32 |
CrazyElk Можно уточнить условия пари. Всё очень просто: я дал файл в 1Mb и до 8 марта жду, что супротивник представит self-экстрактор этого файла, размером меньшим, чем сам файл. Ферштейн? |
| 326. Vladimir Rybinkin, 30.01.2002 14:50 |
Ох, теоретики... Посмотрим, как вы будете оправдываться, КОГДА я сотворю этот экстрактор |
| 327. CrazyElk, 30.01.2002 16:01 |
quest А как на счет проверки что этот алгоритм не заточен на упаковку этой и только этой последовательности. IMXO (к сожалению жмет работа и детальный анализ не провел) для любой наперед заданной последовательности существует алгоритм генерации такой что суммарная длинна алгоритма (включая входные данные которые он использует) меньше чем заданная последовательность - назовем его компактным алгоритмическим представлением. Причем этот генератор (вкупе с входными данными) для остальных последовательностей может иметь чудовищный размер, а вот для заданной минимальный? Вот некоторые соображения в пользу ощущения: существенно что последовательности одна, поскольку комбинирование сложного алгоритма для генерации множества последовательностей из отдельных алгоритмов требует кроме обьеденения самих алгоритмов дополнительных индексных данных (какой именно алгоритм применять) размер которых существенно увиличивает суммарную длинну комбинированного алгоритма т.е. для каждой последовательности в отдельности может существовать ее компактное алгоритмическое представление, а вот для всего множества в целом нет). Разница постановок между наперед заданный алгоритм и произвольные входные данные и заданные входные данные и произвольный алгоритм на мой взгляд очень существенна. Фактически в этим пари проверяется утверждение что для заданной ограниченной (и как следовательно не чисто случайной) последовательности не существует ее компактое алгоритмическое представление. Это еще вопрос, причем не даже эквивалентный существованию эффективного алгоритма для сжатия произвольной случайной последовательности. Для провеки существования алгоритма эффективно сжимающего случаные данные (при этом он на регулярных данных вполне возможно давал бы полную лажу) корректнее было бы - Vladimir Rybinkin представлял распаковщик, а уже затем затем получает N тестовых файлов длинны M для упаковки где N от 1 до сколько договоритесь. И если для этих файлов условие сжимаемости 0.99M исходного текста выполняется то можно с определенной вероятностью говорить о существовании сжимающего алгоритма. Это было бы похоже на доказатество с нулевым знанием - поставщику исходных данных существование - или отсутствие алгоритма после N тестов очивидно но никаких данных о нем у у него нет и другим доказать существование алгоритма он не может. Но вобщем спор ваш. Вам и решать что именно им решается и как его вести. |
| 328. quest, 30.01.2002 16:13 |
CrazyElk для любой наперед заданной последовательности существует алгоритм генерации такой что суммарная длинна алгоритма (включая входные данные которые он использует) меньше чем заданная последовательность Ну вот! Заразно, наверное |
| 329. B.A.D., 30.01.2002 16:34 |
CrazyElk И еще долго будут рассуждать пока не уточнят о чем собственно речь идет. Результат - запинали ногами ExtraLamerЧТО ТАКОЕ СЖАТИЕ? Я уже пытался дать определения T0 Alexzander ну нельзя обсуждать Ваш алгоритм, не описав его (смотрел я всю ветку - нет описания) |
| 330. quest, 30.01.2002 17:02 |
B.A.D. T0 Alexzander ну нельзя обсуждать Ваш алгоритм, не описав его (смотрел я всю ветку - нет описания) Та нечего там обсуждать - не алгоритм, а просто некие, как бы помягче сказать, ну, к примеру, не совсем адекватные рассуждения. |
| 331. CrazyElk, 30.01.2002 17:56 |
quest Каюсь ввел в рассуждения неопределенное понятие чем ввел в смущение окружающих (взял слишком высокий уровень абстракции). Понятие алгоритм у меня совершенно не определено ни какие операции ни как их комбинировать. Хоть в дисскусии всеми наверное понимается программа на PC т.е базовые элементы алгоритма вполне определены и зафиксированны. Так вот если базовые операции алгоритма заранее не определены, как я молчаливо и предпологал в своих рассуждениях (виноват еще раз каюсь), и сложность реализации базовых операций не учитываются в общей сложности алгоритма (с чем повидимому согласны все) то в качестве базовой операции берем сложение по модулю числа представленного заданной последовательностью + 1 и в этой арифметике генерация требуемой последовательности тривиальная задача описываемая очень компактно аналитически (псевдо код for (i=0,i+1<>0,i++){}; Out(i); или еще проще Out(-1) В пари в отличии от моих рассуждений базовые операции вполне определены (набор команд процессора) и как следствие относительно этих базовых команд существует не более чем 2^int(N*0.99) алгоритмов (под алгортмом понимаю как команды так и входные данные) генерирующих не более чем 2^int(N*0.99) последовательностей длинны N и т.д. и т.п. не буду повторять аргументы quest там все корректно и прозрачно. Т.Ч. "несжимаемые" последовательности существуют с учетом выше изложенног. Теперь интересен только результат пари. P.S. |
| 332. AleUri, 30.01.2002 20:09 |
ALL Первая последовательность (http://aleuri.hotbox.ru/1.rar) Копия Первой последовательности (http://aleuri.narod.ru/1.rar) - та, которая послана для Vladimir Rybinkin цитата: Всем удачи ! |
| 333. Vladimir Rybinkin, 30.01.2002 20:15 |
"Болтанка" у второй явно больше А не попробовать ли МНЕ получить баксы от Рыбинкина? |
| 334. Витька, 30.01.2002 21:06 |
CrazyElk Вам очень верно заметил Vuk, что: цитата: Вы же сами сказали про невозможность взаимно однозначного преобразования (отображения) двух конечных множеств разного размера друг в друга. И после этого, вдруг начинаете “уточнять” (IMHO, гнать пургу) - про какие то базовые операции. Какая разница!!!
А сколько Вы ставите против того, что я, в течении недели (после согласия) предоставлю программу, которая сможет сжать (и обратно разжать конечно) любой из десяти файлов размером 1M..10M, которые вы сделаете в последующие 30 дней? |
| 335. quest, 31.01.2002 10:07 |
Витька я, в течении недели (после согласия) предоставлю программу, которая сможет сжать (и обратно разжать конечно) любой из десяти файлов размером 1M..10M Шуллерские приемы мы здесь уже обсуждали! Или Вы всерьёз? |
| 336. Витька, 31.01.2002 11:11 |
quest Всерьёз. Никаго шулерства абсолютно - (де)архиватор рассматривает только содержимое только входного файла. Даже имя не учитывает |
| 337. quest, 31.01.2002 11:18 |
Витька А сколько Вы ставите против того, что я, в течении недели (после согласия) предоставлю программу, которая сможет сжать (и обратно разжать конечно) любой из десяти файлов размером 1M..10M, которые вы сделаете в последующие 30 дней? Всерьёз. Никаго шулерства абсолютно А сколько хотите! |
| 338. PetrZloy, 31.01.2002 11:29 |
Витька Это ГОРАЗДО БОЛЕЕ реально, чем сжать одну конкретную, но с учетом размера кода в селф-экстракторе. Даже я более менее представляю как это сделать. Я так понял что вы размер своего екзешника не учитываете - иначе условия были бы еще жестче чем в пари, к-е всеми тут обсуждается. То есть я бы ничего не поставил при таких условиях. Добавление от 31-01-2002 11:36: Витька |
| 339. quest, 31.01.2002 11:47 |
PetrZloy Нафига 10 файлов упоминать? Вообще-то, было подозрение, что он намеревался спрятать часть "сжимаемых" файлов в теле своего "(де)архиватора". |
| 340. White Eagle, 31.01.2002 11:59 |
quest Вроде как Витька обещает сначала программу, а потом получает 10 файлов. Так что спрятать не выйдет. Витька, или я не прав? |
| 341. Витька, 31.01.2002 12:32 |
quest Но при условии, что Вы тоже поставите на кон сумму, способную мне компенсировать мои 30-дневные затраты. Баксов этак пятьсот... $500 это перебор. Они есть у меня, но риск слишком высок. Ведь дальше идей я пока не продвинулся.
Зачем? Впрочем уверен, что больше, чем на 100K (реально 30K Delphi console) он не потянет. После того как вы пришлете ваш архиватор достаточно будет сделать 1 файл, который он не сожмет. Совершенно верно. White Eagle Вы меня абсолютно правильно поняли. |
| 342. quest, 31.01.2002 12:39 |
Витька архиватор не заканчивающий работу за разумное время например на PIII-650@900GHz/256M (мой компьютер) отношу к нечестности. Ваше определение разумности, плииз? |
| 343. Витька, 31.01.2002 12:46 |
quest Долгожданный и очень важный вопрос 10 файлов за 30 дней, ну скажем не больше 3-x дней архивации на один файл. Думаю, что 10 раз ужать свой результат он сможет |
| 344. quest, 31.01.2002 13:12 |
Витька Думаю, что 10 раз ужать свой результат он сможет Дык, требуется ужать не свой результат, а мой файл! |
| 345. Витька, 31.01.2002 13:24 |
quest Дык, требуется ужать не свой результат, а мой файл! Естественно. Просто я боюсь, что ужимать им же созданный архив ему было бы несколько сложнее, чем созданный Вами файл. Где Вы обнаружили у меня игру словами? |
| 346. Vuk, 31.01.2002 13:40 |
quest Согласен с Вами относительно того что болтанка хоть и есть но при таких величинах отклонения (от априорной вероятности появления последовательности одинаковых битов определенной длины) роли не играет - отклонения слишком малы. Но вот во второй последовательности хвост выглядит как код:516 Здесь можно уже пару-другую байт получить только за счет прямой замены более длинной последовательности повторяющихся бит на более короткую. Но не в этом дело. Просто распределение с таким хвостом мне очень напомнило распределение, полученное мной на основе анализа файла mp3, многократно пережатого архиватором. quest, признайтесь, каким образом Вы создали этот (второй) файл? |
| 347. quest, 31.01.2002 13:44 |
Витька Где Вы обнаружили у меня игру словами? Вот: Думаю, что 10 раз ужать свой результат он сможет Формулируйте точно Ваши условия (включая максимальные размеры Ваших (де)архиваторов, и максимальное время из работы). Добавление от 31-01-2002 13:45: Vuk Не-а! |
| 348. CrazyElk, 31.01.2002 14:50 |
Витька >>на написано 30-01-2002 21:06 >>И после этого, вдруг начинаете “уточнять” (IMHO, гнать пургу) - про какие то базовые операции. >>Какая разница!!! А вот какая!!! Вот и выходит что "базовый" набор команд из каких можно строить алгоритм еще как влияет на размер self extractor-а и возможность сжать последовательность. P.S. P.S. II IMXO Пари спасает то что 99.9...% в качестве платформы рассматривают от P и выше в качестве процессора и Win95-98 в качестве операционки. |
| 349. Витька, 31.01.2002 15:17 |
quest Где Вы обнаружили у меня игру словами? Вот: Думаю, что 10 раз ужать свой результат он сможет Это была некоторая избыточная информация о свойствах моей программы, только повышающая Ваши шансы. Неужели не понятно? Весь вопрос в степени Вашей уверенности в несжимаемости Ваших файлов, и моей в работоспособности моего алгоритма. Никто не требует от Вас тратить какое-то время. По поводу интересующих Вас условий, то максимальный размер моей программы 100K (а чего мелочится, ничего взятого с потолка она содержать не будет, но даже минимальный экзешник у меня начинается от 20K), максимальное время работы 48 часов. P.S. Мне кажется, что Вы боитесь подвоха. Так вот, повторяю – никакого шулерства. Правда и никакого прикладного значения – голая теория. CrazyElk |
| 350. quest, 31.01.2002 16:04 |
Витька Мне кажется, что Вы боитесь подвоха. Конечно! Правда и никакого прикладного значения – голая теория. И именно потому, что неплохо знаю теорию. К примеру, я знаю, что чисто сжать любую последовательность битов невозможно (аргументы тут приводились не раз). Но можно иммитировать сжатие, если есть возможность разделить информацию в исходном файле и некоторую её часть просто иметь в (де)архиваторе. Я уже говорил, что очень трудно установить чёткую грань между алгоритмом и данными. И поэтому, предлагая первоначальное пари настаивал на self-экстракторе. Вы от требования self-экстрактора отошли. А здесь есть масса возможностей сжать, фактически не сжимая. И это - только один пример!!!
|
| 351. @Matrix, 31.01.2002 16:05 |
Витька А сколько Вы ставите против того, что я, в течении недели (после согласия) предоставлю программу, которая сможет сжать (и обратно разжать конечно) любой из десяти файлов размером 1M..10M, которые вы сделаете в последующие 30 дней? Вы хоть сами-то понимаете, что вы обязуетесь написать алгоритм, сжимающий практически любые данные как минимум в 10 раз? Простое доказательство приведенного утверждения: берем произвольный файл (для увеличения сложности, zip-архив) размером 10 Мб, подаем его на вход Вашему алгоритму, потом (если результат больше 1 Мб) подаем на вход этот результат и т. д. Если Ваш архиватор сжимает ЛЮБОЙ файл размером 1..10Мб, то такими последовательными операциями мы либо любой файл размером 10Мб сожмем менее чем в 1Мб, и докажем Вашу правоту, либо найдем файл, который уже не будет сжиматься... Ну так что, будем спорить? Добавление от 31-01-2002 16:11: Упс... Прочитал про предполагаемое время работы... Не, так может итераций не хватить |
| 352. CrazyElk, 31.01.2002 16:16 |
Витька На теоретическую возможность построения соответствия конечно не влияет. А вот на обьем описания (читай алгоритма) этого соответствия на языке команд процессора очень даже да влияет. Поскольку описание (алгоритм) в self extract входит неотемлемой частью то и на итоговый размер exe файла тоже Сравнивается же исходная последовательность и сумма размеров описания разжимающего алгоритма (т.е исполняема часть self extract файла) + входные данные для этого алгоритма (остаток байт в self extract файле). А не просто размер исходная последовательность с размером входных данных для некоторой программы (разжимателя). (в эдаких условиях сравнения я что угодно сожму до 1 бита вся сложность уйдет в программу разжимания). P.S. Предложение ограничить программу 100к эквивалентна в чем то заранее махом получить что то ~10% (100k ot 1M) форы в сжатии ведь если это self extract то эти 100к в игре. А так вроде как и не считаются. P.S. II Обратите внимание что о сжимаемостьи или не сжимаемости конкретных примеров не говорил не слова (не собираюсь ни анализировать ни дискутировать). Так что сожмете его или нет никакого значения не имеет. Корректную IMXO поцедуру проверки существования алгоритма сжатия белого шума (насколько понимаю спор вокруг него) излагал ранее. (спорить с кем не собираюсь) |
| 353. Vladimir Rybinkin, 31.01.2002 19:54 |
CrazyElk цитата:ЧЕГО??? КУДА??? Да никак не влияет. Ну, почти. Была, скажем где-то полезная команда "подсчет числа единиц" - ну, нет ее... цитата:Спорить не буду, а процедуры что-то не нашел. И как проверять? quest |
| 354. Витька, 31.01.2002 21:12 |
quest То есть отказ. А жаль. Я начал писать Вам более подробный ответ, но ... Может завтра допишу. Кстати, Ваш первый файл не плох. Только последовательности в 20 бит не все встречаются. До теоретически возможных 23 Вы не дотянули. Но, мой первый же, тестовый Монте-Карловский архиватор сжал его за час на 7 байт. |
| 355. CrazyElk, 31.01.2002 21:28 |
Vladimir Rybinkin Процедура доказательство с нулевым знанием (zero knowledge proof) существования сжимающего алгоритма (т.е. как не раскрывая самого алгоритма доказать желающему что он существует) см. мой постинг написан 30-01-2002 16:01 адресованый quest предпоследний абзац в середине. >>ЧЕГО??? КУДА??? Да никак не влияет. (написано 31-01-2002 19:54 Vladimir Rybinkin) Это ответ для Витька на его постинг в мой огород написаный им 31-01-2002 15:17 в ответ на мой 31-01-2002 14:50 и т.д. там ссылка есть дальше. Если что непонятно но интересно в обратном порядке по постам все прояснится. Не прояснится - ну извини такой я косноязычный. quest тыто хоть понимаеш о чем я пишу Кстати пост quest от 31-01-2002 16:04 написанный для Витька по этой же проблеме с точки зрения програмиста наверно еще лутше все обьясняет что и я пытался донести но с другой стороны. P.S. Да не нужна она тебе (в смысле процедура эта zero knowledge proof) у вас с quest уже своя выработана. А если уж сам вопрос интересен милости просим в Applied Сryptography все очень понятно и прозрачно описано с илюстрациями и пояснениями читай нехочу (классика-с сила). |
| 356. quest, 01.02.2002 11:10 |
Vladimir Rybinkin А вот формулу вероятности сжатия файла из N байт на M байт - есть такая? Угу. Но ить это - теория, кою не признаём... Витька На таких условиях пусть Vladimir Rybinkin играет, - он теории не признает из принципа! До теоретически возможных 23 Вы не дотянули. Чтобы её можно было сжать ровно вдвое? Но, мой первый же, тестовый Монте-Карловский архиватор сжал его за час на 7 байт. Может везение? Отчего-ж? Так оно и должно быть. И даже еще десяток-другой байтов можно выжать - энтропия позволяет. Остался пустячок: втиснуть в эти байты программу распаковки и Вы на коне! CrazyElk Я с криптографией знаком... |
| 357. CrazyElk, 01.02.2002 15:24 |
quest Я с криптографией знаком... Да я вопрос задал не всмысле твоего знания теории (всяких всяческих и разнообразных, а уж если чего не знаеш сможеш разобратся в этом сомнений не возникает) я о своем стиле изложения вопрос задал. А то впечатление от ответов и возражений что по китайски пишу все вроде читают все видят и ничего не воспринимают. Вот и поинтересовался как с твоей точки может и вправду заумно и криво пишу и человеку не понять как не старайся в силу убогости изложения автора (меня то биш P.S. Усе писать прекращаю а то окинул взглядом еще раз тему и понял что можно следующими брать с таким же успехом: а) ищем трехмерные числа (а что рациональные числа одномерные по оси отобразить можно, комплексные двумерны хорошо векторами представляются - отседова "ясно" трехменые должны быть срочно ищем. Чур в теорию не заглядывать кто оную не признает, Л.С. Понтрягина в упор не видить) б) срочно опровергаем Большую теорему Ферма ну ту что x^n+y^n=z^n и n > 2 (Чего проще: для опровержения всего один то примерчек нужен - пишим программу поиска цельночисленных решений и ищем... ищем... ищем... тем более что в Кирил и Мефодии она до сих пор в недоказанных числится сколько им ссылки не присылай, а Taylor и Wiles пошли ну сами знают куда.) Good Bye ALL |
| 358. Витька, 01.02.2002 18:51 |
quest Остался пустячок: втиснуть в эти байты программу распаковки и Вы на коне! Да? А что Вы скажете насчёт поставки в виде двух файлов с суммарным размером меньше Вашего? |
| 359. Kyros, 01.02.2002 19:03 |
2 All очень прошу, если кто разобрался с форматом МР3 - помочь http://forum.ixbt.com/0026/011098.html |
| 360. quest, 02.02.2002 11:27 |
Витька Да? А что Вы скажете насчёт поставки в виде двух файлов Скажу, что это нарушает условия! Публичная оферта акцептированна - обратного ходу нету, увы... |
| 361. Vladimir Rybinkin, 02.02.2002 13:13 |
quest цитата:Во-первых, признаем (если она не мешает решать текущую задачу обратного ходу нету |
| 362. quest, 02.02.2002 13:33 |
Vladimir Rybinkin Во-первых, признаем Упс! Уже прогресс претендую на попадание в книгу рекордов Гиннесса за самое большое расхождение теории и эксперимента Мнэ-э... А где оно, расхождение-та? PS. А не приказал ли долго жить знаменитый ночной алгоритмик, случаем? PPS. А, ить, как много нового и интересного ещё узнаете, и всего за десять баксов! |
| 363. Vladimir Rybinkin, 02.02.2002 13:41 |
quest цитата:Ну... Надеюсь изо всех сил (с)Карлссон. цитата:Жив, курилка |
| 364. Контрабандист, 02.02.2002 17:23 |
Vladimir Rybinkin Интересно, директор компании БИТ Владимир Романов - это, случайно, не автор Reget'a? P.S. Оценка сверху для вероятности сжатия уже приводилась: 2/256^M; от N она не зависит. Естественно, эта оценка справедлива только тогда, когда исходный файл заполнен строго независимыми случайными данными с равными вероятностями появления 0 и 1. Файл quest'a формально к таким не относится, но практически найти в нем какую-то закономерность вряд ли будет возможно (разве что с помощью оптического компьютера |
| 365. Vladimir Rybinkin, 02.02.2002 21:49 |
Контрабандист цитата:А хрен его знает... Завтра спрошу. Что не родственник царя Николая - точно, спрашивал цитата:Ну, это абсолютный рекорд цитата:"Вряд ли" - это уже теплее. С такой страшной вероятностью какие-то другие термины нужны Лана, после 8 марта поговорим |
| 366. AleUri, 02.02.2002 21:57 |
Vladimir Rybinkin после 8 марта поговорим - в таких делам, IMHO, так далеко планировать ну никак нельзя. Это как повезет, может послезавтра проснешься с гениальной идеей, а можешь и много ночей подряд не спать за зря |
| 367. Vladimir Rybinkin, 02.02.2002 21:59 |
AleUri Да с идеей-то все в порядке, реализация хромает |
| 368. AleUri, 02.02.2002 22:11 |
тогда, пока еще нельзя категорично утверждать, что все в порядке На практике всяко бывает |
| 369. Vuk, 03.02.2002 12:51 |
цитата: А я вот в воскресенье вынужден заниматься текущей работой, хоть дома аппаратура соответствущая стоит... готовая к обсчету идей. |
| 370. Kroz, 04.02.2002 08:48 |
Я поздно присоединился, так что пардон, если чего пропустил. Но... Я вполне согласен с этим высказыванием: Кроме того, я полагаю, что любую цифровую с конечным числом значений последовательность можно сжать. Не сжимается только реальный белый шум, но если его преобразовать в дискретную последовательность с конечным интервалом дискретизации и квантования, то, я считаю - сжимается. Я не прав? |
| 371. Vladimir Rybinkin, 04.02.2002 11:02 |
Kroz цитата:Надеюсь, что прав |
| 372. A Yu Sheverdyaev, 04.02.2002 13:32 |
quest Mne by Vashu vyderjku |
| 373. Vladimir Rybinkin, 09.02.2002 21:17 |
quest А что есть результат? Я же пока не жму, только смотрю, КАК... Ну вот разве что: Самораспаковывающиеся архивы RAR: Самораспаковывающиеся архивы БИТ: |
| 374. quest, 09.02.2002 21:22 |
Vladimir Rybinkin А что есть результат? Результат это: 1.exe - 1 038 090 байт, или на крайний случай - 1 048 575 байт! Пока и близко нету. А время тикает... |
| 375. Vladimir Rybinkin, 09.02.2002 21:24 |
Времени-то хватит... Насчет размера не уверен |
| 376. quest, 09.02.2002 21:27 |
Vladimir Rybinkin Сдаваться не пора? |
| 377. Vladimir Rybinkin, 09.02.2002 21:30 |
quest Кому это? |
| 378. AleUri, 09.02.2002 21:42 |
а вот не подеретесь |
| 379. NA, 10.02.2002 00:14 |
Сразу хочу сказать, что с теорией темы я знаком исключительно по прочитанному в этой же теме - часть участников исходит из утверждения, что сжатие может оказаться невозможным из-за "меньшего количества комбинаций содержимого меньших по размеру файлов" (я верно формулирую?). Т.е., поскольку вариантов содержимого для файла в 100 кб меньше, чем для файла в 50мб, то... Но, блин! Ведь вы забываете о том, что любой паре "большой файл - маленький файл" может быть сопоставлено БОЛЕЕ ОДНОГО алгоритма преобразования! Теоретически, ничто не мешает архиватору А при каких-то условиях создать из некоего файла результат, идентичный созданному архиватором В из другого файла. (заголовки архивов сюда не относятся - ибо они как раз невольно МАСКИРУЮТ выше указанный отрадный факт). Вот. Ногами не бейте - это просто заметки на полях, причем неприкрыто дилетантские. |
| 380. dogada, 10.02.2002 01:30 |
Предел сжатия есть Есть потому, что "не существует архиватора который может сжать любые данные". У меня не хватило мужества просмотреть все 16 страниц дисскуси, может кто-то на это утверждение уже ссылался, но если будут желащие могу привести доказательство того, что не существует универсального архиватора. Хотя тема эта очень увлекательная. Сам убил на нее две недели личного времени и до сих пор иногда возвращаюсь к ней |
| 381. Vladimir Rybinkin, 10.02.2002 10:42 |
NA С теорией я знаком примерно так же Я отношусь к той части участников, которая считает, что бОльший файл жать легче, чем меньший. Именно из-за большего количества вариантов. dogada цитата:Есть. Один бит при всем желании не сжать. А вот терабайт, думаю, жмется всегда. И плевать, какие у него там данные. Я, кстати, провел любопытный эксперимент. Взял ту самую крутую последовательность, скопировал ее... 32 раза, что ли. И скормил архиваторам. ZIP и ARJ сдались сразу, а RAR минут 15 чего-то кумекал, прикидывал... С тем же результатом |
| 382. IronPeter, 10.02.2002 10:59 |
dogada По самым скромным прикидкам, доказательство повторялось порядка двух десятков раз. NA По самым скромным прикидкам, ваше возражение приводилось порядка десяти раз. И столько же раз повторялось его опровержение. Как-то дискуссия зациклилась... |
| 383. dogada, 10.02.2002 15:36 |
Vladimir Rybinkin: А вот терабайт, думаю, жмется всегда. И плевать, какие у него там данные. Нет, батенька, и терабайт, и два терабайта ВСЕГДА не жмутся. Я бы привел доказательство того, что и три терабайта ВСЕГДА не жмутся, но не хочу быть 21-м, кто приводит это доказательство в этом форуме (по словам IronPeter). Добавление от 10-02-2002 15:36: IronPeter: |
| 384. Vladimir Rybinkin, 10.02.2002 16:40 |
dogada цитата:Ну и КОГДА ЖЕ они не жмутся? Я не поленился, пробежался по ветке. Мож, конечно, чего пропустил - напомните, если что. Итак: Кстати, формального доказательства о несжимаемости рандомального потока не существует (c) Asclepius Вот скажем, алгоритм сжимает некоторые битовые строки длины 1024 до длины 512. Спрашивается, какая вероятность, что он сожмет данную строку длины 1024 до длины 512. Ответ. Меньше 2^{-512} . Два в минус пятисотой степени. 150 нулей после запятой... Вот доказательство того, что случайные данные несжимаемы. Относительно любого алгоритма сжатия!!! (c) IronPeter Положим, что таковой есть, сжимающий строку в М бит в строку длиной не более М-1 бит. Но всех строк длиной М-1 меньше, чем строк длиной М (доказывается суммированием геометрической прогрессии). Следовательно, существует образ, у которого не менее двух прообразов, то есть такой сжатый сигнал, по которому исходный не восстанавливается (c) Евгений Машеров Ну и последний парадокс, доказывающий невозможность сжатия: Пусть у нас есть алгоритм, уменьшающий любые входные данные >1 бита минимум на 1 бит. Тогда если мы применим его рекурсивно N раз (по размеру входного потока), то на выходе мы получим 1 бит (c) Harkonnen любая реализация функции максимальной сложности, представленная в двоичном виде имеет размер не меньше 2^n бит (c) quest цитата:И где он? Озвучить можно? И доказательство в 21-й раз послушать не мешает - тупой я... |
| 385. AleUri, 10.02.2002 18:51 |
Vladimir Rybinkin подсоблю немного, может пригодиться Pascal - архиваторы http://src.fitkursk.ru/browse.asp?id=13 C/C++ - архиваторы http://src.fitkursk.ru/browse.asp?id=24 |
| 386. Vladimir Rybinkin, 10.02.2002 18:58 |
AleUri И чего? Жмут, что ли? Или это тексты? Тогда - на фиг, программить я и сам малек умею Вроде не тексты... И что с ними делать? |
| 387. AleUri, 10.02.2002 19:01 |
идеи воровать не зря же народ работал раньше |
| 388. Vladimir Rybinkin, 10.02.2002 19:07 |
AleUri 1. Я играю честно 2. А хрен ли ж народ ниче не сделал? Сделал бы - и спор такой не возник... |
| 389. AleUri, 10.02.2002 19:25 |
как ничего не сделал ?? Просто в большинстве алгоритмов как один из главных критериев используется разумное время паковки\распаковки. Для тебя же это не критично. Пусть хоть неделю мучается. Полагаю, что что кое-где этого можно достичь просто подгонкой коэффициентом, вообще говоря |
| 390. Vladimir Rybinkin, 10.02.2002 19:38 |
AleUri Да знаю я, чего делать Вариантов и так СТОЛЬКО, что... |
| 391. AleUri, 10.02.2002 19:49 |
ну тогда извиняй, за то что отвлек от течения творческой мысли |
| 392. Vladimir Rybinkin, 10.02.2002 19:51 |
AleUri Да ради Бога! Мыслей-то давно уже нет. Комп вон чего-то считает, а я Инетом балуюсь |
| 393. AleUri, 10.02.2002 19:59 |
так я не понял? уже все мысли реализовал и ждешь результата счета или полагаешь, что для реализации вариантов мыслить не надо? |
| 394. Vladimir Rybinkin, 10.02.2002 20:03 |
AleUri В принципе - не надо. Я же уже писал: если И ЭТО не сработает - сдамся. И что алгоритм достаточно легко программируется. Там еще будет творческая работа (в случае удачи). Денька на 3-4. |
| 395. AleUri, 10.02.2002 20:12 |
Vladimir Rybinkin - Там еще будет творческая работа - разместить распаковщик в те самые крохи, которые удастся сэкономить? |
| 396. Vladimir Rybinkin, 10.02.2002 20:24 |
Угу. |
| 397. IronPeter, 10.02.2002 20:52 |
Vladimir Rybinkin Доказательством является простое соображение, что в 2^{512} клеток нельзя посадить Этот принцип (Дирихле) явно или не явно указывался в этой ветке порядка 20 раз. |
| 398. Vladimir Rybinkin, 10.02.2002 20:56 |
IronPeter Не знаю, мож, насчет кроликов это и верно. А насчет сжатия - пихай сколько хошь кроликов в любую клетку - и все дела! |
| 399. dogada, 10.02.2002 21:14 |
Vladimir Rybinkin Но ответ на вопрос "Есть ли пределы сжатия данных?" ведь найден. И где он? Озвучить можно? И доказательство в 21-й раз послушать не мешает Ответ на вопрос: предел сжатия существует. Доказательство от противного. Предположим, что все последовательности бит длиной N (где N может быть очень большим, или в Вашей терминологии - преодалевшим "критическую массу") можно сжать до последовательностей длинной N-k, где k=1,2,....N-1. Тогда будут существовать как минимум (а в действительности их будет намного больше) одна сжатая последовательность, которой соотвествуют две различные несжатые. Следовательно, мы не сможем восстановить первичные данные из сжатых (и это, кстати, не имеет совершенно никакого отношения к размеру архиватора, то есть даже если он будет феноменально большим, это не поможет). Следоваетельно, эта трансформация необратимая, и хотя она будет сжимать все, но не будет все расжимать, поэтому точнее будет говорить, что "существует предел обратимого сжатия". Это тоже самое, о чем писали Евгений Машеров и guest, которых Вы цитировали выше. Там еще будет творческая работа (в случае удачи). Денька на 3-4. Кстати для математиков-романтиков (к которым, в определенной мере, я и себя причисляю). Есть очень важный класс задач, для которых по крайней мере существует надежда, что они решаемы (в отличие от универсального сжатия). Собственно, вопрос в том, существуют ли полиномиальные алгоритмы (или более широко - показывающие лучшую производительность, чем полный перебор) для т.н. NP-задач. Это и задача коммивояжера, и даже алгоритм игры в знакомый всем "сапер", и еще целая куча других. Причем, по-моему, задача коммивояжера и алгоритм игры в сапера относятся к классу NP-полных задач, то есть при решении одной - решаются все остальные. |
| 400. Vladimir Rybinkin, 10.02.2002 21:24 |
dogada цитата:Ну какое, на фиг, "следовательно"! Я же писал, что нет цитата:Я, конечно, псих, но не настолько же... МОЖЕТ БЫТЬ, и не будет цитата:А вот этого точно не будет. И возвратов тоже. цитата:Ну, опять красная тряпка |
| 401. AleUri, 10.02.2002 21:25 |
Блин, народ, вы запарили уже. Вопрос не том Существует ли Предел сжатия или нет. Вопрос в том, что Vladimir Rybinkin сомневается в том что quest сумел сгенировать последовательность, кот. он не сумеет сжать более чем на 1%. |
| 402. dogada, 10.02.2002 23:35 |
Вопрос в том, что Vladimir Rybinkin сомневается в том что quest сумел сгенировать последовательность, кот. он не сумеет сжать более чем на 1%. Виноват. Так тогда Владимира Рубинкина как-то даже неспортивно от решения такой важной задачи guest'a отвлекать. Помню, я в школе с одноклассниками, не очень сильными в математике, играл в азартные игры почерпнутые из книги Я. Перельмана "Занимательная математика". Первый месяц им казалось, что ставки (для них) очень выгодные, а уже во втором месяце со мной играть никто не хотел - все проиграли. Как сейчас помню главный хит. Ставки 1 к 10. Соеденить в течение 3 дней все вершины заданного графа, чтобы путь проходил не больше чем один раз, через каждую вершину. Это можно было сделать только для графов с числом вершин. удовлетворяющих определенному условию. Но его кроме меня никто незнал, потому что не читал "Занимательной математики". Здесь, судя по всему, ситуация похожая. |
| 403. Kroz, 11.02.2002 08:51 |
Пусть у нас есть алгоритм, уменьшающий любые входные данные >1 бита минимум на 1 бит. Тогда если мы применим его рекурсивно N раз (по размеру входного потока), то на выходе мы получим 1 бит (c) Harkonnen Мысля интересная. А есть ли алгоритм, который бы уменьшал любую последовательность на как минимум 1 бита? Мне кажется есть. Смотрите: Пусть существует алгоритм упаковки 1, для которого все же есть несжимаемая последовательность 1, которую он ну никак не может сжать. Ну так применим для этой последовательности алгоритм 2, для которого эта последовательность будет сжимаема. В качестве алгоритма1 и алгоритма2 необязательно брать абсолютно разные алгоритмы. Например, применим алгоритм с предсказанием с различными "версиями" предсказания. |
| 404. Vladimir Rybinkin, 11.02.2002 11:10 |
AleUri цитата:Сейчас, мож, и не о том dogada цитата:Перельмана я тоже читал. Только и выигрывать удавалось в такие игры не менее двух раз: альфа-бета на три порядка и скорость обработки графов на два (как минимум). Ну, есть еще Штейнер (http://www.2bit.ru/tg.htm) - там тоже сколько-то порядков. А здесь, похоже, самый крупный куш лежит (судя по тому, чего наговорили насчет вероятности Kroz |
| 405. Витька, 11.02.2002 13:03 |
Vladimir Rybinkin Я, кстати, провел любопытный эксперимент. Взял ту самую крутую последовательность, скопировал ее... 32 раза, что ли. И скормил архиваторам. ZIP и ARJ сдались сразу, а RAR минут 15 чего-то кумекал, прикидывал... С тем же результатом Хороший тест, но не всё так плохо. Я как-то состряпал bat файл, который используя 84 комбинации версий и параметров для архиваторов 7za, acb, ACE32, arc, arj, BSA, BSArc, ha, hap3, HYPER, ICE, jar32, lha, LIMIT, pak, PKPAK, PKZIP, PKZIP25, rar, rar32, rk, SQZ, ZOO (что попалось под руку) создаёт 84 архива. С Вашей задачей справились четверо. Вот результат для двойного копирования: код: Для 32-х кратного лучший: код: |
| 406. @Matrix, 11.02.2002 14:45 |
Vladimir Rybinkin Попробую я доказать, что ли... Итак, возьмем все возможные последовательности длинны N. Таковых будет ровно 2^N. Согласны? Далее, предположим, что у нас существует алгоритм, сжимающий ЛЮБУЮ из этих последовательностей. И разжимающий, естественно Далее, посчитаем суммарное число всех последовательностей длины <N. Легко видеть, что их будет 2^N-1 + 2^N-2 + ... + 2. Эта сумма равна 2*(2^(N-1) - 1) = 2^N - 2. Логично? Идем дальше. Каждой из этих последовательностей (длины <N) соответствует одна и только одна последовательность длины N. Таким образом, разархивируя эти последовательности, мы получим в самом лучшем случае 2^N - 2 разных последовательности длины N. А всего их у нас ровно на 2 больше! Значит, существуют как миинмум какие-то 2 последовательности длины N, которые мы не получим ни из одной последовательности длины <N. ЧТД Есть аргументированное опровержение? Или только "Не верю"? |
| 407. Кудрявцев Леонид, 11.02.2002 15:12 |
Это доказывает, что нет универсального алгоритма, который сжимает ЛЮБУЮ последовательность. То-есть, если ARJ хорошо архивирует тексты, но уже на сжатых zip'ах он приведет к увелечению файла. Но, Rybinkin'у нужно создать алгоритм который сжимает ОДНУ, заранее заданную последовательность. А все остальные может увеличивать сколько хочет IMHO второе опровергнуть сложнее. |
| 408. White Eagle, 11.02.2002 15:13 |
Витька Ну и в чем смысл этого тестирования? По моему доказывает только то, что один из архиваторов при поиске повторяющихся последовательностей не поленился перебрать мегабайтные. Ну круто конечно |
| 409. Vladimir Rybinkin, 11.02.2002 15:15 |
Витька Здорово! Ай да jar, ай да сукин сын! @Matrix Дальше не идем |
| 410. White Eagle, 11.02.2002 15:29 |
Vladimir Rybinkin Таким образом, пакуем "тыщу" последовательностей длины N в одну длины <N и разархивируем либо с параметром (номер нужной) А 10 бит на параметр для "тыщи" из воздуха возьмём? либо оптом всю тыщу |
| 411. @Matrix, 11.02.2002 15:34 |
Кудрявцев Леонид Давайте я вам Rybinkin'а процитирую, что ли... А вот терабайт, думаю, жмется всегда. И плевать, какие у него там данные. И еще (про ответ на заглавный вопрос темы): Вот я и привожу это доказательство еще раз... Раз послушать хочется Добавление от 11-02-2002 15:38: Vladimir Rybinkin Добавление от 11-02-2002 15:41: White Eagle Предлагаю алгоритм универсального архиватора! Архив состоит из одного числа -- длины исходного файла. А разархиватор генерит нам "оптом" ((с) Vladimir Rybinkin) все возможные файлы такой длины! Круто? |
| 412. quest, 11.02.2002 15:42 |
Vladimir Rybinkin Витька Вы, милостивые государи, не так копировали! Тады банальный WinZip не задумываясь жмет: код: PS. Вот только понять не могу: а на кой хрен этот замечательно любопытный эксперимент понадобился? |
| 413. Vladimir Rybinkin, 11.02.2002 15:48 |
White Eagle цитата:Не, юзер скажет, чего ему надо цитата:Такого вопроса не было. Это же преподносится как парадокс, чего-то доказывающий. А я отвечаю: "Ну и что?" P.S. Это не алгоритм, это всего лишь идея. @Matrix цитата:Ну, предположим, первым идет счетчик, СКОЛЬКО их там понапихано |
| 414. @Matrix, 11.02.2002 16:38 |
Vladimir Rybinkin И что? Вы все же утверждаете, что существует алгоритм, которому на вход подается информация суммарной длины <N байт (не важно, в файле она или частично в файле, частично в командной строке), а он из нее извлекает ОДНУ И ТОЛЬКО ОДНУ последовательность длины N, причем для любой последовательности длины N существует кодирующая ее последовательность длины <N? Тогда просмотрите еще раз мое доказательство... Если же он извлекает не одну последовательность, тогда это называется сжатием с потерей данных и не имеет смысла... |
| 415. Vladimir Rybinkin, 11.02.2002 16:47 |
@Matrix цитата:???!!! Даже если все они в точности соответствуют исходной тыще? Что потеряно-то? И еще. Все это я говорю исключительно потому, что мне преподносят утверждение: сжатых последовательностей должно быть в точности столько же, сколько и несжатых (2^N). Я говорю: НИ ФИГА! Может быть ВООБЩЕ ОДНА! Только и всего |
| 416. Vuk, 11.02.2002 17:03 |
@Matrix Да не существует такого универсального алгоритма! А qwest в свою очередь попытался сделать такую последовательность, алгоритма генерации которой ну не вжизнь не отыскать qwest |
| 417. quest, 11.02.2002 17:14 |
Vuk Я правильно трактую? Я хоть и не qwest, но отвечу попытался сделать такую последовательность, алгоритма генерации которой ну не вжизнь не отыскать Не-а! Я же её сгенерировал, следовательно алгоритм генерации в природе существует и есть отличная от нуля вероятность его отыскать. Но, Vladimir Rybinkin его не отыщет (точнее - это ему не поможет), ибо сгенерированная последовательность несжимаема Vladimirом Rybinkinым! Более того, qwest утверждает, что такого алгоритма и вовсе нет Не знаю, как qwest, а я такого не утверждал... |
| 418. AleUri, 11.02.2002 21:01 |
ставить файлы в 1 мег последовательно, так и вообще полный бред у последнего рара размер словаря по умолчанию 4 мега Добавление от 11-02-2002 21:04: Vladimir Rybinkin - Сейчас, мож, и не о том . Однако, смотрим название темы: Есть ли пределы сжатия данных? - Этот вопрос действительно был актуален, около месяца назад |
| 419. @Matrix, 11.02.2002 21:16 |
Vuk ОК. Алгоритм где хранится? В разархиваторе? Или наш архив самораспаковывающийся, то есть в нем и алгоритм? Если самораспаковывающийся, то см. мое док-во еще раз (hint -- посчитайте max кол-во алгоритмов, запись которых занимает <N байт). Если нет, то любая последовательность ужимается в 1 байт, а вся инфа -- в экстракторе. И для каждой последовательности свой экстрактор... Vladimir Rybinkin При чем тут тыща? Мы сжимали ОДНУ. А разархиватор нам дает тыщу? Круто, конечно, но бесполезно. Смысл потерян Добавление от 11-02-2002 21:23: 2 All Засим религиозные споры заканчиваю. Сколько можно доказывать очевидные вещи? С верующими (в существование универсального алгоритма, в вечный двигатель и т.д.) спорить бесполезно |
| 420. Vladimir Rybinkin, 11.02.2002 21:32 |
Хм. А вот ЭТО (http://www.2bit.ru/betold.htm) уже интересно! Похоже, шутки кончились... У меня еще не досчитан до конца этот метод, но есть еще два сильнодействующих средства... |
| 421. Alexzander, 12.02.2002 10:32 |
Давненько меня здесь не было... Меня-то еще несколько страниц назад запинали (правда так толком ничего и не объяснили). Но Vladimir Rybinkin все еще держится. Подождем результатов! |
| 422. yuri-the-cloud, 12.02.2002 13:15 |
Vladimir Rybinkin Хм. А вот ЭТО уже интересно Только ссылочки на картинки Должны быть с нормальными слэшами, а не вашими, досовскими |
| 423. Vuk, 12.02.2002 14:28 |
@Matrix Вы, кажется, все равно не в ту сторону клоните. И дело здесь не в религии. quest |
| 424. Vladimir Rybinkin, 12.02.2002 14:33 |
yuri-the-cloud Дурные привычки легко приобретаются, и трудно искореняются Vuk цитата:Я тоже, в общем-то, не спорю. Только обсчитываю я первую последовательность, а результат применяю на обе. Спектры похожи, как однояйцевые близнецы... |
| 425. quest, 12.02.2002 14:53 |
Vladimir Rybinkin Спектры похожи, как однояйцевые близнецы... Даю бесплатный совет, как увеличить число близнецов до трех (можно и боле): 1. Сгенерите случайную последовательность битов такой же длины (в первом приближении можно просто брать младший бит втроенного Random-а); 2. Примените свой результат к этой последовательности; 3. Вы будете удивлены видом спектра... 4. А если не будете, можете смело выкидывать сгенеренную последовательность, как недостаточно случайную. |
| 426. Евгений Машеров, 12.02.2002 15:23 |
Vladimir Rybinkin У меня еще не досчитан до конца этот метод, но есть еще два сильнодействующих средства Пурген и люминал? И применять совместно?
Когда банкет на все выигранные 10$? |
| 427. Vladimir Rybinkin, 12.02.2002 15:57 |
quest цитата:Да хватит мне близнецов и так цитата:Нет, не удивлен, все то же самое. (http://www.2bit.ru/BET/test.gif) . Выбрасывать как недостаточно случайную или просто так? Евгений Машеров цитата:Нет. Применять пока раздельно - там посмотрим. цитата:Размечтались |
| 428. quest, 12.02.2002 16:06 |
Vladimir Rybinkin Выбрасывать как недостаточно случайную или просто так? Методу нужно выбрасывать! Не первая, так вторая, глядишь, ужмется Фи! Это не спортивно. |
| 429. Vladimir Rybinkin, 12.02.2002 16:08 |
quest Мне аналитически не надо, мне надо, чтобы ужалось. А я их на банкет и отдам |
| 430. quest, 12.02.2002 16:14 |
quest Мне аналитически не надо, мне надо, чтобы ужалось. Дык, аналитически-то оно считается из предположения, что исходная последовательность именно случайная! А ужимается только отклонения от случайности. Ваши же тесты просто подтверждают гипотезу о случайности последовательности. То бишь: ни хрена полезного для сжатия не дают! PS. Когда банкет будет? |
| 431. Vladimir Rybinkin, 12.02.2002 17:47 |
quest цитата:Опять теория пошла? Повторяю: я - практик! цитата:Не дают, так не дают... У меня другое мнение, но это неважно: "практика - критерий истины" 04194303 1 04078484 1 04194305 0 04310124 0 цитата:Ну уж никак не раньше марта. Надо же и с суммой определиться Добавление от 13-02-2002 10:31: Витька |
| 432. Alexzander, 14.02.2002 07:20 |
Vladimir Rybinkin Ну что, какие есть промежуточные результаты? Что-то интерес к проблеме угас, или спорщики пришли к договоренности (во что я не верю)? |
| 433. CrazyElk, 14.02.2002 11:02 |
Vladimir Rybinkin написано 11-02-2002 15:48 Не, юзер скажет, чего ему надо . Тогда поправочка - любая последовательность жмется ДО 0 Байт. (И ныне и присно во веки веков АМИНЬ) |
| 434. Витька, 14.02.2002 12:53 |
Vladimir Rybinkin У меня посьба:... Бога ради. код: и использовав готовый батник получаем: код:jar32m3.j 8425702 |
| 435. White Eagle, 14.02.2002 13:09 |
Vladimir Rybinkin У меня посьба: еще разок скопировать ту последовательность раз 8, но первую копию оставить как есть, у второй предварительно отрезать первый байт, у третьей - два первых и т.д. И снова прогнать через колоду архиваторов. О, еще один крутой тест |
| 436. Vladimir Rybinkin, 14.02.2002 16:19 |
Витька Угу, спасибо. White Eagle |
| 437. Tsykunov, 15.02.2002 07:19 |
@Matrix & dogada Позволю себе разъяснить Вам некоторые вещи, в свете которых Ваши посты с доказательствами представляются мне абсолютно бессмысленными. Тема "Есть ли пределы сжатия данных" - просто рекламный слоган для привлечения участников. Такого вопроса не стоит. Вопрос в том, где находятся эти пределы. В этом легко убедиться, прочитав мои сообщения. Я нигде не говорил, что пределов нет, я предлагал поискать их, причем не там, где они находятся в некоторых умных теориях. И хватит кидаться "универсальными алгоритмами", "любыми" последовательностями - все это не имеет никакого отношения к реальному сжатию. Вы и многие другие участники (всего три-четыре человека в чем-то соглашались со мной) строите свои заборы не поперек, а вдоль дороги. И утверждаете, что нашли тупик. А мне туда не нужно. dogada, что значит все последовательности бит длиной N ? @Matrix , что значит алгоритм, сжимающий ЛЮБУЮ из этих последовательностей? Пусть, я написал алгоритм для сжатия английского литературного текста. Ваши доказательства говорят, что он не может работать, так как нельзя сжать им "все/любые" последовательности от "аааааааааа....." до "zzzzzzzzz.....". Ну, явная бессмыслица. Какая надобность в "любых" последовательностях? Где Вы видели их? Попробуйте принять еще одно суждение, которое в неявном виде уже звучало у меня: Каждый реальный архиватор создается для сжатия ОДНОЙ битовой последовательности. Эта последовательность весьма велика - не тера- и даже не петабайты. Однако, она конечна. В хелпе архиватора можно узнать максимальный размер входного файла, а характер его алгоритма определяет свойства файлов, для которых возможно сжатие. Пользователь реально использует архиватор для сжатия лишь части этой строки. Поэтому все рассуждения о невозможности сжатия ЛЮБЫХ строк одним "универсальным" алгоритмом бесполезны. Докажите еще, что вода мокрая... Продолжая аналогию с дорогой, скажу, что пределов нет, там где стоит вдоль дороги забор энтропии или какой-нибудь сложности, а движение вперед ограничивается наличием алгоритмического бензина в баке и дорожным полотном новых видов данных, появляющимся перед нами. (Давно ли появилась задача сжатия mpeg? А после того, как получилось умять фильм до размеров одного CD. Раньше не было таких типов данных). Попробуйте прочитать все мои сообщения и, если Вам охота поспорить, опровергните их. Только не опровергайте наличие бузины в огороде бесспорным существованием киевского дядьки, как и получалось, в основном. Аргументированная дискуссия завязалась с Евгением Машеровым, но потом скатилась до кухонной перебранки по поводу малозначительного алгоритма (хотя оппоненты и признавали существование других решений той же задачи). А по поводу "веры" скажу, что Вы верите в некую расплывчатую "несжимаемость". Почему расплывчатую? Да назовите мне хоть одно ЧИСЛО, характеризующее ее. На всех 18 страницах только "большая" сложность, "высокая" случайность. Можно назвать число, но только если привязать его вычисление к конкретному алгоритму, который привязан к конкретному типу данных (иначе к одной строке). То есть нельзя будет распространять его куда-либо еще и отрицать им существование других алгоритмов сжатия. dogada, не повторяйте ошибок других участников, не говорите, что нельзя сжать ВСЕ строки длиной N - они легко сжимаются. Если имеете в виду КАЖДУЮ строку длиной N - так и говорите и стройте свои доказательства на этой основе. Кстати, не могли бы Вы рассказать, какими алгоритмами Вам удалось достичь 5-7% сжатия zip-ов? Я занимаюсь вопросом больше Вашего, но таких замечательных результатов не достиг. Rar и некоторые другие иногда поджимают zip, но не более 1%. А 5-7% - круто! IronPeter Удивительно, у Вас столько здравых мыслей, но эти Ваши кролики не лезут ни в какие ворота. Ну, есть принцип Дирихле. Ну, нельзя сжать одним алгоритмом каждую из строк длиной N. Что с того? Вы можете назвать задачу, где нужно использовать каждую из строк длиной N? Типа, как сжать mp3. То есть родить алгоритм, сжимающий каждую строку от 5 до 10Mb. Так? Более того, я приводил примеры, как принцип Дирихле можно обходить на реальных задачах. Он хоть и правильный в своих границах, но дырявый какой-то что ли... |
| 438. Евгений Машеров, 15.02.2002 09:31 |
Tsykunov Не совсем понял Вашего упрека в разжигании кухонной свары. Если укажете конкретно - готов извиниться. По сути же вопроса скажу - пределы сжатия данных существуют, и совершенствование методов сжатия возможно лишь в связи с сужением объема сжимаемой информации (т.е. существенный прорыв в области архиваторов общего назначения представляется мне маловероятным - а вот создание специализированных архиваторов HTML-страниц, притом заточенных под русский/английский - возможно). Еще большего прорыва можно ожидать при сжатии с потерями - но для этого нужны исследования прежде всего в области физиологии восприятия (что сделано, скажем, в MP3). Что до конкретно Вашего пари - то приглашения на банкет (с подачей минеральной воды под сухарики |
| 439. dogada, 15.02.2002 14:15 |
Tsykunov что значит все последовательности бит длиной N ? Это значит 2 в степени N последовательностей, каждая из которых длиной N бит. Пусть, я написал алгоритм для сжатия английского литературного текста. Ваши доказательства говорят, что он не может работать, так как нельзя сжать им "все/любые" последовательности от "аааааааааа....." до "zzzzzzzzz.....". Ну, явная бессмыслица. Как раз явная бессмыслица и извращение фактов Ваша цитата выше. Я и Matrix (позволю себе высказаться за него, раз уж Вы нас обоих в отсутствии здравого смысла обвиняете) писали о ВСЕХ (я) или ЛЮБОЙ ИЗ (Matrix) последовательностях длиной N бит. А Вы очень интересно переходите к кодированию английского текста. Не хватало еще, чтобы Вы привели алгоритм ужатия английского литературного текста , основаный на том, что любой символ можно закодировать не более чем 7 битами, а в текстовом файле каждый символ занимает минимум 1 байт. И победоносно заявили "мой алгоритм сжимает ЛЮБУЮ последовательсность символов английского языка не менее чем на 1/8"! Каждый реальный архиватор создается для сжатия ОДНОЙ битовой последовательности. А по поводу "веры" скажу, что Вы верите в некую расплывчатую "несжимаемость". Почему расплывчатую? Да назовите мне хоть одно ЧИСЛО, характеризующее ее. dogada, не повторяйте ошибок других участников, не говорите, что нельзя сжать ВСЕ строки длиной N - они легко сжимаются. Кстати, не могли бы Вы рассказать, какими алгоритмами Вам удалось достичь 5-7% сжатия zip-ов? |
| 440. IronPeter, 15.02.2002 20:49 |
Tsykunov Так принцип Дирихле играет на полную катушку. Quest вывел специального кролика, совершенно случайного. В принципе каждый может вывести похожего кролика, взяв random. Так вот, этот кролик таков, что он совершенно лишен всякой индивидуальности. Обычные кролики (текст, звук, видео) снабжены некоторой структурой, которая делает их описание простым (у меня есть знакомый хороший пианист, он говорит, что миди звук хороших сэмплов приближается к концертному роялю. Чуть чище, но очень близко). Грех такую музыку не сжать. А вот абсолютно случайного кролика... Не выйдет. |
| 441. Vladimir Rybinkin, 17.02.2002 15:34 |
Tsykunov цитата:Ага, где? ИМХО, есть три интервала: первый - когда данные не сжимаются ни при каких обстоятельствах. Этот интервал лежит от нуля до трех бит. Второй - когда данные могут сжиматься, а могут и нет (зависит от данных). Третий - когда данные сжимаются при любых условиях. Вот о границе между вторым и третьим интервалом и спор: в бесконечности она али нет цитата:Опять же согласен. То, о чем здесь говорится и то, где я ковыряюсь, настолько далеко друг от друга, что даже если АБСОЛЮТНО ВСЕ доводы о невозможности сжатия правильные (а это, скажем так, вызывает некоторые сомнения), то и это не говорит о том, что данные сжать нельзя! Это похоже на задачу "сложить 4 треугольника из 6 спичек". Можно сколь угодно красиво и убедительно доказать, что это невозможно. Но задача-то решается... цитата:Любых - мне лично неинтересно. А вот на несжимаемую последовательность, которых большинство (теория, кажись, утверждает имеено это) я бы с удовольствием посмотрел. Ну так где ХОТЬ ОДНА??? Куда зарылось это большинство? Покажись, представитель! Вот quest - выложил. Но даже он говорит, что это все же из меньшинства последовательность! цитата:Ага, и мне интересно. цитата:А на кой его обходить? Я его уж толком и не помню. Мне он, во всяком случае, не мешает Евгений Машеров цитата:Интересно, кто-нить не согласен? цитата:Даже если я сожму вторую последовательность и не сожму первую - я, конечно, проиграл. Посему вероятность приглашения ОТ МЕНЯ рассчитана выше dogada цитата:Дык 99.999999% - 100% их всех жмутся обычным Хаффменом цитата:Если я правильно понял, Tsykunov говорил о сжатии одной НЕСЖИМАЕМОЙ битовой последовательности. цитата:Круто! Вот нет другого выхода, и все тут! цитата:Ниче не понял - что за цифирь получается, и о чем она говорит? Вот пример: 0000000001011011 00001010110111 Последовательность элементарно жмется на два бита (12.5%). Словарем пренебрегаем, т.к. его в формуле нет (да и копейки). И чего говорит эта формула? Где предел? ЭТО ли он, или можно еще ужать? цитата:А я продолжаю занудливо вякать: пока что все как раз ужимаются. Где хоть одна из ТЕХ? IronPeter цитата:Ну дык и хорошо! Еще уши обрежем, шкуру снимем - совсем индивидуальность потеряет, станет простой и сжимаемый |
| 442. @Matrix, 18.02.2002 03:54 |
Tsykunov Пусть, я написал алгоритм для сжатия английского литературного текста. Ваши доказательства говорят, что он не может работать, так как нельзя сжать им "все/любые" последовательности от "аааааааааа....." до "zzzzzzzzz.....". Я никогда не утверждал, что нельзя придумать алгоритм, хорошо сжимающий английский литературный текст. Более того, я считаю, что практически любое ограничение, накладываемое на исходные данные, позволяет придумать очень эффективный алгоритм. И Ваш пример с MPEG -- лучшая тому иллюстрация. Мое же доказательство было чисто теоретическим и имело отношение в основном к святой уверенности одного господина в том, что хороший программист может придумать алгоритм сжатия, который будет сжимать любую последовательность, которую ему скормят. Вы будете оспаривать невозможность существования такого алгоритма? Так что вопрос (и ответ) был чисто теоретический... Vladimir Rybinkin Итак, я вполне допускаю, что для КАЖДОЙ КОНКРЕТНОЙ последовательности существует алгоритм, эффективно сжимающий ИМЕННО ЕЕ. Может, это и не так, но этого я с уверенностью утверждать не могу -- думать лень При этом замечу еще раз, что спор -- чисто академический, поэтому не будем касаться вопроса о том, где это могут встретиться абсолютно любые последовательности. Хотя пример привести могу -- про SETI слыхали? Массивы данных у них немеряные, сжатие бы не помешало... Добавление от 18-02-2002 03:56: Ну дык и хорошо! Еще уши обрежем, шкуру снимем - совсем индивидуальность потеряет, станет простой и сжимаемый А это уже сжатие с потерей данных |
| 443. Vladimir Rybinkin, 18.02.2002 11:53 |
@Matrix цитата: цитата:Не вяжется цитата:Нет, просто уши и шкуру отдельно сожмем. |
| 444. quest, 18.02.2002 12:19 |
Поздравляю всех присутствующих с прошествием половины срока, отведенного Vladimirу Rybinkinу не доказательство недоказуемого!
Зря допускаете. Принцип Дирихле не дозволяет сего. Vladimir Rybinkin Не по тому параметру делите! |
| 445. @Matrix, 18.02.2002 12:56 |
quest Ну почему же? Замечу, что в моем доказательстве абсолютно не важно, какое количество и каких знаний содержится в деархиваторе, является ли он внешним или разговор о сэлф-экстракторе и т.д. Если эти ограничения убрать, то есть рассматривать только размер "сжатого" файла, а на размер деархиватора забить (ну это же почти как параметр командной строки, чего его считать Добавление от 18-02-2002 12:59: Поздравляю всех присутствующих с прошествием половины срока, отведенного Vladimirу Rybinkinу не доказательство недоказуемого! Кстати, зра Вы так... Может, на наших глазах рождается новая математика... И в одном ряду они будут -- геометрия Лобачевского, математика Rybinkin'а... Добавление от 18-02-2002 13:00: Vladimir Rybinkin Добавление от 18-02-2002 13:02: Нет, просто уши и шкуру отдельно сожмем. |
| 446. Alexzander, 18.02.2002 13:06 |
@Matrix Нет, просто если кролик настолько усредненный, что его не ужмешь, то шкура, сама по себе, может ужаться архиватором для шкур, тушка - архиватором для тушек - и т.д. Если разбить последователность на некие элементы и рассматривать их независимо, то они, возможно, сожмутся. |
| 447. CrazyElk, 18.02.2002 13:13 |
к Tsykunov к реальному сжатию А не зазорно ли будет благродному дону привести опеределение, математическое и формальное, предметной области о которой он ведет речь т.е. что имеет отношение по его мнению к реальному сжатию. А потом обьяснить мне глупому в частностьи: Чем таки "нереальны" например последовательности исходных данных для расчета молекулярного обтекания при входе космического аппарата в верхнии слои атмосферы методом Монте-Карло. (Можно еще примеров их у нас есть. Или опять определения в стиле "реально то что имеет структуру и сжимается, а что не сжимается не реально" и как в анекдоте "ты у меня умная сама придумай") P.S. это не наезд это просто сильно эмоциональное замечание что существование ПРЕДЕЛА СЖИМАЕМОСТИ ДАННЫХ и его величина зависит только от определения что такое ДАННЫЕ и что значит СЖАТИЕ. Если внимательно прочитать постинги то можно замететь что большинство (аргументирующих а не верующих) сходится на том что ДАННЫЕ это любая битовая/байтовая последовательность длинны не более N а СЖАТИЕ это представление этой последовательности алгоритмом ее формирования для PC битовое/байтовое представление которого на PC имеет длинну меньше N. |
| 448. @Matrix, 18.02.2002 14:24 |
Alexzander Угу... Но только не забудьте, что придется тратить драгоценные байты на то, чтобы отделять слои друг от друга, а также чтобы указывать, каким именно алгоритмом сжата та или иная прослойка. А если алгоритмов очень много, то расходы могут быть весьма существенные. И потом, что будет делать ваш архиватор кроликов, если ему подсунуть на вход слона? Ужмется ли слон архиватором кроличьих шкурок? З.Ы.: Господа! Читайте книжки! Книжки -- рулез! Тогда, maybe, меньше будет необходимости доказывать очевидное... |
| 449. Vladimir Rybinkin, 18.02.2002 14:57 |
quest Спокуха! P.S. Времени, естественно, нет (если кто-то полагает, что я занимаюсь только, или хотя бы в основном, сжатием - сильно ошибается), но на эксперименты оно уже не нужно. Алгоритм лег окончательно. @Matrix цитата:"Это - вряд ли!" (c). А если и будут, то уж никак не из-за какого-то там сжатия цитата:"думать лень" (c)@Matrix цитата:Нет, есть веские основания предполагать, что отдельно уши жмутся лучше, и суммарное место уменьшается. Alexzander @Matrix цитата: Задача пионера науки всегда состояла в том, чтобы опровергать то, что было доказано. Пошевелите-ка мозгами, молодой человек!(c) д-р Маракот, А Конан Дойль. |
| 450. @Matrix, 18.02.2002 18:44 |
Vladimir Rybinkin "Это - вряд ли!" (c). А если и будут, то уж никак не из-за какого-то там сжатия Именно из-за него! Ибо если Вы придумаете-таки УНИВЕРСАЛЬНЫЙ алгоритм сжатия, бОльшая часть современной математики рассыпется как катрочный домик... "думать лень" (c)@Matrix Для тех, кому думать лень, я специально все один раз очень четко расписал. И не только я Нет, есть веские основания предполагать, что отдельно уши жмутся лучше, и суммарное место уменьшается. ВЕСКИХ оснований нет и быть не может. Либо, как я уже говорил, мы имеем дело с совершенно новой математикой. И честь ее открытия принадлежит Вам! Равно как и Нобелевские премии на ближайшие лет 25-30 Задача пионера науки всегда состояла в том, чтобы опровергать то, что было доказано. Только опровергать надо аргументированно... А фразы типа "а вот мне кажется, что если вот так и вот так, то будет вот так" опровержениями не являются. С Вашей стороны не прозвучало ни одного математически обоснованного опровержения, только Ваша святая уверенность в собственной правоте. P.S.: А книжки Вы все-таки почитайте... Программист должен знать математику. По крайней мере, хороший программист. |
| 451. White Eagle, 18.02.2002 18:53 |
@Matrix Равно как и Нобелевские премии на ближайшие лет 25-30 Нобелевские премии за математику не дают С Вашей стороны не прозвучало ни одного математически обоснованного опровержения, только Ваша святая уверенность в собственной правоте. А разве Vladimir Rybinkin это кому-то обещал? |
| 452. @Matrix, 18.02.2002 18:57 |
White Eagle Нобелевские премии за математику не дают Ради такого дела -- введут, все обиды забудут Вот сожмет он последовательность - это и будет опровержением Угу... Придется ведь искать последовательность, которая его алгоритмом не сжимается |
| 453. CrazyElk, 18.02.2002 20:17 |
Vladimir Rybinkin Задача пионера науки всегда состояла в том, чтобы опровергать то, что было доказано. Пошевелите-ка мозгами, молодой человек!(c) д-р Маракот, А Конан Дойль. А можно кого нибудь из предметной области поближе каких нибудь Галуа, Гауса, Лобочевского .... Колмогорова, Петровского .... , а то прямо как у Энштейна. Дословно цитату не приведу но смысл следующий: "Популярность это когда вас просят высказать свое мнение в области в которой вы совершенно не разбираетесь как специалист." Это по поводу авторитетности высказываний г-дина (c) д-р Маракот от А Конан Дойлья в математике. С тем же успехом в исторических диспутах можно приводить цитаты из Фоменко и К В математике то что было даказано не опровергают, а либо находят ошибку в исходном даказательстве, либо вводят отличный от исходного аксиоматический базис. Геометрия Лобачевского например ни в коей мере не опровергает геометрию Эвклида хоть и даказывает совершено противоположные высказывания. Причем одна не является частным случаем другой. P.S. Справка, выделения мои (долго не думал взял с km.ru).
|
| 454. Vladimir Rybinkin, 18.02.2002 21:04 |
@Matrix цитата:Да ничего не рассыплется! То, что я делаю, ничему не противоречит. Просто "другое измерение". цитата: цитата:Да я на "книжки-рулез" цитату и привел цитата:А кто, интересно, верует? CrazyElk цитата:Да сколько хошь! Демокрит, Коперник, те же Лобачевский или Эйнштейн. Это СЕЙЧАС они признаны. А Планк, говорят, так вообще чуть ли не последним поверил в то, что он придумал. цитата:А при чем тут, собственно, математика??? И что, фраза неверна? P.S. Можно и Фоменко, очень неглупый мужик... |
| 455. @Matrix, 19.02.2002 01:25 |
Vladimir Rybinkin Да ничего не рассыплется! То, что я делаю, ничему не противоречит. Ну, если пошли такие утверждения... За моими словами стоит очень приличная математическая база. Что стоит за Вашими? И бессменным чемпионом города по математике был в свое время. Правда? А при чем тут, собственно, математика??? И что, фраза неверна? А что, верна, что ли? Можно и Фоменко, очень неглупый мужик... Только демагог страшный. Доказательств-то, на самом деле -- ноль без палочки. Беззастенчивое перевирание исторических текстов и многого другого. Над его опровержением метода радиоуглеродного анализа от души хохотали многие мои знакомые профессиональные физики Ладно, все. Здесь бесполезно дальше разговаривать. Лучший математик города, не понимающий математику уровня 8-го класса -- это клиника. Пытаться доказывать очевидное -- надоело. В следующий раз что-либо напишу не раньше 8-го марта, ибо бесполезно. Тем более что метод сжатия уже на мази... |
| 456. Tsykunov, 19.02.2002 08:59 |
dogada Я писал лишь о том, что ужимал около трети zip-ов на 5-7%. Две другие трети росли на 0-4% А почему такой пессимизм? Ведь реализация отказа от сжатия при отрицательном результате займет пару строк. Таким образом, Ваш алгоритм сжимает zip в среднем на 1,7-2,3%. Интереснее другое, Вы пробовали применять его рекурсивно к результатам сжатия, к другим типам данных: rar, arj, jpeg, mp3 etc..? Какие результаты? Или он заточен только под особенности формата zip? Или такой вариант: если при одном проходе файл чуть-чуть подрастает, не становится ли он при этом более податлив к алгоритму, что позволяет его все же поджать? Может, все же распишете свой алгоритм поподробнее? Конечно, отказаться - Ваше право. Или попробуйте продать его Рыбинкину Теперь о грустном. Что-то мне Ваш пост опять не понравился. Второй: неэффективное сжатие, когда [архиватор+]несжатые данные весят меньше, чем разархиватор+сжатые данные. Используется такой вид сжатия только для передачи данных. Пример такой системы - Internet или мой домашний WinRAR . (Я не использую его для хранения, так как имею еще несколько свободных гигабайт. Он нужен мне иногда для разархивации данных извне и для передачи вовне.). Иначе такое "сжатие" называется перераспределением издержек. Оно может требовать кроме кода наличия определенной хардверной инфраструктуры, которая включается в понятие "[архиватор/]разархиватор". |
| 457. Евгений Машеров, 19.02.2002 10:01 |
Tsykunov Видите ли, Ваши графики иллюстрируют непонимание теории вероятности, весьма популярное и приносящее миллионы владельцам казино. Равновероятное и равномарное на самом деле не одно и то же! Вы показали, что эмпирическое распределение не равномерно, но это не противоречит тому, что оно принадлежит равномерному распределению, для которого равновероятны все исходы. Именно этим заблуждением, о тождестве равномерного и равновероятного, гонимы к рулетке игроки, увидевшие 7 красных подряд и ставящие на черное, полагая, что вероятность выпадения красного уменьшилась. Возможность же сжатия некоторых архивов говорит не о том, что сжаимаемо все, а лишь о том, что, ввиду ли ограничений по времени работы алгоритма, или же по памяти, или по недостатку квалификации разработчика - архиватор не полностью использовал возможности сжатия. Что до минеральной воды - то, говоря о ней, яимел в виду, что на 10$ выигрыша исле гостей из числа не верящих в супер-сжатие особо не разгуляешься... |
| 458. Vladimir Rybinkin, 19.02.2002 11:57 |
@Matrix цитата:За Вашими словами, извините, стоят только слова. А за моими - 8-е марта и обязательство опубликовать алгоритм (нехорошее в случае частичной удачи цитата:Не понял, ну да ладно. цитата:Не надо тыщу. Два-три вполне достаточно. цитата:Я уже говорил: ни на что я не покушаюсь. цитата:Ну, этого добра... Мне, например, много раз это говорили (причем, ИМХО, говорили именно демагоги цитата:ЧЕГО??? Да за 8-й класс я и сейчас горло перегрызу! Любой "приличной математической базе"! цитата:Вот это правильно! Тогда уже можно. Навалились гурьбой, стали руки вязать... Tsykunov цитата: цитата:Не то, не то цитата:Опять же цитата:А я не к данным и привязываю. На больших последовательностях, ИМХО, обязаны попадаться сжимаемые кусочки (или те, которые сводятся к сжимаемым). Данные или алгоритмы лишь увеличивают/уменьшают количество таких кусочков, но было бы очень странным, если на всем здоровенном массиве не найдется чем поживиться какому-либо из алгоритмов. цитата:С этой точки я еще не смотрел Евгений Машеров цитата:Возможно. Но не исключено и обратное. Если все-таки все данные сжимаются, то второй проход по архиву еще чего-нить откопает... цитата:Интересная мысль! А вот нам с Alexzander можно будет неплохо погудеть |
| 459. quest, 20.02.2002 09:36 |
Vladimir Rybinkin Я побеждал на городских олимпиадах с 4-го по 10-й класс А в каком городе, если не секрет? |
| 460. Tsykunov, 20.02.2002 10:41 |
CrazyElk привести опеределение, математическое и формальное, предметной области о которой он ведет речь т.е. что имеет отношение по его мнению к реальному сжатию. Не знаю, насколько формальными Вы посчитаете мои определения, однако, не могу отказать Вам. Определения данных [и сжатия] - на странице 2, сообщение 39. Это рамочное определение, то есть все, что не подходит под него, данными не является. Таких данных весьма много. Я выделяю из их множества реальные данные. Что есть реальные данные, я повторяю на протяжении всей дискуссии. Прочитайте мои сообщения снова. Что там непонятно? Специально для Вас: каждый из источников данных, с которыми мы имеем дело, производит однородные наборы данных. Нечего ожидать из выходного потока архиватора текстового файла. Это дает мне основание утверждать, что возможны эффективные алгоритмы для сжатия таких однородных наборов данных. Многие здесь зациклились на "любых" данных. Вы тоже? Если внимательно прочитать постинги то можно замететь что большинство (аргументирующих а не верующих) сходится на том что ДАННЫЕ это любая битовая/байтовая последовательность длинны не более N а СЖАТИЕ это представление этой последовательности алгоритмом ее формирования для PC битовое/байтовое представление которого на PC имеет длинну меньше N. Для меня это (любая последовательность) абстрактная, несуществующая вещь. Я не могу представить себе источник данных, порождающий то txt, то exe, то gif без всяких регулярностей. Единственная польза от подобного источника - генератор случайных чисел. Однако, Вы знаете, что программные генераторы считаются псевдослучайными, а организация надежного генератора на физическом процессе - непростая задача. (Кстати, Вы меня к аргументирующим относите или к верующим?) Рискну привести пример, хотя меня могут за него покусать. Мы решили провести чемпионат по генерации последовательностей. Вы пишете алгоритм, производящий несжимаемые строки длиной 10 мегабайт, а я сжимаемые. Проверять сжимаемость будем раром. Запускаемся одновременно. Победит тот, кто нагенерит больше. Кто победит? Официальная теория и Вы тоже считаете, что несжимаемых строк неизмеримо больше. Согласен. Но, Ваше преимущество выразится в счете примерно тогда, когда мы проапгрейдимся на Пентиум-28. А еще долгое-долгое время Вы будете неприлично далеко позади меня, так как мой алгоритм будет заведомо быстрее (не надо пояснять, почему?). Этот пример к тому, что "любые" строки - виртуальная вещь, вероятность получить в мире реальных данных несжимаемую строку ниже, чем сжимаемую, хоть это и не вписывается в Вашу теорию вероятности. Плиз, не тыкать меня носом в "несжимаемые" строки вроде архивов или сжатого multimedia. Если потребуете, напишу, почему. Итак, реальные данные - не любые строки Если Вы согласитесь с этим утверждением, то Вам придется сунуть в пыльный шкаф добрую половину теорем о пределах сжатия, привязанных к любым данным. Теперь о подробнее сжатии. Повторю свою формулировку: во всех случаях, когда говорят о сжатии\кодировании, имеется в виду система, имеющая 2 состояния: компрессор и несжатые данные, декомпрессор и сжатые данные. Есть возражения? |
| 461. FLASH_MAIN, 20.02.2002 11:03 |
2ALL Пределы сжатия сущесствуют, т.к. бесконечности не сущесствует, а значит бесконечное сжатие данных - нарушает всеобщую конечность, что нименуемо приведет к дематериализации всего окружающего мира и созданию многомерного бесконечного пространства, где измерений не существует! |
| 462. Витька, 20.02.2002 11:19 |
Tsykunov Я не могу представить себе источник данных, порождающий то txt, то exe, то gif без всяких регулярностей. Пример: “rar e archive.rar”
Избыточность не очень маленьких rar архивов гораздо меньше одного процента. |
| 463. Евгений Машеров, 20.02.2002 11:27 |
Tsykunov Приближением к подобному источнику является выход практически применяемого архиватора. И чем лучше архиватор - тем лучше приближение. |
| 464. Vladimir Rybinkin, 20.02.2002 12:16 |
| 465. Vuk, 20.02.2002 17:16 |
цитата: Позвольте полюбопытствовать - а какое отношение имеет завод пластмасс к рассматриваемой теме? |
| 466. Vladimir Rybinkin, 20.02.2002 17:20 |
Vuk А директор завода - мой друг детства, к тому же он городское имя под свой сайт захапал. Я ему маленькую рекламу сделал |
| 467. I.D., 20.02.2002 17:34 |
Не следует забывать просуществование нейрокопмьютеров. Например характерным примером нейрокомпьютера (хоть и весьма примитивным и медленным) является головной мозг человека, который чаще всего и используется для разработки тех или иных алгоритмов сжатия. Например в результате работы двух таких машин был разработан широко известный алгоритм Лемпеля-Зива. |
| 468. Tsykunov, 21.02.2002 09:42 |
Евгений Машеров & other Ваши графики иллюстрируют непонимание теории вероятности Что-то у многих здесь самым убийственным аргументом становится: "я ЗНАЮ математику, а Вы - нет!". Один известный ученый говорил: "Если я не могу объяснить ребенку то, чем я занимаюсь, значит, я сам этого не знаю". Евгений, это не упрек, а так, мысли вслух. Евгений Машеров Равновероятное и равномарное на самом деле не одно и то же! Конечно. Вы показали, что эмпирическое распределение не равномерно, но это не противоречит тому, что оно принадлежит равномерному распределению, для которого равновероятны все исходы. Иначе говоря, каждое неравномерное эмпирическое распределение принадлежит множеству всех возможных распределений, которые в пределах этого множества равновероятны. Так? А если так, то на каком основании конкретное множество неравномерных эмпирических распределений (входящее во множество каждых) можно объявить равновероятным? Это снова та же бодяга: все - не все, каждый - не каждый, любой - не любой. -Все в руках Аллаха. -Как это все? А сознание Будды? Руки Аллаха ведь есть только в сознании Будды. С этим вы не станете спорить? -Конечно, нет. Руки Аллаха есть только в сознании Будды. Но вся фишка в том, что сознание Будды все равно находится в руках Аллаха. - (с) В. Пелевин, Generation "П". Именно этим заблуждением, о тождестве равномерного и равновероятного, гонимы к рулетке игроки, увидевшие 7 красных подряд и ставящие на черное, полагая, что вероятность выпадения красного уменьшилась. Витька Евгений Машеров |
| 469. Витька, 21.02.2002 13:12 |
Tsykunov ==Избыточность не очень маленьких rar архивов гораздо меньше одного процента.== Обоснуйте Пожалуйста? Можно взять rar архив размером 100K, произвольным образом поменять в нём 99.9% байт, не совсем произвольным – оставшиеся, и при этом он останется rar архивом. Доказательство тривиально. Из этого следует, что для любой взаимно однозначной функции (архиватора) с областью определения – rar архивы от 100K в области значений найдутся файлы уменьшившееся менее, чем на один процент или не уменьшившееся. ЧТД. (Для простоты я не мелочился, но цифры 100K и 1% легко заметно уменьшить.)
Кто жмётся? Впрочем этим я не сказал, что кто-то не жмётся. Вы искали ”источник данных, порождающий то txt, то exe, то gif без всяких регулярностей.”, и я Вам его дал. |
| 470. Евгений Машеров, 21.02.2002 15:24 |
Tsykunov 1. Ну что же делать, если некто не знает математики. Иногда приходится ему о сем говорить... Что до объяснения детям, то, мнится мне, Вы не дитя... Если три уровня понимания: - когда возникает теплое чувство понимания - когда можешь сделать - когда можешь сделать лучше. Детям достаточно объяснить на первом уровне. А Вы претендуете на третий... 2. Далее у Вас игра словами. Под равномерным распределением я, как это обычно принято, понимаю распределение с равной вероятностью исходов. Что, при известных условиях, дает максимизацию энтропии. 3. Польщен знакомством со специалистом столь высокого класса, что для него вовсе невозможным представляется недостаток квалификации разработчика... 4. А впрочем, уже недолго.. "Восьмое марта близко-близко, |
| 471. Vladimir Rybinkin, 21.02.2002 20:31 |
Евгений Машеров Это что еще за народное творчество? "Мой" архиватор... Грозят расправою кровавой |
| 472. GummyBear, 21.02.2002 21:11 |
Я прочитал всю вашу ветку и не нашел увы ответ. Есть RAR, есть ZIP есть мысли... А где паковщик? Ну не бред? |
| 473. Tsykunov, 22.02.2002 08:32 |
Евгений Машеров Если три уровня понимания: - когда возникает теплое чувство понимания Жаль, что у Вас ко мне нет даже теплого чувства понимания - когда можешь сделать - когда можешь сделать лучше Это намек, что Вы уже достигли такого уровня понимания, что никто лучше Вас сделать не может? Вот оно - Абсолютное Знание! Далее у Вас игра словами. Бросьте Вы такие фразы, плз. Конкретнее хотелось бы... Под равномерным распределением я, как это обычно принято, понимаю распределение с равной вероятностью исходов. И что из этого? Я задал конкретный вопрос, получил ответ про игру словами и повторение предыдущего заявления, из которого никаких новых выводов. Нечего сказать в прозе? Да и не один вопрос был, беретесь спорить - отвечайте на все. Польщен знакомством со специалистом столь высокого класса, что для него вовсе невозможным представляется недостаток квалификации разработчика... Мы ведь обсуждаем возможность создания алгоритма, а не возможность его создания Васей Клюшкиным. А впрочем, уже недолго.. Любой исход пари ничего не докажет по главному вопросу. Витька |
| 474. Евгений Машеров, 22.02.2002 09:08 |
Tsykunov 1. Полагаю, что целью данной ветки, равно как и всей конференции "Программирование", является не выработка теплых чувств, но решение конкретных задач. 2. Нет. Не могу сделать лучше уже известных алгоритмов. Поэтому, когда вижу человека, претендующего на такое - пытаюсь понять, что сие: прорыв в знаниях либо безтветственная болтовня. 3. Исход пари даст ответ не по главному, а по предыдущему вопросу. |
| 475. Витька, 22.02.2002 10:52 |
Tsykunov Все, что извлечено из архива, то и жмется, иначе зачем его было туда пихать. Ошибаетесь. Например предмет пари был передан в архиве.
С каких пор txt, exe, gif стали такими?
Скорее это третье. Сжатие использующие специфику объекта. Практически наверняка, алгоритм сжимающий файлы от quest будет плохо сжимать тексты |
| 476. Vladimir Rybinkin, 22.02.2002 12:37 |
Евгений Машеров цитата:А чего пытаться? Я предельно конкретно и подробно все описал. Если уж и это неочевидно - была мыслишка в "Извилинах" (не помню, моя или нет, но я с ней согласен): принципиальной разницы между гением и кретином нет. Все определяется практикой (результатом). Таким образом, пытаться понять заранее - бессмысленно. P.S. Даже если и болтовня, то уж ОТВЕТСТВЕННАЯ! Витька цитата:Нет. Если то, что я делаю, сработает - это просто означает возможность сжатия "среднего промежутка" (см. первый постинг ветки). |
| 477. Евгений Машеров, 22.02.2002 12:54 |
Vladimir Rybinkin Как человек, имевший дело с кретинами (и даже получающий надбавку за это) замечу, что разница отсутствует только с точки зрения кретина. Гений эту разницу как-то видит... Алгоритм Ваш мне представился невнятным набором слов, и, буде он окажется эффективен, буду знать, что мое место ближе к кретинам. А если нет - не обессудьте... |
| 478. Vladimir Rybinkin, 22.02.2002 13:05 |
Евгений Машеров цитата:Как алгоритмист - указываю на противоречие: либо разница отсутствует не только с точки зрения кретина, либо середины нет цитата:Хм. Где это Вы его откопали? О нем знают, по моим сведениям, лишь три человека цитата:Никогда! |
| 479. Ку-Ри-Цин, 23.02.2002 05:10 |
Vladimir Rybinkin, должен сказать, слабоват ты со своими алгоритмами, не тот масштаб. Вот наши товарищи из далекого забугорья обещают на порядок больше и без потерь http://www.cnews.ru/news/comp/2002/02/22/20020222175651.shtml |
| 480. Vladimir Rybinkin, 23.02.2002 11:22 |
Ку-Ри-Цин Да я чего, я ничего А "товарищи" как раз и говорят, что мой спинной мозг не ошибался Наверное, мой алгоритм обнаружили P.S. А что, интересно, скажут господа теоретики? Нобелевского лауреата тоже математике за 8-й класс учить будем? |
| 481. Кондыбас, 25.02.2002 13:04 |
Есть простая цепочка: данные - кодер - упакованные данные - декодер - данные. Чтобы иметь согласование на входе-выходе(без потерь), нужно иметь согласование на кодере/декодере. Иначе это потеря информации. Синякам достаточно перемигнуться и они друг друга поняли - полная согласовка Соотношение данные/упакованные данные (в кг.) может быть любым. Хоть бесконечно большим. Любой объем информации можно запаковать в один бит. Расплачиваться придется кодером/декодером. Один бит - наличие/отсутствие цветка на подоконнике - кодировало довольно длинную фразу: явка провалена, чувствую хвост, пока не берут, надежды мало, сюда не ходи. Плейшнер декодер не согласовал и погорел. Теоретически, рекурсивная функция может порождать цепочку значений любой длины. Из затравки в 20-30 байт и трех-четырех параметров можно получить сотню метров файлА. И даже может статься, что это будет инсталляха чего-нибудь полезного. Но задача в том, что нужно _подобрать_ Это, покамест, вне пределов наших аналитических возможностей. |
| 482. ThreeDHead, 25.02.2002 13:39 |
Кондыбас Нагородил чего-то: Один бит - наличие/отсутствие цветка на подоконнике - кодировало довольно длинную фразу: явка провалена, чувствую хвост, пока не берут, надежды мало, сюда не ходи. Не все данные вписал, забыл про: Солнечная система -> Пятая планета от солнца -> Страна Россия -> Город Москва -> Улица Ленина -> Дом номер 5 -> Окно (X, Y) -> Цветок -> короче ж...па. Идентиффикаторы всей этой лабуды у тебя столько места съест, что лучьше бы этому цветку на свет и не появляться. |
| 483. GreatMaster, 25.02.2002 21:09 |
ммм... а если по теме (если кто помнит: "существует ли lim->...") то: НУ НИКАК НИ СЖАТЬ В 1 БАЙТ 10 БАЙТ НИКАК даже если все сжимаемые байты имеют форму типа 00000001, 00000010, 00000100 и т.д. дык вот, 3 из 10ти будут иметь одинаковый направленность. Учитывая ЧТО в нашем байте мы опишем только 8 бит - мы НУ НИКАК не сумеем разместить информацию о местоположении 2х оставшихся (совпадающих с кем то) битах. о чём разговор то? существуют ли? я отвечаю: на данном _этапе_ да. а вот если "...а вот советские учёные..." дык вот мы насчёт того чтобы вместо обычных ДА/НЕТ добавить МОЖЕТ БЫТЬ а? |
| 484. Евгений Машеров, 26.02.2002 09:13 |
Ку-Ри-Цин Несколько опоздавшая новость. Больше месяца назад они заявились, но очень скоро обнаружилось, что действительно крупные ученые, перечисленные среди разработчиков алгоритма - вообще об этом не слыхали. Т.е. раскрутка инвестора... |
| 485. Ку-Ри-Цин, 26.02.2002 16:44 |
Евгений Машеров Спасибо, что во время предупредили, а я уж чуть было... значит остается только Рыбинкин... спаситель наших надежд |
| 486. Евгений Машеров, 26.02.2002 17:07 |
Ку-Ри-Цин Я тогда задал вопрос о них на RU.COMPRESS - порекомендовали универсальный архиватор /dev/null/ |
| 487. Ghoort, 26.02.2002 18:15 |
+ |
| 488. @Matrix, 26.02.2002 19:29 |
Ghoort Определим множество A как множество сжатия Это множество исходных (сжимаемых) последовательностей, что ли? ОК, пусть это и будет множество сжатия... множество всевозможных N комбинаций из элементов 0 и 1 Множество А сжатия с определенной сжатием f:A->A Сжимаемостью подмножества B назовем m(B)/m(f(B)) А теперь внимание -- вопрос: на фига все это? Vladimir Rybinkin цитата: Евгений Машеров цитата: А что теперь скажет господин практик? |
| 489. Ghoort, 27.02.2002 10:40 |
x |
| 490. Vladimir Rybinkin, 27.02.2002 11:25 |
Евгений Машеров цитата:И несколько преждевременное опровержение. Нет, чтобы еще месячишко потерпеть @Matrix цитата:Жаль, жаль... значит остается только Рыбинкин... спаситель наших надежд |
| 491. Alex_Mal, 27.02.2002 11:28 |
Ghoort Есть такая теория: Теория функций комплексного переменного. Там уже давно рассмотрено "Сжимающее отображение", как раз то, что тут описано. Есть там и теорема о Сжимающем отображении. К сожелению не помню ее формулировки (да простит меня декан), но что-то они важно гласит. Просто я попробовал указать вам где можно поискать решение. Хотя может я и не прав. |
| 492. quest, 27.02.2002 11:31 |
Vladimir Rybinkin Кстати, спасителю ихних надежд осталось спасаться 10 дней! |
| 493. Ghoort, 27.02.2002 11:35 |
x |
| 494. quest, 27.02.2002 11:36 |
Ghoort Все здешнии термины придумал я Вопрос: "А на кой?", так и остался открытым... |
| 495. Ghoort, 27.02.2002 11:39 |
x |
| 496. quest, 27.02.2002 11:44 |
Ghoort Утверждение. Предела для сжатия с потерями нет. Браво!!! А ещё: Волга впадает в Кайспийское море, а 2х2=4. |
| 497. Ghoort, 27.02.2002 11:49 |
x |
| 498. Евгений Машеров, 27.02.2002 12:47 |
Ghoort Что-то мы перемещаемся даже не в "Полемику", а во "Флейм". Давайте вернемся к конкретике. Сжатие с потерями - это интересно. Вот только хорошо бы разжимать. Кто что слышал нового о сжатии видео? |
| 499. Ghoort, 27.02.2002 13:06 |
x |
| 500. quest, 27.02.2002 13:47 |
Ghoort Теорема 1. Пусть B1 - подмножество сжатия, тогда мера наименьшего подмнжества сжатия B2, которое получается из B1 сжатием без потерь, пропорционально КОЛИЧЕСТВУ элементов M множества B1. m(B2) = S(g(M))+(M-S1(g(M)))*(g(M)+1) ~ M+O(1) Теорема доказана И доказана неправильно Ибо, в Вашей терминологии m(B2)~O(M*(log2(M)-2)), что легко (хотя и не так "научно") доказывается. Бум спорить? |
| 501. Ghoort, 27.02.2002 13:54 |
x |
| 502. quest, 27.02.2002 14:01 |
Ghoort просуммировать ряды точно мне так и не удалось Вот как удастся, так и начнем... |
| 503. Ghoort, 27.02.2002 14:21 |
x |
| 504. quest, 27.02.2002 14:29 |
Ghoort Если Вам нравиться задавать вопросы "на фига?", то мне такие собеседники не интересны. Мне нравятся собеседники, которые хотя-бы понимают смысл используемых терминов и обозначений, а вот деятели, открывающие Америку, не удосужась вспомнить (или подучить, если в свое время их "декан простил") азы, действительно не интересны - ликбезом следует заниматься в другом месте. моя теорема дает точный и приближенный ответы на заглавный вопросы темы. Увы, ничего она не даёт, ибо - не верна. |
| 505. Ghoort, 27.02.2002 14:31 |
x |
| 506. quest, 27.02.2002 14:35 |
Ghoort Докажи Я бесплатно учу только достаточно вежливых людей. А с хамоватых - деньги вперед! |
| 507. Ghoort, 27.02.2002 14:39 |
x |
| 508. Vladimir Rybinkin, 27.02.2002 14:48 |
quest цитата:Спасать! Я уже говорил: времени мне хватит. цитата:Интересно |
| 509. Ghoort, 27.02.2002 14:51 |
x |
| 510. Евгений Машеров, 27.02.2002 15:23 |
Ghoort Математика, она, конечно, язык. Только у Вас говорить на нем... невразумительно получается. 1. _Число_ 0 и _число_ 00 у Вас различны? |
| 511. Ghoort, 27.02.2002 15:46 |
x |
| 512. Alex_Mal, 27.02.2002 16:04 |
Ghoort Я ошибся, это другая теория. Там есть про сжимающие отображения, и про нумерацию перечислимых множеств. |
| 513. Евгений Машеров, 27.02.2002 16:11 |
Ghoort А тогда зачем для конечных множеств вводить понятие меры? Вроде как оно для них совпадает с мощностью? |
| 514. Ghoort, 27.02.2002 16:18 |
x |
| 515. IronPeter, 27.02.2002 21:13 |
Мне это все напомнило сцену из Кин-дза-дзы. -Ду ю спик туркиш? -Почему это ты, родной, говоришь на языке, продолжения которого не знаешь? |
| 516. Евгений Машеров, 28.02.2002 09:27 |
Ghoort Боюсь, что введенное Вами понятие мены имеет весьма мало общего с общепринятым. Хотя "точная нижняя граница суммы длин конечного или счетного множества интервалов, покрывающих заданное на прямой множество S" на слух звучит похоже на Ваше определение - но ничего общего оно не имеет... Если же Вы вводите свой язык - не ссылайтесь на "язык математики". Возможно, Ваш язык лучше - но он иной... Добавление от 28-02-2002 09:29: Очепятка: мены - читай меры. |
| 517. Ghoort, 28.02.2002 10:20 |
x |
| 518. IronPeter, 28.02.2002 11:29 |
Ghoort Нет, уж извольте использовать конвенциональный язык. В приведенном постинге столько конструкций, случайно надерганных из разных областей метематики, что дух заватывает. Скажем, "стандартная лебеговская мера на многообразии". Причем тут многообразие? Или "корень суммы". Сумма берется как минимум от двух величин. Сумма чего с чем? Есть стандартная мера для пространства итегрируемых с квадратом функций Да шо ты говоришь? Сначала берется измеримое пространство, потом L_2 от него. А что потом, ты хочешь ввести меру на борелевских подмножествах L_2 ? Хорошей меры там нет, заявляю как доктор. Да и общее определение меры я уже привел выше. Оно подходит для любых множеств, которые объявляются открытыми (топология). Кошмар... Причем тут топология? Ты что, только по топологии можешь построить меру??? Что это за мера? Вот прислали тебе в коробочке топологию на множестве. |
| 519. Ghoort, 28.02.2002 11:46 |
x |
| 520. IronPeter, 28.02.2002 12:12 |
Ghoort Далее, когда я писал про меру на L_2 я не написал слов "хорошая" "удобная" или "плохая". Было написано "стандартная". Мера любого множества положим нулем. Такая мера есть всюду. Куда уж стандартнее. Пойдет? Это она? Что это за стандартная мера на L_2? Какие у нее свойства аддитивности и инвариантности (относительно изометрий)? Например возьму и припишу каждому открытому множеству число. Какое именно без вышеупомянутой коробочки, я сказать не могу Мера целого должна быть равна сумме мер частей (это требование). При случайном выборе такого не будет. Кстати, Вы не написали своего мнения о введенной мною мере на сжимаемых множествах. Мера отдельной строки равна числу единиц в ней? Ну какой может быть мнение - есть и есть. Можно доказывать разные теоремы, скажем, что полная мера всех строк длины n равна n*2^{n-1}. Иное дело, что с ней серьезного можно делать? |
| 521. Ghoort, 28.02.2002 12:20 |
x |
| 522. Евгений Машеров, 28.02.2002 12:41 |
Ghoort Боюсь Вас разочаровать, но с понятием меры я ознакомился тому лет двадцать. Вероятно, Вы полагаете, что за это время Вашими усилиями математика настолько ушла вперед? Из ваших постингов сего не вытекает. Термин "мера" имеет определенный смысл, который Вы не используете. Что-то мне кажется, что Вы смешиваете меру и норму, Что же до введенной Вами "меры на сжимающих множествах", то, признаться, не понял, какое отношение она имеет к сжатию информации. Да, сумма длин строк (не чисел! числа 1 и 01 равны!) данного подмножества обладает свойствами меры (если пренебречь тем, что строка длины 0 занимает в реальном представлении не 0 байт). Ну и что из этого? Боюсь, Ваше представление о проблеме несколько поверхностно, и размахивание математическими терминами, из коих часть вообще не относится к теме, Вас не спасает. |
| 523. Ghoort, 28.02.2002 12:58 |
x |
| 524. quest, 28.02.2002 16:14 |
Ghoort Мне даже приходит на ум, что доказательство теоремы никто не проверил. Кстати там есть ошибка, на конечный результат правда не влияющая. А что её проверять, если она просто не верна! Доказывать мне это лениво, но можно сделать так: если утверждается, что эта самая мера пропорциональна числу последовательностей из 0 и 1, то должен быть коэффициент пропорциональности. Таки, давайте любой коэффициент и я укажу число различных последовательностей, при котором сия замечательная мера будет больше, чем моё число, умноженное на указанный коэффициент. Попробуйте понять, что в основе ваших построений лежит непонимание сути сжатия, обсуждаемого здесь: вы путаете кодирование со сжатием. Конечно, можно взять файл, сколь угодно большой, и объявить, что однобитовый файл с расширением .ghoort есть "сжатие" этого файла. В качестве архиватора использовать просто прогу, генерирующюю сей "архив", а в качестве деархиватора использовать исходный файл с проверкой входа и банальной записью файла. Но кому такие прибамбасы нужны? Если это сжатие, то я - архиепископ! |
| 525. Ку-Ри-Цин, 28.02.2002 17:05 |
quest, не надо передергивать. Кодирование и сжатие - синонимы (при условии кодирования без потерь). В любой сжимающей программе основой сжатия является поиск одинаковых последовательностей, т.е. поиск закономерностей, которые потом кодируются каким-либо кодом, составляется словарь ну и т.д. Что такое словарь? Это и есть кодирование, пусть частичное кодирование исходного материала, но кодирование, на котором и стоит сжатие. Какая разница откуда берется словарь? Передается вместе с последовательностью или с полки в виде книги? |
| 526. quest, 28.02.2002 17:18 |
Ку-Ри-Цин не надо передергивать. Именно! Вам, собственно, кто сказал, что кодирование и сжатие - синонимы? Cами догадались? Кроме всего прочего, теория кодирования (алгебраическая) в основном рассматривает коды увеличивающие размеры передаваемых последовательностей (для защиты от ошибок), а отнюдь не уменьшающие их. Учите матчасть! |
| 527. Ку-Ри-Цин, 28.02.2002 19:28 |
quest, эти ваши все высказывания всего лишь констатация конкретного практического аспекта. Да, основная потребность такова, ну что? Давай те возьмем ту часть, где выходной код уменьшается. |
| 528. Витька, 28.02.2002 19:40 |
Ку-Ри-Цин В любой сжимающей программе основой сжатия является поиск одинаковых ... Возьмите тривиальный разностный сжиматель звука. И усё. Никаких словарей не надо. |
| 529. Ку-Ри-Цин, 28.02.2002 20:59 |
Витька Фу, как грубо! А что это такое "тривиальный разностный сжиматель звука"? Добавление от 28-02-2002 21:00: quest |
| 530. Витька, 28.02.2002 22:29 |
Ку-Ри-Цин Фу, как грубо! А: "Сжатие - это частный случай кодирования" - это не грубо? IMHO, это идиотизм какой-то.
Вроде ADPCM называется. Короче, данные - плавная последовательность чисел. Вычисляем разности, и видим, что они требуют меньше бит. Ключевое слово - вычисляем. Никакой статистики. |
| 531. Ку-Ри-Цин, 28.02.2002 23:01 |
Витька, отбрасывание якобы малозначимых бит, это вычисление, кодирование или сжатие? |
| 532. @Matrix, 28.02.2002 23:20 |
Ку-Ри-Цин Если размер файла уменьшается, а информация не теряется -- это не сжатие? |
| 533. Ку-Ри-Цин, 01.03.2002 01:51 |
??? |
| 534. Евгений Машеров, 01.03.2002 09:21 |
Ку-Ри-Цин Кодирование и сжатие - отнюдь не синонимы. Зачастую коды строятся так, что они увеличивают длину закодированного сообщения - ради повышения достоверности (начиная с тривиального добавления контрольных битов и до...), ради сужения частотной полосы модулированного сигнала (избегая резких изменений сигнала на входе модулятора) или ради недопущения длинных последовательностей нулей (а то слетит синхронизация) и единиц ( сокращая межсимвольное взаимодействие). А если говорить о кодах в узком смысле, как средство сокрытия информации, то они могут расти прибавлением к шифруемому сообщению случайных последовательностей. В то же время можно ставить задачу сжатия аналоговыми средствами (например, как задачу сужения частотной полосы). Кроме того, далеко не все алгоритмы сжатия без потерь используют повторение символов. Скажем код Хаффмана (и его предки, от кода Морзе; и потомки, скажем, арифметическое кодирование) используют только неравновероятность отдельных символов. Витька Если просто перейти к разностям - это DPCM (ДИКМ), ADPCM (АДИКМ) использует квантование, причем шаг квантования (вообще говоря, переменный) настраивается по сигналу (т.е. это уже сжатие с потерями). А чисто разности (с проходом по ним затем Хаффманом) мы использовали для сжатия электроэнцефалограммы (без потерь). |
| 535. Ку-Ри-Цин, 01.03.2002 16:42 |
Евгений Машеров >Кодирование и сжатие - отнюдь не синонимы... Я же писал уже, сжатие - это частный случай кодирования. Сжатие - это кодирование, а вот кодирование не всегда есть сжатие. >Зачастую коды строятся так, что они увеличивают длину закодированного сообщения... И что этот частный случай доказывает? Что не бывает по-другому? Бывает. >Кроме того, далеко не все алгоритмы сжатия без потерь используют повторение символов. Здесь я не совсем корректно выразился. Я не конкретизовал понятие символа, но это не значит любимые 8 бит. Хорошо, давайте так, если у вас любовь к 8 битам - повторение последовательностей исходных 8-битных символов , которым можно присвоить некий идентификатор (уникальный символ). Повторение символов в том или ином смысле есть всегда, на этом основано сжатие. Если все символы уникальны, то как же это можно сжать? >Скажем код Хаффмана (и его предки, от кода Морзе; и потомки, скажем, арифметическое Браво! Браво! В предыдущем высказывании меня опроверг, а в следующем поддержал. Евгений Машеров, вы от книжек с формулами оторвитесь, приподнимитесь над ними и оглянитесь вокруг, а то из-за деревьев леса не видите. |
| 536. Dron007, 01.03.2002 20:04 |
Повторение символов в том или ином смысле есть всегда, на этом основано сжатие. Если все символы уникальны, то как же это можно сжать? Очень даже просто. Вот пример. На входе - числа от 1 до N. Элементарный цикл восстановит последовательность. При каком-то не очень большом N размер программы для вывода последовательности станет меньше самой последовательности. Сжатие? Сжатие. И нет никакого повторения. |
| 537. Витька, 01.03.2002 20:18 |
Поясняю для самых маленьких. Ку-Ри-Цин Это называется округление. Для всего есть свои названия. К моему примеру это не имеет отношения, поскольку ничего не отбрасывается, и потери информации не происходит. Всё восстанавливается полностью. Ку-Ри-Цин Ку-Ри-Цин Также смешно, вмешиваться в работу специалиста, советовать не имея понимания. Я рад, что Вы это поняли. Ку-Ри-Цин Многократное повторение глупости не делает её умнее. Сжимать можно по разному. Ку-Ри-Цин Иногда довольно тривиально. Например, если символы расположены в алфавитном порядке. Добавление от 01-03-2002 20:19: Евгений Машеров Вы конечно правы. Но метод настолько прост, что я его использовал ещё до того, как узнал про название. Для моих данных, иногда было выгодно хранить даже не первую, а вторую производную. |
| 538. Ку-Ри-Цин, 01.03.2002 20:22 |
Dron007, берем Льва Толстого, сажаем его за письменный стол, через пару дней получаем "Войну и Мир". Сжатие? Сжатие в виде Льва Толстого. Лев Толстой выступает как архиватор "Войны и Мира". Если возьмем Шолохова, то получим "Тихий Дон". Еще один архиватор. А если возьмем витька, то нифига не получим. Почему? |
| 539. quest, 01.03.2002 20:26 |
Ку-Ри-Цин Их что, закодировали? |
| 540. Ку-Ри-Цин, 01.03.2002 20:32 |
Нет, они сами довели себя до такого состояния |
| 541. Faizullin Rustam, 01.03.2002 20:39 |
Интересно вы тут развлекаетесь
Я могу объяснить почему крышу так не делают, целых две причины: За офтоп извиняюсь |
| 542. Витька, 01.03.2002 20:58 |
Ку-Ри-Цин берем Льва Толстого, сажаем ... Где же Вы его откопаете? Но даже если найдёте, то кто его посадит? Он же памятник. Впрочем, даже когда был живым, то был не в состоянии написать за два дня “Войну и мир” даже с помощью десятка шолоховых. |
| 543. Ку-Ри-Цин, 01.03.2002 21:04 |
Сам такой
|
| 544. Faizullin Rustam, 01.03.2002 21:47 |
Ку-Ри-Цин Правильно они тебе ответили А Лев Толстой сможет заново слово в слово войну и мир написать? |
| 545. Ку-Ри-Цин, 01.03.2002 22:04 |
Не знаю, не знаю... тут к сожалению замешан человеческий фактор... сейчас я собираюсь отходить в мир иной... до утра... если его встречу, то обязательно спрошу |
| 546. Евгений Машеров, 02.03.2002 21:56 |
Ку-Ри-Цин А вот товарищ Прокис, в "библии цифровой связи", определяет кодирование как нечто противоположное сжатию, как процесс, в результате которого длина последовательности символов возрастает (для повышения надежности передачи, для уменьшения межсимвольной интерференции, для обеспечения синхронизации). Поучим мэтра? |
| 547. Ку-Ри-Цин, 03.03.2002 01:22 |
Однажды стрроителя всю жизнь строящего сараи спросили - а дворец ты можешь построить? Могу! - ответил строитель и построил большой-пребольшой сарай. Евгений, не будем спорить кто умнее, а кто прокис, давайте обратимся лучше к толковому словарю, который нам сообщает, что КОДИРОВАТЬ, рую, руешь; анный; сов. и несов., что (спец.). Вы уважаемый Евгений Машеров все время ударяетесь в частности, говорите о пункте 1. А вот мне кажется, что следующий пункт 2 является более общим определением и вмещает в себя понятие пункта 1. Наоборот как-то совсем не получается. Под второй пункт попадает также понятие "сжатие". А вот что говорит товарищ Прокис в "библии цифровой связи" по поводу пункта 3? А теперь внимание! Контрольный вопрос ко всем моим опонентам - почему все кодеки для сжатия речи, видео, музыки называют кодеками (кодерами)? |
| 548. Евгений Машеров, 03.03.2002 18:41 |
М-да. Ссылаться в технической конференции на толковый словарь. Это ново. Это смело. Впрочем, не вернуться ли к первоначальной теме? Еще раз. 1. Универсальный алгоритм, способный сжать любую последовательность, невозможен (доказательство см. выше). 2. Универсальный алгоритм, сжимающий "в среднем", т.е. длина сжатой последовательности в среднем меньше исходной - невозможен. Доказательство немногим сложнее. 3. Реальные алгоритмы сжатия без потерь эффективны потому, что распределение исходных последовательностей - не равновероятно. 4. Действительное продвижение возможно в задаче сжатия с потерями. При этом оно должно быть основано не на "гениальном озарении", а на глубоком проникновении в структуру сжимаемой информации (пример - закон Вебера-Фехнера их физиологии слуха позволил сразу сжать сигнал вдвое, перейдя к альфа- или мю-представлению, а физиология речевых органов позволила создать LPC- кодеки, например GSM). Еще интереснее изучить физиологию восприятия движущихся изображений. 5. Пари уважаемого Владимира Рыбинкина, в случае победы покажет, что вся современная математическая основа теории кодирования невалидна, а также, что он - крут как программист. В случае же проигрыша (что представляется мне почти неизбежным) мы получим одно небольшое разочарование в небывшем чуде и одного нового человека, знающего кое-что о сжатии информации (вариант, что он знает Тайну, но не смог запрограммировать - исключаю, как неинтересный). Поэтому я и интересуюсь нынешним статусом пари. |
| 549. Ку-Ри-Цин, 03.03.2002 19:52 |
Евгений Машеров >М-да. Ссылаться в технической конференции на толковый словарь. Это ново. Это смело. Да, конечно как всегда вы правы, толковый словарь писали дураки. Во-первых, у меня нет под руками и в ближайшем моем окружении книг, из которых я мог бы дать вам хоть какую-то цитату. Во-вторых, лазить по Интернету в поисках доказательства специально для вас нет времени и желания. В-третьих, толковый словарь - это самый простой для меня путь подтвердить мои слова. В-четвертых, я спинным мозгом чувствую по вашему занудному поведению, что вы или преподаете или преподавали, имеете отношение к академической среде. Такая маниакальная упертость, абсолютная любовь к формулам и формулировкам присуща именно таким людям, и как следствие всего выше сказанного, боязнь оказаться неправым. А чего проще сказать - да, я был неправ. Это не смертельно. >Впрочем, не вернуться ли к первоначальной теме? Уважаемый Евгений Машеров, не надо юлить, не надо уходить в тину, вы так и не ответили на мой простой вопрос - почему все кодеки для сжатия речи, видео, музыки называют кодеками (кодерами)? Ну что, поучим мэтров? |
| 550. Евгений Машеров, 03.03.2002 20:32 |
Ку-Ри-Цин 1. Я действительно преподавал. А также реализовывал алгоритмы цифровой обработки. От практического опыта у меня уверенность в своей правоте, а вот от преподавания - неизгладимое желание добиться от студента хотя бы элементарного понимания. Видимо, инструментов не хватает. 2. Отсутствие книг и нежелание искать в Интернете? Диагноз: а. Незнание материала. б. Нежелание его знать. в. Гиперуверенность в своей правоте. Как здесь, так и в ветке, в которой Вы открыли тождественность КИХ и БИХ-фильтров... 3. Вы полагаете, что наличие коммерческих названий определяет суть объекта? Мне Вас жаль... |
| 551. Ку-Ри-Цин, 03.03.2002 21:15 |
>а физиология речевых органов позволила создать LPC- кодеки, например GSM >Вы полагаете, что наличие коммерческих названий определяет суть объекта? Мне Вас жаль... |
| 552. Евгений Машеров, 04.03.2002 09:34 |
Ку-Ри-Цин 1. То есть что такое LPC Вы не знаете? 2. Да, наверно, приятно. Зато в противном случае Вы что-либо знали бы... |
| 553. Vladimir Rybinkin, 04.03.2002 11:23 |
Евгений Машеров цитата:Смело - может быть, но не ново. Мне именно его в качестве аргумента как-то приводили цитата:Непохоже цитата:Опять же не похоже. Мне (алгоритму, в смысле) плевать на теорию кодирования. цитата:Какой, на фиг, тут могет быть вариант |
| 554. Евгений Машеров, 04.03.2002 11:58 |
Vladimir Rybinkin Ждем-с. Уже недолго-с. |
| 555. quest, 04.03.2002 12:17 |
Евгений Машеров Ждем-с. Уже недолго-с. Угу. Три дня. |
| 556. Alexzander, 04.03.2002 12:59 |
А каков прогресс? |
| 557. Vladimir Rybinkin, 04.03.2002 12:59 |
quest цитата:Разве? Я им уши оборву |
| 558. Ку-Ри-Цин, 04.03.2002 16:46 |
Евгений Машеров >То есть что такое LPC Вы не знаете? Ну как вам сказать, немного знаю. Был у меня такой период, 5 лет занимался LPC-кодеками в тогдашней Rockwell Semiconductor System (теперь Rockwell Automation), в том числе породил LPC-кодек с использованием генетических алгоритмов, поэтому было бы интересно послушать вашу версию, почему "коммерческое" название LPC-кодирование (кодек, кодер) применяется повсеместно учеными мужами вместо какого-то другого истинного научного названия известного только вам. Было бы также интересно услышать от вас почему LPC-кодек не является кодеком, почему А/mu-Law кодирование не является кодированием, каким боком закон Вебера-Фехнера относится к A/mu-Law кодированию или давайте лучше так - расскажите о A/mu-Law кодировании с точки зрения закона Вебера-Фехнера. |
| 559. Евгений Машеров, 04.03.2002 23:47 |
Ку-Ри-Цин Достаточно простым. Закон Вебера-Фехнера указывает, что отклик слухового анализатора пропорционален логарифму силы раздражения. Что и позволяет перейти от равномерного квантования к логарифмическому. |
| 560. Ку-Ри-Цин, 05.03.2002 01:22 |
Евгений Машеров, как бы это помягче сказать... общее представление о законе Вебера-Фехнера вы имеете, но не более. Вы путаете мгновенное значение сигнала с реакций нервной клетки. Максимальная частота импульсов в нервной системе порядка 400-500 Гц, а сигнал (для примера возьмем цифровую телефонию) квантуется с частотой 8000 Гц. В лучшем случае клетка может выработать острые импульсы той же частоты как на входе до 400-500 Гц, но никак не форму входного воздействия. Ну вы... |
| 561. Евгений Машеров, 05.03.2002 09:04 |
Ку-Ри-Цин Боюсь, что Вы, в свою очередь, путаете реакцию улитки и реакцию нервной системы в целом. Для последней логарифмический закон выполняется с достаточной точностью, во всяком случае, не меньшей, нежели его приближение a-law или mu-law. |
| 562. Alexzander, 06.03.2002 06:54 |
Так как прогресс? |
| 563. Евгений Машеров, 06.03.2002 09:19 |
Действительно, нельзя ли организовать репортажи с финиша. Я бы даже заметил - с полного финиша |
| 564. Alexzander, 06.03.2002 09:33 |
Евгений Машеров Может действительно случиться "полный финиш", только в чью пользу? Добавление от 06-03-2002 09:35: Vladimir Rybinkin |
| 565. Vladimir Rybinkin, 06.03.2002 10:57 |
Отчепитесь, мужики! 7-го вечером поговорим Даю последний репортаж: если вы заметили, я говорил, что алгоритм программируется довольно просто. А вам не приходило в голову, что я его УЖЕ СДЕЛАЛ?! |
| 566. Alexus, 06.03.2002 12:51 |
Vladimir Rybinkin чтобы врезать 8-го по теоретикам? Со всей дури! Буду искренне рад, если Вам это удастся, т.к. сам неперевоспитываемый практик вот тут тогда начнется... |
| 567. Alexzander, 07.03.2002 07:14 |
Vladimir Rybinkin Я буду участвовать! (c) слова Ярмольника из к/ф "Человек с Бульвара Капуцинов. |
| 568. quest, 07.03.2002 07:22 |
Vladimir Rybinkin чтобы врезать 8-го по теоретикам 8-го поздновато будет Седни супер-пупер алгоритму на гора! |
| 569. Vladimir Rybinkin, 07.03.2002 09:12 |
quest 8-го - в самый раз. А седни - на гора! |
| 570. B.A.D., 07.03.2002 11:10 |
| 571. Alexzander, 07.03.2002 13:06 |
Может на сегодня определенное время забить, чтобы наверняка. Пусть все желающие зайдут в эту ветку в это время. Как вам? |
| 572. yuri-the-cloud, 07.03.2002 13:28 |
Alexzander Ага, заодно сверим часы поточнее, через NTP. И с секундной точностью все дружно кликнем. Глядишь, и конфа упадет |
| 573. Alexzander, 07.03.2002 13:48 |
yuri-the-cloud Думаю, администрация не оценит. Просто мне на дайл-апе пока законнектишься, пока страничку откроешь... а такм ни фига... потом повтор через час, .. через два... Лучше уж сразу часов на 23.00 договориться. |
| 574. quest, 07.03.2002 14:13 |
Лично я сейчас сваливаю коньяк пьянствовать по разным поводам. А по условиям пари (см. страницу 7 ветки), я жду результата до 8-го числа. То бишь, - до 24.00 включительно сей день. Vladimir Rybinkin, ау! |
| 575. Vladimir Rybinkin, 07.03.2002 14:41 |
Какой, на фиг, 23:00? В 22:00 (скорее всего, раньше) я сваливаю. Так что не позже 22:00 |
| 576. Alexzander, 07.03.2002 14:43 |
Ага. Понятненько. Значится до 22.00 нужно сюда заглянуть... ок. Интересно сколько постов появится в течении первых десяти минут после опубликования Vladimir Rybinkin'ом результатов. Держу пари не меньше 30! |
| 577. Пабло, 07.03.2002 14:54 |
Приветствую! А если будет ничья? То кто что выиграет?!))) ЗЫЖ Думается мне что ничья и будет!)))) |
| 578. Vladimir Rybinkin, 07.03.2002 15:11 |
Мне вот интересно было сколько постов появится ДО опубликования Если ничья - я выиграл Добавление от 07-03-2002 17:50: Ну что, пришла пора расчесться за овец! Сначала орг. вопросы Теперь алгоритм. НИР не закрыт, поэтому всего я не скажу - разве что кто-то "убъет" основную идею. Итак, стратегическая идея, на которой базируется мой "спинной алгоритм: Стало быть, известно, что сжать последовательность практически невозможно? И НЕ НАДО!!! Будем решать совсем другую задачу: преобразование исходной последовательности в такую, которую можно будет сжать. Например, если мы к каждому байту исходника добавим 0xDD, затем инвертируем третий бит, затем у битов 2-3 заменим сочетания 01 <-> 11, затем в младших тетрадах заменим 8 <-> 9, 12 <-> 14, а в старших - 3 <-> 14, затем все байты 0x00 <-> 0xE6 - соотношение нулей и единиц в файле изменится с 4194305/4194303 до 4199135/4189473, т.е. до 0.23% (реальный алгоритм дает еще больше). После того, как с целым файлом уже ничего не удается сделать, переходим к половинке (при этом "расщепить" можно тоже разными способами - бит налево, бит направо, 16 байт налево, ...). Таким образом, задача становится переборной, причем, "оценочной функции", в общем-то, все равно, что произойдет: появится ли неоднородность по 5-му биту, увеличится дисперсия тетрад, ... Годится практически все, лишь бы увеличивалась неоднородность. Практика показала, что ЧТО-ТО, да происходит - есть выбор. Вопрос в том, хватит ли полученной неоднородности для какого-либо "классического" алгоритма сжатия, и сколько это будет "стоить". Опыты показали, что при удаче там может лежать где-то 28 килобайт (дальше "оптимизм" я не исследовал). Основная бяка, которая мне мешалась - необходимость, помимо универсальной служебной информации (обнаружились некоторые "популярные" приемы, которые неплохо бы вогнать в тело архиватора - для меня ВСЕ есть объем Было много еще интересного (я понял фразу "больше всего информации содержится в белом шуме" Такие дела. Теперь можете кусать Всех женщин с праздником! Хотел посвятить вам свою победу... |
| 579. Евгений Машеров, 07.03.2002 19:14 |
Присоединяюсь к поздравлению женщин, но... В общем, я не удивлен, скорее успокоен. Фокус в том, что преобразования даннйо последовательности в сжимаемую существуют - но вероятность найти их приближается к нулю с ростом длины сжимаемой последовательности. Испытывая множество "улучшающих преобразований", можно найти подходящее - но для того, чтобы указать, какое из преобразований применимо - нужно сколько-то бит, причем больше, чем мы выигрываем. Есть возможность везения - но вероятность такова, что лучше продать квартиру и поехать в Монте-Карло, поставив все на № - вероятность выигрыша в этом случае порядков на десять выше... quest Когда банкет с минералкой под сухарики? Пиво со всадником Валерием Сибирианом я уже пил |
| 580. Витька, 07.03.2002 19:18 |
Vladimir Rybinkin соотношение нулей и единиц в файле изменится с 4194305/4194303 до 4199135/4189473, т.е. до 0.23% (реальный алгоритм дает еще больше). Сколько больше? Очень интересно!!! |
| 581. B.A.D., 07.03.2002 20:34 |
А ну вот раз такие дела и откровения, может нам глубоко уважаемый QUEST, Alexander
|
| 582. Ку-Ри-Цин, 07.03.2002 20:46 |
Vladimir Rybinkin >Теперь можете кусать . Где теория что запрещает? Могу предложить свой алгоритм. БЕСПЛАТНО! Сначала просеиваем все нолики и единички. Нолики налево, единички - направо. А теперь все это сжимаем. Ну как? Vladimir Rybinkin, я ТАК в тебя ВЕРИЛ, а ты... Ты бы хоть на кошках сначала потренировался, что ли. Взял бы для начала какую-нить битмапину, как в JPEGе, сделал бы DCT, нашел остаток, сжал бы чем нибудь его без потерь. В итоге получил бы пожатую без потерь картинку, а потом на ту же самую (исходную) картинку напустил бы свору своих алгоритмов, чтобы они смогли хотя бы повторить или даже (!) превзойти сжатие выше упомянутого за счет нахождения скрытых закономерностей (а-ля скрытые Марковские модели). Тут было бы о чем поговорить. |
| 583. @Matrix, 07.03.2002 22:49 |
Vladimir Rybinkin Результат был достаточно предсказуем... А энтузиазм -- это здорово! Говорю безо всякой иронии -- правда здорово. Владимир, если ты однажды направишь свою энергию в какое-нибудь другое, пусть сложное, но хотя бы теоретически возможное русло, у тебя может многое получиться! Также, пользуясь случаем, передаю мои поздравления всем женщинам! А также победителю пари |
| 584. Пабло, 08.03.2002 11:48 |
Приветьствую! Вот тут заитересованным по поводу криптования и, немного, денег!))) http://www.proext.com/news/?id=5168 ЗЫЖ Щисливаго программинья!))) |
| 585. KAE, 08.03.2002 13:19 |
Пабло Глянул линк. Скачал файло, кторое они дают. Не понял одного, они что не дают описания алгоритма шифрования, но хотят чтобы его проверили на устойчивость? И где они гарантируют, что последовательность, предоставляемая ими, вообще имеет какую-либо закономерность Странная очень проверка |
| 586. TVGr, 09.03.2002 01:27 |
Ну почему, короткое описание есть вот здесь http://www.virtual-media.com/docs/TheBodacionServer.pdf (Бодасьон -- название-то какое рульное!). Только оно какое-то странное, и собственно математику не объясняют. В-общем, если quest предлагал его последовательность представить меньшим количеством байт, эти ребята предлагают найти функцию, которой эти последовательности генерируются. Имхо, дело невозможное. |
| 587. KAE, 09.03.2002 03:22 |
А самое главное, непонятно каким образом относится к криптостойкости алгоритма. |
| 588. Vladimir Rybinkin, 11.03.2002 10:37 |
Евгений Машеров цитата:Здрасьте! Я же показал - как. Мне бы чем больше, тем лучше. цитата:Это, интересно, почему? И как посчитать количественную оценку? Выигрыш есть всегда. Махонький (очень махонький) - но ВСЕГДА! Витька цитата:А чего интересного? Это же НА ВСЕМ ФАЙЛЕ. В любой момент можно перейти на следующий уровень. У меня было 0.27%. Можно и больше, но уже идут совсем копейки, дальше перешел на 0.5М. Ку-Ри-Цин цитата:Классно. Я бы так и сделал, но кто-то уже предупреждал: надо не только сжать, но и разжать потом цитата:Да я и сам верил цитата:Я об этом писал... @Matrix цитата:Нет. Лет 20 назад я уже направил. Правда, в теоретически невозможное. Но получилось quest |
| 589. Пабло, 11.03.2002 11:28 |
Vladimir Rybinkin цитата: вероятность найти их приближается к нулю с ростом длины сжимаемой последовательности
Ну а если делать не самораспаковывающийся архив, а обычный файл-}запакованный файл!))) Хе...чтото видать линк-то убрали!)))) |
| 590. @Matrix, 11.03.2002 12:13 |
Vladimir Rybinkin Нет. Лет 20 назад я уже направил. Правда, в теоретически невозможное. Но получилось ??? Прям даже интересно... Что же такое теоретически невозможное удалось сделать? Желательно с доказательством теоретической невозможности оного... |
| 591. KAE, 11.03.2002 12:23 |
Пабло В смысле ? |
| 592. Vladimir Rybinkin, 11.03.2002 13:05 |
Пабло цитата:Тогда можно ужать до нуля - уже писали @Matrix цитата:Да графы, графы |
| 593. Пабло, 11.03.2002 15:10 |
Vladimir Rybinkin цитата: Ну а если делать не самораспаковывающийся архив, а обычный файл Тогда можно ужать до нуля - уже писали до нуля чего - процентов?! KAE Ну я имел ввиду линк свой там тока описание и ничего более...!? |
| 594. quest, 12.03.2002 16:53 |
Vladimir Rybinkin and All Комментарии и объяснения будут чуть позже, а пока интрига: моя супер-пупер последовательность не сжимаема Vladimir-ом Rybinkin-ным, а вообще-то её можно сжать... |
| 595. KAE, 12.03.2002 16:58 |
quest Наверняка какие-нибудь переводы в другие пространства присутствуют Биективные отображения, изоморфизмы и т.п. Излагай уж, изверг |
| 596. quest, 12.03.2002 17:00 |
KAE Наверняка какие-нибудь переводы в другие пространства присутствуют Никаких переводов - голая теория, кою Vladimir Rybinkin не приемлеть... |
| 597. KAE, 12.03.2002 17:05 |
quest И долго измываЦЦа будешь ? |
| 598. quest, 12.03.2002 17:16 |
KAE И долго измываЦЦа будешь ? Угу. Пока нету времени на писанину. Вот можно проверить: http://web.referent.ru/nvi/forum/files/Quest1/1.exe Здесь сжатие не на 1%, а до менее 1%! |
| 599. KAE, 12.03.2002 17:34 |
quest А слабо с прилинкованным .bpl выложить ? А то не пускается |
| 600. quest, 12.03.2002 17:41 |
KAE А могешь сам сотворить еxe-шник, вот супер-пупер код: код: Здесь Delphi, но можно легко на любом языке наваять... |
| 601. KAE, 12.03.2002 19:13 |
quest Хехе... Все-таки это был random А не боялся, что как-нить подберет алгоритм ? |
| 602. quest, 12.03.2002 19:26 |
KAE Все-таки это был random Да нет, не random, а как уже говорилось, - некая функция. В данном случае: вторая половина "функции расстояния" 24-го порядка. А не боялся, что как-нить подберет алгоритм ? Дык, в пари участвовал тока Vladimir Rybinkin, а он теории не любит, посему вероятность его "выхода" на эту функцию была очень мала (это нужно было повыудить из моих постов намёки, а потом обратится к спецам в ФАПСИ или в ИКСИ). Но, ить, и этого мало: константики prim и curr подобрать нужно было! А их возможных сочетаний многовато... |
| 603. KAE, 12.03.2002 19:33 |
quest А как время будет механизмы по которым она работает объяснить сможешь ? А то код то понять я могу, а вот ПОЧЕМУ оно генерит такое распределение не очень |
| 604. quest, 12.03.2002 19:35 |
KAE А как время будет механизмы по которым она работает объяснить сможешь ? Всенепременно! |
| 605. AlexNek, 13.03.2002 03:00 |
quest с интересом следил за развитием событий. В связи с оригинальной концовкой, есть вопрос, а какова вероятность нахождения подобных фунций в произвольном файле. Ну а результат, без объяснений, нам простым смертным, непонять. Хоть пару англицких терминов бы добавили Пока что я просто заменил цифры, так вроде есть больше над чем размышлять. код: |
| 606. Vladimir Rybinkin, 13.03.2002 10:10 |
quest Ну я торчу! Адрес? |
| 607. KAE, 13.03.2002 10:14 |
Vladimir Rybinkin Тусняк по поводу устраиваться не будет ? |
| 608. Vladimir Rybinkin, 13.03.2002 10:41 |
KAE Не ко мне вопрос |
| 609. Евгений Машеров, 13.03.2002 10:41 |
quest Похоже на кусочек шифровальной программы. С аллюзиями на ГОСТ или DES. Признаться, я ждал попросту какой-нибудь текст (не "ВР - козел", но что-то повеселее...) , сжатый стандартным шифровальным алгоритмом. |
| 610. KAE, 13.03.2002 12:07 |
Евгений Машеров Мне IPES/IDEA немного напомнил Но это просто потому, что я его реализовывал на курсовике |
| 611. AlexNek, 13.03.2002 13:27 |
KAE А Вы не поясните тогда какая длина ключа у приведенного примера уж не 64 бита случаем. |
| 612. KAE, 13.03.2002 13:45 |
AlexNek В примере quest ? Именно 64. А что ? Кстати, лучше на "ты" |
| 613. quest, 13.03.2002 14:23 |
Евгений Машеров Признаться, я ждал попросту какой-нибудь текст (не "ВР - козел", но что-то повеселее...) , сжатый стандартным шифровальным алгоритмом. Я-ж открытым текстом говорил, что дам функцию... To All Возможность сжать данные напрямую зависит от наличия в этих данных каких-либо закономерностей. Надеюсь, в результате месячных экспериментов, в этом убедился даже мой оппонент. Без априорной информации о природе данных, обнаружить какие-либо закономерности в них можно (в разумное время) только путем статистического анализа их. Попытки найти алгоритм, генерирующий входные данные заведомо обречены, просто по причине слишком большого числа возможных вариантов. Даже, если есть некая информация о природе данных (используемых алгоритмах генерации), часто невозможно найти конкретные способы генерации из-за очень больших проблем с числом вариантов. Вот на этом и был построен мой вариант. Получение супер-пупер последовательности. Именно кой-какие знания теории дали мне возможность безбоязненно ставить $1000 супротив $10. Практика, практикой, а знать теорию тоже невредно! |
| 614. KAE, 13.03.2002 14:45 |
Конечно, такая последовательность будет циклической. Но размер цикла зависит от того, какие именно из "предыдущих" n битов складываются. Если эти биты соответствуют коэффициентам двоичного многочлена над полем P2, неприводимого и содержащим среди своих корней первообразный корень n-й степени, то длина цикла будет ровно 2^n-1. Такие многочлены принято называть примитивными, а соответствующие последовательности - линейными реккурентными последоватедьностями максимальной длины(LRSM). Еще с универа любил такие фразы Интересно какой процент людей ПОЛНОСТЬЮ понимает ее значени Я понял урывками |
| 615. Vladimir Rybinkin, 13.03.2002 17:44 |
quest цитата:Нет. Я же писал - не искал я закономерности цитата:Думаю, для ТАКИХ задач - вредно |
| 616. Alexzander, 14.03.2002 13:42 |
Vladimir Rybinkin Чтож, не получилось так, но, мне кажется, можно достичь результата и по-другому. Я пытался придумать некий механизм, но результат вышел неважнецкий. Однако идея все еще не опровергнута коренным образом. А именно: внутри компа, в его операционной системе, в его системе внутренних команд, в служебных данных и т.д. хранится огромное количество _служебной информации_, причем большая ее часть - константна. Если создать алгоритм, который действует по формуле, которая в качестве части своих параметров использует именно эти константы, то в архивный файл нам останется лишь записать результат, вычисленный по формуле. Обратное действие выполняется с помощью обратной формулы, которая берет часть параметров из архива, а часть из служебной информации (которую естественно хранить нет надобности). Результат вычислений соответственно должен дать исходник. Неужели нельзя сделать такой алгоритм? Неужели не сработает? |
| 617. KAE, 14.03.2002 13:50 |
Alexzander Ты хочешь чтобы архив распаковывался только на одной архитектуре/ОС/конфигурации ? Имхо, не вставляет. |
| 618. Alexzander, 14.03.2002 14:02 |
KAE Э-э-э... Так и речь шла не об универсальном архиваторе (тогда действительно теория работает на все 200% и результат не достичь), а о решении конкретной задачи - сжать одну (!) несжимаемую последовательность. Вобщем неважно, ели прога не будет сжимать ничего иного. |
| 619. Newrow, 14.03.2002 19:41 |
Хоть одна задача, хоть универсальная, энтропия не победима. Нельзя сжать сообщение до размера, который меньше энтропии этого сообщения (сжатие без потерь). И эту энтропию не изничтожишь. Это даже физики знают. Не говоря уже про программеров. Вот про сжатие с потерями - это интересная тема. Фрактальное там сжатие, вейвлеты. Но, боюсь, судя по тому что здесь написано, мало кто в этом разбирается. |
| 620. AleUri, 14.03.2002 19:53 |
Newrow ой, боюсь физики, разбираются в глубоко теоретических моделях энтропии, ой как далека она от программисткой практики |
| 621. Newrow, 14.03.2002 20:17 |
Дык я и говорю "даже". А про программистскую практику и энтропию мне рассказывать не надо, сам программировал сжатие (с потерями) на вейвлетах. Так вот там модифицированный Хаффман применялся и без энтропии никуда. Кстати, получалось сжатие лучше jpeg'а при одинаковом (визуальном) качестве. |
| 622. AleUri, 14.03.2002 20:23 |
не боюсь сжатие с потерями здешнюю публику не заинтерисует а вейфлеты, это то что пробвигает небезизвестная LuraTech? |
| 623. Евгений Машеров, 14.03.2002 23:29 |
Newrow Лучше, но свои глюки получаются (скажем, при сжатии менее 0.1 бита на пиксел - 24 цвета!) у очаровательной негритянки на тестовом снимке вырастает борода Добавление от 14-03-2002 23:31: AleUri |
| 624. quest, 15.03.2002 11:50 |
То All Сообщаю всем заинтересованным, что Vladimir Rybinkin полностью (и даже, ИМХО, - с лихвой) исполнил свои обязательства! Считаю его настоящим джентельменом, об чём и сообщаю публике! |
| 625. Vladimir Rybinkin, 15.03.2002 12:00 |
Alexzander Вряд ли. Помимо всего прочего, такие участки будут стоить дороже из-за накладных расходов. Я, когда писал, что "есть еще один алгоритм", имел в виду алгоритм "кусочной" оптимизации. В какой-то степени он пересекается с идеей использования некоторых "готовых" кусков файла. Но, ИМХО, алгоритм использования этих кусков обязан быть привязан либо к сжимаемому файлу, либо к архиватору. Newrow цитата:Не знаю, не знаю... Ведь и Хаффмен, и LZW - алгоритмы, которые сразу приходят в голову. И файла с "неизнечтожаемой" энтропией до сих пор никто не знает... Не чисто здесь с теорией, не имеет права она работать на 200% quest |
| 626. Eugene_E, 15.03.2002 12:07 |
Как передать 1 Гиг псевдослучайных данных ? - передать формулу генератора псевдослуч. последовательности и начальное значение. Но как решить эту задачу в общем случае ? Может быть разбивать боьшой массив на части и ПОДБИРАТЬ параметры/нач.знач. генераторов для каждой части. Подозреваю что части будут весьма небольшими.. |
| 627. Newrow, 16.03.2002 15:33 |
цитата: А как же zip или rar архив, который уже больше не сожмешь? А теорему Шеннона, значит, на котрую Haffman опирался, когда свой алгоритм придумывал, как чисто теоретическую забыть? |
| 628. Vladimir Rybinkin, 16.03.2002 15:55 |
Newrow цитата:Кто сказал? Почему не сожмешь? ZIP даже в этой ветке кто-то жал... цитата:Хрен знает, на что там Хаффмен опирался, но я этот алгоритм придумал где-то часа за полтора, не больше (вместе с формулами оценки, можно ли сжать данный кусок, и если да, то на сколько, и каким "словарем" при этом лучше пользоваться). Это просто то, что первым в голову лезет (после RLE, конечно - тот алгоритм приходит одновременно с вопросом "А КАК сжимать"? Да и LZ... Цитирую себя из этой же ветки: И что получается? Первое, что приходит в голову, и есть существующие алгоритмы сжатия? И это вершина человеческой мысли??? ЧУШЬ! |
| URL: | http://forum.ixbt.com/topic.cgi?id=40:515 |