Dekompozycja w systemach wyszukiwania informacji METODY

Transkrypt

Dekompozycja w systemach wyszukiwania informacji METODY
Dekompozycja w systemach wyszukiwania informacji
METODY DEKOMPOZYCJI:
 ATRYBUTOWA
 OBIEKTOWA
 HIERARCHICZNA (zależna i wymuszona)
Dekompozycje mają cel wtedy kiedy zachodzi któryś z poniższych warunków:
 Duża liczba obiektów,
 Kiedy rozproszenie BD jest z góry narzucone
 Duża liczba pytao dotyczy określonych podsystemów (może to wynikad z
fizycznego rozproszenia).
 Przy dekompozycji mamy do czynienia ze skomplikowaniem struktury BD.
Dekompozycja obiektowa

System informacyjny dekomponujemy obiektowo gdy w systemie tym operujemy na bardzo dużej liczbie obiektów

Obiekty opisane są tymi samymi atrybutami, przy czym liczba atrybutów jest niewielka.
Założenia dekompozycji obiektowej
Dla dalszych rozważań przedstawiony zostanie model dekompozycji obiektowej zgodnie z założeniami systemu funkcyjnego. Został on przyjęty, ponieważ
opis obiektów oraz przyjęta metoda wyszukiwania oparte są o system funkcyjny.
= < X, A, V,  > dzieli się na podsystemy S1, S2, ... , Sn, gdzie:
System informacyjny S
Si = < Xi, A, V, i>
S = S1  S2  ... Sn,
n
S =  Si,
i = 1
Xi  X,
 Xi = X,
i
i = Xi x A  V.
i =  Xi
Zbiór obiektów X w systemie S jest .sumą podzbiorów obiektów Xi każdego podsystemu Si.
Zbiory atrybutów w podsystemach Si są identyczne ze zbiorem atrybutów systemu głównego S.
Funkcja informacji w podsystemach:
i = Xi x A  V.
i =  Xi
jest zawężeniem funkcji informacji systemu głównego wynikającym ze zmniejszonych zbiorów obiektów.
Pytanie do systemu zadawane jest w postaci normalnej:
t = t1 + t2 + t +...+ tm.
Odpowiedź na pytanie jest sumą odpowiedzi na pytania składowe:
(t) = (t1)  (t2)  ...  (tm).
 Jeżeli term elementarny ti dotyczy wyłącznie obiektów jednego podsystemu to pytanie jest kierowane do tego podsystemu i tam znajdowana jest odpowiedź.
(ti) = (ti) Si = (ti) Xi
 Jeżeli term elementarny ti dotyczy obiektów z kilku podsystemów to pytanie jest kierowane do tych podsystemów, a odpowiedź otrzymujemy jako sumę
odpowiedzi z podsystemów.
m
(ti) =  (ti) Si =  (ti) Xi,
i = 1
gdzie m. - liczba podsystemów, których dotyczy pytanie.
W każdym podsystemie znajduje się mniejsza liczba obiektów, niż w systemie centralnym. Aktualizacja przy tej dekompozycji jest prosta, natomiast
redundancja nie występuje.
Czas odpowiedzi:

na pytanie ogólne
k
e4 =  e3i
i=1
gdzie:
e3i
k

— czas znajdowania odpowiedzi w i – tym podsystemie,
— liczba podsystemów, których dotyczy pytanie.
na pytanie szczegółowe
k
og4 = n +  e4i
i=1
gdzie:
k — liczba podsystemów, których dotyczy pytanie.
W każdym podsystemie znajduje się mniejsza liczba obiektów, niż w systemie centralnym. Aktualizacja przy tej dekompozycji jest
prosta, natomiast redundancja nie występuje
Przykład:
Przykładem tej dekompozycji może być system obsługujący bibliotekę oraz jej filie. W systemie takim obiekty zostaną podzielone na grupy, przy czym
niektóre z obiektów mogą się powielać w kilku grupach. Zbiór atrybutów jest taki sam we wszystkich podsystemach. Obiekty rozróżnione są kluczem, którym jest
nr_indeksu. Nasz przykładowy system może wyglądać następująco:
 biblioteka główna,
 biblioteka wydziału techniki,
 biblioteka wydziału nauk o ziemi,
 biblioteka wydziału filologii,
 biblioteka wydziału fizyki,
 biblioteka wydziału nauk społecznych.
 Zdefiniujmy nasz system jako czwórkę:


