SYSTEMY WYSZUKIWANIA INFORMACJI
Agnieszka Nowak - Brzezi«ska 17 listopada 2019
Metoda list inwersyjnych - Dekompozycje
Wykªad 6
Tworzenie kartoteki wyszukiwawczej - na egzamin !
Kartotek¦ wyszukiwawcz¡ tworz¡ listy inwersyjne. Listy inwersyjne tworzymy dla wszystkich deskryptorów ze zbioru D . Lista
inwersyjna zawiera adresy tych wszystkich obiektów, które w swoim opisie posiadaj¡ deskryptor d
i, dla którego tworzona jest lista.
Lista inwersyjna - denicja
List¦ adresów obiektów, które zawieraj¡ w swoim opisie deskryptor d
inazywamy list¡ inwersyjn¡ α(d
i) .
α(d
i) = {n
1, n
2, . . . , n
i} , gdzie n
i- adres kolejnego obiektu, który
w swoim opisie zawiera deskryptor d
i.
Redundancja
Metoda, ta wnosi du»¡ redundancj¦ (powtarzanie si¦ obiektów w listach inwersyjnych), któr¡ mo»na zapisa¢ wzorem:
R = P
ri =1
α(d
i) − N N gdzie:
r - liczba deskryptorów w systemie,
N - liczba obiektów (lub adresów)
α(d
i) - dªugo±¢ listy inwersyjnej.
Dekompozycja - idea
Denicja (ang.):
Decomposition is the process by which organic substances are broken down into simpler organic matter. Decomposition in computer science, also known as factoring, is breaking a complex problem or system into parts that are easier to conceive,
understand, program, and maintain.
Dekompozycja obiektowa
Je»eli system wyszukiwania informacji S = hX , A, V , ρi mo»emy zdekomponowa¢ w taki sposób, i» otrzymamy podsystemy o zmniejszonej liczbie obiektów to znaczy:
S =
n
[
i =1
S
igdzie:
S
i= hX
i, A
i, V
i, ρ
ii ,
X
i⊆ X , i S
iX
i= X ,
A
i≡ A oraz V
i≡ V ,
ρ
i= X
i× A
i→ V
i,
ρ
i= ρ|
Xi.
Dekompozycja obiektowa
Stosujemy metod¦ list inwersyjnych w podsystemach.
S
S1 S2 . . . Sn
Rysunek:Dekompozycja systemu informacyjnego
Dekompozycja obiektowa
Pytanie do systemu zadajemy w postaci sumy termów skªadowych. Rozpatrzmy zatem pytanie skªadowe ti
Je»eliti dotyczy tylko obiektów okre±lonego podsystemuSi , to odpowied¹ na pytanieti znajdujemy w systemieSi :
σ(ti) =\
j
α(dj)|Xi, dla ti = d1· d2· . . . · dk,1 ≤ j ≤ k.
Je»eliti dotyczy kilku podsystemów, to odpowied¹ uzyskujemy jako sum¦
odpowiedzi z podsystemów:
σ(ti) =\
j
α(dj)|S1∪\
j
α(dj)|S2∪ . . . ∪\
j
α(dj)|Sn
co jest równoznaczne z zapisem:
σ(ti) =\
j
α(dj)|X1∪\
j
α(dj)|X2∪ . . . ∪\
j
α(dj)|Xn
Dekompozycja obiektowa - analiza
Listy inwersyjne tworzone w podsystemach s¡ na ogóª znacznie krótsze, co przyspiesza wyszukiwanie i zmniejsza zaj¦to±¢ pami¦ci w obr¦bie podsystemu.
Odpowied¹ na pytanie t jest tworzona w systemieSpo wyszukaniu odpowiedzi z podsystemów.
σ(t) =
m
[
i =1 n
[
l =1
\
dj∈ti
α(dj)|Sl.
Wzór na redundancj¦ w przypadku tej modykacji przyjmuje posta¢:
Rl= Pr
i =1α(di)|Xl− N N
Taka modykacja stosowana jest przede wszystkim dla systemów wyszukiwania o du»ych zbiorach obiektów, które opisane s¡ takimi samymi atrybutami.
Wtedy wygodniej jest podzieli¢ ten zbiór obiektów na podzbiory. Podziaª taki mo»e wynika¢ np. z miejsca przechowywania obiektów (rozproszona baza danych) lub narzucaj¡cego si¦ podziaªu na kilka klas wynikaj¡cego z innych przesªanek (innych cech ni» okre±lone atrybutami).
Rozpatrzymy przykªadowy system wyszukiwania S dotycz¡cy pracowników pewnej uczelni wy»szej. Dane s¡:
X = {1, . . . , 20} - zbiór obiektów - pracownicy uczelni wy»szej,
A = {A
1, A
2, A
3, A
4, A
5} - zbiór atrybutów, gdzie: A
1- pªe¢, A
2- wiek, A
3- wyksztaªcenie, A
4- wykonywana praca, A
5- tytuª naukowy.
Zbiór warto±ci atrybutów:
V
A1= {M, K },
V
A2= { 20, 20 ≤ V
A2≤ 35, > 35} = {a, b, c}, V
A3= {P, S , W }
V
A4= {D, T , A}
V
A5= {BT , MR, DR, DC , PR} .
Opisy obiektów:
tx1= (A1, M) · (A2, b) · (A3, W ) · (A4, D) · (A5, PR) tx2= (A1, K ) · (A2, c) · (A3, S ) · (A4, A) · (A5, BT ) tx3= (A1, K ) · (A2, b) · (A3, P) · (A4, A) · (A5, BT ) tx4= (A1, M) · (A2, a) · (A3, S ) · (A4, T ) · (A5, BT ) tx5= (A1, M) · (A2, b) · (A3, W ) · (A4, D) · (A5, MR) tx6= (A1, M) · (A2, c) · (A3, W ) · (A4, D) · (A5, DR) tx7= (A1, K ) · (A2, c) · (A3, W ) · (A4, D) · (A5, DR) tx8= (A1, M) · (A2, c) · (A3, W ) · (A4, D) · (A5, DC ) tx9= (A1, K ) · (A2, b) · (A3, W ) · (A4, D) · (A5, DR) tx10= (A1, M) · (A2, b) · (A3, W ) · (A4, D) · (A5, MR) tx11= (A1, K ) · (A2, b) · (A3, W ) · (A4, D) · (A5, DR) tx12= (A1, K ) · (A2, b) · (A3, S ) · (A4, T ) · (A5, BT ) tx13= (A1, M) · (A2, b) · (A3, S ) · (A4, T ) · (A5, BT ) tx14= (A1, K ) · (A2, b) · (A3, W ) · (A4, D) · (A5, DR) tx15= (A1, M) · (A2, c) · (A3, W ) · (A4, D) · (A5, DC ) tx16= (A1, M) · (A2, c) · (A3, W ) · (A4, D) · (A5, DC ) tx17= (A1, M) · (A2, c) · (A3, W ) · (A4, D) · (A5, PR) tx18= (A1, M) · (A2, b) · (A3, W ) · (A4, D) · (A5, DR) tx19= (A1, K ) · (A2, b) · (A3, W ) · (A4, D) · (A5, MR) tx20= (A1, K ) · (A2, b) · (A3, W ) · (A4, D) · (A5, DR).
S
S
1S
2Rysunek:Dekompozycja systemu informacyjnego S na dwa podsystemy
W pierwszym uj¦to obiekty {x
1, . . . , x
10} , w drugim pozostaªe {x
11, . . . , x
20} .
S
1=< X
0, A
0, V
0, ρ
0> , S
2=< X
00, A
00, V
00, ρ
00> , X
0= {x
1, . . . , x
10} , X
00= {x
11, . . . , x
20} ,
A
0≡ A , A
00≡ A ,
A
0= {A
1, A
2, A
3, A
4, A
5} , A
00= {A
1, A
2, A
3, A
4, A
5} , V
A1= {K , M} , V
A1= {K , M} ,
V
A2= {a, b, c} , V
A2= {a, b, c} , V
A3= {P, S , W } , V
A3= {P, S , W } , V
A4= {D, T , A} , V
A4= {D, T , A} ,
V
A5= {BT , MR, DR, DC , PR} , V
A5= {BT , MR, DR, DC , PR} .
System S1:
tx1= (A1, M) · (A2, b) · (A3, W ) · (A4, D) · (A5, PR) tx2= (A1, K ) · (A2, c) · (A3, S ) · (A4, A) · (A5, BT ) tx3= (A1, K ) · (A2, b) · (A3, P) · (A4, A) · (A5, BT ) tx4= (A1, M) · (A2, a) · (A3, S ) · (A4, T ) · (A5, BT ) tx5= (A1, M) · (A2, b) · (A3, W ) · (A4, D) · (A5, MR) tx6= (A1, M) · (A2, c) · (A3, W ) · (A4, D) · (A5, DR) tx7= (A1, K ) · (A2, c) · (A3, W ) · (A4, D) · (A5, DR) tx8= (A1, M) · (A2, c) · (A3, W ) · (A4, D) · (A5, DC ) tx9= (A1, K ) · (A2, b) · (A3, W ) · (A4, D) · (A5, DR) tx10= (A1, M) · (A2, b) · (A3, W ) · (A4, D) · (A5, MR)
System S2:
tx11= (A1, K ) · (A2, b) · (A3, W ) · (A4, D) · (A5, DR) tx12= (A1, K ) · (A2, b) · (A3, S ) · (A4, T ) · (A5, BT ) tx13= (A1, M) · (A2, b) · (A3, S ) · (A4, T ) · (A5, BT ) tx14= (A1, K ) · (A2, b) · (A3, W ) · (A4, D) · (A5, DR) tx15= (A1, M) · (A2, c) · (A3, W ) · (A4, D) · (A5, DC ) tx16= (A1, M) · (A2, c) · (A3, W ) · (A4, D) · (A5, DC ) tx17= (A1, M) · (A2, c) · (A3, W ) · (A4, D) · (A5, PR) tx18= (A1, M) · (A2, b) · (A3, W ) · (A4, D) · (A5, DR) tx19= (A1, K ) · (A2, b) · (A3, W ) · (A4, D) · (A5, MR) tx20= (A1, K ) · (A2, b) · (A3, W ) · (A4, D) · (A5, DR).
Odpowiednio utworzono listy inwersyjne dla podsystemów.
Przykªadowe listy inwersyjne w podsystemach s¡ nast¦puj¡ce:
Podsystem S1: Podsystem S2:
α1(A1, K ) = {x2, x3, x7, x9}, α2(A1, K ) = {x11, x12, x14, x19, x20}, α1(A1, M) = {x1, x4, x5, x6, x8, x10}, α2(A1, M) = {x13, x15, x16, x17, x18}, α1(A2, a) = {x4}, α2(A2, a) = {∅},
α1(A2, b) = {x1, x3, x5, x9, x10}, α2(A2, b) = {x11, x12, x13, x14, x18, x19, x20}, α1(A2, c) = {x2, x6, x7, x8}, α2(A2, c) = {x15, x16, x17},
α1(A3, W ) = {x1, x5, x6, x7, x8, x9, x10}, α2(A3, W ) = {x11, x14, x15, x16, x17, x18, x19, x20}, α1(A3, S) = {x2, x4} α2(A3, S) = {x12, x13},
α1(A3, P) = {x3}, α2(A3, P) = {∅},
α1(A4, D) = {x1, x5, x6, x7, x8, x9, x10}, α2(A4, D) = {x11, x14, x15, x16, x17, x18, x19, x20}, α1(A4, A) = {x2, x3}, α2(A4, A) = {∅},
α1(A4, T ) = {x4}, α2(A4, T ) = {x12, x13}, α1(A5, PR) = {x1}, α2(A5, PR) = {x17},
α1(A5, BT ) = {x2, x3, x4}, α2(A5, DR) = {x11, x14, x18, x20}, α1(A5, DR) = {x6, x7, x9}. α2(A5, BT ) = {x12, x13}. α1(A5, DC ) = {x8}, α2(A5, DC ) = {x15, x16}, α1(A5, MR) = {x5, x10}. α2(A5, MR) = {x19}.
a) pytanie dotyczy obiektów z kilku podsystemów:
Do systemu zadano pytanie postaci:
ti= (A2, b) · (A3, W ) · (A4, D).
Odpowied¹ na pytanie ti b¦dzie wyszukiwana w obu podsystemach S1 i S2: σ(ti) =\
j
α(dj)|S1∪\
j
α(dj)|S2
w podsystemie S1 jako przeci¦cie list:
σ(ti1) = α1(A2, b) ∩ α1(A3, W ) ∩ α1(A4, D),
σ(ti1) = {x1, x3, x5, x9, x10} ∩ {x1, x5, x6, x7, x8, x9, x10} ∩ {x1, x5, x6, x7, x8, x9, x10} = {x1, x5, x9, x10}.
w podsystemie S2 jako przeci¦cie list:
σ(ti2) = α2(A2, b) ∩ α2(A3, W ) ∩ α2(A4, D), σ(ti2) = {x11, x12, x13, x14, x18, x19, x20} ∩ {x11, x14, x15, x16, x17, x18, x19, x20} ∩
{x11, x14, x15, x16, x17, x18, x19, x20} = {x11, x14, x18, x19, x20}. Odpowied¹ na pytanie ti jest sum¡ odpowiedzi z podsystemów S1i S2:
σ(ti) = σ(ti1) ∪ σ(ti2), zatem
σ(ti) = {x1, x5, x9, x10} ∪ {x11, x14, x18, x19, x20} = {x1, x5, x9, x10, x11, x14, x18, x19, x20}.
b) pytanie dotyczy tylko obiektów z jednego podsystemu:
Gdyby pytanie skªadowe dotyczyªo tylko obiektów okre±lonego podsystemu Si, to odpowied¹ na pytanie ti znajdujemy w systemie Si:
σ(ti) =\
j
α(dj)|Xi, dla ti= d1· d2· . . . · dk, 1 ≤ j ≤ k.
Je±li wi¦c pytanie ti miaªoby posta¢:
ti = (A3, P)
odpowied¹ b¦dzie wyszukiwana tylko w podsystemie S1:
σ(ti) =\
j
α(dj)|S1= α1(A3, P) = {x3}.
Dekompozycja atrybutowa
System S =< X , A, V , ρ > dzielimy na podsystemy S
itak, »e:
S = S
i
S
i,
S
i= hX
i, A
i, V
i, ρ
ii , X
i≡ X ,
A
i⊆ A oraz S
i
A
i= A, V
i⊆ V ,
ρ
i= X
i× A
i→ V
i,
ρ
i= ρ|
Xi×Ai, ρ
i= ρ|
Ai.
W takim przypadku z ka»dym podsystemem S
isystemu S zwi¡zany jest zbiór deskryptorów D
i.
Listy inwersyjne α(d
i) , (d
i∈ D
i) tworzymy oddzielnie dla ka»dego podsystemu S
i. Tak jak poprzednio pytanie do systemu zadawane jest w postaci sumy termów skªadowych. Odpowied¹ σ(t) jest sum¡ odpowiedzi na pytania skªadowe. Odpowied¹ na pytanie skªadowe t
i, znajdujemy w nast¦puj¡cy sposób:
je»eli t
i= d
1· d
2· . . . · d
ki d
1, d
2, . . . , d
k∈ D
ito odpowied¹ jest przeci¦ciem list inwersyjnych podsystemu S
i:
σ(t
i) = α
i(d
1) ∩ α
i(d
2) ∩ . . . ∩ α
i(d
k)
je»eli t
i= d
1· d
2· . . . · d
ki d
1, d
2, . . . , d
l∈ D
i, a d
l +1, . . . , d
k∈ D /
i1 ≤ l ≤ k , to odpowied¹ znajdujemy w systemie S
i, jako odpowied¹ przybli»on¡:
σ(t
i) = (α
i(d
1) ∩ α
i(d
2) ∩ . . . ∩ α
i(d
k))|
D.
Dokªadn¡ odpowied¹ mo»na w wybranym zbiorze obiektów znale¹¢ metod¡
przegl¡du zupeªnego.
W wy»ej omawianym przypadku odpowied¹ na pytanie skªadoweti mo»na te»
znale¹¢ jako cz¦±¢ wspóln¡ odpowiedzi z kilku podsystemówSi . A wi¦c:
σ(ti) = σ(ti1) ∩ σ(ti2) ∩ . . . ∩ σ(tin) gdzie:
σ(ti1) = (α1(d1) ∩ α1(d2) ∩ . . . ∩ α1(dk))|D1, D1∈ S1 jest odpowiedzi¡ na pytanieti znalezion¡ w systemieS1 , natomiast
σ(ti2) = (α2(d1) ∩ α2(d2) ∩ . . . ∩ α2(dk))|D2, D2∈ S2 jest odpowiedzi¡ znalezion¡ w systemieS2 itd.
Ogólnie:
σ(ti) =
n
\
j =1
σ(tij)
σ(tij) = (αj(d1) ∩ αj(d2) ∩ . . . ∩ αj(dk))|Dj
gdzieDj⊆ Di Dj∈ Sj a n liczba podsystemów, których dotyczy pytanie.
Odpowied¹ na pytanie t
imo»na znale¹¢ jako cz¦±¢ wspóln¡
odpowiedzi z kilku podsystemów S
i: σ(t
i) =
n
\
l =1
\
dj∈ti
α(d
j)|
Sl.
Odpowied¹ na pytanie t b¦dzie za± sum¡ odpowiedzi uzyskanych na pytania skªadowe:
σ(t) =
m
[
i =1 n
\
l =1
\
dj∈ti
α(d
j)|
Sl.
Redundancja R przyjmuje posta¢:
R = P
ri =1
α(d
i)|
Dj− N
N
Kiedy stosujemy ?
W przypadku, gdy pytania zadawane do systemu specykuj¡ tylko warto±ci pewnego podzbioru atrybutów.
Tego typu dekompozycja jest stosowana przede wszystkim wówczas, gdy istnieje wielu u»ytkowników systemu i ka»dy
dysponuje j¦zykiem o wªasnym podzbiorze deskryptorów, to znaczy,
»e napªywaj¡ce pytania do systemu dotycz¡ tylko pewnych
atrybutów. Wtedy zgodnie z typem pyta« (lub j¦zykiem
u»ytkownika) tworzymy podsystemy o takim samym zbiorze
obiektów i mniejszym zbiorze atrybutów.
Przykªad
W systemie wyszukiwania S dotycz¡cym pracowników pewnej uczelni wy»szej, gdzie dane s¡:
X = {1, . . . , 20} - zbiór obiektów - pracownicy uczelni wy»szej, A = {A1, A2, A3, A4, A5}- zbiór atrybutów, gdzie: A1 - pªe¢, A2 - wiek, A3 - wyksztaªcenie, A4 - wykonywana praca, A5 - tytuª naukowy.
A zbiór warto±ci atrybutów:
VA1= {M, K },
VA2= {20, 20 ≤ VA2≤35, > 35} = {a, b, c}, VA3= {P, S , W }
VA4= {D, T , A}
VA5= {BT , MR, DR, DC , PR}.
Podzielimy system na 2 podsystemy rozdzielaj¡c pªe¢, wiek oraz wyksztaªcenie od informacji dotycz¡cych tytuªu naukowego i wykonywanej pracy.
S1=< X0, A0, V0, ρ0 >, S2=< X00, A00, V00, ρ00>, X0= {x1, . . . , x20}, X00= {x1, . . . , x20},
X0≡ X, X00≡ X,
A0= {A1, A2, A3}, A00= {A4, A5}, VA1= {K , M}, VA4= {A, D, T },
System S
1Kartoteka wyszukiwawcza:
Podsystem S1:
α1(A1, K ) = {x2, x3, x7, x9, x11, x12, x14, x19, x20}, α1(A1, M) = {x1, x4, x5, x6, x8, x10, x13, x15, x16, x17, x18}, α1(A2, a) = {x4},
α1(A2, b) = {x1, x3, x5, x9, x10, x11, x12, x13, x14, x18, x19, x20}, α1(A2, c) = {x2, x6, x7, x8, x15, x16},
α1(A3, W ) = {x1, x5÷ x11, x14÷ x20}, α1(A3, S ) = {x2, x4, x12, x13},
α1(A3, P) = {x3}.
System S
2Kartoteka Wyszukiwawcza:
Podsystem S2:
α2(A4, A) = {x2, x3},
α2(A4, D) = {x1, x5÷ x11, x14÷ x20}, α2(A4, T ) = {x4, x12, x13},
α2(A5, PR) = {x1, x17},
α2(A5, DR) = {x6, x7x9, x11, x14, x18, x20}, α2(A5, DC ) = {x8, x15, x16},
α2(A5, BT ) = {x2, x3, x4, x12, x13}, α2(A5, MR) = {x5, x10, x19}.
Wyszukiwanie
Do systemu zadano pytanie postaci:
ti = (A1, K ) · (A2, c) · (A5, DC ).
Odpowied¹ na pytanie ti mo»na znale¹¢ w podsystemie S1 jako przeci¦cie list:
σ(ti1) = α1(A1, K ) ∩ α1(A2, c), σ(ti1) =
{x2, x3, x7, x9, x11, x12, x14, x19, x20} ∩ {x2, x6, x7, x8, x15, x16}, σ(ti1) = {x2, x7}.
Nast¦pnie w opisach tych dwóch obiektów sprawdzamy zawieranie si¦
pozostaªych deskryptorów pytania.
tx2 ti, tx7 ti, st¡d σ(ti) = {∅}
Odpowied¹ mo»na te» znale¹¢ z podsystemu S2jako list¦:
σ(ti2) = α2(A5, DC ) = {x8, x15, x16}.
i sprawdzi¢ czy obiekty te zawieraj¡ w swoim opisie pozostaªe deskryptory pytania ti, to znaczy: (A1, K )oraz (A2, c)
tx8≥ ti, tx15≥ ti, tx16≥ ti, st¡d σ(ti) = {x8, x15, x16}
Wtedy odpowied¹ na pytanie ti jest cz¦±ci¡ wspóln¡ odpowiedzi z podsystemów S1 i S2:
σ(ti) = σ(ti1) ∩ σ(ti2), zatem
σ(ti) = {∅} ∩ {x8, x15, x16} = {∅}.
Parametry metody list inwersyjnych
Struktura bazy danych jest w metodzie list inwersyjnych bardziej zªo»ona ni» w metodzie list prostych. Poza
pami¦taniem opisów obiektów istnieje konieczno±¢ pami¦tania w kartotece wyszukiwawczej systemu list inwersyjnych
utworzonych dla deskryptorów systemu.
Metoda wnosi du»¡ redundancj¦:
R = P
ri =1
α(d
i) − N N
gdzie: d
i∈ D , r - liczba deskryptorów systemu, N - liczba obiektów (lub adresów obiektów) systemu S.
modykacje zmniejszaj¡ redundancj¦ w podsystemach przy zachowaniu lub niewielkim zmniejszeniu szybko±ci
wyszukiwania informacji.
Aktualizacja bazy danych
aktualizacja wymaga dokonania zmian w listach inwersyjnych (usuni¦cie listy, utworzenie nowej listy, reorganizacja
istniej¡cych list) niezale»nie od dodania, czy usuni¦cia samego opisu obiektu w bazie danych.
W przypadku zmian w opisie obiektu aktualizacja sprowadza si¦ do usuni¦cia obiektu z nieaktualnym opisem, wprowadzenia obiektu z aktualnym opisem i zmiany odpowiednich list
inwersyjnych. Wprowadzenie modykacji metody wyszukiwania
powoduje caªo±ciow¡ reorganizacj¦ bazy danych.
Czas wyszukiwania
Czas wyszukiwania informacji w metodzie list inwersyjnych jest bardzo krótki.
W przypadku gdy pytanie jest zadane w postaci t = d1+ d2+ . . . + dk, odpowied¹ jest natychmiastowa i czas wyszukiwania τ jest równy czasowi wyszukiwania list τw:
τ = τw.
W przypadku gdy t = t1+ t2+ . . . + tm, to znaczy pytanie jest sum¡ pyta«
skªadowych postaci ti = d1· d2· . . . · dk (pytanie skªadowe ti jest iloczynem deskryptorów), czas odpowiedzi na pytanie t jest dªu»szy, gdy» dochodzi czas potrzebny na znalezienie cz¦±ci wspólnej wyszukanych list. Czas wyszukiwania:
τ =
m
X
i =1
τwi+ τpi
gdzie: τw - czas wyszukania list, τp - czas porównywania wyszukanych list.
Czas wyszukiwania zale»y od pytania ti, to znaczy od liczby deskryptorów w pytaniu. Czas porównywnia zale»y od liczby deskryptorów pytania ti, oraz od dªugo±ci list zwi¡zanych z tym pytaniem.
Zwykle zachodzi zale»no±¢ τp > τw oraz τp ro±nie ze wzrostem liczby deskryptorów w pytaniu i dªugo±ci list. Modykacje mog¡ prowadzi¢ do dodania czasu przegl¡du list, zatem czas wyszukiwania: τ0= τ + τ0, gdzie
Korzy±ci z dekompozycji
Warto dokona¢ porównania parametrów takich jak zaj¦to±¢ pami¦ci dla kartoteki wyszukiwawczej, redundancj¦ oraz czasy wyszukiwania dla systemów bez dekompozycji i systemów odpowiednio
zdekomponowanych: obiektowo b¡d¹ atrybutowo.
Tablica:Porównanie parametrów oceny systemów informacyjnych parametr metodasyczna kla- dekompozycja
obiektowa dekompozycja atrybutowa zaj¦to±¢ pami¦ci ? bajtów S1:? bajtów S1:? bajtów
S2:? bajtów S2:? bajtów
redundancja ? S1:? S1:?
S2:? S1:? czas wyszukiwania
czas wyszukania listy in-
wersyjnej τw= S1: τw= S1: τw=
S2: τw= S2: τw= czas przeci¦cia list inwer-
syjnych τp τp0 τp
τp0< τp
Zakªadamy, »e adres pojedynczego obiektu b¦dziemy pami¦ta¢ na jednym bajcie oraz »e czas wyszukania jednej listy inwersyjnej τw to jedna sekunda.
redni czas przeci¦cia kilku list inwersyjnych b¦dziemy okre±la¢ jako τp.
Czas wyszukania (dla przykªadowego pytania ti omawianego wcze±niej) wi¡»e si¦ ze znalezieniem odpowiedniej list inwersyjnej.
Dekompozycja obiektowa dostarcza mniejszej zaj¦to±ci pami¦ci w podsystemach, oraz krótszego czasu przeci¦cia list inwersyjnych (gdy» listy takie zawieraj¡ z reguªy mniejsz¡ liczb¦ adresów).
Dekompozycja atrybutowa pozwala zmniejszy¢ zarówno zaj¦to±¢
pami¦ci w podsystemach jak i redundancj¦. Znacznie zmniejsza tak»e czas wyszukania list inwersyjnych, gdy» maj¡c mniej list w ka»dym podsystemie szybciej docieramy do tych zawieraj¡cych deskryptory pytania ti.