powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Об одном способе ресурсоёмкого сжатия данных
25 сообщений из 60, страница 2 из 3
Об одном способе ресурсоёмкого сжатия данных
    #39581686
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone,

да, длину каждого заменяемого куска нужно будет вписывать в результирующий файл. Что несколько снизит степень сжатия.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581697
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вы хоть какие-то оценки пробовали делать? Вот какая вероятность найти хотя бы одну совпадающую последовательность битов длины M в двух последовательностях длины N, одна из которых случайная? Приблизительно (N-M)/(2^M). Не сожмется у вас ничего.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581704
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, с первой попытки вряд ли сожмётся. Потому в заголовок и вынесено слово "ресурсоёмкий".
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581706
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формула, которую вы написали -- это не "хотя бы одну совпадающую последовательность", а "КОНКРЕТНУЮ совпадающую последовательность (хотя бы один раз)".
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581708
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXS1. Находим битовую последовательность минимальной длины M, которая ни разу не встречается в Д. Назовём её "флаг" (Ф).

2. В цикле перебираем значения seed (s), используемые для инициации ГПСЧ: ГПСЧ(s).

3. Посредством ГПСЧ(s) генерируем случайную последовательность (СП) той же длины N.

4. Сравниваем побитово Д и СП. Все совпадающие - в Д и СП - последовательности битов, длиной больше М заменяем (в Д !) на флаг Ф. При этом следим, чтобы "на стыках" вставляемого флага и соседних исходных битов Д не возникали "паразитные флаги".

...
Я вот что подумал - текст, как один из видов сжимаемых данных, не очень хорошо подходит для такого сжатия:

1. ГПСЧ старается генерить последовательность разных чисел, т.е. повторы достаточно редки. А у нас идут повторы букв и слогов.

2. ГПСЧ выдает значения из всего заданного диапазона, а в тексте используется только часть.

ИМХО таким алгоритмом лучше всего будет белый шум сжиматься.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581714
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581725
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarloneНу вы хоть какие-то оценки пробовали делать? Вот какая вероятность найти хотя бы одну совпадающую последовательность битов длины M в двух последовательностях длины N, одна из которых случайная? Приблизительно (N-M)/(2^M). Не сожмется у вас ничего.
+1

Немного по-другому рассуждаю: ГСПЧ должен генерить последовательность всех возможных вариантов комбинаций по M байт или M*8 бит, Т.е. всего 2^(M*8). Таким образом для инициализации ГСПЧ потребуется значение размером M*8 бит. Плюс надо указывать размер сколько байт прочитать. В итоге имеем "архив" размером больше оригинала.

Я понимаю что могут попасться последовательности длиннее М, но это редкий случай и им можно пренебречь. Поэтому считаю что "архив" почти всегда будет размером больше оригинала.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581739
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

не могу понять, что вы написали. Зачем вообще скакать -- в рассуждении и изложении - с битов на байты и обратно?

"ГПСЧ должен генерить" ... (псевдо-)случайную последовательность битов указанной длины. Всё, больше ничего от него не требуется.

(Да, seed нужно будет тоже записать в создаваемый архив, я знаю.)
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581749
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSDima T,

не могу понять, что вы написали. Зачем вообще скакать -- в рассуждении и изложении - с битов на байты и обратно?
Незачем, полет мысли так шел, но сути это не меняет :)

Иван FXS"ГПСЧ должен генерить" ... (псевдо-)случайную последовательность битов указанной длины. Всё, больше ничего от него не требуется.
Я к тому что для инициализации ГПСЧ, который может выдать нужную последовательность в M-бит, потребуется не менее M-бит. Это в лучшем случае.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581759
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз, кратко, в битах:

Нам надо M бит найти. Чтобы точно нашлось последовательность должна содержать 2^M комбинаций, т.е. все комбинации из M бит.
Следовательно чтобы сохранить адрес нужной комбинации в последовательности (или инициализировать ГПСЧ) нам потребуется минимум М бит.

Вывод: ничего не сожмется.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581761
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

вы утверждаете, что предложенный метод не позволит ни разу сжать входную строку ни на один одинёшенек битик, пока мы не переберём всё(!) множество битовых строк длины М?

Я готов принять это утверждение как гипотезу, но доказательства его пока не вижу ... (При том, что предложенный метод сжатия тоже не доказан, то есть гипотетичен ...)

Давайте начнём с того, что среди "всего множества битовых строк длины М" присутствует просто сама строка Д, и на каком шаге она нам попадётся -- непредсказуемо.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581771
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

а, сорри, я тут точно запутался в обозначениях длин (N и М) ... но и вы, кажется, тоже: что значит, например, ваше
Dima TНам надо M бит найти?

Мы сравниваем две строки и, если находим локальное совпадение, то у него есть длина (которую я обозначил М).

У строк
"11111111111111111111111111111111" и
"00011111000000000000000000000000" - есть совдадение с М=5 начиная с 4-й позиции.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581774
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(ой, что-то я совсем забыл исходные обозначения ... далеко уже уехал.)
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581787
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSДа, с первой попытки вряд ли сожмётся. Потому в заголовок и вынесено слово "ресурсоёмкий".Ну да. Если под "ресурсоемкий" понимать "за триллион лет что-нибудь найдем", тогда конечно.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581792
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что я написал сегодня*, проистекает из этой (описанной в этом топике) задачки следующим образом.

1. Нам нужно сжать строку S (длины N).

2. Мы берём псевдослучайную строку Z (той же длины N) и проверяем, не поможет ли она нам сделать это (п.1).

