Математическое моделирование. Оптимальное управление Вестник Нижегородского университета им. Н.И. Лобачевского,2014, № 4 (1), с. 317-322
УДК 681.518
АЛГОРИТМ ПОИСКА МАКСИМАЛЬНО РЕЛЕВАНТНЫХ ЭЛЕМЕНТОВ НА ОСНОВЕ МЕТРИЗОВАННОГО ГРАФА ТЕСНОГО МИРА
© 2014 г. Е.В. Бритвина,1 В.В. Крылов,1 Ю.А. Мальков2
1 Нижегородский технический университет им. Р.Е. Алексеева 2Институт прикладной физики РАН, Н. Новгород
Повтупилр ч редрецию 28.01.2014
Разработан алгоритм поиска максимально релевантных элементов по заданной функции расстояния релевантности, имеющий существенно низкую вычислительную сложность, чем полный перебор. Для этого используется предварительное формирование на множестве поиска координатной системы, индуцированной функцией релевантности, и на этой основе - графа метризованного тесного мира. Проведенное численное моделирование подтвердило предложенный эвристический алгоритм.
Ключевые влочр: релевантность, поиск информации, дискретная оптимизация, графовая модель данных, графы тесного мира.
Введение
Термин «релевантность» имеет весьма много определений и в общем смысле наиболее близок по значению к термину «адекватность». Для информационных систем релевантность обычно связывается с семантическим соответствием поисковых запросов и найденных документов. В задачах управления релевантность характеризует меру соответствия управляющих сигналов целям управления [1]. Проблема максимизации релевантности возникает в значительном числе задач проектирования компьютерных систем обработки информации. В настоящей работе мы рассматриваем задачу максимизации релевантности с позиций дискретной оптимизации [2] и полагаем, что все семантические аспекты отражены в способе вычисления функционала, значение которого и отождествляется с оценкой релевантности. При такой постановке задачи ее решение становится пригодным для использования при проектировании широкого круга систем, где требуется найти наилучшее реагирование на каждый из входных наборов данных без учета их темпоральной компоненты. Основной целевой задачей, которая привела к разработке нижеизложенного алгоритма, явилась задача гладкого встраивания в процесс установления соединения в мультимедийных телекоммуникационных системах дополнительных информационных сообщений [3], специфицированных для каждого из вызывающих абонентов. Процедура выбора сообщений в соответствии с профилем каждого из абонентов рассматривается нами как задача выбора релевантного
мультимедиасообщения из доступной базы данных таких сообщений. Наличие значительного числа обслуживаемых абонентов и малый интервал времени, доступный для встраивания сообщения, требуют чрезвычайно производительных алгоритмов максимизации релевантности с неограниченными возможностями масштабирования. Эти требования существенно ограничивают возможность применения известных алгоритмов и вызвали необходимость новой разработки.
Постановка задачи
Пусть задано два конечных множества: X = {х , имеющее семантический смысл запросов некоторой предметной области, и У = \yj }= 1, имеющее семантический смысл ответов на запросы в этой же предметной области.
Определено отношение Х®У, называемое отношением релевантности, такое, что каждому элементу из множества запросов соответствует подмножество так называемых релевантных ответов
Ух, е X ^ У, с У.
Отношение может быть задано некоторой матрицей из N строк, соответствующих всем возможным запросам, и М столбцов, соответствующих всем возможным ответам:
Если значения элементов матрицы релевантности равны 0 либо 1, то говорят, что задана булева релевантность, то есть для любой пары запрос-ответ о их релевантности можно утверждать только «да» или «нет».
Более сложный случай определяется возможностью оценивать уровень релевантности. В этом случае можно ввести функцию релевантности rel:
X х Y ^ [0,1]; 0 < rel(х,.,y) < 1.
Эта функция аналогична используемой обычно функции «похожести» - similarity, прменяемой в тех случаях, когда запрос и ответ рассматриваются как элементы одного и того же множества. В таких случаях можно считать это множество наделенным структурой метрического пространства или близкого к такому. Для решения задач поиска в метрических пространствах создан целый ряд мощных инструментов, основанных на различных математических свойствах таких пространств [4]. Нашей же целью является решение задачи поиска для случая, когда множества запросов и ответов затруднительно представить элементами одного и того же метрического пространства.
Однако введение матрицы релевантности делает постановку задачи весьма близкой, поскольку позволяет абстрагироваться от природы строк и столбцов этой матрицы и рассматривать ее как матрицу некоторой метрической природы.
Заметим сразу, что для этой матрицы не выполняются многие свойства, характерные для метрических матриц (или матриц похожести). Например, матрица не квадратная, диагональные элементы не обязательно равны нулю (единице, как для матриц похожести).
Тем не менее решение задачи поиска может быть сведено к отысканию для каждой строки максимальных элементов и тем самым идентификации номеров тех столбцов, соответствующие которым ответы наилучшим образом отвечают запросу, относящемуся к данной строке.
В этом случае задача переходит в категорию задач дискретной оптимизации. Сведем задачу максимизации релевантности к задаче дискретного программирования. Иногда вместо задачи на максимум выгоднее рассматривать задачу минимизации. С этой целью будем рассматривать вместо функции релевантности связанную с ней функцию расстояния релевантности
d: X ^ R; d(xt, yj) = - ln(rel(xt, yj)), d(x, y): X x Y ^ [0,да).
Задача: найти алгоритм отыскания максимально релевантной точки
y* е Y; d(x*, y*) = minyeY d(x*, y).
В изложенной постановке задача относится к классу трудноразрешимых задач дискретной оптимизации [2]. Точные методы для высокоразмерных задач в этом случае приводят к недопустимо большому числу вычислений. Поэтому далее обсуждаются эвристические приближенные алгоритмы.
Решение задачи релевантности методом локальной дискретной оптимизации со случайным поиском на графах
Основной идеей этого раздела является попытка свести задачу на поиск релевантного ответа из Y на запрос из X при известной функции релевантности rel( . , . ) к нескольким задачам локального поиска на множестве Y. В основу метода мы положим оснащение этого множества графом со специальными свойствами, известными как MSW (Metrized Small World), для поиска локального минимума [5].
Классический подход применения метода локальной оптимизации сводится к наделению множества Y любой произвольной метрикой, назначению начальной точки и радиуса окрестности локального поиска. Алгоритм поиска минимума в этом случае сводится к поиску локального минимума в выбранной окрестности и переходу к новой начальной точке, в качестве которой назначается найденная на предыдущем локальном шаге точка минимума.
Как показано в [6, 7], если на дискретном множестве существует функция расстояния, то на нем может быть построен граф, обладающий свойствами тесного мира (MSW-граф). То есть расстояние между любыми вершинами такого графа в среднем оценивается логарифмической величиной от размера графа, числа его вершин. При этом существует простой алгоритм жадного поиска, приводящий в среднем за логарифмическое число шагов к отысканию ближайших соседей для любого вновь выбранного элемента
y0 из множества (поглощающего) Y з Y, наделенного той же функцией расстояния. Выбрав произвольно начальную точку из Y, можно найти в Y ближайших соседей для y0, совершив логарифмически связанное с размером Y число локальных поисков.
Г11 Г12
Г21 Г22
r
rN1 N 2
r
NM
Сведем нашу задачу поиска элемента из множества ответов Y, релевантного заданному запросу из X, к задаче поиска на MSW-графе.
Пусть задан элемент x* е X и MSW-граф на Y. Задана также вычислимая функция расстояния релевантности между X и Y
d(x, y): X х Y ^ [0,да). Задача: найти алгоритм отыскания максимально релевантной точки
y* е Y; d (x*, y*). Основная идея алгоритма может быть представлена следующим образом.
Сначала назначим случайным образом точку y0 в Y - одну из вершин графа MSW, построенного на Y.
Найдем расстояние релевантности между этой точкой и x*:
d (x*, Уо) =d о.
Рассмотрим все вершины графа, являющиеся соседями y0, и найдем расстояния релевантности до них. Выберем ту вершину, расстояние релевантности до которой от x* минимально.
Сравним это расстояние с значением d0: если найденное расстояние меньше, то выбираем новую соответствующую ему вершину за новую начальную точку поиска и повторяем поиск максимально релевантной точки среди ее соседей; если нет, то выбираем точку y0 в качестве решения задачи - возвращаем как максимально релевантную запросу x* в данном цикле поиска. После этого выбирается другая случайная точка y0 в Y и процесс поиска повторяется. Число случайных поисков может быть выбрано заранее или определяться адаптивно в зависимости от разброса найденных точек. Среди всех найденных точек локального минимума выбираются те, которые имели минимальное расстояние релевантности, и это подмножество объявляется решением. В большинстве случаев такое подмножество состоит из единственного элемента, и в этом случае найденное решение строго соответствует поставленной задаче.
Запишем алгоритм формально в виде программного псевдокода
Greedy_Search(q: object, yenter_pomt: object)
1 ycurr * yenter_point;
2 dmm ^ d(x, yCurr); Vnext ^ NIL;
3 foreach yffiend е ycurrgetFriends() do
4 if dfr ^d(x, yfriend) <d min then
5 dmin ^dfi-;
6 ynext ^ yfriend;
7 if ynext = NIL then return ycurr;
8 else return Greedy_Search(x, ynext);
В приведенном выше подходе остается неизвестным и принципиально важным вопрос о
построении МБ'-графа на множестве У. Очевидно, что поскольку на этом множестве не задана функция метрики, то мы можем назначить ее произвольно. Но также очевидно, что от ее выбора будет сильно зависеть эффективность работы алгоритма. Мы предлагаем здесь выбрать в качестве функции метрики некоторую функцию внутреннего расстояния на У, индуцированного расстоянием релевантности.
Построение функции внутреннего расстояния, индуцированного расстоянием релевантности
Основная идея подхода состоит в том, что в множестве X некоторым образом выбирается подмножество из М «представительных» элементов, далее называемых базисом в X. Обозначим это подмножество Хв = {хв1,хВ2,...,хвМ} .
Определим для каждой точки из У расстояния релевантности
Уке У; л (Ук, хв1) = 4, V/ =1М.
Назовем полученный для каждого к набор чисел координатами элемента ук в системе координат Хв. Таким образом на множестве У индуцируется координатная сетка размерности М. Теперь определим функцию внутреннего расстояния на У с помощью этой координатной системы, задавая ее значения как
¿У (У 1, У.j ) = ^ХТ=1(Л'к - )2 .
Можно видеть, что такая функция удовлетворяет всем основным аксиомам расстояния, поскольку дает нулевое значение для совпадающих точек в У и положительна для несовпадающих. Мы не будем давать здесь анализ выполнения неравенства треугольника для индуцированной функции расстояния, поскольку это не является существенным для дальнейшего, однако заметим, что при правильном выборе множества Хв введенная функция расстояния удовлетворит всем аксиомам метрики.
Именно введенная таким образом индуцированная исходным отношением релевантности функция расстояния будет использоваться нами для построения необходимого для эффективного поиска решений графа МБ'. На рис. 1 приведена иллюстрация построения координатного
Рис.1. Построение координатного пространства на Y
пространства и графа на нем.
Обсудим теперь выбор множества XB. Очевидно, что с вычислительной точки зрения следует выбирать базис в X минимально возможной мощности. Однако понятно, что если число элементов базиса мало, то индуцированная им координатная сетка на Y будет плохо различать элементы - в том смысле, что координаты всех их окажутся весьма близкими и порождаемая топология на Y окажется весьма слабой для построения качественных решений с помощью графа MSW. Число соседей в графе окажется значительным, что приведет к катастрофическому росту вычислительных затрат из-за трудностей нахождения глобального экстремума. В силу весьма слабых предположений о структуре HB (Y) = pt log pt множеств X и Y,
а также матрицы релевантности нахождение регулярных методов выбора базиса представляется маловероятным. На практике оказывается возможно получать неплохие результаты при просто случайном выборе M элементов из X, где M следует выбирать большим или равным внутренней размерности X. Ниже мы проиллюстрируем методику выбора базиса и результаты построения MSW-графа на Y на примере.
Пример применения алгоритма
релевантного выбора на основе предложенного метода
В качестве задачи релевантного выбора рассмотрим подбор релевантного аудиофайла по параметрам исходящего вызова для использования в системе, подобной предложенной авторами в патенте [3]. В упрощенной постановке рассмотрим множество X как набор двоичных векторов длиной 12, каждый бит которого определяет наличие в исходящем звонке одного из 12 признаков - так называемый фингерпринт вызова. Таким образом, множество запросов содержит потенциально 212 различающихся элементов. Для обозначения каждого из них можно использовать их нумерацию, т. е. идентифицировать целым числом от 1 до 4096. Пусть для воспроизведения имеется 1024 аудиофайлов, образующих множество Y, каждый из которых мы будем обозначать просто целым числом от 1 до 1024 или представлять 10-мерным двоичным вектором. Для нахождения значения функции расстояния релевантности между элементами множеств X и Y будем использовать тестовую функцию d(xk, yn) =| k2 - 2kn + n2 - 146k - 146n + 53281.
Отметим, что для такой функции существует набор целых значений k и n, для которых рас-
стояние обращается в нуль, и этот факт будет использован при тестировании алгоритма: k = 73t2 + 145t + 72
n = 73t2 -1; t = 0, 1, 2,...
Выберем из множества X базис xB. = 2"'; i = 0,1, 2.
Найдем координаты точек из Y по этому трехмерному базису
y'n =|22i - 2"+1 n + n2 -146 x 2" -- 146n + 53281, i = 1,... 12; n = 1,...1024.
Например, для первой получаем y =(5036, 4891, 4607).
Располагая координатами точек в Y, можно построить MSW-граф. Фрагмент этого графа изображен на рис. 2.
С помощью программы Metrized Small World Prototype (http://www.meralabs.com/en/downloads/) были найдены максимально релевантные точки в Y для нескольких заданных запросов из X. Напомним, что для такого поиска потребовалось количество вычислений функции расстояния существенно меньше размера Y. При этом часть запросов была взята с заведомо единичной релевантностью. В таблице 1 приведены результаты экспериментов.
Как видно из анализа таблицы 1 алгоритм находит четыре кандидата на роль максимально релевантного ответа, среди которых всегда находится точное значение, обеспечивающее нулевое значение функции расстояния релевантности, если такой ответ существует. Как видно, при достижении последнего элемента из множества ответов значения расстояния перестают меняться, и для всех остальных запросов при заданной функции расстояния максимально релевантным считается последний по счету ответ.
Для сравнения полностью аналогичный эксперимент был проведен для иного выбора базиса. Если взять в качестве базиса единственную точку с номером 1, т.е. формировать одномерное пространство Y , то результаты будут выглядеть следующим образом (табл. 2).
Рис. 2. Фрагмент MSW-графа для примера
Таблица 1
#X 10 122 290 402 654 1164 1820
#Y1 137 6 654 818 290 654 1022
#Y2 138 7 653 817 291 655 1022
#Y3 136 5 655 819 289 653 1021
#Y4 139 8 652 822 292 656 1020
d(xyx) 5 96 0 264 0 0 227200
d(xy2) 104 281 581 421 873 1165 227200
d(x,y3) 112 475 583 951 875 1167 228943
d(xy) 215 656 1160 3024 1744 2328 230688
Таблица 2
#X 10 122 290 402 654 1164
#Y1 149 6 654 818 290 654
#Y2 150 7 653 817 291 655
#Y3 151 5 655 819 289 653
#Y4 152 8 652 822 292 656
d(xy1) 1435 96 0 264 0 0
d(xy2) 1568 281 581 421 873 1165
d(xy>3,) 1703 475 583 951 875 1167
d(xy) 1840 656 1160 3024 1744 2326
Как видно, некоторые ответы при таком примитивном выборе базиса находятся хуже, однако все опорные решения, для которых значение функции расстояния равно нулю, оказываются определенными верно. На этом примере было проведено несколько подобных вычислительных экспериментов. В экспериментах изучалось влияние выбора базиса и его размерности на полноту найденных решений. Обнаружилось, что случайный выбор элементов из X всегда дает лучшие результаты, чем регулярный. Для данного примера существенное увеличение размерности слабо влияет на результат, что говорит о низкой внутренней размерности задачи (близкой к единице).
Выводы
В работе удалось найти весьма эффективный метод поиска максимально релевантных элементов для произвольных метрических отношений между парой конечных множеств, что представляет актуальную задачу для многих приложений, связанных, например, с рекомендациями и рекламным таргетированием. Основной идеей метода является выделение в множестве запросов некоторого базисного подмножества и наделение множества ответов координатной системой, которая строится путем ассоциации расстояний релевантности до каждого из элементов базиса с проекциями точек из
множества ответов. Далее полученное координатное пространство рассматривается как евклидово и на нем строится граф метризованного тесного мира. С помощью этого графа удается сократить вычислительную сложность поиска релевантного элемента в Y в пределе до логарифмической (при большом размере Y). Проведенные численные эксперименты подтвердили эффективность предложенного в статье эвристического метода. С точки зрения теории дискретной оптимизации в работе удалось построить эффективный метод оснащения множества поиска топологией (системой окрестностей для каждой точки) для решения задачи нахождения элемента, минимизирующего заданную двухместную функцию.
Список литературы
1. Передерий В.И., Еременко А.П. Математические модели и алгоритмы принятия релевантных решений // Автоматика, автоматизация, электротехнические комплексы и системы. 2008. № 2(22).
2. Ковалев М.М. Дискретная оптимизация. Целочисленное программирование. М.: Едиториал УРСС, 2003. 192 с.
3. Патент на изобретение RU 2461879. Способ доставки целевой рекламы и/или информации абоненту посредством инфокоммуникативных сетей и система для его осуществления / Пономарев Д.М., Крылов В.В., Бритвина Е.В.
4. Zezula P. Similarity Search: The Metric Space Approach. New York, USA: Springer, 2005. 220 p.
322
Е.В. EpumBUHa, B.B. KpbmoB, W.A. ManbKOB
5. Krylov V.V., Logvinov A.A., Ponomarenko A.A., Ponomarev D.M. Single-attribute Distributed Metrized Small World Data Structure // IEEE. 2009. Eigth IEEE/ACIS International Conference on Computer and Information Science (1-3 June 2009) Shanghai, China.
6. Krylov V.V., Logvinov A.A., Ponomarenko A.A. Malkov Y.A. Metrized Small World Approach for Near-
est Neighbor Search // SYRCoSE, 12-13, May, 2011. Ekaterinburg.
7. Krylov V.V., Logvinov A.A., Ponomarenko A.A., Malkov Y.A. Scalable Distributed Algorithm for Approximate Nearest Neighbor Search Problem in High Dimensional General Metric Spaces // Similarity Search and Applications. 5th International Conference, SISAP-2012, Toronto, ON, Canada, August, 2012. Proceedings.
METRIZED SMALL WORLD GRAPH BASED MAXIMUM RELEVANCE SEARCH ALGORITHM
E.V. Britvina, V. V. Krylov, Yu.A Mal'kov
The article describes an algorithm for finding the most relevant element in a finite set of answers. The search is performed on a finite set of queries and with a given relevance function, which has a significantly lower computational complexity than exhaustive search. To achieve the performance goal we created a relevance function induced coordinate system on the set of answers and, subsequently, created a metrized small world graph on its basis. The validity of the proposed heuristic algorithm was confirmed by computer simulations.
Keywords: relevance, data search, discrete optimization, graph data model, small world graph.
References
1. Perederij V.I., Eremenko A.P. Matematicheskie modeli i algoritmy prinyatiya relevantnyh reshenij // Avtomatika, avtomatizaciya, ehlektrotekhnicheskie kompleksy i sistemy. 2008. № 2(22).
2. Kovalev M.M. Diskretnaya optimizaciya. Ce-lochislennoe programmirovanie. M.: Editorial URSS, 2003. 192 s.
3. Patent na izobretenie RU 2461879. Sposob dostavki celevoj reklamy i/ili informacii abonentu posredstvom infokommunikativnyh setej i sistema dlya ego osushchestvleniya / Ponomarev D.M., Krylov V.V., Britvina E.V.
4. Zezula P. Similarity Search: The Metric Space Approach. New York, USA: Springer, 2005. 220 p.
5. Krylov V.V., Logvinov A.A., Ponomarenko A.A., Ponomarev D.M. Single-attribute Distributed Metrized Small World Data Structure // IEEE. 2009. Eigth IEEE/ACIS International Conference on Computer and Information Science (1-3 June 2009) Shanghai, China.
6. Krylov V.V., Logvinov A.A., Ponomarenko A.A. Malkov Y.A. Metrized Small World Approach for Nearest Neighbor Search // SYRCoSE, 12-13, May, 2011. Ekaterinburg.
7. Krylov V.V., Logvinov A.A., Ponomarenko A.A., Malkov Y.A. Scalable Distributed Algorithm for Approximate Nearest Neighbor Search Problem in High Dimensional General Metric Spaces // Similarity Search and Applications. 5th International Conference, SISAP-2012, Toronto, ON, Canada, August, 2012. Proceedings.