2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Есть ли разработанные алгоритмы быстрого нечеткого поиска?
Сообщение06.09.2006, 17:26 
Аватара пользователя


20/01/06
97
выпускник физфака МГУ
Проблема примерно следующая.

В базе есть N векторов размерности M. Задана метрика для измерения расстояния между векторами.
Ищется в этой базе вектор, ниболее близкий по расстоянию к произвольно заданному вектору. Интересует алгоритм индексации и поиска со следующими требованиями:
1. количество операций при поиске не больше чем O(ln(N));
2. количество операций при индексации не больше чем O(N*ln(N));
3. объем данных индексации не больше чем O(N*ln(N));

 Профиль  
                  
 
 Разобраться бы с частным случаем
Сообщение07.09.2006, 14:43 


22/06/05
164
Для размерности 1 решение очевидно: отсортировать, а потом использовать бинарный поиск.

Другой крайний случай: координаты могут принимать только значения 0 и 1, а расстояние между векторами вычисляется по Хеммингу (количество различных битов). Интересно, есть ли решение для этого частного случая.

 Профиль  
                  
 
 
Сообщение07.09.2006, 19:40 


13/09/05
153
Москва
А чем Вас не устраивают бинарные деревья? Поиск - O(lnN) (правда в худшем случае, если дерево несбалансировано, то ето O(N)). Инициализация дерева - O(N*lnN). С объемом памяти - тут нужно еще подумать:), зависит от реализации.

Обычные бинарные деревья - это поиск при размерности 1. Для N-мерного поиска - здесь есть такая тема как Alternative Digital Tree. Их обычно используют при создании конечно-элементных сеток, как в двухмере, так и в 3D.
Суть их сводится к тому, что дерево организуется по подуровням, каждый подуровень отвечает за свою размерность. К примеру, в нулевом подуровне сравнение ведется по X, в 1 - по Y, во втором - по Z, уровень - 3 сравнение снова по X.
В общем - Level % N -> дает порядковый номер размерности, по которой идет сравнение.

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

 Профиль  
                  
 
 
Сообщение07.09.2006, 19:43 
Заслуженный участник
Аватара пользователя


03/03/06
648
Уважаемые Егор и AHOHbIMHO я никогда не работал с указанные вещами, но подразумеваю, что указанные алгоритмы уже запрограммированы, например, в MatLab. На сайте exponenta.ru если я не ошибаюсь есть даже отдельный раздел посвященный указанной тематике.

 Профиль  
                  
 
 
Сообщение07.09.2006, 21:29 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Вас могут также интересовать различные алгоритмы, связанные с представлением регионов пространства-времени и эффективным поиском в них. Самая начальная информация есть в Wikipedia.

Вообще, ключевы слова: spatio-temporal, spatial, temporal, spatiotemporal, database, index.

 Профиль  
                  
 
 Может кто поможет?
Сообщение07.09.2006, 23:27 
Аватара пользователя


20/01/06
97
выпускник физфака МГУ
Спасибо большое за наводки . Радует, что в принципе есть такие алгоритмы. Вобщем немало разработок. Нет у кого-нибудь из специалистов желания работать в этом направлении? Мы ищем специалиста по поисковым алгоритмам, сами все специализируемся оброботкой звука. Конечно мы в состоянии по вашим наводким изучить разработки, токо загружены сильно. Я бы поместил тут объявление, только не нашел соответствующего раздела. А вот если ссылку дам, то сотрут ведь сообщение. Извините, если сообщение не соотвтеутсвует тематике раздела.

 Профиль  
                  
 
 Еще одна ссылка, но выполняются ли силные требования?
Сообщение13.09.2006, 11:04 


03/09/05
217
Bulgaria
По линку
http://www.gams.com/modlib/libhtml/csp.htm
встретил следующую
Reference:
Meneses, C N, Lu, Z, Oliveira, C A S, and Pardalos, P M, Optimal Solutions for the Closest-String Problem via Integer Programming. INFORMS Journal on Computing 16, 4 (2004), 419-429.

Но Ваши требования очень сильны. Не знаю подход через целочисленного программирования удовлетворяет ли их.

 Профиль  
                  
 
 Более магкие требования
Сообщение15.09.2006, 21:19 
Аватара пользователя


20/01/06
97
выпускник физфака МГУ
Так. Если требования слишком сильные, то попробуем смягчить.

В базе есть N векторов евклидового пространства размерности M.
Ищется в этой базе вектор, который не дальше чем d по расстоянию к произвольно заданному вектору. Интересует алгоритм индексации и поиска со следующими требованиями:
1. количество операций при поиске не больше чем O(ln(N));
2. вероятность нахождения вектора, если такой существует - 95%


Интересут так же такой частный случай, когда известно, что вектора в базе статистически равномерно распределены (белый шум) в еденичном кубе или шаре.

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

Вот по этому поводу

Gaussian Mixture Models (GMM) and Expectation-Maximization (EM)
http://www.cse.psu.edu/~cg586/cse586GMM ... n%20GMM%22

Expectation-Maximization Theory
http://www.phptr.com/articles/article.a ... Num=5&rl=1

Adaptive Dimension Reduction in Text Clustering Using ADR-Expectation Maximization Algorithm
http://www.ee.iitb.ac.in/uma/~saket/dat ... n%20GMM%22

и прочее

Зная статистическую модель и параметры модели, делаем соответственно отображение векторов, так чтобы статистически равномерно лежали в еденичном кубе или шаре, ну и область пространства (шар радиуса d), где вектора ищутся.

Вот такие у меня соображения.

 Профиль  
                  
 
 
Сообщение18.09.2006, 15:55 
Аватара пользователя


20/01/06
97
выпускник физфака МГУ
Классификация и экспериментальное исследование современных алгоритмов нечеткого словарного поиска

Бойцов Леонид Моисеевич
Яndex
itman@yandex.ru
(2004)

http://www.impb.ru/~rcdl2004/cgi/get_pa ... cgi?pid=27

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

********************************************************************
Similarity Search in High Dimensions via Hashing

Aristides Gionis, Piotr Indyk, Rajeev Motwani

(1999)

http://citeseer.ist.psu.edu/rd/80602428 ... larity.pdf

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group