Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритм CheckSum функции для текстового документа, задачка 
:(
    Опции темы
sandland
Дата 27.11.2010, 02:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.4.2007

Репутация: нет
Всего: 1



Добрый день. Ищу совет по созданию checkSum ф-ции.
Задача такая: имеется множество M документов, ||M||= N >10^7. Необходимо каждому документу m из M сопоставить некоторую 64-битную 
последовательность симовлов {a-Z,0-9}, удовлетворяющую определенным критериям.

Введеем дополнительные определения:

A.  Определение: При заданных положительных k и последовательноти терминов в документе d, будем называть k-шинглами документа d множество всех неприрывных последовательностей, состоящих из k терминов документа. 
Пример: a rose is a rose is a rose. При k=4 поулчаем 4 шингла:
1.a rose is a
2.rose is a rose
3.a rose is a
4.is a rose is
1 и 3 шинглы совпадают.


Б. Расстояние d(a,b) между документами a и b. Рассятоние определяется через коэффициент Жаккера. Пусть S1- множество шинглов для документа a, S2 - соответственно для b
d(a,b)= |S1 OR S2| / |S1 AND S2|


Критерии  CheckSum-фции.

1. Бинарность отображения, либо крайне малая вероятноть существования на конечном множестве одинаковой CheckSum ф-ции для двух разных документов
2. Нет необходимости в криптостойоксти CheckSum ф-ции.
3. "Вычитая" из ChekSum ф-ции одного документа CheckSum ф-ции другого, мы могли бы дать объективную оценку о расстоянии между данными документами.


Для чего это нужно: 
В определенной задаче, чтобы не считать расятоние между документами "в лоб", хотелось бы ускорить алгоритм, вычитая разность между 64-битными последовательностями.
Задача сложная. Существует ли ее "хорошее" решение - вопрос.
Если решения не существует - требуется это доказать.
Если есть идеи или советы как решить данную задачу, буду благодарен.

Это сообщение отредактировал(а) sandland - 27.11.2010, 03:09
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.