Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Соответствие строки числу. / 25 сообщений из 25, страница 1 из 1
27.05.2008, 17:18
    #35338171
Ziva Supernova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Есть такая задача: поставить строке в соответствие уникальное число.

Строка может быть, ну скажем 256 или 512 символов.

Какие есть предложения?
...
Рейтинг: 0 / 0
27.05.2008, 17:26
    #35338198
Gatman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
hash ? crc ?
...
Рейтинг: 0 / 0
27.05.2008, 17:31
    #35338216
Ziva Supernova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Ну наскока я понимаю crc это просто контрольная сумма. Разьве она будет уникальной с достоточной вероятностью?
...
Рейтинг: 0 / 0
27.05.2008, 17:37
    #35338242
Gatman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
смотря как рассчитывать будете, какой полином и т.д., опять же, какой размер числа. в целом да, она будет уникальна
...
Рейтинг: 0 / 0
27.05.2008, 17:40
    #35338255
Gatman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
вообще советую посмотреть в сторону алгоритмов SHA1 и MD5 . их реализация есть на большинстве языков программирования
...
Рейтинг: 0 / 0
27.05.2008, 17:42
    #35338266
Ziva Supernova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Ну там другие заморочки. Там просто слишком большое число получиться при md5.
...
Рейтинг: 0 / 0
27.05.2008, 17:44
    #35338279
Ziva Supernova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Хотя не, ступил. MD5 же 128 бит выдаёт.
...
Рейтинг: 0 / 0
27.05.2008, 17:59
    #35338337
Дык
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Для гарантии уникальности нужно, чтобы уникальное число имело ту же информационную ёмкость, что и строка. Т.е., в случае 1 байта на символ, в числе будет 256 или 512 байт. То есть, можно тупо сконкатенировать числовые коды букв строки в гигантское число.

Всё остальное, как то хэши и контрольные суммы, будут давать одинаковые числа для разных строк в конце концов.
...
Рейтинг: 0 / 0
27.05.2008, 18:26
    #35338433
КирДый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
ДыкДля гарантии уникальности нужно, чтобы уникальное число имело ту же информационную ёмкость, что и строка. Т.е., в случае 1 байта на символ, в числе будет 256 или 512 байт. То есть, можно тупо сконкатенировать числовые коды букв строки в гигантское число.

Всё остальное, как то хэши и контрольные суммы, будут давать одинаковые числа для разных строк в конце концов.
Читай методичку по теории кодирования информации
...
Рейтинг: 0 / 0
27.05.2008, 18:45
    #35338498
Дык
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Читай теорию множеств и про взаимно однозначное соответствие.

Пример для детского сада.
Строка длиной в 256 байт. Каждый байт -- число от (будем великодушны и учтём только заглавный английский алфавит) 65 до 90. Всего 26^256 комбинаций.
Хэш длиной 128 бит. Каждый бит -- число от 0 до 1. Всего 2^128 комбинаций.

Что во сколько раз больше и к каким следствиям в соответствии двух множеств это ведёт, старшая группа считает самостоятельно.
...
Рейтинг: 0 / 0
28.05.2008, 14:46
    #35340332
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
>Читай теорию множеств
смеялсо. как же тогда архиваторы работают?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
28.05.2008, 15:05
    #35340400
Соответствие строки числу.
ScareCrow
>Читай теорию множеств
смеялсо. как же тогда архиваторы работают?

Там комбинаций меньше, т.к. все комбинации - в словаре
...
Рейтинг: 0 / 0
28.05.2008, 23:44
    #35341666
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Ziva SupernovaЕсть такая задача: поставить строке в соответствие уникальное число.

Строка может быть, ну скажем 256 или 512 символов.

Какие есть предложения?

Для однозначного отображения строка=>число=>строка существуют способы кодирования BinHex, Base64 e.t.c. Если вы хотите получить полезный эффект уменьшения размера то нужно использовать коды Шеннона (Хаффмена), Арифметический код.
...
Рейтинг: 0 / 0
29.05.2008, 14:35
    #35343254
mccc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Ziva SupernovaКакие есть предложения?

из .... cpguide/html/cpconCryptographyOverView.htm

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

Хэш-функции кода подлинности сообщения обычно используются для создания цифровой подписи к данным, в то время как хэш-функции кода обнаружения ошибок предназначены для обеспечения целостности данных.

Алиса и Боб могут использовать хэш-функцию для обеспечения целостности данных следующим образом. Если Алиса создает сообщение для Боба и осуществляет хэширование этого сообщения, Боб может впоследствии произвести хэширование и сравнить полученный им и оригинальный хэш-коды. Если результаты хэширования совпадают, значит, сообщение не изменялось; если же они не совпадают, сообщение изменялось после написания его Алисой. Для того чтобы такая система работала, Алиса должна скрывать оригинальный хэш-код от всех, кроме Боба.

.NET Framework предоставляет следующие классы, которые реализуют алгоритмы цифровой подписи:

HMACSHA1
MACTripleDES
RC2CryptoServiceProvider
SHA1Managed
SHA256Managed
SHA256Managed
SHA256Managed
...
Рейтинг: 0 / 0
29.05.2008, 15:04
    #35343360
Дык
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
mcccВ вычислительном плане немыслимо найти два разных входных набора данных, результаты хэширования которых полностью совпадают.
Как тонко написано.