3. В этом топике я описал конкретный способ такого сжатия.

4. А сегодня (в *) я говорю: давайте просто перекодируем строку S через строку Z в строку R. И попробуем сжать полученную строку R каким угодно архиватором.

5. Если получилось -- бинго! Если нет -- возвращаемся в п. 2.

_____________________
* http://www.sql.ru/forum/1282108/ob-odnom-paradokse-informacionnoy-entropii
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581800
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSDima T,

а, сорри, я тут точно запутался в обозначениях длин (N и М) ... но и вы, кажется, тоже:
Есть такое, но я тебя понимаю :)

Иван FXSчто значит, например, ваше
Dima TНам надо M бит найти?

Мы сравниваем две строки и, если находим локальное совпадение, то у него есть длина (которую я обозначил М).

У строк
"11111111111111111111111111111111" и
"00011111000000000000000000000000" - есть совдадение с М=5 начиная с 4-й позиции.
Ты рассматриваешь редкий частный случай, когда есть совпадение. Я рассматриваю вариант что в последовательности есть все комбинации для М=5. Т.к. если они не все, то запись будет еще неэффективнее, т.к. придется использовать более короткие подстроки.


Давай чуть упростим задачу: есть строка М бит и какая-то последовательность. Без разницы откуда она берется (ГПСЧ, массив и т.д.).

Чтобы случайная строка размером М гарантированно присутствовала в последовательности, необходимо последовательность размером 2^М строк, т.к. всего возможно 2^М комбинаций по М бит.
Следовательно наша последовательность должна содержать все возможные комбинации. Для указания нужной комбинации надо переменную размером М бит.

Или другими словами: чтобы идентифицировать нужную комбинацию из М бит надо хранить М бит.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581811
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А то что ты думаешь что в последовательности найдется чудесное место где за искомой строкой в М бит будет стоять строка, которую ты будешь искать на следующем шаге, то тут ты сильно заблуждаешься, т.к. вероятность такого события почти нулевая.

Вывод: хоть сколько переборов делай, но в итоге "архив" будет больше исходного файла. За исключением некоторых частных случаев.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581824
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TДавай чуть упростим задачу это мне кажется, или вы в самом деле (пока) обсуждаете только один (служебный) пункт -- выбор "флага" (для конкретной входной строки)?

Просто я перечитал (наконец) свои собственные обозначения в задаче. М - это длина флага.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581829
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarloneИван FXSДа, с первой попытки вряд ли сожмётся. Потому в заголовок и вынесено слово "ресурсоёмкий".Ну да. Если под "ресурсоемкий" понимать "за триллион лет что-нибудь найдем", тогда конечно."триллион", маловато, имхо.
всего-то 10 в степени 12 нулей.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581842
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSDima TДавай чуть упростим задачу это мне кажется, или вы в самом деле (пока) обсуждаете только один (служебный) пункт -- выбор "флага" (для конкретной входной строки)?

Просто я перечитал (наконец) свои собственные обозначения в задаче. М - это длина флага.
Это только кажется. У тебя же на каждой итерации какая-то одна конкретная строка (или флаг) конкретной длины М бит.

По моим рассуждениям на каждой итерации будет записано не менее М бит. И не влияет что на разных итерациях у М разные значения.

Алгоритм не рабочий. Не будет он жать.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581850
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tна каждой итерации какая-то одна конкретная ... флаг)нет, флаг выбирается один раз -- для исходной строки. Если она: "101010111001110101011111100111001111111111", то флаг "000" и точка.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581865
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSDima Tна каждой итерации какая-то одна конкретная ... флаг)нет, флаг выбирается один раз -- для исходной строки. Если она: "101010111001110101011111100111001111111111", то флаг "000" и точка.
Я не совсем понял суть флага. Он для чего?

Объясняю как понял: есть ГПСЧ и данные, т.е. то что сжимаем.
В результате данные надо привести к такому виду:
Код: plaintext
seed 0 ,len 0 ,seed 1 ,len 2  ... seed K ,len K 

где
seed i инициализация ГПСЧ
len i сколько бит прочитать из ГПСЧ

В итоге ищем результат, имеющий наименьшую длину. Правильно?
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581876
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял про флаг. Ты немного другим путем пошел.

Имеем Данные. Придумываем флаг чтобы не было внутри данных.
Подбираем: подстроку данных (М бит) и seed, так чтобы ГПСЧ(seed) выдавал эти М бит.
Заменяем подстроку на {флаг, seed, М} в том случае если они меньше M, т.е. получаем пожатые Данные.

Правильно?
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581880
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет.
Если исходная строка -
Код: plaintext
"10101011100111010101 1111 1001111001 1111111111 "
, то флаг "000", как и описано в п.1

Если случайная строка, внезапно, получилась
Код: plaintext
"11111111111111111111111111111111111111111111"
, то сжатая будет:
Код: plaintext
"10101011100111010101 000 100111001 000 "
(плюс отдельно нужно будет передать длины двух "флагированных" отрезков.
...
Рейтинг: 0 / 0
Об одном способе ресурсоёмкого сжатия данных
    #39581885
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЗаменяем подстроку на {флаг, seed, М} в том случае если они меньше M, т.е. получаем пожатые Данные.
Если так, то не найдется таких комбинаций, т.к. для хранения seed потребуется места столько же сколько занимает исходная подстрока, это я выше доказал. За исключением редких частных случаев.
...
Рейтинг: 0 / 0
25 сообщений из 60, страница 2 из 3
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Об одном способе ресурсоёмкого сжатия данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]