S = < X, A, V,  >
gdzie:

 X — zbiór obiektów { x1, x2, ..., xn}
 A — zbiór atrybutów {a1, a2, ... a7} gdzie:

a1
— Nr_indeksu,

a2
— Nazwisko,

a3
— Imię,

a4
— Adres_zamieszkania,

a5
— Nr_telefonu,

a6
— Wydział,

a7
— Kierunek studiów.

 V — zbiór wartości atrybutów,
  — funkcja informacji,

 Taki system dzielimy na podsystemy, gdzie każdy podsystem to odpowiednio:

podsystem S1 to biblioteka główna,

podsystem S2 to biblioteka wydziału techniki,

podsystem S3 to biblioteka wydziału nauk o ziemi,

podsystem S4 to biblioteka wydziału filologii,

podsystem S5 to biblioteka wydziału fizyki,
 podsystem S6 to biblioteka wydziału nauk społecznych.



S = <X,A,V,q>
S5 = <X5,A,V,q>
S1 = <X1,A,V,q>
S2 = <X2,A,V,q>
S6 = <X6,A,V,q>
S4 = <X4,A,V,q>
S3 = <X3,A,V,q>
 Zdefiniujemy teraz odpowiednio wszystkie podsystemy:

S1 = < X1, A, V, 1 >
S = <X,A,V,q>
 gdzie:
 X1 — zbiór obiektów { x1, x2, ..., xi}
 A — zbiór atrybutów {a1, a2, ... a7} gdzie:

a1
— Nr_indeksu,

a2
— Nazwisko,

a3
— Imię,

a4
— Adres_zamieszkania,

a5
— Nr_telefonu,

a6
— Wydział,

a7
— Kierunek studiów.



S1 = <X1,A,V,q>
 S2 = < X2, A, V, 2 >
 gdzie:
S = <X,A,V,q>
 X2 — zbiór obiektów { xi+1, xi+2, ..., xj}
 A — zbiór atrybutów {a1, a2, ... a7} gdzie:

a1
— Nr_indeksu,

a2
— Nazwisko,

a3
— Imię,

a4
— Adres_zamieszkania,

a5
— Nr_telefonu,

a6
— Wydział,

a7
— Kierunek studiów.
S2 = <X2,A,V,q>

S3 = < X3, A, V, 3 >
S = <X,A,V,q>
 gdzie:
 X3 — zbiór obiektów { xj+1, xj+2, ..., xk}
 A — zbiór atrybutów {a1, a2, ... a7} gdzie:

a1
— Nr_indeksu,

a2
— Nazwisko,

a3
— Imię,

a4
— Adres_zamieszkania,

a5
— Nr_telefonu,

a6
— Wydział,

a7
— Kierunek studiów.

S3 = <X3,A,V,q>
S = <X,A,V,q>
S4 = < X4, A, V, 4 >
 gdzie:
 X4 — zbiór obiektów { xk+1, xk+2, ..., xp}
 A — zbiór atrybutów {a1, a2, ... a7} gdzie:

a1
— Nr_indeksu,

a2
— Nazwisko,

a3
— Imię,

a4
— Adres_zamieszkania,

a5
— Nr_telefonu,

a6
— Wydział,

a7
— Kierunek studiów.
S4 = <X4,A,V,q>
S = <X,A,V,q>
 S5 = < X5, A, V, 5 >
 X5 — zbiór obiektów { xp+1, xp+2, ..., xq}
 A — zbiór atrybutów {a1, a2, ... a7} gdzie:

a1
— Nr_indeksu,

a2
— Nazwisko,

a3
— Imię,

a4
— Adres_zamieszkania,

a5
— Nr_telefonu,

a6
— Wydział,

a7
— Kierunek studiów.

S5 = <X5,A,V,q>
S = <X,A,V,q>
S6 = < X6, A, V, 6 >
X6 — zbiór obiektów { xq+1, xq+2, ..., xn}
 A — zbiór atrybutów {a1, a2, ... a7} gdzie:

