Metoda składowych atomowych
Agnieszka Nowak - Brzezińska
Wykład z przedmiotu „Systemy Wyszukiwania Informacji”
Literatura
1. Wakulicz-Deja A., Boryczka U., Nowak-Brzezińska A:.Podstawy Systemów Wyszukiwania Informacji - Analiza metod, EXIT, Warszawa, Polska, (2014)
2. Pawlak Z.: Systemy Informacyjne: podstawy teoretyczne, WNT, Warszawa, Polska, (1983)
3. Grzelak, K., Kochańska, J.: System wyszukiwania informacji metodą składowych atomowych MSAWYSZ, ICS PAS Reports No 511, Warszawa, (1983).
Główne cechy metody
• Metoda zaproponowana została przez Profesora Zdzisława Pawlaka, który powiedział, że podstawą metody jest twierdzenie: "każde pytanie daje się przedstawić w postaci normalnej tzn. w postaci sumy iloczynów, w których występuje tylko jeden deskryptor każdego atrybutu."
• Metoda została opracowana w Instytucie matematyki Politechniki Warszawskiej.
• Celem metody MSA było stworzenie możliwości ustalania licznych zbiorów atrybutów oraz uzyskiwania odpowiedzi na pytania ogólne w krótszym czasie niż na pytania szczegółowe. Rozwiązanie takie pozwoliłoby korzystać z systemu dużej liczbie użytkowników zainteresowanych różnymi atrybutami tych samych obiektów.
• System MSA został przetestowany na zbiorze prac naukowo-badawczych realizowanych w resorcie przemysłu maszynowego. Dokumenty opisujące prace charakteryzowały się dużą liczbą danych tekstowych i liczbowych.
Opis metody
• Jest to metoda wyszukiwania informacji z grupy metod matematycznych, w której obiekty są grupowane w tzw. składowe atomowe.
• W systemie o zadanym zbiorze atrybutów A, oraz zbiorze wartości atrybutów Va (a∈A) można utworzyć dokładnie ∪a∈A card (Va) zbiorów deskryptorów (zawierających po jednym deskryptorze z każdego atrybutu).
Wyznaczają one podzbiory zbioru obiektów nazwane SKŠADOWYMI ATOMOWYMI.
• Odpowiedzią na pytanie jest suma składowych atomowych wyznaczonych przez deskryptory pytania doprowadzonego do postaci normalnej.
Własności termów elementarnych
Definicje składowej atomowej
• SA to najmniejsza klasa równoważności w systemie S.
• SA to zbiór obiektów będących odpowiedzą na tE:
Jeśli term ma postać: te = (a,a1)(b,b2)(c,c2)
To składową atomową będzie znaczenie tego termu: (te) = {x6}
• SA to zbiór obiektów nierozróżnialnych w systemie S.
• SA to zbiór obiektów będą podzbiorem wszystkich obiektów systemu takich, że odpowiedź na term elementarny jest równa temu zbiorowi.
Klasa równoważności
𝑎 = { 𝑥1, 𝑥2, 𝑥5, 𝑥6 , 𝑥3, 𝑥4, 𝑥7, 𝑥8 } ෨𝑏 = { 𝑥1, 𝑥2 , {𝑥3, 𝑥4, 𝑥5, 𝑥6, 𝑥7, 𝑥8}}
ǁ𝑐 = { 𝑥1, 𝑥5}, {𝑥2, 𝑥6 , 𝑥3, 𝑥7 , 𝑥4, 𝑥8 } 𝑎𝑏 = { 𝑥1, 𝑥2}{𝑥5, 𝑥6 , 𝑥3, 𝑥4, 𝑥7, 𝑥8 }෪ ෪𝑏𝑐 = { 𝑥1}, {𝑥2 , 𝑥3, 𝑥7 , 𝑥4, 𝑥8 , {𝑥5}, {𝑥6}}
෦
𝑎𝑐 = { 𝑥1, 𝑥5}, {𝑥2, 𝑥6 , 𝑥3, 𝑥7 , 𝑥4, 𝑥8 } 𝒂𝒃𝒄 = { 𝒙𝟏}, {𝒙𝟐 , 𝒙𝟑, 𝒙𝟕 , 𝒙𝟒, 𝒙𝟖 , {𝒙𝟓}, {𝒙𝟔}}෪
a b c
x1 a1 b1 c1
x2 a1 b1 c2
x3 a2 b2 c3
x4 a2 b2 c4
x5 a1 b2 c1
x6 a1 b2 c2
x7 a2 b2 c3
x8 a2 b2 c4
Składowa atomowa to najmniejsza klasa równoważności w systemie S.
Tworzenie kartoteki wyszukiwawczej Kodowanie wartości atrybutów
a b c
x1 a1 b1 c1
x2 a1 b1 c2
x3 a2 b2 c3
x4 a2 b2 c4
x5 a1 b2 c1
x6 a1 b2 c2
x7 a2 b2 c3
x8 a2 b2 c4
Va = {a1,a2}
Vb = {b1,b2}
Vc = {c1,c2,c3,c4}
0 1
0 1
0 1 2 3
Wszystkie możliwe informacje w systemie
(a,a1)(b,b1)(c,c1) (a,a1)(b,b1)(c,c2) (a,a1)(b,b1)(c,c3) (a,a1)(b,b1)(c,c4) (a,a1)(b,b2)(c,c1) (a,a1)(b,b2)(c,c2) (a,a1)(b,b2)(c,c3) (a,a1)(b,b2)(c,c4) (a,a2)(b,b1)(c,c1) (a,a2)(b,b1)(c,c2) (a,a2)(b,b1)(c,c3) (a,a2)(b,b1)(c,c4) (a,a2)(b,b2)(c,c1) (a,a2)(b,b2)(c,c2) (a,a2)(b,b2)(c,c3) (a,a2)(b,b2)(c,c4)
Proces tworzenia kartoteki wyszukiwawczej
(a,a1)(b,b1)(c,c1) (a,a1)(b,b1)(c,c2) (a,a1)(b,b1)(c,c3) (a,a1)(b,b1)(c,c4) (a,a1)(b,b2)(c,c1) (a,a1)(b,b2)(c,c2) (a,a1)(b,b2)(c,c3) (a,a1)(b,b2)(c,c4) (a,a2)(b,b1)(c,c1) (a,a2)(b,b1)(c,c2) (a,a2)(b,b1)(c,c3) (a,a2)(b,b1)(c,c4) (a,a2)(b,b2)(c,c1) (a,a2)(b,b2)(c,c2) (a,a2)(b,b2)(c,c3) (a,a2)(b,b2)(c,c4)
000 001 002 003 010 011 012 013 100 101 102 103 110 111 112 113
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
nr SA zbiór obiektów
0 x1
1 x5
2
3
4 x2
5 x6
6
7
8
9
10
11 x3,x7
12
13
14
15 x4,x8
Opis deskryptorowy
Numer SA
Tylko niektóre są niepuste
(a,a1)(b,b1)(c,c1) (a,a1)(b,b1)(c,c2) (a,a1)(b,b1)(c,c3) (a,a1)(b,b1)(c,c4) (a,a1)(b,b2)(c,c1) (a,a1)(b,b2)(c,c2) (a,a1)(b,b2)(c,c3) (a,a1)(b,b2)(c,c4) (a,a2)(b,b1)(c,c1) (a,a2)(b,b1)(c,c2) (a,a2)(b,b1)(c,c3) (a,a2)(b,b1)(c,c4) (a,a2)(b,b2)(c,c1) (a,a2)(b,b2)(c,c2) (a,a2)(b,b2)(c,c3) (a,a2)(b,b2)(c,c4)
a b c
x1 a1 b1 c1
x2 a1 b1 c2
x3 a2 b2 c3
x4 a2 b2 c4
x5 a1 b2 c1
x6 a1 b2 c2
x7 a2 b2 c3
x8 a2 b2 c4
Składowa atomowa ?
Składowa atomowa
nr SA zbiór obiektów
0 x1
1 x5
2
3
4 x2
5 x6
6
7
8
9
10
11 x3,x7
12
13
14
15 x4,x8
Składowa atomowa może zawierać więcej niż 1 obiekt ! Składową atomową tworzą obiekty nierozróżnialne w
systemie S
Budowa kartoteki wyszukiwawczej
Numeracja składowych atomowych
Wyszukiwanie odpowiedzi na pytania
Przykład nr 1
(a,a1)(b,b1)(c,c1) (a,a1)(b,b1)(c,c2) (a,a1)(b,b2)(c,c1) (a,a1)(b,b2)(c,c2) (a,a1)(b,b3)(c,c1) (a,a1)(b,b3)(c,c2) (a,a1)(b,b4)(c,c1) (a,a1)(b,b4)(c,c2) (a,a2)(b,b1)(c,c1) (a,a2)(b,b1)(c,c2) (a,a2)(b,b2)(c,c1) (a,a2)(b,b2)(c,c2) (a,a2)(b,b3)(c,c1) (a,a2)(b,b3)(c,c2) (a,a2)(b,b4)(c,c1) (a,a2)(b,b4)(c,c2)
000 001 010 011 020 021 030 031 100 101 110 111 120 121 130 131
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
nr SA zbiór obiektów
0 x1
1 x2
2 x3
3 x4
4
5
6
7
8
9
10
11
12 x5
13 x6
14 x7
15 x8
a b c
x1 a1 b1 c1
x2 a1 b1 c2
x3 a1 b2 c1
x4 a1 b2 c2
x5 a2 b3 c1
x6 a2 b3 c2
x7 a2 b4 c1
x8 a2 b4 c2
a b c
x1 a1 b1 c1
x2 a1 b1 c2
x3 a2 b2 c3
x4 a2 b2 c4
x5 a1 b2 c1
x6 a1 b2 c2
x7 a2 b2 c3
x8 a2 b2 c4
(a,a1)(b,b1)(c,c1) (a,a1)(b,b1)(c,c2) (a,a1)(b,b1)(c,c3) (a,a1)(b,b1)(c,c4) (a,a1)(b,b2)(c,c1) (a,a1)(b,b2)(c,c2) (a,a1)(b,b2)(c,c3) (a,a1)(b,b2)(c,c4) (a,a2)(b,b1)(c,c1) (a,a2)(b,b1)(c,c2) (a,a2)(b,b1)(c,c3) (a,a2)(b,b1)(c,c4) (a,a2)(b,b2)(c,c1) (a,a2)(b,b2)(c,c2) (a,a2)(b,b2)(c,c3) (a,a2)(b,b2)(c,c4)
000 001 002 003 010 011 012 013 100 101 102 103 110 111 112 113
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
nr SA zbiór obiektów
0 x1
1 x5
2
3
4 x2
5 x6
6
7
8
9
10
11 x3,x7
12
13
14
15 x4,x8
Przykład nr 2
Proces wyszukiwania odpowiedzi na
pytania
Przykład wyszukiwania dla tTe
Przykład wyszukiwania dla t Te
Przykład nr 3
Modyfikacje Metody Składowych Atomowych
Wprowadzane modyfikacje mają na celu likwidację miejsc pustych wnoszonych przez metodę klasyczną lub (i) skrócenie czasu wyszukiwania odpowiedzi na pytanie ogólne.
• Metoda z tablicą adresową
• Metoda podziału połówkowego
• Metoda odcinkowa
• Dekompozycja obiektowa
• Dekompozycja atrybutowa
• Dekompozycja hierarchiczna
• Wyszukiwanie polega na tym, że obliczamy nrSA (numer
składowej atomowej) i szukamy go w TA (tablicy adresowej).
• Jeśli szukany numer składowej atomowej znajduje się w tablicy adresowej to pobieramy nazwy obiektów jako odpowiedź na pytanie.
• Jeśli nie ma takiego nrSA w TA to odpowiedzią na pytanie jest zbiór pusty.
Metoda z tablicą adresową
Metoda składowych atomowych z tablicą adresową
• Kartoteka wyszukiwawcza zostaje tu powiększona o tablicę adresową o takiej liczbie wierszy jak liczba niepustych składowych atomowych systemu.
• Tablica pamięta numer składowej i adres odpowiadającego jej zbioru obiektów.
• Odpowiadanie na pytanie zadane do systemu przebiega tak jak w metodzie klasycznej do momentu znalezienia numeru składowej
• atomowej.
• Następnie przeglądamy tablicę adresową i jeżeli numer składowej nie występuje w tablicy, to odpowiedzią jest zbiór pusty, jeżeli występuje, to generujemy odpowiedź jako zbiór obiektów wskazany adresem podanym w tablicy.
• Łatwo zauważyć, że czas wyszukiwania będzie tu powiększony o
niezbyt duży czas przeglądu tablicy adresowej (numery składowych
uporządkowane).
Metoda podziału połówkowego
• Metoda może być połączona z metodą polegającą na tworzeniu tablicy adresowej pamiętającej tylko niepuste składowe atomowe i również gdy nie stosowano numeracji SA.
• Można wyszukiwać połówkowo, zakładając porządek
leksykograficzny.
Metoda podziału połówkowego w MSA
• Metodę możemy stosować dla systemu wyszukiwania bez numeracji składowych atomowych lub z numeracją. Wtedy przy leksykograficznym uporządkowaniu opisów składowych atomowych w bazie danych znajdowanie odpowiedzi na term elementarny polega na porównaniu termu elementarnego z opisem składowej atomowej w połowie kartoteki wyszukiwawczej.
• Przy leksykograficznym uporządkowaniu opisów składowych atomowych możemy stwierdzić, w której połowie bazy znajduje się szukany opis. Następnie w wybranej połowie znajdujemy właściwy opis składowej metodą przeglądu zupełnego.
• Wymaga to przejrzenia połowy składowych atomowych.
• Naturalnie do wybranej połowy można znów zastosować metodę podziału połówkowego. W przypadku k-krotnego stosowania metody podziału połówkowego musimy przeszukać M = LSA 2k składowych atomowych, gdzie: k - liczba stosowanych podziałów połówkowych, LSA - liczba składowych atomowych w systemie S. Jest to naturalnie znacznie szybsze niż przegląd zupełny składowych.
Przykład podziału połówkowego dla MSA
Załóżmy, że mamy system informacyjny dotyczący drzew rosnących w Polsce, opisanych trzema atrybutami:
T - termin kwitnienia R - rodzaj liścia
K - rodzaj kwiatu
Wartości poszczególnych atrybutów są następujące:
VT= {wiosna, wiosna/lato, lato} zakodowane odpowiednio {w, wl, l}
VR= {igły, pierzaste, dłoniaste, klapowane, owalne} zakodowane odpowiednio {i, p, d, k, o}
VK= {stożkowe, zwisające, inne} zakodowane {st, zw, in}
Krok 1:
Składowe mają numer od 0 do 44
≈
Wybieramy I połowę
Krok 2:
Składowe mają numer od 0 do 22
23≈1
Wybieramy II połowę wybranej wcześniej połowy
Krok 3:
Składowe mają numer od 12 do 22
11≈6
Wybieramy II połowę wybranej wcześniej połowy
Krok 4:
Składowe mają numer od 18 do 22
5≈3
Wybieramy I połowę wybranej wcześniej połowy
Wynik:
Przegląd składowych o numerach 18, 19, 20 by ostatecznie wybrać składową nr 20 i uznać obiekt x7 jako odpowiedź
na pytanie.
Metoda odcinkowa
• Metoda przyspiesza odpowiedzi na pytania ogólne.
• Wybieramy atrybut aiA, który ma wiele wartości. On będzie na 1 miejscu w opisie obiektów, grupujemy obiekty w odcinki, tak, że obok siebie są obiekty o tej samej (j -tej) wartości atrybutu ai. Taki blok nazywamy j - odcinkiem.
• Wybrany atrybut ai znajduje się na pierwszym miejscu w opisie składowych atomowych, a pozostałe atrybuty pozostają w dowolnej kolejności.
• Zajętość pamięci jest powiększona o obszar zajęty przez tablicę odcinków.
Tablica odcinków
Wyszukiwanie w metodzie odcinkowej
• dla pytań elementarnych z atrybutem ai, najpierw szukamy j-odcinka i potem w ramach j-odcinka robimy przegląd zupełny (PZ) konkretnej składowej atomowej (SA)
• dla pytań ogólnych z atrybutem ai, szukamy j-odcinka i cały j-odcinek jest już odpowiedzią. Nie ma potrzeby normalizacji.
• Dla pytań ogólnych bez atrybutu ai, konieczna jest normalizacja lub PZ całej KW.
• Widać, że metoda jest szczególnie dogodna w przypadku, gdy atrybut ai jest atrybutem występującym zwykle w pytaniach zadanych do systemu.
Wtedy szybką odpowiedź uzyskujemy zarówno na pytania ogólne, jak i szczegółowe.
a b c
x1 a1 b1 c1
x2 a1 b1 c2
x3 a2 b2 c3
x4 a2 b2 c4
x5 a1 b2 c1
x6 a1 b2 c2
x7 a2 b2 c3
x8 a2 b2 c4
c a b
x1 c1 a1 b1
x5 c1 a1 b2
x2 c2 a1 b1
x6 c2 a1 b2
x3 c3 a2 b2
x7 c3 a2 b2
x4 c4 a2 b2
x8 c4 a2 b2
opis deskryptorowy (c,c1) (a,a1) (b,b1) (c,c1) (a,a1) (b,b2) (c,c1) (a,a2) (b,b1) (c,c1) (a,a2) (b,b2) (c,c2) (a,a1) (b,b1) (c,c2) (a,a1) (b,b2) (c,c2) (a,a2) (b,b1) (c,c2) (a,a2) (b,b2) (c,c3) (a,a1) (b,b1) (c,c3) (a,a1) (b,b2) (c,c3) (a,a2) (b,b1) (c,c3) (a,a2) (b,b2) (c,c4) (a,a1) (b,b1) (c,c4) (a,a1) (b,b2) (c,c4) (a,a2) (b,b1) (c,c4) (a,a2) (b,b2)
identyfikato r SA 000 001 010 011 100 101 110 111 200 201 210 211 300 301 310 311
nr SA
zbiór obiektów
0 x1
1 x5
2 f
3 f
4 x2
5 x6
6 f
7 f
8 f
9 f
10 f
11 x3,x7
12 f
13 f
14 f
15 x4,x8
j-odcinek
adres j- odcinka
(c,c1) 0
(c,c2) 4
(c,c3) 8
(c,c4) 12
Proces tworzenia kartoteki wyszukiwawczej dla metody odcinkowej Kartoteka wtórna atrybut „c” więc Wybieramy
idzie on na 1 miejsce w opisie
obiektów
Kartoteka wyszukiwawcza
c a b
x1 c1 a1 b1
x5 c1 a1 b2
x2 c2 a1 b1
x6 c2 a1 b2
x3 c3 a2 b2
x7 c3 a2 b2
x4 c4 a2 b2
x8 c4 a2 b2
nr SA
zbiór obiektów
0 x1
1 x5
2
3
4 x2
5 x6
6
7
8
9
10
11 x3,x7
12
13
14
15 x4,x8
j-odcinek
adres j- odcinka
(c,c1) 0
(c,c2) 4
(c,c3) 8
(c,c4) 12
Proces wyszukiwania
krok 1: szukamy w tablicy odcinków odcinka (c,c3)
krok 2:Składowe atomowe zawarte w j-odcinku są odpowiedzią na pytanie t.
Przykład nr 1
Kartoteka wtórna
Kartoteka wyszukiwawcza
t = (c,c3)
c a b
x1 c1 a1 b1
x5 c1 a1 b2
x2 c2 a1 b1
x6 c2 a1 b2
x3 c3 a2 b2
x7 c3 a2 b2
x4 c4 a2 b2
x8 c4 a2 b2
nr SA
zbiór obiektów
0 x1
1 x5
2
3
4 x2
5 x6
6
7
8
9
10
11 x3,x7
12
13
14
15 x4,x8
j-odcinek adres j-odcinka
(c,c1) 0
(c,c2) 4
(c,c3) 8
(c,c4) 12
Przykład nr 2
Proces wyszukiwania
krok 1: szukamy w tablicy odcinków odcinka (c,c3)
krok 2: odpowiedź przybliżona to SA odpowiadające wartości c3 atrybutu c.
(t)≈SA8-11
Krok 3: przegląd zupełny składowych atomowych z odpowiedzi przybliżonej:
(a,a2) ≤ tx3 (a,a2) ≤ tx7
(t)={x3,x7}
t = (c,c3)(a,a2)
• W najmniej korzystnym przypadku wyszukiwanie odpowiedzi wymaga przeglądu L’≈ LSA/mi składowych atomowych, gdzie mi = card Vai co w przypadku, gdy ai jest atrybutem o maksymalnej liczbie wartości daje niewielką liczbę składowych do przeglądu.
• To wymaga dodatkowego założenia, że atrybut ai dzieli w miarę równomiernie zbiór obiektów systemu.
optymalizacja metody odcinkowej
• W metodzie odcinkowej, poza wybranym atrybutem najliczniejszym ai, pozostałe atrybuty w opisach składowych mogły występować w dowolnej, przyjętej kolejności. Można jednak przyjąć, że drugą wartością w opisie składowej będzie wartość atrybutu aj, o drugiej co do wielkości liczności zbioru wartości.
• Wtedy można utworzyć tablicę hierarchiczną, w której najpierw odbywa się wyszukiwanie zadanego odcinka atrybutu ai, a następnie atrybutu aj. Daje to jeszcze większe skrócenie czasu wyszukiwania.
• Liczba przeglądanych składowych wynosi wtedy maksymalnie LSA/(mi*mj) , gdzie: mi= card Vai , mj = card Vaj .
• Jednakże wprowadzenie tablic hierarchicznych rozszerza znacznie zajętość pamięci i komplikuje strukturę bazy danych (odcinki dla atrybutów dodawanych - niespójne). Celowość wprowadzenia takiej hierarchii zależy od wielu czynników, między innymi programowych i sprzętowych.
Dekompozycja obiektowa
Wyszukiwanie w dekompozycji obiektowej
Dekompozycja atrybutowa
• W każdym podsystemie tworzymy składowe atomowe dla podsystemu, to znaczy, że opisy składowych składają się tylko z wartości atrybutów danego podsystemu.
• Ponieważ liczba atrybutów w podsystemach jest niewielka, zatem w podsystemie występuje znacznie mniej składowych atomowych niż w systemie bez dekompozycji, a co za tym idzie, czasy wyszukiwania w podsystemach są krótkie.
• Metoda ta jest szczególnie dogodna, jeżeli większość pytań dotyczy tylko jednego podsystemu. Daje ona również znaczne skrócenie czasu
wyszukiwania dla pytań ogólnych (pytanie takie jest kierowane do jednego podsystemu -i tylko w obrębie podsystemu normalizowane).
Wyszukiwanie w dekompozycji atrybutowej
Dekompozycja hierarchiczna
Definicja zależności między atrybutami
•Jeżeli w pytaniu t chcemy znaleźć nazwiska pacjentów należących do przychodni I i z określonej ulicy, to pytanie zostanie skierowane do systemu Si , który zawiera tylko pacjentów I przychodni, a w którym atrybutami są nazwa ulicy i nazwisko pacjenta.
•Następnie pytanie zostanie skierowane do systemu Sij , w którym pamiętani są pacjenci określonej ulicy, a atrybutem jest tylko nazwisko i tam znajdujemy nazwiska pacjentów.
•Jeżeli pytanie byłoby o wszystkich pacjentów przychodni pierwszej, to naturalnie odpowiedź znaleźlibyśmy na drugim poziomie hierarchii, generując zbiory obiektów z wskazanych podsystemów systemu Si .
Dekompozycja hierarchiczna wymuszona
Dekompozycja hierarchiczna zależna - przykład
Przykład wyszukiwania - nr 1
Przykład wyszukiwania - nr 2
Podsystem z ograniczonymi obiektami vs. Podsystem z
ograniczonymi atrybutami
System S i jego podsystemy
X a b c d e f
x1 1 1 1 2 1 1
x2 1 2 1 2 2 1
x3 2 1 1 1 3 2
x4 2 2 2 1 1 2
x5 1 1 2 2 2 3
x6 1 2 2 2 3 3
X1 a b c d
x1 1 1 1 2
x2 1 2 1 2
x3 2 1 1 1
x4 2 2 2 1
x5 1 1 2 2
x6 1 2 2 2
X2 a b e f
x1 1 1 1 1
x2 1 2 2 1
x3 2 1 3 2
x4 2 2 1 2
X3 a b c d e f
x1 1 1 1 2 1 1
x2 1 2 1 2 2 1
x3 2 1 1 1 3 2
x4 2 2 2 1 1 2
S
S1 S2 S3
•System S1 jest podsystemem systemu S – z ograniczonymi atrybutami.
•System S2 jest podsystemem systemu S – z ograniczonymi obiektami i atrybutami.
•System S3 jest podsystemem systemu S – z ograniczonymi obiektami.
Łączenie systemów informacyjnych
Warunki łączenia systemów
a b c d e f
1 1 1 1 2 1 1
2 1 2 1 2 2 1
3 2 1 1 1 3 2
4 2 2 2 1 1 2
5 1 1 2 2 2 3
6 1 2 2 2 3 3
a b c d
1 1 1 1 2
2 1 2 1 2
3 2 1 1 1
4 2 2 2 1
5 1 1 2 2
6 1 2 2 2
a b e f
1 1 1 1 1
2 1 2 2 1
3 2 1 3 2
4 2 2 1 2
a b c d e f
1 1 1 1 2 1 1
2 1 2 1 2 2 1
3 2 1 1 1 3 2
4 2 2 2 1 1 2
S
s1 s2 s3
Łączenie systemów informacyjnych
Warunek łączenia systemów informacyjnych:
s1 u s2 a b c d e f
1 1 1 1 2 1 1
2 1 2 1 2 2 1
3 2 1 1 1 3 2
4 2 2 2 1 1 2
5 1 1 2 2 ? ?
6 1 2 2 2 ? ?
Przypadek nr 1
s1 s2 s3
s1 u s2 ?
a b c d
1 1 1 1 2
2 1 2 1 2
3 2 1 1 1
4 2 2 2 1
5 1 1 2 2
6 1 2 2 2
a b e f
1 1 1 1 1
2 1 2 2 1
3 2 1 3 2
4 2 2 1 2
a b c d e f
1 1 1 1 2 1 1
2 1 2 1 2 2 1
3 2 1 1 1 3 2
4 2 2 2 1 1 2
Przypadek nr 2
s1 s2 s3
(s1 u s2) u s3 ?
a b c d
1 1 1 1 2
2 1 2 1 2
3 2 1 1 1
4 2 2 2 1
5 1 1 2 2
6 1 2 2 2
a b e f
1 1 1 1 1
2 1 2 2 1
3 2 1 3 2
4 2 2 1 2
a b c d e f
1 1 1 1 2 1 1
2 1 2 1 2 2 1
3 2 1 1 1 3 2
4 2 2 2 1 1 2
a b c d e f
1 1 1 1 2 1 1
2 1 2 1 2 2 1
3 2 1 1 1 3 2
4 2 2 2 1 1 2
5 1 1 2 2 ? ?
6 1 2 2 2 ? ?
Przypadek nr 3
s1 s2 s3
(s2 u s3)?
a b c d
1 1 1 1 2
2 1 2 1 2
3 2 1 1 1
4 2 2 2 1
5 1 1 2 2
6 1 2 2 2
a b e f
1 1 1 1 1
2 1 2 2 1
3 2 1 3 2
4 2 2 1 2
a b c d e f
1 1 1 1 2 1 1
2 1 2 1 2 2 1
3 2 1 1 1 3 2
4 2 2 2 1 1 2
a b c d e f
1 1 1 1 2 1 1
2 1 2 1 2 2 1
3 2 1 1 1 3 2
4 2 2 2 1 1 2
Przypadek nr 4
s1 s2 s3
(s2 u s3) u s1 ?
a b c d
1 1 1 1 2
2 1 2 1 2
3 2 1 1 1
4 2 2 2 1
5 1 1 2 2
6 1 2 2 2
a b e f
1 1 1 1 1
2 1 2 2 1
3 2 1 3 2
4 2 2 1 2
a b c d e f
1 1 1 1 2 1 1
2 1 2 1 2 2 1
3 2 1 1 1 3 2
4 2 2 2 1 1 2
a b c d e f
1 1 1 1 2 1 1
2 1 2 1 2 2 1
3 2 1 1 1 3 2
4 2 2 2 1 1 2
5 1 1 2 2 ? ?
6 1 2 2 2 ? ?
Przypadek nr 5
S a b c d e f
X1 1 1 1 2 1 1
X2 1 2 1 2 2 1
X3 2 1 1 1 3 2
X4 2 2 2 1 1 2
X5 1 1 2 2 2 3
X6 1 2 2 2 3 3
S1 a b c d
x1 1 1 1 2
x2 1 2 1 2
x3 2 1 1 1
x4 2 2 2 1
x5 1 1 2 2
x6 1 2 2 2
S2 d e f
x1 2 1 1
x2 2 2 1
x3 1 3 2
x4 1 1 2
x5 2 2 3
x6 2 3 3
S3 a b c d e f
x4 2 2 2 1 1 2
x5 1 1 2 2 2 3
x6 1 2 2 2 3 3
(s1 u S2) u S3 = S1 u (S2 u S3)
s1 u S2 a b c d e f
X1 1 1 1 2 1 1
X2 1 2 1 2 2 1
X3 2 1 1 1 3 2
X4 2 2 2 1 1 2
X5 1 1 2 2 2 3
X6 1 2 2 2 3 3
s2 u S3 a b c d e f
X1 2 1 1
X2 2 2 1
X3 1 3 2
X4 2 2 2 1 1 2
X5 1 1 2 2 2 3
X6 1 2 2 2 3 3
(s1 u S2) u
s3 a b c d e f
X1 1 1 1 2 1 1
X2 1 2 1 2 2 1
X3 2 1 1 1 3 2
X4 2 2 2 1 1 2
X5 1 1 2 2 2 3
X6 1 2 2 2 3 3
Parametry Metody Składowych Atomowych
• Struktura bazy danych jest prosta w metodzie klasycznej, staje się bardziej złożona w modyfikacjach. Wymaga przekształcenia kartoteki wyszukiwawczej w metodzie odcinkowej lub reorganizacji bazy danych przy stosowaniu dekompozycji.
• Klasyczna metoda nie wnosi redundancji. Redundancja może wystąpić w dekompozycji obiektowej i atrybutowej.
• Zajętość pamięci jest największa w metodzie klasycznej i przy dekompozycji atrybutowej. W pozostałych modyfikacjach nadmiarowość jest niewielka.
• Czas wyszukiwania: Metoda SA ma krótsze czasy wyszukiwania odpowiedzi na pytania elementarne niż na ogólne z wyjątkiem modyfikacji odcinkowej i dekompozycji atrybutowej.
Redundancja i zajętość pamięci
• Klasyczna metoda składowych atomowych nie wnosi redundancji.
Redundancja może wystąpić w dekompozycji obiektowej MSA, jeżeli nie jest założona rozłączność zbiorów obiektów w podsystemach.
• Redundancję wnosi również dekompozycja atrybutowa systemu.
Redundancję w dekompozycji atrybutowej możemy wyrazić wzorem:
R=(n-1); gdzie n jest liczbą podsystemów w systemie zdekomponowanym, przy czym n zależy od typu dekompozycji atrybutowej (w dekompozycji hierarchicznej zależy np. od liczby poziomów hierarchii, a także od cardB, czyli liczności zbioru atrybutów zależnych).
• Zajętość pamięci w systemie z klasyczną metodą MSA wynosi:
• z = mSA * LSA gdzie: mSA - średnia liczba jednostek pamięci niezbędna dla zapamiętania jednej składowej atomowej, a LSA - liczba składowych atomowych systemu
Aktualizacja – dodawanie nowych obiektów
• w metodzie klasycznej: obliczenie nr SA, odpowiadającego opisowi obiektu i wprowadzenie obiektu do obliczonej SA.
• W metodzie z tablicą adresową: sprawdzenie występowania nr SA w tablicy adresowej. Jeśli numer ten występuje w tablicy, to obiekt zostaje wpisany pod wskazany adres, jeśli nie występuje, to należy wprowadzić nr SA do tablicy adresowej i przyporządkować mu adres, pod którym wpisujemy obiekt.
• W metodzie odcinkowej: j.w. z tym że w tablicy adresowej znajdujemy adres odcinka dla wartości wybranego atrybutu ai, występującej w opisie obiektu. Do znalezionego odcinka dopisujemy obiekt (może to się wiązać z koniecznością rozszerzenia odcinka).
• W dekompozycji obiektowej: obiekt dopisujemy w odpowiednim podsystemie zgodnie z nr SA odpowiadającej opisowi obiektu.
• W dekompozycji atrybutowej: obiekt wprowadzamy do każdego podsystemu. Nr SA obliczamy dla zbioru atrybutów podsystemu zgodnie z wartościami, jakie te atrybuty przyjęły w opisie obiektu.
Aktualizacja – usuwanie obiektów
• w metodzie klasycznej: obliczenie nr SA zgodnie z opisem obiektu, usunięcie obiektu z odpowiedniej składowej.
• W modyfikacji z tablicą adresową: znajdujemy obliczony nrSA w tablicy adresowej i znajdując adres SA usuwamy z niej wskazany obiekt. W szczególnym przypadku może to prowadzić do likwidacji SA, a tym samym jej numeru w tablicy adresowej (jeżeli tylko jeden obiekt odpowiadał tej składowej).
• W metodzie odcinkowej: w opisie obiektu wyodrębniamy wartość wybranego atrybutu ai . Znajdujemy odcinek odpowiadający tej wartości (adres odcinka) i z odcinka usuwamy wskazany obiekt.
• W metodzie z dekompozycją obiektową: postępujemy tak jak w metodzie klasycznej tylko w odpowiednim podsystemie.
• W metodzie z dekompozycją atrybutową należy usunąć obiekt ze wszystkich podsystemów, znajdując odpowiednie składowe w podsystemach, zgodnie z wartościami atrybutów podsystemu występujących w opisie obiektu.
Aktualizacja c.d.
• Zmiany w opisie obiektu sprowadzają się do kolejnego wykonania dwóch operacji: usunięcia obiektu o nieaktualnym opisie, wprowadzenia obiektu o aktualnym opisie.
• Proces aktualizacji w metodzie składowych atomowych jest czasochłonny, zwłaszcza przy stosowanych dekompozycjach. Należy tu także zwrócić uwagę na powstawanie pustych miejsc przy usuwaniu obiektów z kartoteki wyszukiwawczej lub na konieczność usuwania opisów obiektów czy stosowania odsyłaczy przy wprowadzaniu nowych obiektów do dość sztywnej bazy danych w metodzie składowych atomowych.
Wnioski
• metoda składowych atomowych ma znacznie krótsze czasy wyszukiwania odpowiedzi na pytania elementarne niż na ogólne z wyjątkiem modyfikacji odcinkowej i dekompozycji atrybutowej.
• Metoda nie wnosi redundancji.