В сочетании с "Хэш-код является уникальным..." создаёт неверное представление. Дескать, для всех строк хэши будут разные всегда.

На самом деле здесь сказано "хрен найдёте, если искать начнёте", что правда.

Но разным строкам всё равно будут соответствовать одинаковые хэши. Несмотря на то, что хрен найдёшь такие пары.
...
Рейтинг: 0 / 0
29.05.2008, 15:20
    #35343424
mccc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Дык mcccВ вычислительном плане немыслимо найти два разных входных набора данных, результаты хэширования которых полностью совпадают.
Как тонко написано.

за что купил...

был по FW1.1 русскоязычный но куда-то засунули. сейчас Content not found
...
Рейтинг: 0 / 0
29.05.2008, 15:57
    #35343561
zloy den
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Дык[quot mccc]
На самом деле здесь сказано "хрен найдёте, если искать начнёте", что правда.

Но разным строкам всё равно будут соответствовать одинаковые хэши. Несмотря на то, что хрен найдёшь такие пары.

Согласен, а то у нас были бы чудо-архиваторы
...
Рейтинг: 0 / 0
29.05.2008, 18:22
    #35344168
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Возникла глупая мысль. Сесть и побыстрячку написать такой архиватор. Чтобы доказать методом от противногo его тык-скыть принципиальную невозможность.
...
Рейтинг: 0 / 0
01.06.2008, 01:14
    #35347445
Николай1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
zloy den Дык[quot mccc]
На самом деле здесь сказано "хрен найдёте, если искать начнёте", что правда.

Но разным строкам всё равно будут соответствовать одинаковые хэши. Несмотря на то, что хрен найдёшь такие пары.

Согласен, а то у нас были бы чудо-архиваторы

А причем тут архиваторы? Они, всего лишь, исключают избыточность данных путем изменения способа их кодирования.
Хэши, кстати, не упаковываются. Да и другие данные без избыточности. Например "1234567890" - не упакуется, ибо некуда.
...
Рейтинг: 0 / 0
01.06.2008, 10:33
    #35347544
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Николай1Хэши, кстати, не упаковываются. Да и другие данные без избыточности. Например "1234567890" - не упакуется, ибо некуда.
Упакуется. Дельта-кодером.
...
Рейтинг: 0 / 0
01.06.2008, 17:51
    #35347787
Николай1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
mayton Николай1Хэши, кстати, не упаковываются. Да и другие данные без избыточности. Например "1234567890" - не упакуется, ибо некуда.
Упакуется. Дельта-кодером.

Не стану спорить, ибо не в курсе.
...
Рейтинг: 0 / 0
02.06.2008, 12:31
    #35348698
zloy den
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Николай1 zloy den Дык[quot mccc]
На самом деле здесь сказано "хрен найдёте, если искать начнёте", что правда.

Но разным строкам всё равно будут соответствовать одинаковые хэши. Несмотря на то, что хрен найдёшь такие пары.

Согласен, а то у нас были бы чудо-архиваторы

А причем тут архиваторы? Они, всего лишь, исключают избыточность данных путем изменения способа их кодирования.
Хэши, кстати, не упаковываются. Да и другие данные без избыточности. Например "1234567890" - не упакуется, ибо некуда.

Я имел в виду ту мысль, что любой строке произвольной длины можно поставить взаимнооднозначный хэш, это по сути и будет чудо-архивацией:) А насчет невозможности создания архиватора лучше определенного порога все уже вроде было доказано(правда не помню точно кем, может Хаффманом)
...
Рейтинг: 0 / 0
02.06.2008, 23:14
    #35350136
Николай1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
zloy den Николай1 zloy den Дык[quot mccc]
На самом деле здесь сказано "хрен найдёте, если искать начнёте", что правда.

Но разным строкам всё равно будут соответствовать одинаковые хэши. Несмотря на то, что хрен найдёшь такие пары.

Согласен, а то у нас были бы чудо-архиваторы

А причем тут архиваторы? Они, всего лишь, исключают избыточность данных путем изменения способа их кодирования.
Хэши, кстати, не упаковываются. Да и другие данные без избыточности. Например "1234567890" - не упакуется, ибо некуда.

Я имел в виду ту мысль, что любой строке произвольной длины можно поставить взаимнооднозначный хэш, это по сути и будет чудо-архивацией:) А насчет невозможности создания архиватора лучше определенного порога все уже вроде было доказано(правда не помню точно кем, может Хаффманом)
Одна тонкость - архиватор работает в обе стороны. А хэш - только в одну.
...
Рейтинг: 0 / 0
03.06.2008, 00:37
    #35350178
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Правильнее было-бы сказать, что функция хэша является сюръективной или сюръекцией на множестве Y, если F : X -> Y
...
Рейтинг: 0 / 0
03.06.2008, 11:00
    #35350619
zloy den
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Соответствие строки числу.
Николай1
Одна тонкость - архиватор работает в обе стороны. А хэш - только в одну.

Знаю, но если бы соответствие было бы взаимнооднозначным, то был бы шанс найти обратную функцию, а это уже и был бы архиватор, который сжимает больше предельно допустимой границы алгоритмов сжатия без потерь. Но хэши не взаимнооднозначны с данными на входе, так что в деле построения архиваторов это не поможет:)
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Соответствие строки числу. / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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