a1
— Nr_indeksu,

a2
— Nazwisko,

a3
— Imię,

a4
— Adres_zamieszkania,

a5
— Nr_telefonu,

a6
— Wydział,

a7
— Kierunek studiów.
S6 = <X6,A,V,q>

 Odpowiedzi otrzymujemy z jednego podsystemu - gdy pytanie dotyczy obiektów z jednego podsystemu, lub jako sumę odpowiedzi z kilku
podsystemów jeżeli pytanie dotyczy obiektów z kilu podsystemów
Dekompozycja atrybutowa
W systemie można dokonać dekompozycji atrybutowej gdy np. użytkowników systemu da się podzielić ze względu na rodzaj zadawanych pytań. Pytania
pojedynczego użytkownika ( lub grupy użytkowników ), dotyczą innych grup atrybutów systemu S, lecz tego samego zbioru obiektów.
Założenia dekompozycji atrybutowej
Dla dalszych rozważań przedstawiony zostanie model dekompozycji atrybutowej zgodnie z założeniami systemu funkcyjnego.
Został on przyjęty, ponieważ opis obiektów oraz przyjęta metoda wyszukiwania oparte są o system funkcyjny.
System informacyjny S = < X, A, V,  > dzieli się na
podsystemy S1, S2, ... , Sn,
gdzie:
Si = < X, Ai, Vi, i >
S = S1  S2  ... Sn
n
S =  Si
i=1
Zbiór obiektów X w każdym podsystemie jest identyczny ze zbiorem obiektów w systemie S.
Zbiory atrybutów podsystemów są podzbiorami zbioru atrybutów systemu głównego S, a suma tych podzbiorów (z każdego podsystemu), daje pełny zbiór
atrybutów systemu S.
 Ai  A
tak, że  Ai = A
0 < i <= n
i
Zbiory wartości atrybutów w podsystemach są podzbiorami zbioru wartości systemu S, co wynika bezpośrednio z faktu ograniczenia w podsystemach
zbioru atrybutów, a nie jest absolutnie związane z obcięciami zbiorów wartości dla poszczególnych atrybutów.
 Vi  V
0 < i <= n
Funkcja informacji w podsystemach:
i = X x Ai  Vi
i =  X
x Ai
jest zawężeniem funkcji informacji systemu głównego wynikającym ze zmniejszonych zbiorów atrybutów i wartości atrybutów.
W każdym podsystemie Si systemu S jest określony inny zbiór deskryptorów D, oraz w ramach podsystemu możliwe jest stosowanie wybranej metody
wyszukiwania informacji
Wyszukiwanie informacji w systemie z dekompozycją atrybutową
Pytanie do systemu zadawane jest w postaci normalnej. Odpowiedź na pytanie składowe otrzymać możemy na dwa sposoby:
1. Gdy dotyczy ono wyłącznie atrybutów z jednego podsystemu jest kierowane do tego podsystemu i tam znajdowana jest odpowiedź.
(tj) = (tj)Si
2. Gdy atrybuty pytania składowego należą do różnych podsystemów, wówczas pytanie kierowane jest do podsystemów przez obcinanie zbioru atrybutów w
danych podsystemach. Odpowiedzią końcową na term składowy jest przecięcie zbioru obiektów stanowiących odpowiedź z podsystemów.
(tj) = (tj)S1 
(tj)S2  ... 
(tj)Sn
3. Jeżeli możliwe jest określenie, do których podsystemów należy zadać pytanie, tzn. do których podsystemów należą atrybuty pytania, to odpowiedzią na nie
będzie część wspólna odpowiedzi z wybranych podsystemów
(tj) = (tj)S1 
(tj)S2  ... 
(tj)Sm
gdzie m < n
W każdym podsystemie znajduje się mniejsza liczba atrybutów, niż w systemie centralnym, tym samym krótsze są opisy obiektów. Aktualizacja przy tej
dekompozycji jest znacznie utrudniona, natomiast redundancja w ramach podsystemów zależy od przyjętej metody wyszukiwania informacji, a w ramach całego
systemu wzrasta ze względu na występowanie obiektu w każdym podsystemie.
Czas odpowiedzi:

na pytanie ogólne
k
og5 = ni +  e5i
i=1
gdzie:
ni — czas niezbędny na ewentualną normalizację termu w podsystemie,
k — liczba podsystemów, których dotyczy pytanie.

na pytanie szczegółowe
k
e5 =  e3i + p
i=1
gdzie:
p — czas niezbędny na znalezienie części wspólnej odpowiedzi z podsystemów.
W każdym podsystemie znajduje się mniejsza liczba atrybutów, niż w systemie centralnym, tym samym krótsze
są opisy obiektów. Aktualizacja przy tej dekompozycji jest znacznie utrudniona, natomiast redundancja w
ramach podsystemów zależy od przyjętej metody wyszukiwania informacji, a w ramach całego systemu wzrasta
ze względu na występowanie obiektu w każdym podsystemie.
Przykład:
Na potrzeby przykładu zdefiniujemy system zawierający kompleksową informacje o każdym obywatelu zamieszkującym dany kraj. System udziela
informacji odpowiednim grupom użytkowników mających dostęp tylko do wybranych informacji np.
 Policja ma dostęp do danych personalnych oraz do kartoteki karnej,
 Urząd skarbowy ma dostęp do części danych osobowych oraz do danych o sytuacji materialnej,
 Służba zdrowia ma dostęp do danych medycznych,
 Urząd statystyczny ma dostęp do części danych personalnych
Obiekty rozróżnione są kluczem, którym jest Nr_pesel.
Definiujemy system jako czwórkę
S = < X, A, V,  >
gdzie:
X — zbiór obiektów { x1, x2, ..., xn}
A — zbiór atrybutów {a1, a2, ... a17} gdzie:
a1
— Nr_pesel,
a7
— Nr_telefonu,
a13
— Stosunek_do_służby_wojskowej,
a2
— Nazwisko,
a8
— Imię_ojca,
a14
— Miejsce_zatrudnienia,
a3
— Imię,
a9
— Imię_matki,
a15
— Wykształcenie,
a4
— Data_urodzenia,
a10
— Nazwisko_panieńskie_matki,
a16
— Karalność,
a5
— Miejsce_urodzenia,
a11
— Stan_cywilny,
a17
— Dochody,
a6
— Adres_zamieszkania,
a12
— Rysopis,
a18
— Stan_zdrowia.
V — zbiór wartości atrybutów,
 — funkcja informacji,
Ponieważ mamy cztery grupy użytkowników, którzy potrzebują informacje o różnych sprawach, dlatego aby ułatwić im pracę i przyspieszyć czas wyszukiwania
dzielimy system na cztery podsystemy:
S
S1 = < X, A1, V1, 1 >
S2 = < X, A2, V2, 2 >
S3 = < X, A3, V3, 3 >
S4 = < X, A4, V4, 4 >
S1
S2
S3
S4
System S1 przechowuje informacje interesujące Policję tj. dane personalne osoby oraz informacje o karalności osoby.
S1 = < X, A1, V1, 1 >
gdzie:
X — zbiór obiektów { x1, x2, ..., xn}
A1 — zbiór atrybutów {a1, a2, ... a16} gdzie:
a1
— Nr_pesel,
a9
— Imię_matki,
a2
— Nazwisko,
a10
— Nazwisko_panieńskie_matki,
a3
— Imię,
a11
— Stan_cywilny,
a4
— Data_urodzenia,
a12
— Rysopis,
a5
— Miejsce_urodzenia,
a13
— Stosunek_do_służby_wojskowej,
a6
— Adres_zamieszkania,
a14
— Miejsce_zatrudnienia,
a7
— Nr_telefonu,
a15
— Wykształcenie,
a8
— Imię_ojca,
a16
— Karalność,
V1 — zbiór wartości atrybutów,
1 — funkcja informacji,
S
S1
S1= < X, A1, V1, 1 >
S2
S3
S4
System S2 przechowuje informacje interesujące Urząd skarbowy tj. dane osobowe oraz informacje o dochodach danej osoby.
S2 = < X, A2, V2, 2 >
gdzie:
X — zbiór obiektów { x1, x2, ..., xn}
A2 — zbiór atrybutów {a1,a14, a15, a17} gdzie:
a1
— Nr_pesel,
a14
— Miejsce_zatrudnienia,
a15
— Wykształcenie,
a17
— Dochody
V2 — zbiór wartości atrybutów,
2 — funkcja informacji,
S
S1
S2
S3
S4
S2= < X, A2, V2, 2 >
System S3 przechowuje informacje interesujące Służbę zdrowia tj. dane osobowe oraz informacje o stanie zdrowia danej osoby.
S3 = < X, A3, V3, 3 >
gdzie:
X — zbiór obiektów { x1, x2, ..., xn}
S
A3 — zbiór atrybutów {a1,a14, a18,} gdzie:
a1
— Nr_pesel,
a14
— Miejsce_zatrudnienia,
a18
— Stan_zdrowia.
S1
S2
S3
S4
S3= < X, A3, V3, 3 >
System S4 przechowuje informacje interesujące Urząd statystyczny tj. dane osobowe.
S4 = < X, A4, V4, 4 >
gdzie:
S
X — zbiór obiektów { x1, x2, ..., xn}
A4 — zbiór atrybutów {a1,a13, a15,} gdzie:
a1
— Nr_pesel,
a13
— Stosunek_do_służby_wojskowej,
a15
— Wykształcenie,
S1
S2
S3
S4
S4= < X, A4, V4, 4 >
Odpowiedzi na pytania otrzymujemy odpowiednio jako odpowiedź z jednego podsystemu lub jako część wspólną odpowiedzi z kilku podsystemów.
Wnioski

