алгоритм 100 кратного сжатия
От: cruse  
Дата: 29.06.09 12:50
Оценка: :))) :))) :))) :))) :)
Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.

Алгоритм сжатия:
Файл разбивается на блоки по 160 байт, для каждого вычисляется хеш и помещается в выходной файл.

Алгоритм распаковки:
Из файла читаются хеши и поиском в глобальной базе данных восстанавливаются блоки данных.

Прошу высказать ваше мнение о достоинствах, недостатках и возможных улучшениях алгоритма
Re: алгоритм 100 кратного сжатия
От: ZevS Россия  
Дата: 29.06.09 12:55
Оценка:
Здравствуйте, cruse, Вы писали:

http://ru.wikipedia.org/wiki/Хеширование
Re: алгоритм 100 кратного сжатия
От: IID Россия  
Дата: 29.06.09 12:57
Оценка: +5
Здравствуйте, cruse, Вы писали:

C>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.


Развод! Сжатие будет только в десять раз!
16 * 100 == 1600, а не 160

C>Алгоритм сжатия:

C> Файл разбивается на блоки по 160 байт, для каждого вычисляется хеш и помещается в выходной файл.

C>Алгоритм распаковки:

C> Из файла читаются хеши и поиском в глобальной базе данных восстанавливаются блоки данных.

C>Прошу высказать ваше мнение о достоинствах, недостатках и возможных улучшениях алгоритма
kalsarikännit
Re: алгоритм 100 кратного сжатия
От: maxlosyam Россия  
Дата: 29.06.09 13:03
Оценка:
Здравствуйте, cruse, Вы писали:

C>Прошу высказать ваше мнение о достоинствах, недостатках и возможных улучшениях алгоритма


любой хеш алгоритм имеет коллизии.
Re: алгоритм 100 кратного сжатия
От: __kot2  
Дата: 29.06.09 13:03
Оценка: +1
Здравствуйте, cruse, Вы писали:
C>Прошу высказать ваше мнение о достоинствах, недостатках и возможных улучшениях алгоритма
предлагаю разбивать на блоки по 1600 байт, чтобы действительно было сжатие в 100 раз. А еще лучше вообще не разбивать на блоки, зачем? тогда чем болье файл, тем лучше сжатие. любой файл в 16 байт и все.
Re[2]: алгоритм 100 кратного сжатия
От: cruse  
Дата: 29.06.09 13:03
Оценка:
Здравствуйте, IID, Вы писали:

IID>Здравствуйте, cruse, Вы писали:


C>>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.


IID>Развод! Сжатие будет только в десять раз!

IID>16 * 100 == 1600, а не 160

Ага, глюкнуло в голове
Re: алгоритм 100 кратного сжатия
От: Константин Россия http://flint-inc.ru/
Дата: 29.06.09 13:07
Оценка: :)))
Здравствуйте, cruse, Вы писали:

C>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.


C>Алгоритм сжатия:

C> Файл разбивается на блоки по 160 байт, для каждого вычисляется хеш и помещается в выходной файл.

C>Алгоритм распаковки:

C> Из файла читаются хеши и поиском в глобальной базе данных восстанавливаются блоки данных.

Лучше использовать бит чётности, будет выигрыш в степени сжатия дополнительно в 128 раз по сравнению с MD5 (1 бит против 128).
Почему же, ё-моё, ты нигде не пишешь «ё»?
Re[2]: алгоритм 100 кратного сжатия
От: cruse  
Дата: 29.06.09 13:07
Оценка: :)
Здравствуйте, ZevS, Вы писали:

ZS>Здравствуйте, cruse, Вы писали:


ZS>http://ru.wikipedia.org/wiki/Хеширование


Конечно же однозначного соответствия нет, возможны коллизии.

Но есть и положительный момент в статье, реализация может быть аппаратной!
Re: алгоритм 100 кратного сжатия
От: . Великобритания  
Дата: 29.06.09 13:24
Оценка: 6 (2) +2
cruse wrote:

> Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей

> всех комбинаций из 160 байт.
Давно такое есть, torrent называется, правда там SHA-хеш
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: алгоритм 100 кратного сжатия
От: andrey.desman  
Дата: 29.06.09 13:56
Оценка:
Здравствуйте, cruse, Вы писали:

Для сжатия в 10 раз понадобится база данных объемом 2^160 байт. Что чуть более, чем наполовину меньше числа 54308428790203478762340052723346983453487023489987231275412390872348475.
Re[3]: алгоритм 100 кратного сжатия
От: CreatorCray  
Дата: 29.06.09 13:59
Оценка: :)
Здравствуйте, cruse, Вы писали:

C>Конечно же однозначного соответствия нет, возможны коллизии.

