• Nie Znaleziono Wyników

Metoda składowych atomowych

N/A
N/A
Protected

Academic year: 2021

Share "Metoda składowych atomowych"

Copied!
83
0
0

Pełen tekst

(1)

Metoda składowych atomowych

Agnieszka Nowak - Brzezińska

Wykład z przedmiotu „Systemy Wyszukiwania Informacji”

(2)

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).

(3)

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.

(4)

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.

(5)
(6)

Własności termów elementarnych

(7)

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.

(8)

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.

(9)

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

(10)

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)

(11)

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

(12)

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

(13)

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

(14)

Budowa kartoteki wyszukiwawczej

(15)

Numeracja składowych atomowych

(16)

Wyszukiwanie odpowiedzi na pytania

(17)

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

(18)

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

(19)

Proces wyszukiwania odpowiedzi na

pytania

(20)

Przykład wyszukiwania dla tTe

(21)

Przykład wyszukiwania dla t Te

(22)

Przykład nr 3

(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)

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

(31)

• 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ą

(32)

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).

(33)

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.

(34)

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.

(35)

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}

(36)
(37)
(38)
(39)
(40)
(41)

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.

(42)

Metoda odcinkowa

• Metoda przyspiesza odpowiedzi na pytania ogólne.

• Wybieramy atrybut aiA, 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.

(43)

Tablica odcinków

(44)

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.

(45)

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

(46)

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)

(47)

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)

(48)

• 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.

(49)

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.

(50)

Dekompozycja obiektowa

(51)

Wyszukiwanie w dekompozycji obiektowej

(52)

Dekompozycja atrybutowa

(53)

• 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).

(54)

Wyszukiwanie w dekompozycji atrybutowej

(55)

Dekompozycja hierarchiczna

(56)

Definicja zależności między atrybutami

(57)
(58)
(59)

•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 .

(60)

Dekompozycja hierarchiczna wymuszona

(61)
(62)
(63)
(64)

Dekompozycja hierarchiczna zależna - przykład

(65)
(66)

Przykład wyszukiwania - nr 1

(67)

Przykład wyszukiwania - nr 2

(68)

Podsystem z ograniczonymi obiektami vs. Podsystem z

ograniczonymi atrybutami

(69)

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.

(70)

Łączenie systemów informacyjnych

(71)

Warunki łączenia systemów

(72)

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:

(73)

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

(74)

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 ? ?

(75)

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

(76)

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 ? ?

(77)

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

(78)

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.

(79)

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

(80)

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.

(81)

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.

(82)

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.

(83)

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.

Cytaty

Powiązane dokumenty

34 Eliza Gruczyńska, Katarzyna Maciaszek frakcji polarnej w produktach przeestryfikow ania (tab. 2 ) stw ierdzono, że najw iększą zaw artością składników polarnych,

Proponowana zmiana wpłynie negatywnie na możliwość wzięcia w postępowaniu innych podmiotów niż podmiot kierujący przedmiotowy wniosek (ograniczy konkurencję). Dodatkowo

Nadmieniamy, że warunek z punktu b.8 jest niemożliwy do spełnienia z uwagi na fakt, że zakres prac przewidziany do tego zadania jednoznacznie wskazuje, że przedmiotowe

a) Raport z badań przeprowadzony przez specjalistyczne laboratorium (np. Labosport lub ISA-Sport lub Sports Labs Ltd), dotyczący oferowanej nawierzchni i

Rysunek: Schemat procesu rozpraszania elektronu na jądrze atomowym z uwolnieniem jednego neutronu w przybliżeniu PWIA z wymianą jednego fotonu.. Nukleon po uwolnieniu nie oddzałuje

W Tabeli 2 wpisać odczytane z Panelu wirtualnego przyrządu wskazania wartości: skutecznej prądu (obliczanej dla zadanej liczby próbek) 1, 3, 5-tej harmonicznej

Był to okres dość burzliwy, ponieważ po awarii reaktora w Czarnobylu w 1986 roku, początkowo zatajonej przed społeczeństwem (kilka dni po katastrofie w miejscowości

Prawo zamówień publicznych (t.j. 1843), Zamawiający dokonuje zmiany zapisów załącznika nr 1 do SIWZ w opisie technicznego pkt 2.6.. Zgodnie z opisem technicznym pkt 2.6 ppkt