Теория баз данных и информационного поиска Информационно-графовая модель данных Содержание Метод управляющих систем в теории информационного поиска Поиск идентичных объектов Интервальный поиск Включающий поиск Задача информационного поиска Поиск идентичных объектов 2 Базовое множество Пример базового множества Информационный граф Решение задачи информационного поиска ИГ, решающий задачу поиска Алгоритм, соответствующий ИГ Сложность информационных графов Поиск идентичных объектов 3 Включающий поиск 2 Интервальный поиск 2 Литература Метод управляющих систем в теории информационного поиска Шаг 1. Определяется понятие задачи информационного поиска и функции ответа, реализуемой этой задачей. Шаг 2. Вводится специальная схема (называемая информационным графом), которая моделирует алгоритм поиска и реализует функцию ответа. Шаг 3. Вводятся сложностные характеристики информационного графа (число ребер графа, время поиска в среднем и худшем случае). Шаг 4. Находятся нижние оценки временной сложности для рассматриваемых задач информационного поиска. Шаг 5. Строится информационный граф, реализующий функцию ответа и имеющий сложность, близкую к нижней оценке. Поиск идентичных объектов 0 y1 y 2 x yi yk 1 Y=[0,1] - множество записей. X=[0,1] - множество запросов. V { y1 , y2 ,..., yk } Y - база данных. Поиск идентичных объектов: для любого xx X , найти yi V такую, что xx yi . Интервальный поиск .Y=[0,1] – множество записей. .X {( u, v) : 0 u v 1} множество запросов. .V { y1 , y2 ,..., yk } Y база данных. Интервальный поиск: для любого запроса (uu, v) X , перечислить все те и только те записи yi V, y которые uu yi v. u [ 0 y1 y 2 1 v 0 v yi ] yk 1 x u 1 Включающий поиск .Y {0,1}n множество записей. n X X {0,1} - множество запросов. 1 2 k .V { y , y ,..., y } Y - база данных. Включающий поиск: для любого запроса 1111 x 0111 0011 0101 0110 ( x1 ,..., xn ) X , перечислить все те и только те записи ( yy1 ,..., yn ) V , которые xi yi , i 1,..., n. 0001 0010 0000 0100 1011 1101 1110 1001 1010 1100 1000 Задача информационного поиска Y - множество записей. X - множество запросов. X , , P - вероятностное пространство, где < алгебра подмножеств X, P - вероятностная мера на . X Y - бинарное отношение. S X , Y , , , P - тип информационного поиска. Если V Y и | V | , то I X ,V , - задача информационного поиска типа S . Задача информационного поиска I X ,V , : для произвольного запроса x X перечислить те и только те записи y V , для которых ( x, y ) . Поиск идентичных объектов x xx Бинарный поиск 0 y1 y 2 y 3y 4 y 5y 6 y 7 1 V { y1 , y2 ,..., y7 } для любого x [0,1], найти yi V : yi x 1, x a f ,a ( x) 0, x a 1, x a g , a ( x) 2, x a y1 y2 y3 y4 y5 y4 if x y6 y7 f , y1 f , y 2 f , y3 f , y6 1 f , y 4 f , y5 2 1 g , y2 f , y7 2 g , y6 1 2 g , y4 Базовое множество X - множество запросов. f : X {0,1} - предикат. g : X {1,2,..., m} - переключатель. F { f a : a A} - множество предикатов. G {gb : b B} - множество переключателей. F F, G - базовое множество. Пример базового множества v 1 am1 u X {( u, v) : 0 u v 1} - мн-во запросов. 0 i 1 u i 1 a 1 , if u a m m 1, if v a 1 2 f ,a (u, v) , f ,a (u, v) . 0, if u a 0, if v a F { f 1,a : a [0,1]} { f 2,a : a [0,1]} - мн-во предикатов. g ,m (u, v) max{1, ]u m[} , 1, if v u 1 / m 1, if u a g ,m (u, v) , g ,a (u, v) . 2, if v u 1 / m 2, if u a G {g ,m : m N} {g ,m : m N} {g ,a : a [0,1]} множество переключателей. F F, G - базовое множество. Информационный граф y1 f 2, y2 y 2 f 2, y1 f 2, y2 1 f 2, y3 y3 f 2, y4 y 4 f 2, y4 f 2, y3 2 1 g , y1 1 если y5 f 2, y5 f 2, y5 2 1 g , y3 g , y5 2 y6 f 2, y6 2 y3 f 1, y3 y4 f 2, y6 2 2 f еслиf , y3 ( x) f 1 2 , y3 1 g , y2 f 1, y1 y2 y1 f 1 , y2 2 , y5 f 1, y4 g , y6 g , y2 (1x) 2 1 2 2 g ,3 g , y4 1 2 g ,3 нагрузка нагрузка нагрузка переключательные переключательные предикатные переключательных нагрузка переключательных предикатных листья ребра вершины ребра ребер ребер корень U (xпроводимость ) - множество проводимость записей, предикатного включенных ребра в вершин ответ на запросе x xx запись проводимость переключательного включается пути влистьев ответ на запросе ребра на запрос на x на запросе xзапрос Решение ЗИП Проводимость предикат. ребра c ( , ): c ( x) f ( x). Проводимость переключательного ребра c ( , ): 1, if g ( x) n c ( x) . m 0, if g ( x) n Проводимость пути C из ребер c1 , c2 ,..., cm : C ci . Функция фильтра вершины :Х ( x) i 1 c ( x). CC cC Характеристическая функция записи yXдля отношения 1, if ( x, y ) y , ( x) . ( x, y ) 0, if c ИГ U решает ЗИП I X ,V ,m если для любого запроса x X выполнено nUf ( x) { y V : ( x, y) }. c2 ЗИП I X ,V , точно тогда, Теорема ИГ U решает g когда для любойc1записи y V выполнено корень ( x) ИГ y , ( x). LU ( y ) Характеристические функции включающего поиска Åñëè y (0,...,0, 1,0,...,0, 1,0,...,0, 1,0,...,0) {0,1}n , òî i1 i2 im õàðàêòåðèñòè÷åñêàÿ ôóíêöèÿ çàïèñè y äëÿ îòíîøåíèÿ 1, åñëè xi yi , i 1,..., n y , ( x1 ,..., xn ) xi1 xi2 ... xim . 0, èíà÷å Íàïðèìåð, åñëè y (1,0,1,1,0) {0,1}5 , òî y , ( x1 , x2 , x3 , x4 , x5 ) x1 x3 x4 . : ИГ, решающий задачу включающего поиска аV { y1 , y 2 ,..., y 7 } {0,1}4 - áàçà äàííûõ. F {1, x1 ,..., xn }, - áàçîâîå ìíîæåñòâî. y 6 (0,1,1,1), y 6 , ( x1 , x2 , x3 , x4 ) x2 x3 x4 . y6 y7 y 1011 y 7 1101 1001 1010 6 0111 x3 1111 1110 x4 y4 y5 x2 y y1 x2 2 y3 x2 x4 x1 0101 0011 0110 y y4 y 1 0001 0010 0000 0100 y2 1100 y 3 1000 5 v 1 y6 y5 ИГ, решающий задачу интервального поиска y4 y3 1 3 y2 y1 u 0 y1 y2 1 y3 y4 2 y5 y 6 1 3 6 y1 f 2 , y2 y2 f 8 1 y5 f 2, y4 1 4 1 y4 f 2 , y5 f y6 2 , y6 y1 f 1 , y1 y3 y2 f 2, y5 f 1 , y3 16 f 2, y6 11 2 g , y1 f f 2, y3 f 2, y2 5 y3 2 , y4 9 7 f 2, y1 2 , y3 10 2 1 g , y3 g , y5 2 3 2 2 f 2, y3 1 g , y6 g , y2 1 14 12 g ,3 g , y4 1 1 g ,3 f 1, y4 13 1 2 2 f f 2, y5 1 , y2 2 2 y4 3 15 Алгоритм, соответствующий ИГ Устанавливаем ответ , корень ИГ помечаем и включаем в вспомогательное множество A. Для каждой вершины A, выполняем следующее: если - лист, то запись приписанная листу включается в ответ ; если - переключательная вершина, то вычисляем переключатель g (x ) приписанный вершине ; если g ( x ) n, и n- номер, приписанный переключательному ребру ( , ), и вершина - непомеченная, то помечаем вершину и включаем ее в множество A; если - не переключательная вершина, то просматриваем все ребра, исходящие из ; для каждого ребра ( , ), исходящего из , вычисляем предикат f (x ), приписанный предикатному ребру ( , ), если f ( x) 1 и вершина непомеченная, то вершину помечаем и включаем в множество A; вершину исключаем из множества A. Алгоритм, соответствующий ИГ аV { y1 , y 2 ,..., y 7 } {0,1}4 - áàçà äàííûõ. F {1, x1 ,..., xn }, - áàçîâîå ìíîæåñòâî. x (1,1,1,0). y 1111 6 y x3 0111 y5 x2 1 y x4 x1 3 0110 1001 1010 y 1 0001 0010 0000 0100 y2 x 1110 1100 y y4 x2 x2 0101 0011 y2 1011 y 7 1101 6 x4 y4 y y 7 y 3 1000 5 v x 1 Алгоритм, соответствующий ИГ x 1 3 [ [] ] 0 y1 y2 1 y3 y4 2 y5 y 6 1 y1 f 2, y2 y 2 f 2, y1 f 2, y2 1 f 2, y3 y3 f 2, y4 y4 f 2, y 5 f 2, y4 f 2, y3 2 y5 1 g , y1 1 f 2, y5 2 1 g , y3 g , y5 2 y6 f 2, y6 2 f 1, y1 y2 y1 y3 f 2, y6 2 f 2, y3 1 f 1 , y2 f 2, y5 f 1, y4 g , y6 g , y2 1 f 1, y3 y 4 1 2 2 g ,3 g , y4 1 2 g ,3 3 3 u Сложность ИГ Q(U) – число ребер ИГ U. . - число ребер, исходящих из вершины ; R - множество вершин ИГ U; P - множество переключательных вершин U; если f - предикат, определенный на X, то N f {x X : f ( x) 1}. Сложность ИГ U на запросе x: T (U , x) ( x) ( x). _ Сложность ИГ U в худшем случае: R \P P T (U ) max T (U , x). xX U ( I , F ) - множество ИГ над F, решающих ЗИП I. X , , P - вероятностное пространство над X. Сложность ИГ U в среднем: T(U)=ET(U,x), т.е. T (U ) ( N ) ( N ). R \ P P Сложность ЗИП I для базового множества F и объема q: T ( I , F , q ) inf{ T (U ) : U U ( I , F ) & Q(U ) q}. Сложность ЗИП I для F : T ( I , F ) inf{ T (U ) : U U ( I , F )}. Сложность ИГ, решающего задачу включающего поиска 4 x) T(2U , xäëÿ ) 5ëþáîãî . x. (1,1,1,0( ). Ïóñòü 8 8 8 8 x {0,1}4 . 8 0. .50i (.5 N 5 75 .25 0 . ( N()N.(N().N). ).i ). U))344. .25 5 ( )N 25 .TT((U i i i i8i i i i 8 i 1 i 2 i 6 5i 3 i 74 .( N ) 10,.25 125 ,3.10.1. .0. 5 , , 1 34 6 18 7 25 4 562 73 48 y6 y7 x2 2 y 8 x3 3 1111 1011 y 7 1101 1001 1010 6 0111 x 1110 x4 y4 y y1 x4 x2 1 y5 7 x2 3 y 2 5 6 x1 0101 0011 0110 y y4 y 1 0001 0010 0000 0100 y2 1100 y 3 1000 5 v Сложность ИГ, решающего задачу интервального поиска y1 f 2, y2 y 2 f 2, y1 f 2, y2 1 f 2, y3 y3 f 2, y4 y4 f 2, y 5 f 2, y4 f 2, y3 2 y5 1 g , y1 1 f 2, y5 2 1 g , y3 g , y5 2 y6 f 2, y6 2 x 1 3 [ y3 2 1 f 1 , y2 f 2, y5 f 1, y4 g , y6 g , y2 1 T (U , x) 6 7. f 1, y3 y 4 f 2, y6 f 2, y3 1 2 2 g ,3 g , y4 1 2 g ,3 [] ] 0 y1 y2 1 y3 y4 2 y5 y 6 1 f 1, y1 y2 y1 x 1 3 3 u Поиск идентичных объектов X=Y=(0,1]. Sid (0,1], (0,1], - тип поиска идентичных объектов. 1, åñëè x a F { f , a ( x) : a (0,1]}, 0, åñëè x a 1, åñëè x a G1 {g ,a ( x) : a (0,1]}, 2, åñëè x a G2 {] x m[: m 1,2,3,...}, F F , G1 G2 . (1) (2) (3) (4) Теорема Пусть вероятностная мера P задана функцией плотности вероятности Ip( x) c, I (0,1], V , Sid, |V|=k , F - базовое множество, заданное (1)-(4); тогда I 1 T ( I ,F , (2 c) k ) 2, и существует такой ИГI U U ( I , F ) , что _ T (U ) 2, T (U ) 2] log 2 k[, Q(U ) (2 c) k. Включающий поиск Если yy Y , X Y , то O O( y, ) {x X : ( x, y ) }. Если I X ,V , - ЗИП, то R ( I ) P(O( y, )). yV Sb {0,1}n ,{0,1}n , - тип включающего поиска. K n - множество всех монотонных конъюнкций от n переменных. n M - множество монотонных булевых функций от n переменных. Теорема Пусть F F , - базовое множество, где Kn F F M n , P( xx) 2 n для любого xx{0,1}n ; тогда T ( I , F ) 2 R( I ) для любой ЗИП II Sb , и существует такая ЗИП I S b , что TT( I ,F ) 2 R( I )(1 n ) , где n 0 ïðè as n . Пример включающего поиска .V { y1 , y 2 ,..., y 7 } {0,1}4 , I {0,1}4 ,V , . . Ïóñòü ( x) 24 äëÿ ëþáîãî x {0,1}4 . 8 4.(5I (Ui)12(O R( yI i), 5.2.25. ) T ))4. .R 1111 (O( yÈà , )) 0 . 5 , . Ýòîò ( O ( y , )) 0 . 5 , îïòèìàëüíû é.2 1 7 6 . (O 6 ( y3 , )) 0.5, 7 y y y y 1101 1011 0111 . x(O( y4 , )) 0.25, x 3 4 1001 1010 0101 0011 0110 . (Oy(4y5 , )) 0.25,y 5 y4 . x(2 Oy(1y6 , ))y2 0.125y,3 x2 1000 0010 0100 1 0001 3 2 y y y . (O( y7 , x))2 0.125. x4 x1 0000 1110 1100 y 5 Интервальный поиск X {( u, v) : 0 u v 1} - множество запросов. 1 åñëè u a v F { f a (u, v) : a X }, 0 èíà÷å G1 {g ,m (u , v) max( 1, ]u m[) : m 1,2,3,...}, 1 åñëè u a G2 {g ,a (u, v) : a [0,1]}, 2 åñëè u a 1 åñëè 0 v u 1 / m G3 {g ,m (u, v) : m 1,2,3,...}, 2 èíà÷å F F , G1 G2 G3 . (1) (2) (3) (4) (5) Теорема Пусть вероятностная мера P задается функцией плотности вероятности Ip (u , v ) c, I ( X , V , - задача интервального поиска, F - базовое множество (1)-(5), тогда I R( I ) T ( I ,F ,4 | V | 1 6c[log 2 | V |]) R( I ) 5. Литература 1. Гасанов Э.Э. Теория сложности информационного поиска. Изд-во МГУ, Москва, 2005. 2. Гасанов Э.Э., Кудрявцев В.Б. Теория хранения и поиска информации. Физматлит, Москва, 2002. 3. Гасанов Э.Э. Об одной математической модели информационного поиска. Дискретная математика (1995) 3, N 2, 69-76. 4. Гасанов Э.Э. Об одномерной задаче интервального поиска. Дискретная математика (1995) 7, N 2, 40-60. 5. Гасанов Э.Э. Мгновенно решаемые задачи поиска. Дискретная математика (1996) 8, N 3, 119-134. 6. Гасанов Э.Э. Нижняя оценка сложности информационных сетей для одного отношения частичного порядка. Дискретная математика (1996) 8, N 4, 108-122. 7. Гасанов Э.Э. Нижняя оценка сложности включающего поиска в классе древовидных схем. Дискретная математика (1998) 10, N 1, 63-72. 8. Гасанов Э.Э., Кузнецова И.В. О функциональной сложности двумерной задачи интервального поиска. Дискретная математика (2002) 14, N 1, 114-141.