Теория сложности информационного поиска

advertisement
Теория баз данных и
информационного
поиска
Информационно-графовая
модель данных
Содержание

















Метод управляющих систем в теории информационного поиска
Поиск идентичных объектов
Интервальный поиск
Включающий поиск
Задача информационного поиска
Поиск идентичных объектов 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).
CC  cC
Характеристическая функция записи 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)  }.
c2 ЗИП 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).
xX



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  i8i 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,  )).
yV
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)  24 äëÿ ëþáîãî x {0,1}4 .
8
4.(5I 
(Ui)12(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 , ))y2 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.
Download