|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.01.2019, 02:01 | #1 |
Новичок
Джуниор
Регистрация: 27.01.2019
Сообщений: 1
|
Компрессия данных любого размера до бесконечности с помощью числа "Пи".
Доброго времени суток. У меня вопрос к программистам по поводу реальности метода сжатия данных, который
мне пришел в голову. Так как я сам не программист и не математик ), проверить работоспособность схемы не представляется для меня возможным. В кратце суть схемы на пальцах. С одной стороны есть бесконечное число десятичных знаков числа "Пи", с другой данные (любой файл) которые легко могут быть конвертированы в такую же десятичную систему. Если взять к примеру объем числа "Пи" весом в 1гб из расчета 1 знак = 1 байт(здесь могу ошибаться), то получается один миллиард знаков . Вполне естественно предположить что части файла переведенного в десятичную форму будут в каких то местах полностью совпадать с последовательностью знаков из числа "Пи". Таким образом мы можем собрать любой файл. Дело будет лишь в количестве этих частей. 1, 10, 100 000 или более. Но при любом раскладе получается что сам код такой сборки будет ничтожно мал по сравнению с первоначальным объемом самого файла. Представить такой код можно так же в десятичной форме. Например. Точка захода в число "Пи", то есть количество знаков от его начала и само количество знаков в этой части. Так же можно добавить перед этими двумя числами по одному знаку который будет обозначать количество знаков в этих двух числах для того что бы отделить одну часть от другой в непрерывном коде из знаков. Так как общее количество знаков в числе "Пи" не будет превышать одного миллиарда то и эти два добавочных числа не могут быть двузначными. (Например есть совпадающая последовательность с 765789 от начала числа "Пи" до 1202345. В этом случае код будет выглядеть как 676578971202345) В итоге мы имеем такую же последовательность десятичных чисел, которую в свою очередь мы сжимаем таким же способом шагом номер два. В конечном счете после нескольких таких шагов мы имеем последовательность которая со стопроцентной гарантией попадет в число "Пи" одной частью. И код этой части будет иметь от четырех до шестнадцати знаков. То есть по сути вообще ничто. Зная число шагов и делая обратную операцию мы получаем наш исходный файл. Получается что мы имеем возможность сжимать любой объем данных будь то гигабайты или терабайты до этого ничтожного размера. Но и это еще не все. Собрав громадный архив из этих микроскопических файлов мы так же можем их сжимать до бесконечности используя тот же метод. Если это работает, то мы закрываем тему объема как такового вообще пробив боковую дверь в законе Мура, оставляя лишь одно число "Пи". Было бы здорово передавать бесценные научные данные терабайтных размеров скажем откуда нибудь с Марса сжав все в несколько байт...Но вполне может быть что я ошибаюсь. Проверить бы все это. |
28.01.2019, 02:54 | #2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Вот возьмите и прикиньте. Да хоть не пи, насчитайте гиг рандомных данных и попытайтесь из них что-то нарезать. Большие куски в этом гигабайте просто не найдутся, а на маленьких алгоритм будет неэффективен
|
28.01.2019, 06:30 | #3 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
на олимпиаде по программированию было задание написать архиватор. Победила команда, которая написала работающую прожку копирования файлов)
а идея, в принципе, рабочая... Зипом жмем в 8 раз, чтоб рандомизировать и предужать исходник. А потом, на вашей сторонней базе повторов, пробуем ужать еще раз в 20... 2 в 30й - именно гиг и есть. 10 скидываем на служебную инфу. Последний раз редактировалось Smogg; 28.01.2019 в 06:32. |
28.01.2019, 09:03 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,708
|
TC, начните что-нибудь читать по математике, информатике, теории кодирования... вдруг осознаете, что давно есть алгоритмы сжатия со словарем и более эффективные способы его создания, чем рандомный набор.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Утверждение: "Значение любого элемента этой последовательности – одно из трех чисел целых положительных чисел. Четвертого числа не встречается.". | vas23052003 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 14.02.2017 21:05 |
Составить процедуру. "Рисующую" на экране вертикальную линию из любого числа символов " * ". | Rufer | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 02.09.2016 11:20 |
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") | ZIRASS | PHP | 4 | 15.06.2016 14:23 |
Поиск решения упражнения по вычислению значения числа pi с помощью бесконечного ряда из книги Дейтелов "Как программировать на C" | Motoroller | Помощь студентам | 8 | 13.05.2016 15:10 |
Подключиться к 1С в Lazarus 1.2.0 c помощью COM. "Fatal: illegal character "'?'" ($D0)" | Streletz | Lazarus, Free Pascal, CodeTyphon | 0 | 15.04.2014 16:58 |