C>Но есть и положительный момент в статье, реализация может быть аппаратной!
О да!
Это безусловно победит коллизии!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: алгоритм 100 кратного сжатия
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 29.06.09 15:57
Оценка:
Здравствуйте, cruse, Вы писали:

C>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.

C>Алгоритм сжатия:
C> Файл разбивается на блоки по 160 байт, для каждого вычисляется хеш и помещается в выходной файл.
C>Алгоритм распаковки:
C> Из файла читаются хеши и поиском в глобальной базе данных восстанавливаются блоки данных.
C>Прошу высказать ваше мнение о достоинствах, недостатках и возможных улучшениях алгоритма :)

Плагиат. С Вас 100 зелёных мозолей.
The God is real, unless declared integer.
Re[3]: алгоритм 100 кратного сжатия
От: cvetkov  
Дата: 29.06.09 16:35
Оценка: +1 :)
Здравствуйте, cruse, Вы писали:

C>Конечно же однозначного соответствия нет, возможны коллизии.


C>Но есть и положительный момент в статье, реализация может быть аппаратной!

очуметь.
наша программа дает неверный результат, зато делает это мгновенно.
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>
Re[2]: алгоритм 100 кратного сжатия
От: Alf США  
Дата: 29.06.09 17:37
Оценка:
Здравствуйте, andrey.desman, Вы писали:

AD>Для сжатия в 10 раз понадобится база данных объемом 2^160 байт. Что чуть более, чем наполовину меньше числа 54308428790203478762340052723346983453487023489987231275412390872348475.


А еще лучше прочитайте что такое векторное квантования =)
В конце курса по теории информации любой студент который присутствовал на лекциях так и норовит написать подобный архиватор =))
Re: алгоритм 100 кратного сжатия
От: ivanzoid Россия https://zoid.cc
Дата: 29.06.09 17:46
Оценка:
Здравствуйте, cruse, Вы писали:

C>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.

Коллега, вы не находите, что база в 256^160 * 16 ~= 333050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000 Терабайт, это несколько много?
Re[2]: алгоритм 100 кратного сжатия
От: TarasCo  
Дата: 29.06.09 18:00
Оценка: :)
I>Коллега, вы не находите, что база в 256^160 * 16 ~= 333050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
I>0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
I>0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
I>000000000000000000000000000000000000000000000000000000000000000000000000 Терабайт, это несколько много?

А если записи в базу делать только по необходимости? Сжали один блок — получили запись. ))
Да пребудет с тобою сила
Re: алгоритм 100 кратного сжатия
От: x64 Россия http://x64blog.name
Дата: 29.06.09 18:23
Оценка: 2 (2) :)))
Разве никто не помнит этого великолепного на мой взгляд анекдота?

Встречаются два программиста:
— Ты чего такой грустный?
— Да вот написал архиватор, который любой файл в 5 байт сжимает.
— Ну и?
— Сейчас над распаковщиком работаю...

JID: x64j@jabber.ru
Re[3]: алгоритм 100 кратного сжатия
От: Mr.Cat  
Дата: 29.06.09 18:33
Оценка:
Здравствуйте, TarasCo, Вы писали:
TC>А если записи в базу делать только по необходимости? Сжали один блок — получили запись. ))
Тогда можно попытаться прикинуть, на сколько терабайт в день будет возрастать объем базы.
Re[2]: алгоритм 100 кратного сжатия
От: igna Россия  
Дата: 29.06.09 18:41
Оценка: 10 (4) +1 :))) :)))
Здравствуйте, IID, Вы писали:

IID>Развод! Сжатие будет только в десять раз!


Применяем тот же алгоритм повторно, вот и все.
Re: алгоритм 100 кратного сжатия
От: ononim  
Дата: 29.06.09 18:55
Оценка:
C>Хеш MD5 занимает 16 байт. Делаем глобальную базу данных в интернет хешей всех комбинаций из 160 байт.
C>Алгоритм сжатия:
C> Файл разбивается на блоки по 160 байт, для каждого вычисляется хеш и помещается в выходной файл.
C>Алгоритм распаковки:
C> Из файла читаются хеши и поиском в глобальной базе данных восстанавливаются блоки данных.
C>Прошу высказать ваше мнение о достоинствах, недостатках и возможных улучшениях алгоритма

А еще.. а еще. есть такое замечательное число ПИ. Замечательно оно потому что обладает св-ом трансцендентности. А это означает что само по себе оно содержит в себе все возможные комбинации цифр. Все симфонии моцарта во всех возможных кодировках, все библиотеки, ДНК всех людей... Вопрос лишь в том чтобы найти с какой цифры после запятой идет нужная последовательность, и в том чтобы вычислить число ПИ с такой точностью
Как много веселых ребят, и все делают велосипед...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.