Metody te stosowane tylko w określonych przypadkach pozwalają na usprawnienie pracy tych systemów oraz na zmniejszenie czasu wyszukiwania
odpowiedzi na zadane pytanie do systemu.

Parametry określające zajętość pamięci oraz redundancję w systemie zależą od przyjętej metody wyszukiwania na najniższym poziome
zdekomponowanego systemu.
Łączenie podsystemów w jeden system
S
S2
S1
…
Warunki łączenia systemów informacyjnych:
Zakładamy, że istnieje system funkcyjny S =<X,A,V,q> i system S0=<X0,A0,V0,q0>.
Definicja podsystemu mówi, że S0 jest podsystemem systemu S, gdy ten zbiór X0 ⊆ X,
A0 ⊆ A, oraz q0= q|(X0× A0), S0= S|(X0× A0).
Jeżeli dany system S0 jest podsystemem systemu S oraz zbiory obiektów są identyczne
X = X0 to powiemy, że S0 jest podsystemem systemu S z ograniczonymi atrybutami S0
⊆ S, S0 = S|A0 .
Jeżeli dany system S0 jest podsystemem systemu S oraz zbiory atrybutów są
identyczne A = A0 to powiemy, że S0 jest podsystemem systemu S z ograniczonymi
obiektami S0 ⊆ S S0= S|X0
MSA dla systemu po dekompozycji obiektowej
S0 ⊆ S S0= S|X0, A = A0, Lsa = m1 * m2 * … * mn gdzie mi = card Vai
LsaS = 2 * 3 * 2 * 3 = 36
LsaS0 = 2 * 3 * 2 * 3 = 36
S = <X,A,V,q>
a
b
c
d
X1
A1
B1
C1
D1
X2
A2
B1
C2
D3
X3
A1
B2
C1
X4
A1
B2
X5
A2
B4
S0 = <X0,A0,V0,q0>
a
b
c
d
X1
A1
B1
C1
D1
D3
X2
A2
B1
C2
D3
C2
D2
X5
A2
B4
C1
D1
C1
D1
Uwaga!
Najczęściej gdy już dokonuje się dekompozycji obiektowej to stosuje się z góry modyfikację dodatkową z pamiętaniem
tylko niepustych składowych atomowych, więc siłą rzeczy finalnie tych składowych atomowych powstałych będzie
MNIEJ dla S0 niż S.
MSA dla systemu po dekompozycji atrybutowej
S0 ⊆ S S0= S|A0, X = X0, Lsa = m1 * m2 * … * mn gdzie mi = card Vai
LsaS = 2 * 3 * 2 * 3 = 36
LsaS0 = 2 * 3= 6

Podobne dokumenty