METODA LIST PROSTYCH
zadanie 1.
Dane są dwa dowolnie wybrane rekordy kartoteki systemu wyszukiwania informacji o komputerach zainstalowanych w danym przedsiębiorstwie. Po przeanalizowaniu rekordów zaproponuj organizację systemu z pełnym jego zdefiniowaniem i wykorzystaniem właściwej modyfikacji met. list prostych.
Odra 1325 |
IBM 360/50 |
Elwro |
IBM |
Polska |
USA |
1974 |
1975 |
32 k |
512 k |
24 bity |
8 bitów |
2 programy |
16 programów |
słowowa |
znakowa |
110 rozkazów |
139 rozkazów |
S=<X,A,V,q> definicja systemu informacyjnego, gdzie X to zbiór obiektów, A to zbiór atrybutów, V to zbiór wartości atrybutów, q to funkcja informacji o obiektach.
Zbiór obiektów X={x1…xn}. Wprawdzie zostały przedstawione tylko dwa opisy obiektów z kartoteki zewnętrznej ale w całej kartotece jest z pewnością n obiektów.
Zbiór atrybutów A={A1,A2,A3,A4,A5,A6,A7,A8,A9}.
Funkcja informacji q:X×A → V
Zbiory wartości atrybutów:
VA1={Odra,IBM,inne}→{1,2,3}
VA2={Elwro,IBM,inne}→{I,II,III}
VA3={Polska,USA,inne}→{P,U,I}
VA4={do 1970,1970-1980,po 1980}→{a,b,c}
VA5={32k,512k,inne}→{A,B,C}
VA6={24 bity,8 bitów,inne}→{24,8,IN}
VA7={2 programy,16 programów,inne}→{2p,16p,ip}
VA8={znakowa,słowowa}→{z,s}
VA9={110 roz.,139 roz.,inne}→{110,139,iroz}
Kartoteka wtórna jest tu zarazem kartoteką wyszukiwawczą.
Stosuję tu modyfikację z uporządkowaniem opisów obiektów polegającą na ustaleniu kolejności atrybutów w opisie obiektów.
W pytaniach więc musi być taka sama kolejność atrybutów. Ta modyfikacja ułatwia i przyśpiesza proces wyszukiwania.
Wygląd kartoteki wyszukiwawczej:
x1={(A1,1)(A2,I)(A3,P)(A4,b)(A5,A)(A6,24)(A7,2p)
(A8,s)(A9,110)}
x2={(A1,2)(A2,II)(A3,U)(A4,b)(A5,B)(A6,8)(A7,16p)
(A8,z)(A9,139)}
:
:
Dalej idącą modyfikacją może być modyfikacja polegająca na pogrupowaniu obiektów w/g jednego atrybutu. W naszym przypadku będzie to atrybut A1, ponieważ zakładam, ze ten atrybut najczęściej pojawia się w pytaniach do systemu oraz dzieli kartotekę równomiernie.
Tabelka przedstawiająca funkcję informacji q dla pogrupowanego systemu
|
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
A8 |
A9 |
x1 |
1 |
I |
P |
b |
A |
24 |
2p |
s |
110 |
x2 |
2 |
II |
U |
b |
B |
8 |
16p |
z |
139 |
|
|
|
|
|
|
|
|
|
|
zadanie 2.
Przedstawić najbardziej optymalną implementację zadanego systemu informacyjnego dla metody list prostych z odpowiednią modyfikacją .
Opisy obiektów są następujące :
tx1=a1*b2*c5*d8*e1*f1
tx2=a2*b1*c4*d5*e1*f1
tx3=a2*b7*c4*d4*e1*f4
tx4=a3*b7*c4*d4*e1*f4
tx5=a5*b2*c4*d8*e1*f5
tx6=a4*b5*c4*d6*e1*f3
tx7=a1*b2*c5*d8*e1*f1
tx8=a3*b7*c5*d4*e1*f1
tx9=a2*b7*c5*d4*e1*f3
tx10=a1*b2*c5*d8*e1*f3
gdzie aj oznacza deskryptor określony przez j-tą wartość atrybutu a.
Mamy system zdefiniowany w następujący sposób :
S=<X,A,V,q> , gdzie :
X={x1…x10}-zb.obiektów
A={a,b,c,d,e,f}-zb.atrybutów
V-zb.wartości atrybutów
Va={a1,a2,a3,a4,a5}
Vb={b1,b2,b5,b7}
Vc={c4,c5}
Vd={d4,d5,d8}
Ve={e1}
Vf={f1,f3,f4,f5}
q - funkcja informacji na obiektach q:X×A → V
Z systemu możemy usunąć atrybut e, ponieważ posiada on tylko jedną wartość e1 i wszystkie obiekty systemu są opisane właśnie ta wartością e1, czyli wszystkie obiekty są nierozróżnialne w systemie ze względu na atrybut e Usunięcie atrybutu e nie wnosi nowej informacji do systemu.
Z kartoteki wyszukiwawczej możemy również usunąć atrybut d, który jest atrybutem równoważnym z atrybutem b. Usuwając atrybut d nie stracimy informacji.
b1→d5
b2→d8
b5→d6
b7→d4
Otrzymujemy taką kartotekę:
tx1=a1*b2*c5*f1
tx2=a2*b1*c4*f1
tx3=a2*b7*c4*f4
tx4=a3*b7*c4*f4
tx5=a5*b2*c4*f5
tx6=a4*b5*c4*f3
tx7=a1*b2*c5*f1
tx8=a3*b7*c5*f1
tx9=a2*b7*c5*f3
tx10=a1*b2*c5*f3
Dokonuję podziału zbioru obiektów w/g atrybutu a , ponieważ jest to atrybut wielowartościowy ,czyli dzieli kartotekę na wiele grup, dzieli kartotekę w miarę równomiernie. Zakładam również ,że atrybut a często występuje w pytaniach do systemu.
tx1=a1*b2*c5*f1
tx7=a1*b2*c5*f1
tx10=a1*b2*c5*f3
tx2=a2*b1*c4*f1
tx3=a2*b7*c4*f4
tx9=a2*b7*c5*f3
tx4=a3*b7*c4*f4
tx8=a3*b7*c5*f1
tx6=a4*b5*c4*f3
tx5=a5*b2*c4*f5
Tak powstałym grupom można nadać nazwy, bądź numery, które będą spełniać rolę identyfikatora grupy.
zadanie 3.
Dany jest system informacyjny :
x1={a1,b2,c3,d2,e5,f4}
x2={a1,b2,c3,d1,e5,f4}
x3={a2,b2,c2,d1,e5,f2}
x4={a2,b2.c2.d1,e5,f4}
x5={a3,b2,c1,d1,e5,f4}
x7={a3,b1,c1,d2,e5,f2}
x8={a1,b1,c3,d2,e5,f4}
x9={a3,b1,c1,d2,e5,f4}
x10={a2,b1,c2,d2,e5,f2}
Gdyby system pracował w oparciu o metodę list prostych to jaką modyfikację tej metody byś zastosował? Odpowiedź należy uzasadnić podając uzyskaną poprawę parametrów systemu /czas wyszukiwania, zajętość pamięci, itp.
Mamy tu system zdefiniowany :
S=<X,A,V,q>
X={x1,....,x10}
A={A,B,C,D,E,F}
VA={a1,a2,a3}
VB={b1,b2}
VC={c1,c2,c3}
VD={d1,d2}
VE={e5}
VF={f2,f4}
Z systemu możemy usunąć atrybut E, ponieważ obiekty systemu są opisane jedną wartością tego atrybutu e5 , czyli wszystkie obiekty są nierozróżnialne w systemie ze względu na atrybut E. Atrybut ten nie wnosi nowej informacji do systemu.
Dlatego , że nie znamy zbioru pytań zadawanych do systemu nie możemy zastosować modyfikacji z organizacją zwartą obiektów , ani modyfikacji zwanej odcedzaniem.
Ponieważ opisy obiektów są alfanumeryczne można tu zastosować podział połówkowy.
Należy opisy obiektów uporządkować rosnąco lub malejąco i ponumerować od 1 do r.
x8={a1,b1,c3,d2,e5,f4}
x2={a1,b2,c3,d1,e5,f4}
x1={a1,b2,c3,d2,e5,f4}
x6={a2,b1,c2,d2,e5,f2}
x10={a2,b1,c2,d2,e5,f2}
x3={a2,b2,c2,d1,e5,f2}
x4={a2,b2,c2,d1,e5,f4}
x7={a3,b1,c1,d2,e5,f2}
x9={a3,b1,c1,d2,e5,f4}
x5={a3,b2,c1,d1,e5,f4}
Pytanie składowe kierowane do systemu powinno być przedstawione w postaci ciągu liczb.
Porównujemy term składowy ti pytania z opisem obiektu x[r/2], czyli 5. W ten sposób znajdujemy połówkę , w której znajduje się odpowiedź na pytanie składowe ti.
Na tej połówce dalej możemy dokonać podziału połówkowego.
Więcej niż 3-krotny podział traci sens.
W tej sytuacji (3-krotnego podziału), przy takich samych czasach wyszukiwania metoda grupowania jest dogodniejsza.
W naszym systemie istnieje atrybut wielowartościowy , dający podział na wiele grup i dzieli bazę danych w miarę równomiernie-jest to atrybut A. Możemy założyć , że atrybut ten prawie zawsze występuje w pytaniach kierowanych do systemu.
Po dokonaniu grupowania baza danych ma następującą postać:
x1={a1,b2,c3,d2,e5,f4}
x2={a1,b2,c3,d1,e5,f4}
x8={a1,b1,c3,d2,e5,f4}
x3={a2,b2,c2,d1,e5,f2}
x4={a2,b2,c2,d1,e5,f4}
x6={a2,b1,c2,d2,e5,f2}
x10={a2,b1,c2,d2,e5,f2}
x5={a3,b2,c1,d1,e5,f4}
x7={a3,b1,c1,d2,e5,f2}
x9={a3,b1,c1,d2,e5,f4}
Zajętość pamięci w metodzie list prostych ,jak i w modyfikacjach zależy od ilości obiektów.
Skraca się natomiast czas wyszukiwania.
W metodzie klasycznej czas wyszukiwania jest długi ł=N*ło
N-liczba obiektów, ło-czas przeglądu jednego opisu obiektu.
W modyfikacji z podziałem połówkowym wynosi :
ł''=ł/2k k - lb. stosowanych podziałów połówkowych a w grupowaniu ł'=ł/k k - lb. grup. Oba te czasy są zbliżone do siebie.
zadanie 4.
Wiedząc ,że a1,a2,a3 są wartościami atrybutu A; b1,b2,b3 wartościami atrybutu B ; c1,c2,c3 wartościami atrybutu C ; d1,d2,d3 wartościami atrybutu D ; e1,e2,e3 wartościami atrybutu E; f1,f2,f3 wartościami atrybutu F.
Zaproponuj organizację bazy danych dla najbardziej optymalnej modyfikacji list prostych wiedząc, że wybrane 10 obiektów systemu opisane jest w sposób następujący :
tx1=a1*b1*c1*d1*e1*f1
tx2=a1*b1*c1*d1*e1*f2
tx3=a1*b1*c2*d1*e1*f3
tx4=a1*b1*c3*d1*e1*f1
tx5=a1*b1*c1*d1*e1*f3
tx6=a2*b1*c2*d1*e1*f2
tx7=a2*b1*c3*d1*e1*f3
tx8=a2*b2*c3*d3*e1*f3
tx9=a3*b3*c2*d2*e1*f2
tx10=a3*b3*c2*d2*e1*f2
Opisać szczegółowe wyszukiwanie odpowiedzi na pytanie:
P1=a1*b1*c1
P2=a1
P3=b1*d1*e1
P4=c2*e1
P5=(∼c1)*(∼a1)
Z systemu możemy usunąć atrybut E , ponieważ wszystkie obiekty systemu są opisane deskryptorem (E,e1) i zakładam, że reszta obiektów też jest opisana tym deskryptorem , który w tej sytuacji nie wnosi żadnej informacji do systemu , obiekty są nierozróżnialne w systemie ze względu na atrybut E.
W tym przypadku za optymalne rozwiązanie uważam grupowanie. Istnieje bowiem atrybut C , który jest wielowartościowy , dzieli zbiór obiektów na wiele grup , mniej więcej równomiernie. Atrybut ten występuje też w większości pytań zadawanych do systemu , jeżeli przykładowe pytania potraktujemy za grupę reprezentatywną.
Po dokonaniu grupowania baza danych wygląda następująco:
tx1=c1*a1*b1* d1*f1
tx2=c1*a1*b1*d1*f2
tx5=c1*a1*b1*d1*f3
tx3=c2*a1*b1*d1*f3
tx6=c2*a2*b1*d1*f2
tx9=c2*a3*b3*d2*f2
tx10=c2*a3*b3*d2*f2
x4=c3*a1*b1* d1*f1
tx7=c3*a2*b1*d1*f3
tx8=c3*a2*b2*d3*f3
Można również usunąć atrybut B lub D ,ponieważ zachodzi między nimi relacja równoważności:
b1↔d1
b2↔d3
b3↔d2
Można by usunąć jeden z tych atrybutów , ale trzeba pamiętać zależności między nimi.
Ja jednak pozostawiam oba atrybuty , ponieważ nie mam pewności , że w dalszej części kartoteki te zależności są prawdziwe.
Odpowiedzi na pytania :
P1=a1*b1*c1
- znajdujemy grupę wyznaczoną przez atrybut C o wartości c1
- następnie dokonuję przeglądu zupełnego grupy po pozostałych deskryptorach pytania.
P2=a
- należy dokonać przeglądu zupełnego całej kartoteki
P3=b1*d1*e1
- dokonuję przeglądu zupełnego całej kartoteki po deskryptorach (B,b1) i (D,d1). Pamiętamy ,że deskryptorem (E,e1) opisane są wszystkie obiekty.
P4=c2*e1
- znajdujemy grupę wyznaczoną przez deskryptor (C,c2). Odpowiedzią na to pytanie jest cała wyznaczona grupa. (Wszystkie obiekty są opisane deskryptorem (E,e1)).
P5=(∼c1)*(∼a1)
- pytanie doprowadzamy do postaci z niezaprzeczonymi deskryptorami :
P5=(c2+c3)(a2+a3)=c2a2+c2a3+c3a2+c3a3
- znajdujemy odpowiedź na pytanie składowe jak w pkt.1
- odpowiedzią na pytanie jest suma odpowiedzi na pytanie składowe.
METODA LIST INWERSYJNYCH
zadanie 1.
Dany jest zbiór obiektów X={x1,…,x8} oraz zbiór deskryptorów D={a,b,c.d.e.f.g}.Opisy deskryptorowe obiektów są następujące:
tx1=f⋅g⋅b
tx2=d⋅g⋅a⋅e⋅f
tx3=c
tx4=c⋅a⋅b
tx5=f⋅g⋅a⋅b⋅d
tx6=b⋅c
tx7=e⋅g⋅d
tx8=a⋅g⋅e
a.) zaproponuj organizacje bazy danych dla w/w zbioru obiektów w oparciu o metodę list inwersyjnych wiedzą, że w pytaniach najczęściej pojawiają się (kolejno) deskryptory g i b, natomiast najrzadziej a i f.
b.) przedstaw optymalne algorytmy wyszukiwania odpowiedzi na pytania :
P1=g⋅a⋅d⋅f⋅b
P2=a⋅d⋅b⋅f+g⋅b
Podaj uzasadnienie słuszności rozwiązań zaproponowanych w pkt. a i b.
Mamy zdefiniowany system S=<X,A,V,q> gdzie X={x1…x8}, A={a,b,c,d,e,f,g}, V={0,1}, q:X×A → V
Chcąc zorganizować wyżej wymienioną bazę danych w oparciu o met.list inwer. musimy utworzyć listy inwersyjne dla każdego deskryptora systemu. Ponieważ deskryptory g i b najczęściej pojawiają się w pytaniach do systemu, listy dla tych deskryptorów umieszczamy na początku kartoteki, a listy a i f z racji, że najrzadziej występują w pytaniach na końcu kartoteki, która przyjmuje postać :
α(g)={x1,x2,x5,x7,x8}
α(b)={x1,x4,x5,x6}
α(c)={x3,x4,x6}
α(d)={x2,x5,x7}
α(e)={x2,x7,x8}
α(a)={x2,x4,x5,x8}
α(f)={x1,x2,x5}
W listach umieszczamy wprost obiekty ponieważ liczba ich nie jest duża.
P1=g⋅a⋅d⋅f⋅b
generujemy listy α(g) i α(b)
znajdujemy przecięcie się tych list - {x1,x5}
generujemy pozostałe listy α(a), α(d), α(f)
znajdujemy przecięcie się tych list - {x2,x5}
znajdujemy przecięcie dwóch uzyskanych zbiorów - {x5}
P2=a⋅d⋅b⋅f+g⋅b
P2=t1+t2 gdzie t1=a⋅d⋅b⋅f t2=g⋅b
odpowiedzi na pytania składowe t1 i t2 otrzymujemy analogicznie jak w poprzednim przypadku σ(t2)={x1,x5} σ(t1)={x5} odpowiedz na pytanie P2 otrzymujemy jako sumę odpowiedzi na pytania składowe
(P2)= σ(t1) ∪ σ(t2) ⇒ σ(P2)={x5}∪{x1,x5}={x1,x5}
Odpowiedz uzyskaliśmy w b.długim czasie, lecz jeśli by nam nie zależało na kompletności i dokładności odpowiedzi, moglibyśmy nie brać pod uwagę deskryptorów a i f, które najrzadziej występują w pytaniach do systemu.
zadanie 2.
Przedstawić najbardziej optymalną implementację zadanego systemu informacyjnego dla metody list inwer. z odpowiednią modyfikacją. Opisy obiektów są następujące:
tx1=a1⋅b2⋅c5⋅d8⋅e1⋅f1
tx2=a2⋅b1⋅c4⋅d5⋅e1⋅f1
tx3=a2⋅b7⋅c4⋅d4⋅e1⋅f4
tx4=a3⋅b7⋅c4⋅d4⋅e1⋅f4
tx5=a5⋅b2⋅c4⋅d8⋅e1⋅f5
tx6=a4⋅b5⋅c4⋅d6⋅e1⋅f3
tx7=a1⋅b2⋅c5⋅d8⋅e1⋅f1
tx8=a3⋅b7⋅c5⋅d4⋅e1⋅f1
tx9=a2⋅b7⋅c5⋅d4⋅e1⋅f3
tx10=a1⋅b2⋅c5⋅d8⋅e1⋅f3
gdzie aj oznacza deskryptor określony przez j-tą wartość atrybutu a.
S=<X,A,V,q> gdzie X={x1…x10} A={a,b,c,d,e,f}, V - zbiór wartości atrybutów gdzie Va={a1,a2,a3,a4,a5}, Vb={b1,b2,b5,b7}, Vc={c4,c5}, Vd={d4,d5,d6,d8}, Ve={e1}, Vf={f1,f3,f4,f5} q - funkcja informacji.
Z opisów obiektów eliminujemy atrybut e1, który nie wnosi żadnej informacji do systemu, obiekty są nierozróżniakne w systemie ze względu na atrybut e.
α (a1)={x1,x7,x10}
α(a2)={x2,x3,x9}
α(a3)={x4,x8}
α(a4)={x6}
α(a5)={x5}
α(b1)={x2}
α(b2)={x1,x5,x7,x10}
α(b5)={x6}
α(b7)={x3,x4,x8,x9}
α(c4)={x2,x3,x4,x5,x6}
α(c5)={x1,x7,x8,x9,x10}
α(d4)={x3,x4,x8,x9}
α(d5)={x2}
α(d6)={x6}
α(d8)={x1,x5,x7,x10}
α(f1)={x1,x2,x7,x8}
α(f3)={x6,x9,x10}
α(f4)={x3,x4}
α(f5)={x5}
Zastosuję tu modyfikację z uporządkowaniem list w/g ich długości: od najkrótszej do najdłuższej - zmniejsza to czas wyszukiwania.
Ponadto utworzę listy wspólne dla takich samych list.
W listach umieszczam wprost obiekty, ponieważ liczba obiektów nie jest duża.
Po dokonaniu reorganizacji baza danych przyjmuje postać:
αw(a4,b5,d6)={x6}
αw(a5,f5)={x5}
αw(b1,d5)={x2}
α(a3)={x4,x8}
α(f4)={x3,x4}
α(a1)={x1,x7,x10}
α(a2)={x2,x3,x9}
α(f3)={x6,x9,x10}
αw(b2,d8)={x1,x5,x7,x10}
αw(b7,d4)={x3,x4,x8,x9}
α(f1)={x1,x2,x7,x8}
α(c4)={x2,x3,x4,x5,x6}
α(c5)={x1,x7,x8,x9,x10}
zadanie 3.
Dany jest system informacyjny , którego wybrany fragment ma postać :
tx1=a1⋅b2⋅c3⋅d2⋅e5⋅f4
tx2=a1⋅b2⋅c3⋅d2⋅e5⋅f4
tx3=a2⋅b2⋅c2⋅d1⋅e5⋅f2
tx4=a2⋅b2⋅c2⋅d1⋅e5⋅f4
tx5=a3⋅b2⋅c1⋅d1⋅e1⋅f4
tx6=a2⋅b1⋅c2⋅d2⋅e5⋅f2
tx7=a3⋅b1⋅c1⋅d2⋅e5⋅f2
tx8=a1⋅b1⋅c3⋅d2⋅e5⋅f4
tx9=a3⋅b1⋅c1⋅d2⋅e5⋅f4
tx10=a2⋅b1⋅c1⋅d2⋅e5⋅f2
gdzie odpowiednio ai oznacza deskryptor wyznaczony przez
i-tą wartość atrybutu A.
Przedstawić optymalny algorytm zakładania bazy danych zgodnie z właściwą modyfikacją metody list inwersyjnych pamiętając ,że najwięcej pytań kierowanych do systemu zawiera pewną wartość atrybutu C.
S=<X,A,V,q>, gdzie X={x1,...,x10}-zb.obiektów;
A={A,B,C,D,E,F}-zb.atrybutów; V-zb.wartści atrybutów, gdzie VA={a1,a2,a3},VB={b1,b2},VC ={c1,c2,c3},
VD={d1,d2},VE={e5},VF={f2,f4}
q:X×A→V - funkcja informacji, D - zb.deskryptorów systemu
D={(A,a1)(A,a2)(A,a3)(B,b1)(B,b2)(C,c1)(C,c2)(C,c3)
(D,d1)(D,d2)(E,e5)(F,f2)(F,f4)}
Deskryptora (E,e5) nie biorę pod uwagę w swoich rozważaniach ponieważ nie wnosi on żadnej nowej informacji do systemu , bo wszystkie obiekty mają w swoim opisie ten deskryptor , czyli są one nierozróżnialne ze względu na ten atrybut.
Utworzę listy inwersyjne dla wszystkich deskryptorów ze zbioru D.
Umieszczę w nich bezpośrednio obiekty, ponieważ liczba obiektów nie jest duża.
Poniewaz najwięcej pytań kierowanych do systemu zawiera pewną wartość atrybutu C - listy,które zawierają ten atrybut umieszczam na początku kartoteki wyszukiwawczej.
Zastosuję listy z podziałami, jeśli lista będzie zawierała kolejne obiekty , oraz listy łączone , dla podobnych list , listy wspólne dla takich samych list.
Algorytm zakładania dazy danych :
α(A,a1)={x1,x2,x8}
α(A,a2)={x3,x4,x6,x10}
α(A,a3)={x5,x7,x9}
α(B,b1)={x6,x7,x8,x9,x10}
α(B,b2)={x1,x2,x3,x4,x5}
α(C,c1)={x5,x7,x9,x10}
α(C,c2)={x3,x4,x6}
α(C,c3)={x1,x2,x8}
α(D,d1)={x2,x3,x4 ,x5}
α(D,d2)={x1,x6,x7,x8,x9,x10}
α(F,f2)={x3,x6,x7,x10}
α(F,f4)={x1,x2,x4,x5,x8,x9}
Po reorganizacji :
α(C,c1)={x5,x7,x9,x10}
α(C,c2)={x3,x4,x6}
α((C,c3)(A,a1))={x1,x2,x8}
α(A,a2)={x3,x4,x6,x10}
α(A,a3)={x5,x7,x9}
α(B,b1)={x6,x7,x8,x9,x10}
α((B,b2)(D,d1))={x1#x2,x3,x4,x5#}
α(D,d2)={x1,x6,x7,x8,x9,x10}
α(F,f2)={x3,x6,x7,x10}
α(F,f4)={x1,x2,x4,x5,x8,x9}
Wersja oatateczna :
α(C,c1)={x5,x7,x9,x10}
α(C,c2)={x3,x4,x6}
α((C,c3)(A,a1))={x1,x2,x8}
α((A,a2)(F,f2))={x3#x4,x6,x10#x7}
α(A,a3)={x5,x7,x9}
α((B,b1)(D,d2))={#x6,x7,x8,x9,x10#x1}
α((B,b2)(D,d1))={x1#x2,x3,x4,x5#}
α(F,f4)={x1,x2,x4,x5,x8,x9}
Po uproszzeniu:
α((C,c1)(A,a3))={x10#x5,x7,x9#}
α(C,c2)={x3,x4,x6}
α((C,c3)(A,a1))={x1,x2,x8}
α((A,a2)(F,f2))={x3#x4,x6,x10#x7}
α((B,b1)(D,d2))={#x6,x7,x8,x9,x10#x1}
α((B,b2)(D,d1))={x1#x2,x3,x4,x5#}
α(F,f4)={x1,x2,x4,x5,x8,x9}
zadanie 3.
Dany jest system informacyjny S, w którym zgromadzono 20 obiektów opisanych w niżej podany sposób:
tx1=bdegi |
tx6=adcg |
tx11=bagckd |
tx16=gadc |
tx2=dbh |
tx7=gcd |
tx12=bdh |
tx17=bdg |
tx3=cadg |
tx8=fgkad |
tx13=hfgd |
tx18=chdfi |
tx4=cadg |
tx9=bed |
tx14=dba |
tx19=dgb |
tx5=ebid |
tx10=cbdi |
tx15=hdeifk |
tx20=dehkf |
A. Przedstaw optymalnie zorganizowaną bazę danych systemu S z zastosowaniem metody list inwersyjnych przy założeniach:
a) w pytaniach pojawiają się wszystkie deskryptory, przy czym częstość ich występowania można określić następująco:
f(a)>f(c)≥f(b)>f(e)>f(d)>f(i)>f(f)>f(h)>f(k)>f(g)
b) w systemie jest często dokonywana aktualizacja bazy poprzez dodawanie nowych obiektów
c) użtkownicy dość często zapytują o obiekt o zadanym identyfikatorze
d) projektantowi zależy zarówno na oszczędności nośnika informacji jak i minimalizacji czasu wyszukiwania odpowiedzi .
B. Przedstaw dokładnie sposób wyszukiwania odpowiedzi na pytanie P=b⋅(∼i) ⋅(∼g)
Opisy obiektów przedstawię za pomocą tablicy binarnej :
a b c d e f g h i j k
tx1 0 1 0 1 1 0 1 0 1 0 0
tx2 0 1 1 1
tx3 1 1 1 1
tx4 1 1 1 1
tx5 0 1 1 1 1
tx6 1 1 1 1
tx7 0 1 1 1
tx8 1 1 1 1 1
tx9 0 1 1 1
tx10 0 1 1 1 1
tx11 1 1 1 1 1 1
tx12 1 1 1
tx13
tx14
tx15
tx16
tx17
tx18
tx19
tx20
A. S=<X,A,V,q> ; D-zb.deskryptorów systemu .
Dany jest system informacyjny S, w którym zgromadzono 20 obiektów opisanych w niżej podany sposób:
tx1=bdegi
tx2=dbh
tx3=cadg
tx4=cadg
tx5=ebid
tx6=adcg
tx7=gcd
tx8=fgkad
tx9=bed
tx10=cbdi
tx11=bagckd
tx12=bdh
tx13=hfgd
tx14=dba
tx15=hdeifk
tx16=gadc
tx17=bdg
tx18=chdfi
tx19=dgb
tx20=dehkf
A. Przedstaw optymalnie zorganizowaną bazę danych systemu S z zastosowaniem metody list inwersyjnych przy założeniach:
a) w pytaniach pojawiają się wszystkie deskryptory, przy czym częstość ich występowania można określić następująco:
f(a)>f(c)≥f(b)>f(e)>f(d)>f(i)>f(f)>f(h)>f(k)>f(g)
b) w systemie jest często dokonywana aktualizacja bazy poprzez dodawanie nowych obiektów
c) użtkownicy dość często zapytują o obiekt o zadanym identyfikatorze
d) projektantowi zależy zarówno na oszczędności nośnika informacji jak i minimalizacji czasu wyszukiwania odpowiedzi .
B. Przedstaw dokładnie sposób wyszukiwania odpowiedzi na pytanie P=b⋅(∼i) ⋅(∼g)
X={x1,....,x20}
D={a,b,c,d,e,f,g,h,i,k}
- listy inwersyjne tworzę dla wszystkich deskryptorów ze zbioru D , za wyjątkiem deskryptora d , którego nie biorę pod uwagę , ponieważ wszystkie obiekty są nim opisane , czyli są nierozróżnialne ze względu na ten deskryptor;
- kolejność list inwersyjnych jest zdeterminowana częstością występowania deskryptorów w pytaniu (pkt.a) ;
- identyfikatory obiektów (adresy) w ramach list będą uporządkowane rosnąco, to ułatwi nieco aktualizację;
- zastosuję tu modyfikację polegającą na tworzeniu list wspólnych - dla list zawierających dokładnie takie same obiekty (dla identycznych list) ; list łączonych dla podobnych list i list zredukowanych dla list zawierających kolejne obiekty;
Modyfikacje te pozwolą na zminimalizowanie zarówno czasu wyszukiwania , jak i zajętości nośnika ;
- ponieważ lista dla deskryptora g będzie bardzo długa , a o deskryptor ten użytkownik pyta najrzadziej wobec tego utworzymy listę odwrotną (zanegowaną);
Nasza baza danych przyjmie postać :
αŁ(a,c)={x8,x14#x3,x4,x6,x11,x16#x7,x10,x18}
αza(b)={x1,x2,x5,x9,x10,x11,x12,x14,x17,x19}
αŁ(e,i)={x9,x20#x1,x5,x15#x10,x18}
αŁ(f,h)={x8#x13,x15,x18,x20#x2,x12}
α(k)={x8,x11,x15,x20}
α(∼g)={x2,x5,x9,x10,x12,x14,x15,x18,x20}
B. P=b⋅(∼i) ⋅(∼g)
- generujemy listę α(g)
- generujemy listę α(i) z listy α(e,i)
- znajdujemy listę odwrotną do listy α(i)
- generujemy listę α(∼g)
- znajdujemy przecięcie tych list i uzyskujemy odpowiedź {x2,x9,x12,x14}
zadanie 4.
Dany jest następujący system informacyjny ;
x1={a1,b2,c3,d2,e5,f4}
x2={a1,b2,c3,d1,e5,f4}
x3={a2,b2,c2,d1,e5,f2}
x4={a2,b2,c2,d1,e5,f4}
x5={a3,b2,c1,d1,e5,f4}
x6={a2,b1,c2,d2,e5,f2}
x7={a3,b1,c1,d2,e5,f2}
x8={a1,b1,c3,d2,e5,f4}
x9={a3,b1,c1,d2,e5,f4}
x10={a2,b1,c2,d2,e5,f2}
gdzie ai oznacza deskryptor (a,i) wyznaczony przez i-tą wartość atrybutu a.
Należy przedstawić algorytm zakładania bazy danych dla tego systemu zgodnie z ideą metody list inwersyjnych, zmodyfikowaną w ten sposób , że listy adresowe tworzymy jedynie dla deskryptorów związanych z atrybutami b,c,f.
S=<X,A,V,q> X={x1,...,x10}-zb.obiektów
A={a,b,c,d,e,f }-zb.atrybutów ; V-zb.wartości atrybutów ,gdzie Va={a1,a2,a3} , Vb={b1,b2] , Vc={c1,c2,c3} , Vd={d1,d2} , Ve={e5} , Vf={f2,f4]
D={a1,a2,a3,b1,b2,c1,c2,c3,d1,d2,e5,f2,f4}
Wszystkie obiekty są nierozróżnialne ze względu na atrybut e - deskryptor e5.
Ponieważ mamy wyodrębniony podzbiór deskryptorów D'={b,c,f,} stosuję modyfikację ze zmniejszonym zbiorem list. Polega ona na tym , że listy są tworzone tylko dla deskryptorów ze zbioru D'={b1,b2,c1,c2,c3,f2,f4}
W listach umieszczam wprost obiekty , ponieważ liczba obiektów nie jest duża.
α(b1)={x6,x7,x8,x9,x10}
α(b2)={x1,x2,x3,x4,x5}
α(c1)={x5,x7,x9}
α(c2)={x3,x4,x6,x10}
α(c3)={x1,x2,x8}
α(f2)={x3,x6,x7,x10}
α(f4)={x1,x2,x4,x5,x8,x9}
zadanie 5.
Dany jest zbiór uczniów X pewnej klasymistrzostwa sportowego. Każdego ucznia opisuje pewien podzbiór deskryptorów określający te dyscypliny , w których reprezentuje on najwyższy poziom.
Opisy mają postać :
x1 Jurek :jo∧si∧pł∧br
x2 Mirek :si∧br∧jo∧pł
x3 Antek :ko∧pł∧te∧na
x4 Waldek :te∧ko∧si∧pł
x5 Piotr :br∧si∧pł∧jo
x6 Janusz :te∧ko∧br∧pł
x7 Krzysiek :ko∧te∧pł∧br
x8 Władek :pł∧si∧na∧al
x9 Marek :si∧jo∧br∧pł
x10 Staszek :al∧pł∧si∧na
x11 Jasiu :te∧ko∧br∧pł
x12 Romek :na∧pł∧te∧ko
x13 Zbyszek :te∧ko∧na∧pł
x14 Darek :jo∧pł∧al∧br
x15 Bogdan :br∧jo∧na∧pł
Poszczególne skróty odpowiadają następującym dyscyplinom : jogging, siatkówka, pływanie, brydż, koszykówka, tenis, narciarstwo, alpinizm.
A. Zaproponuj organizację bazy danych systemu informacyjnego opartą na metodzie list inwersyjnych, przechowującego dane o w/w zbiorze uczniów , respektując następujące założenia :
- projektantowi systemu zależy na minimalnej zajętości nośnika informacji;
- do systemu - oprócz klasycznych pytań - często kierowane są żądania wygenerowania informacji o danym uczniu;
B. Omów przebieg wyszukiwania odpowiedzi na pytanie
P=∼ko∧na opierając się na klasycznej metodzie inwersyjnej.
S=<X,A,V,q> X={x1,...,x15}
D={jo,si,pł,br,ko,te,na,al} - zbiór deskryptorów
V={0,1}, q:X×A → V
Tworzę listy inwersyjne dla wszystkich deskryptorów ze zbioru D , za wyjątkiem deskryptora pł , którym są opisane wszystkie obiekty , a więc są one nierozróżnialne w systemie ze względu na ten deskryptor.
W celu ułatwienia sobie zapisu obiektom nadaję odpowiednio identyfikatory ze zbioru X={x1,...,x15}
α(jo)={x1,x2,x5,x9,x14,x15}
α(si)={x1,x2,x4,x5,x8,x9,x10}
α(br)={x1,x2,x5,x6,x7,x9,x11,x14,x15}
α(ko)={x3,x4,x6,x7,x11,x12,x13}
α(te)={x3,x4,x6,x7,x11,x12,x13}
α(na)={x3,x8,x10,x12,x13,x15}
α(al)={x8,x10,x14}
W celu minimalizacji zajętości nośnika przeprowadzam następujące modyfikacje:
1.tworzę listy łączone dla list podobnych α(jo) i α(si);
2.tworzę listę zanegowaną dla α(br)
3.tworzę listę wspólną dla takich samych list α(ko) i α(te);
α(jo,si)={x14,x15#x1,x2,x5,x9#x4,x8,x10}
α(∼br)={x3,x4,x8,x10,x12,x13}
α(ko,te)={x3,x4,x6,x7,x11,x12,x13}
α(na)={x3,x8,x10,x12,x13,x15}
α(al)={x8,x10,x14}
Aby ułatwić znalezienie informacji o konkretnym uczniu pamiętam w systemie opisy obiektów.
B. P=∼ko∧na
- generuję listę α(ko) i znajduję jej dopełnienie {x1,x2,x5,x8,x9,x10,x14,x15}
- generuję listę α(na) {x3,x8,x10,x12,x13,x15]
- znajduję przecięcie tych dwu list - {x8,x10,x15}-ten zbiór stanowi odpowiedź na pytanie P.
METODA LIST ŁAŃCUCHOWYCH
zadanie 1.
Dany jest system informacyjny S, w którym zgromadzono 20 obiektów opisanych w niżej podany sposób:
tx1=bcdfe
tx2=bdegi
tx3=dbh
tx4=cadg
tx5=ebid
tx6=adcg
tx7=gcd
tx8=fgkad
tx9=bed
tx10=ebdi
tx11=bagckd
tx12=bdh
tx13=kfgd
tx14=dba
tx15=hdeifk
tx16=gade
tx17=bdg
tx18=chdfi
tx19=dgb
tx20=dehkf
A. Przedstaw optymalnie zorganizowaną bazę danych systemu S z zastosowaniem klasycznej metody łańcuchowejprzy założeniach:
a) w pytaniach pojawiają się wszystkie deskryptory, przy czym częstość ich występowania można określić następująco:
f(a)>f(c)≥f(b)>f(e)>f(d)>f(i)>f(f)>f(h)>f(k)>f(g)
b) w systemie jest często dokonywana aktualizacja bazy poprzez dodawanie nowych obiektów
c) użtkownicy dość często zapytują o obiekt o zadanym identyfikatorze
d) projektantowi zależy zarówno na oszczędności nośnika informacji jak i minimalizacji czasu wyszukiwania odpowiedzi .
B. Przedstaw dokładnie sposób wyszukiwania odpowiedzi na pytanie P=b⋅(∼i) ⋅(∼g)
S=<X,A,V,q> X={x1,...,x20}-zb.obiektów
A-zb.atrybutów , V-zb.wartości atrybutów (0,1)
q:X×A → V - funkcja informacji
Zb.deskryptorów: D={a,b,c,d,e,f,g,h,i,k}
Nie biorę pod uwagę atrybutu d , ponieważ nie wnosi żadnej nowej informacji (wszystkie obiekty są opisane tą samą wartością). Obiekty są nierozróżnialne w systemie , możemy więc usunąć go z opisu obiektów systemu.
Stosuję łańcuchowanie w przód i tył , które ułatwia i przyśpiesza aktualizację, która jest tutaj często dokonywana. Biorąc pod uwagę częstość występowania deskryptorów w pytaniach łańcuchuję tylko po czterech, najczęściej występujących w pytaniach, deskryptorach a c b e - zmniejsza to zajętość nośnika.
Tworzę też tablicę identyfikatorów w której obiektowi odpowiada identyfikator.
Będę tu stosować odsyłacze względem pierwszego adresu obiektu zawierającego deskryptor di dla łańcuchowania w przód a dla łańcuchowania w tył odsyłacze względem ostatniego adresu obiektu zawierającego deskryptor di
adres obiektu |
opis obiektu |
odsyłacz w tył |
odsyłacz w przód |
x1 |
b c e f |
∅ ∅ ∅ |
+1 +3 +1 |
x2 |
b e g i |
-18 -19 |
+2 +4 |
x3 |
b h |
-17 |
+4 |
x4 |
a c g |
∅ -17 |
+2 +5 |
x5 |
b e i |
-16 -18 |
+8 +8 |
x6 |
a c g |
-12 -14 |
+4 +6 |
x7 |
c g |
-12 |
+10
|
x8 |
a f g k |
-10 |
+7 |
x9 |
b e |
-14 -15 |
+9 +9 |
x10 |
b e i |
-10 -11 |
+10 +14 |
x11 |
a b c g k |
-8 -9 -11 |
+10 +11 +17 |
x12 |
b h |
-8 |
+13 |
x13 |
f g k |
|
|
x14 |
a b |
-5 -7 |
+12 +16 |
x15 |
e f h i k |
-10 |
+15 |
x16 |
a e g |
-2 -5 |
∅ +19 |
x17 |
b g |
-5 |
+18 |
x18 |
c f h i |
-7 |
∅ |
x19 |
b g |
-2 |
∅ |
x20 |
e f h k |
-4 |
∅ |
Łańcuchy dla poszczególnych deskryptorów mają postać:
w przód
α(a)={4-2-4-7-10-12-∅}
α(b)={1-1-2-4-8-9-10-11-13-16-18-∅}
α(c)={1-3-5-6-10-17-∅}
α(e)={1-1-4-8-9-14-15-19-∅}
w tył
α(a)={16-2-5-8-10-12-∅}
α(b)={19-2-5-7-8-9-10-14-16-17-18-∅}
α(c)={18-7-11-12-14-17-∅}
α(e)={20-4-5-10-11-15-18-19-∅}
Tworzymy tablicę zakotwiczeń dla deskryptorów dla których stworzyliśmy łańcuchy
deskr. di |
adr. początk. |
adr. końc. |
dl. łańcucha |
a |
4 |
16 |
6 |
b |
1 |
19 |
11 |
c |
1 |
18 |
6 |
e |
1 |
20 |
8 |
Tablica identyfikatorów
adr. obiektu |
identyfikator |
adr. obiektu |
identyfikator |
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 |
1 2 3 4 5 6 7 8 9 10 |
x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 |
11 12 13 14 15 16 17 18 19 20 |
Wyszukiwanie odpowiedzi P=b⋅(∼i) ⋅(∼g)
znajdujemy wszystkie obiekty mające w swoim opisie deskryptor b. Będzie to odp. przybliżona.
aby otrzymać odp. dokładną dokonujemy przeglądu zupełnego odpowiedzi przybliżonej po deskryptorze:
- i i znajdujemy dopełnienie zbioru
- otrzymany zbiór poddajemy kolejnemu przeglądowi zupełnemu po deskryptorze g i znajdujemy dopełnienie otrzymanego zbioru, które stanowić będzie odpowiedź dokładną na zadane pytanie.
zadanie 2.
Wykazać przydatność stosowania podwójnego łańcuchowania. Kiedy warto stosować łańcuchowanie w przód i w tył równocześnie ?
Podwójne łańcuchowanie nie zmienia samej metody wyszukiwania. Jest przydatna gdy zależy nam na szybkim procesie aktualizacji. Pozwala nam na szybkie ustalenie pozycji każdego obiektu w łańcuchu, co przyśpiesza właśnie aktualizację. Warto ją stosować gdy do bazy danych często dopisuje się lub usówa atrybuty, obiekty.
zadanie 3.
Dany jest następujący system informacyjny :
x1={a1,b2,c3,d2,e5,f4}
x2={a1,b2,c3,d1,e5,f4}
x3={a2,b2,c2,d1,e5,f2}
x4={a2,b2,c2,d1,e5,f4}
x5={a3,b2,c1,d1,e5,f4}
x6={a2,b1,c2,d2,e5,f2}
x7={a3,b1,c1,d2,e5,f2}
x8={a1,b1,c3,d2,e5,f4}
x9={a3,b1,c1,d2,e5,f4}
x10={a2,b1,c2,d2,e5,f2}
Należy skonstruować bazę danych dla systemu opisanego powyżej zgodnie z metodą list łańcuchowych oraz przedstawić optymalną postać kartoteki wyszukiwawczej dla takiego systemu.
Nie bierzemy pod uwagę w naszych rozwarzaniach deskryptora e5 ponieważ są nim opisane wszystkie obiekty systemu. Deskryptor ten nie wnosi żeadnej informacji do systemu, bo obiekty są nierozróżnialne ze względu na ten deskryptor.
Zastosuję tu łańcuchowanie w przód i w tył ponieważ ułatwia to dostęp do obiektu. Zastosuję tu odsyłacze w postaci skoku czyli różnicy między dwoma sąsiednimi pozycjami łańucha.
adres obiektu |
opis obiektu |
odsyłacz w przód |
odsyłacz w tył |
x1 |
a1 b2 c3 d2 f4 |
+1 +1 +1 +5 +1 |
∅ ∅ ∅ ∅ ∅ |
x2 |
a1 b2 c3 d1 f4 |
+6 +1 +6 +1 +2 |
-1 -1 -1 ∅ -1 |
x3 |
a2 b2 c2 d1 f2 |
+1 +1 +1 +1 +3 |
∅ -1 ∅ -1 ∅ |
x4 |
a2 b2 c2 d1 f4 |
+2 +1 +2 +1 +1 |
-1 -1 -1 -1 -2 |
x5 |
a3 b2 c1 d1 f4 |
+2 ∅ +2 ∅ +3 |
∅ -1 ∅ -1 -1 |
x6 |
a2 b1 c2 d2 f2 |
+4 +1 +4 +1 +1 |
-2 ∅ -2 -5 -3 |
x7 |
a3 b1 c1 d2 f2 |
+2 +1 +2 +1 +3 |
-2 -1 -2 -1 -1 |
x8 |
a1 b1 c3 d2 f4 |
∅ +1 ∅ +1 +1 |
-6 -1 -6 -1 -3 |
x9 |
a3 b1 c1 d2 f4 |
∅ +1 ∅ +1 ∅ |
-2 -1 -2 -1 -1 |
x10 |
a2 b1 c2 d2 f2 |
∅ ∅ ∅ ∅ ∅ |
-4 -1 -4 -1 -3 |
Łańcuchy dla poszczególnych deskryptorów mają postać :
w przód |
w tył |
α(a1)={1-1-6-∅} |
α(a1)={8-6-1-∅} |
α(a2)={3-1-2-4-∅} |
α(a2)={10-4-2-1-∅} |
α(a3)={5-2-2-∅} |
α(a3)={9-2-2-∅} |
α(b1)={6-1-1-1-1-∅} |
α(b1)={10-1-1-1-1-∅} |
α(b2)={1-1-1-1-1-∅} |
α(b2)={5-1-1-1-1-∅} |
α(c1)={5-2-2-∅} |
α(c1)={9-2-2-∅} |
α(c2)={3-1-2-4-∅} |
α(c2)={10-4-2-1-∅} |
α(c3)={1-1-6-∅} |
α(c3)={8-6-1-∅} |
α(d1)={2-1-1-1-∅} |
α(d1)={5-1-1-1-∅} |
α(d2)={1-5-1-1-1-1-∅} |
α(d2)={10-1-1-1-1-5-∅} |
α(f2)={3-3-1-3-∅} |
α(f2)={10-3-1-3-∅} |
α(f4)={1-1-2-1-3-1-∅} |
α(f4)={9-1-3-1-2-1-∅} |
Tablica zakotwiczeń:
deskr. di |
adr. początk. |
adr. końc. |
dl. łańcucha |
a1 |
1 |
8 |
3 |
a2 |
3 |
10 |
4 |
a3 |
5 |
9 |
3 |
b1 |
6 |
10 |
5 |
b2 |
1 |
5 |
5 |
c1 |
5 |
9 |
3 |
c2 |
3 |
10 |
4 |
c3 |
1 |
8 |
3 |
d1 |
2 |
5 |
4 |
d2 |
1 |
10 |
6 |
f2 |
3 |
10 |
4 |
f4 |
1 |
9 |
6 |
zadanie 4.
Dany jest zbiór obiektów X={x1,x2,x3,x4,x5}. Obiekty te opisane są następująco :
x1 : a2 ∧b3∧c1
x2 : a2 ∧b2∧c2
x3 : a1 ∧b1∧c1
x4 : a2 ∧b3∧c1
x5 : a2 ∧b1∧c2
gdzie A={A,B,C}, VA={a1,a2}, VB={b1,b2,b3}, VC={c1,c2}.
Zbuduj kartotekę wyszukiwawczą opartą o metodę łańcuchową oraz :
- dopisz nowy obiekt x8 , o opisie a1 ∧b2 ∧c1 na początku kartoteki (przed x1)
- usuń x3
- zaktualizuj opis deskryptorowy obiektu x2 - nowy opis to
a1 ∧b3 ∧c2.
Zastosuj tu łańcuchowanie w przód, a odsyłacze będą względem pierwszego adresu obiektu zawierającego deskryptor di.
adres obiektu |
opis obiektu |
odsyłacz w przód |
x1 |
a2 b3 c1 |
+1 +3 +2 |
x2 |
a2 b2 c2 |
+3 ∅ +3 |
x3 |
a1 b1 c1 |
∅ +2 +3 |
x4 |
a2 b3 c1 |
+4 ∅ ∅ |
x5 |
a2 b1 c2 |
∅ ∅ ∅ |
Tak wyglądają łańcuchy :
α(a1)={3-∅}
α(a2)={1-1-3-4-∅}
α(b1)={3-2-∅}
α(b2)={2-∅}
α(b3)={1-3-∅}
α(c1)={1-2-3-∅}
α(c2)={2-3-∅}
Łańcuchy nie są pamiętane lecz odsyłacze przy opisach obiektów, łańcuchy jedynie mogą zostać odtworzone.
Tablica zakotwiczeń:
deskryptor |
początek łańc. |
długość łańc. |
a1 |
3 |
1 |
a2 |
1 |
4 |
b1 |
3 |
2 |
b2 |
2 |
1 |
b3 |
1 |
2 |
c1 |
1 |
3 |
c2 |
2 |
2 |
Dopisanie nowego obiektu x8 : a1 ∧b3 ∧c2 na początku kartoteki wyszukiwawczej. Obiekt umieszczamy na początku zbioru obiektów systemu, zapamiętujemy adres który w naszym przypadku będzie 8 (umownie od identyfikatora x8). Bierzemy pierwszy deskryptor do procesu aktualizacji czyli a1. Sprawdzamy czy znajduje się on w tablicy zakotwiczeń. Jeżeli znaleźliśmy deskryptor a1 w tabl. zakotw. to zwiększamy dł. łańc. o 1 i zmieniamy adres początku łańc. Przechodzimy do kartoteki wyszukiwawczej i dkonujemy zmiany odsyłaczy dla tego deskryptora. Dla pozostałych deskrpt. podobna procedura.
Zaktualizowane łańc. będą miały postać :
α(a1)={8-3-∅}
α(b2)={8-2-∅}
α(c1)={8-1-3-4-∅}
Tablica zakotwiczeń :
deskryptor |
początek łańc. |
długość łańc. |
a1 |
8 |
2 |
a2 |
1 |
4 |
b1 |
3 |
2 |
b2 |
8 |
2 |
b3 |
1 |
2 |
c1 |
8 |
4 |
c2 |
2 |
2 |
Usunięcie obiektu x3.
Znajduję obiekt o adresie x3 wybieram pierwszy deskryptor z opisu usówanego obiektu czyli a1. Z tabl. zakotw. znajduję ten deskryptor, zmniejszam długość tego łańcucha o 1. Jeśli otrzymana dł. łańc. jest =0 to wykreślam z tabl. zakotw. linijkę dotyczącą tego deskryptora. Jeśli dł. łańc. ≠0 to przechodzę na podstawie adresu początku łańcucha do kartoteki wyszukiwawczej i tam muszę zmienić odsyłacze dla tego deskryptora. Dla pozostałych deskryptorów podobna procedura.
Zaktualizowane łańcuchy będą miały postać :
α(a1)={∅}
α(b1)={5-∅}
α(c1)={1-3-∅}
Tablica zakotwiczeń :
deskryptor |
początek łańc. |
długość łańc. |
a2 |
1 |
4 |
b1 |
5 |
1 |
b2 |
2 |
1 |
b3 |
1 |
2 |
c1 |
1 |
2 |
c2 |
2 |
2 |
Zaktualizowanie obiektu x2 : a1 ∧b3 ∧c2
- znajduję obiekt o zadanym nieaktualnym opisie x2
- dokonuję zmiany wszystkich łańcuchów związanych z deskryptorami, które zostały zaktualizowane, czyli zmiany odsyłaczy dla deskryptorow nieaktualnych jak i dla nowych w całej kartotece oraz w tabl. zakotw.
Dokonywana jest tutaj pełna reorganizacja kartoteki wyszukiwawczej.
Po dokonaniu aktualizacji łańcuchy i tabl. zakotwiczeń jest :
α(a1)={2-1-∅} α(a2)={1-3-4-∅} α(b1)={3-2-∅} α(b2)={∅} |
α(b3)={1-1-3-∅} α(c1)={1-2-3-∅} α(c2)={2-3-∅}
|
Tablica zakotwiczeń:
deskryptor |
początek łańc. |
długość łańc. |
a1 |
2 |
2 |
a2 |
1 |
3 |
b1 |
3 |
2 |
b3 |
1 |
3 |
c1 |
1 |
3 |
c2 |
2 |
2 |
Aktalizacja jest wadą tej metody, jest skomplikowana i czasochłonna.
f(Cwst,x1)=4/7=0,57
f(Cwst,x2)=4/7=0,57
f(Cwst,x3)=3/8=0,37
f(Cwst,x4)=4/7=0,57
f(Cwst,x5)=4/7=0,57
f(Cwst,x6)=2/9=0,22
f(Cwst,x7)=3/8=0,37
f(Cwst,x8)=2/9=0,22
f(Cwst,x9)=1/10=0,1
f(Cwst,x10)=1/10=0,1
x1 0,57
x2 0,57
x4 0,57
x5 0,57
x3 0,37
x7 0,37
x6 0,22
x8 0,22
x9 0,1
x10 0,1
zadanie 5.
Dany jest system S=<X,A,V,q> w ktorym obiekty X={x1…x10} zostały opisane przez 4 atrybuty A={a,b,c,d}.
Każdy z nich może przyjmować jedną z trzech wartości np.: Va={a1,a2,a3}. system ten zorganizowano zgodnie z met. łańcuchową. Po pewnym czasie eksploatacji tego systemu okazało się, że najczęściej stawiane pytania do systemu są postaci :
t=a1⋅b3⋅c2
t=a1⋅b2⋅c1
t=a2⋅b2⋅c1
t=a2⋅b2⋅c2
t=a1⋅b3⋅c1
Jak można w związku z tym zmodyfikować ten system ? Przedstaw zreorganizowaną strukturę tego systemu.
Zbiór deskryptorów systemu :
D={a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2,d3}
Znając najczęściej stawiane pytania mogę zaproponować modyfikację polegającą na łańcuchowaniu grup obiektow.
Możemy wyodrębnić podzbiór deskryptorów D0 który będzie zbiorem deskryptorów najczęściej występujących w pytaniach do systemu. f(x7,x7)=4
D0={a1,a2, b2,b3,c1,c2}
dla tych deskryptorow tworzę dowolną metodę łańcucha np.: metodą łańcuchowania w przód oraz tworzę tablicę zakotwiczeń.
METODA SALTONA - ALGORYTM ROCCHIO'A
zadanie 1.
W jednym z kroków wiązania w grupy w/g algorytmu Rocchia otrzymano następujące współczynniki korelacji obiektów x1…x6 z przypuszczalnym centrum grupy
k(x1)=0,20
k(x2)=0,11
k(x3)=0,30
k(x4)=0,48
k(x5)=0,5
k(x6)=0,05
k(x7)=0,28
k(x8)=0,41
Załóżmy , że minimalny rozmiar grupy wynosi M1=2 , zaś max.M2=5. Test gęstości zakłada natomiast , że conajmniej N1=6 obiektów ma współczynnik korelacji (z centrum grupy) wyższy niż p1=0,1 oraz , że conajmniej N2=3 ma ten współczynnik wyższy niż p2=0,4. Jaki jest rezultat tego etapu wiązania obiektów w grupy.
Minimalny rozmiar grupy M1=2
Maksymalny rozmiar grupy M2=5
Parametry testu gęstości : N1=6 p1=0,1 N2=3 p2=0,4
k(x5)=0,5
k(x4)=0,48
k(x3)=0,30
k(x8)=0,41 N2
k(x7)=0,28
k(x1)=0,20
k(x2)=0,11 N1 pmin=0,41
k(x6)=0,05
G={x5,x4,x8}
Rezultatem tego etapu wiązania dokumentów w grupy jest grupa dokumentów związanych: G={x5,x4,x8}
i grupa dokumentówswobodnych (niezwiązanych) L={x1,x2,x3,x6,x7}
Rozmiar grupy G mieści się w przedziale wyznaczonym przez minimalny i max. rozmir grupy.
zadanie 2.
Dla podanego zbioru obiektów dokonaj ich grupowania stosując algorytm Rocchia , a następnie przedstaw problem wyszukiwania strukturalnego w tym systemie.
tx1=a1⋅b1⋅c1⋅d1⋅e1⋅f1
tx2= a1⋅b1⋅c1⋅d1⋅e1⋅f2
tx3= a1⋅b1⋅c2⋅d1⋅e1⋅f3
tx4= a1⋅b1⋅c3⋅d1⋅e1⋅f1
tx5= a1⋅b1⋅c1⋅d1⋅e1⋅f3
tx6= a2⋅b1⋅c2⋅d1⋅e1⋅f2
tx7= a2⋅b1⋅c3⋅d1⋅e1⋅f3
tx8= a2⋅b2⋅c3⋅d3⋅e1⋅f3
tx9= a3⋅b3⋅c2⋅d2⋅e1⋅f2
tx10= a3⋅b3⋅c2⋅d2⋅e1⋅f2
W naszych rozważaniach mogę pominąć atrybut e o wartości e1 , ponieważ wszystkie obiekty są nim opisane i są nierozróżnialne w systemie ze względu na ten deskryptor ), więc deskryptor e1 nie wnosi nowej informacji do systemu.
Możemy również pominąć atrybut d , który jest równoważny z atrybutem b. Pomijając ten atrybut nie utracimy informacji o obiektach . Musimy tylko pamiętać zależności między tymi atrybutami: b1↔d1 b2↔d3 b3↔d2
Otrzymamy kartotekę , która ma postać:
tx1=a1⋅b1⋅c1⋅f1
tx2= a1⋅b1⋅c1⋅f2
tx3= a1⋅b1⋅c2⋅f3
tx4= a1⋅b1⋅c3⋅f1
tx5= a1⋅b1⋅c1⋅f3
tx6= a2⋅b1⋅c2⋅f2
tx7= a2⋅b1⋅c3⋅f3
tx8= a2⋅b2⋅c3⋅f3
tx9= a3⋅b3⋅c2⋅f2
tx10= a3⋅b3⋅c2⋅f2
Parametry testu gęstości:
N1=3 p1=0,6 N2=5 p2=0,2
N1c=4 p1c=0,5 N2c=6 p2c=0,2
Będę tu stosować grupowanie rozłączne , bez redundancji.
Do liczenia współczynników korelacji wykorzystam następujący wzór:
Wybieram obiekt x1 jako przypuszczalne centrum grupy i dla tego obiektu przeprowadzam test gęstości.
Ustawiam obiekty w kolejności malejących współ.korelacji.
f(x1,x1)=4/4=1
f(x1,x2)=3/5=0,6
f(x1,x3)=2/6=0,33
f(x1,x4)=3/5=0,6
f(x1,x5)=3/5=0,6
f(x1,x6)=1/7=0,14
f(x1,x7)=1/7=0,14
f(x1,x8)=0
f(x1,x9)=0
f(x1,x10)=0
x1 1
x2 0,6
x4 0,6
x5 0,6
x3 0,33
x6 0,14
x7 0,14
x8 0
x9 0
x10 0
pmin=0,6
Tworzymy grupę o wsp.korel. ≥ pmin.
Gwst={x1,x2,x4,x5} - grupa wstępna. Wyodrębniamy centroid z pojęć wstępnych w dokumentach grupy. Cwst={a1,b1,c1,c3,f1,f2,f3} - centroid grupy wstępnej.
Teraz tworzymy grupę poprawioną. W tym celu obliczamy wsp.korel. centroidu ze wszystkimi obiektami.
pmin=0,57
G={x1,x2,x4,x5}
C={a1,b1,c1,c3,f1,f2,f3}-centroid zawiera te same cechy , co zbiór pojęć występujących w grupie
L={x3,x6,x7,x8,x9,x10}-zbiór dokumentów niezwiązanych.
Teraz przeprowadzam grupowanie pozostałych obiektów niezwiązanych,
Jako przypuszczalne centrum nowej grupy wybieram x7 i dla tego obiektu przeprowadzam test gęstości.
f(x7,x7)=4/4=1 x7 1
f(x7,x3)=2/6=0,33 x8 0,6
f(x7,x6)=2/6=0,33 x3 0,33
f(x7,x8)=3/5=0,6 x6 0,33
f(x7,x9)=0 x9 0
f(x7,x10)=0 x10 0
Obiekt nie przeszedł testu gęstości , ponieważ nie są spełnione parametry testu gęstości. Obiekt ten staje się obiektem izolowanym.
W wyniku przeprowadzenia algorytmu otrzymaliśmy grupę obiektów związanych G={x1,x2,x4,x5} z centroidem C={a1,b1,c1,c3,f1,f2,f3}.Otrzymaliśmy też grupę obiektów izolowanych : L={x3,x6,x7,x8,x9,x10}
Wyszukiwanie strukturalne:
Pytanie składowe por/ównujemy najpierw z pniami , czyli obliczamy współczynnik korelacji pytania z każdym pniem. Wybieramy tzw.pnie najbardziej obiecujące czyli takie , dla których współczynnik korelacji z pytaniem jest najwyższy. Następnie usuwamy wybrane pnie i przechodzimy o poziom niżej do centroidów i obliczamy współczynnik korelacji z centroidami. Wybieramy centroidy najbardziej obiecujące. Przechodzimy do obliczeń korelacji z dokumentami , czyli obiektami wybranych grup. Dopiero dokumenty, których współczynniki korelacji są większe od współczynnika założonego minimalnego , stanowią odpowiedź nz pytanie.Jeśli współczynniki są małe to wracają do pominiętych pni i liczymy współczynniki dla jego centroidu , aby nie pominąć istotnej odpowiedzi na pytanie.
zadanie 3.
Dany jest zbiór dokumentów X={x1…x10},ktore są opisane pojęciami:
tx1=a⋅d⋅f⋅g
tx2=b⋅c⋅d⋅f⋅h⋅i⋅j
tx3=a⋅e⋅i⋅j
tx4=d⋅e⋅f⋅g⋅h
tx5=c⋅e⋅h⋅i⋅j
tx6=a⋅d⋅f
tx7=b⋅c⋅g⋅j
tx8=a⋅f⋅g⋅h⋅i
tx9=d⋅e⋅j⋅f
tx10=g⋅h⋅i⋅j
Dla zbioru dokumentów należy dokonać ich podziału na grupy stosując algorytm Rocchia.
Przedstawić realizację tego algorytmu wybierając jako przypuszczalne centrum grupy kolejno dokumenty x3 i x4.
Scharakteryzować wygenerowane grupy.
Założenia:
1)dla wielkości grupy minimalnej rozmiar M1=3, max. M2=6
2)dla testu gęstości p1=0,2 N1=6 p2=0,4 N2=4
3)dla określenia współczynnika korelacji między xi oraz xj należy stosować funkcję :
gdzie pi i pj - zbiory pojęć opisujących dokumenty xi oraz xj.
Centroidem będzie tu zb.pojęć grupy poprawionej . Dla przypuszczalnego centrum grupy - x3 , liczę współczynniki korelacji ze wszystkimi dokumentami.
f(x3,x3)=4/4=1
f(x3,x1)=1/7=0,14
f(x3,x2)=2/9=0,22
f(x3,x4)=1/8=0,125
f(x3,x5)=3/6=0,5
f(x3,x6)=1/6=0,16
f(x3,x7)=1/7=0,14
f(x3,x8)=2/7=0,28
f(x3,x9)=2/6=0,33
f(x3,x10)=2/6=0,33
Ustawiam obiekty w kolejności malejących współ.korelacji:
x3 1
x5 0,5
x9 0,33
x10 0,33
x8 0,28
x2 0,22
x6 0,16
x1 0,14
x7 0,14
x4 0,125
Dokument x3 nie przeszedł testu gęstości , ponieważ rozmiar grupy minimalnej wynosi M1=3 i conajmniej N2=4 powinno mieć współczynnik większy lub równy p2=0.4 , a ten podział nie spełnia tych założeń.
Teraz przypuszczalnym centrum grupy będzie x4.
f(x4,x4)=5/5=1
f(x4,x1)=3/6=0,5
f(x4,x2)=3/9=0,33
f(x4,x3)=1/8=0,125
f(x4,x5)=2/8=0.25
f(x4,x6)=2/6=0,33
f(x4,x7)=1/8=0,125
f(x4,x8)=3/7=0,428
f(x4,x9)=3/6=0,5
f(x4,x10)=2/7=0,28
Ustawiam obiekty w kolejności malejących współ.korelacji:
x4 1
x1 0,5 m1
x9 0,5
x8 0,428
x2 0,33
x6 0,33
x10 0,28 m2
x5 0,25
x3 0,125
x7 0,125
Test gęstości mówi nam , że conajmniej N1=6 dokumentów powinno mieć z wybranym dokumentem współ.korelacji wyższy niż parametr p1=0,2 oraz conajmniej N2=4 obiekty wyższy niż p2=0,4.
Z tego wniosek , że obiekt x4 przeszedł pomyślnie test gęstości.
Określam współczynnik korelacji progowej pmin:
Dokument |
różnica wsp.korelacji |
x8 x2 |
0,098 |
x2 x6 |
0 |
x6 x10 |
0,05 |
x10 x5 |
0,03 |
x5 x3 |
0,125 |
pmin=0,428
Tworzę grupę obiektów o współ.korelacji większych lub równych od pmin : G={x4,x1,x9,x8}
Grupa ta (jej rozmiar) powinien mieścić się w przedziale utworzonym przez minimalny i maksymalny rozmiar grupy.
Wyodrębniamy centroid z pojęć występujących w dokumentach grupy wstępnej: C={a,d,e,f,g,h,i,j}.
Następnie tworzymy grupę poprawioną - w tym celu obliczamy współ.korelacji centroidu ze wszystkimi obiektami:
f(c,x1)=4/8=0,5
f(c,x2)=5/10=0,5
f(c,x3)=4/8=0,5
f(c,x4)=5/8=0,625
f(c,x5)=4/9=0,44
f(c,x6)=3/8=0,375
f(c,x7)=2/10=0,2
f(c,x8)=5/8=0,625
f(c,x9)=4/8=0,5
f(c,x10)=4/8=0,5
Porządkuję obiekty w/g malejących współ.korelacji:
x4 0,625
x8 0,625
x1 0,5
x2 0,5
x3 0,5
x9 0,5
x10 0,5
x5 0,44
x6 0,375
x7 0,2
pmin=0,44
G={x4,x8,x1,x2,x3,x9,x10,x5}
Obiekty w powstałej grupie są uporządkowane w/g malejących współ.korelacji.
Grupa ta jest większa niż założony maksymalny rozmiar grupy, więc obcinam ją do max. rozmiaru grupy M2=6 . Obcinam dwa ostatnie obiekty.
G={x4,x8,x1,x2,x3,x9,}
C={a,d,e,f,g,h,i,j,}- centroid
C={a,b,c,d,e,f,g,h,i,j}-zb.cech występujących w grupie.
Pozostaje jeszcze grupa dokumentów swobodnych {x5,x6,x7,x10}.
Dokumenty tej grupy są do siebie w miarę podobne . Odpowiedź uzyskana jednak może być nie kompletna lub niedokładna.
METODA GHOSHA
Zadanie 34 (zestaw b1,luty 91)
Danych jest 11 atrybutów binarnych A1,A2,..., A11. Należy skonstruować zbalansowany algbraiczny schemat zbioru BFS2 w oparciu o dowolnie wybraną geometrię skończoną. Dokonać oszacowania nadmiarowości występującej w schemacie oraz przedstawić ilustrację graficzną przestrzeni dyskretnej.
A={ A1,A2,....,A11}-atrybuty binarne
Wybieram odpowiednią geometrię. Biorę pod uwagę geometrię dla atrybutów binarnych , ponieważ dane jest 11 atrybutów binarnych.
EG(2,5)
-bo tu lb.atr.binarnych wynosi p^2=5^2=25 ,a w EG(2,3) p^2=9 więc nie zmimeści się w tym 11 atr.bin. z zadania.
lb.klas K=(p2+p)(p nad 2 )=30 *10=300
d.R=((2p-p-1)/(2p))*G-1=((32-6)/32)*30-1 =23.4
PG(2,3)
-bo tu lb. atr. bin. wynosi 13 ,a w PG(2,2) jest ich 7 ,a to jest za mało.
lb. klas K=(G nad 2)=(13 nad 2)=78
redundancja R=((2s+1-s-2)/(2s+1))*G-1=7.93
Liczę lb. klas i redundancję ,ponieważ lb. klas wpływa na zajętość pamięci ,a redundancja określa nadmiarowość.
Po dokonaniu analizy wybieram geometrię rzutową PG(2,3) ,ponieważ jest tu mniejsza zajętość pamięci niż w EG(2,5) (a zajętość pamięcizależy od lb. klas w systemie) Ponadto PG(2,3) wnosi mniejszą redundancję niż EG(2,5)
Tworzę teraz kartotekę wyszukiwawczą.
Najpierw przyporządkowuje atrybutom punkty w przestrzeni rzutowej:
A1=001 A2=010 A3=011 A4=100 A5=101 A6=110 A7=111 A8=021 A9=121 A10=201 A11=211 A12=221 A13=210
Przyjmujemy dwa atrybuty sztuczne A12 i A13. Będą one w bazie danych, ale nigdy nie wystąpią w opisie obiektów.
A'=A∪{A12,A13}
Kokrzystając z równania prostej , ustalamy wszystkie proste dla PG(2,3), będzie ich:
G=(s3-1)/(s-1)=(33-1)/(3-1)=13
Równanie prostej:λ0⊗r0⊕λ1⊗r1⊕λ2⊗r2=0
Następnie znajdujemy punkty na prostej i na tej podstawie wyznaczamy klasy.
Kartoteka wyszukiwawcza zawiera:nr grupy ,nr klasy i odpowiadające zbiory obiektów. Redundancja w tej metodzie wynosi 7.9 co oznacza ,że każdy obiekt jest podwielony w kartotece około 8 razy.
Zadanie 35
Zaproponować organizację bazy danych zgodnie z met.Ghosha dla systemu , który pamięta następujące informacje o obiektach:
Płeć={kobieta,mężczyzna}={K,M}
Wiek={młody,średni,stary}={m,śr,s}
Wykształcenie={podst,średnie,niep_wyż,wyż}
Wiadomo ,że najczęściej zadawane są do systemu pytania w postaci iloczynu dwóch deskryptorów .Wybierz właściwy wymiar geometrii (uzasadnij).Omów dokładnie sposób udzielania odpowiedzi na pytanie
q=(płeć,m)(wyksz,śr)
S=<X,A,V,q>
X={x1,..,xn} -zb.obiektów
A={płeć,wiek,wykształ}
Vpt={k-a,m-b}
Vwiek={m-c,śr-d,s-e}
Vwyksz={pod-f,śred-g,np-h,w-i}
Możnaby tu zastosować geometrię EG(2,3) ponieważ mamy tu trzy atrybuty.Atrybut `PŁEĆ' można rozszerzyć o jedną wartość , a atrybuty pozostałe zawężić o jedną wartość np.Vwyksz={pod,śr,wyższe}
Jednak nie znamy na tyle specyfiki systemu , aby bez ryzyka utraty informacji zlikwidować jedną wartość atrybutu.Toteż rozpatruję inne możliwości organizacji systemu:
EG(2,5)-dla syst.funkcyjnego: tu będziemy musieli dodać 2 atry. fikcyjne i uzupełnić wszystkie zb. wartości atry. do 5 wart.
lb.grup G=p2=25
lb.klas K=p2*(p nad 2)=250
lb.klas w grupie KG=(p nad 2)=10
redundancja R=19.3
EG(2,3) -dla atrybutów binarnych:
w naszym systemime możemy wyodrębnić 9 atr. bin. A<= p2
lb.grup G=p2+p=12
lb. klas w gr. KG=(p nad 2)=3
lb.klas K=G*KG=36
redun. R=5.0
PG(2,3)
to samo co się tyczy EG(2,3) dla bina.
D=(p3-1)/(p-1)=13-musimy dodać atr.fikcyjne
lb.grup G=D
lb.klas w gr. KG=(p+1 nad 2) =6
lb.klas K=G*KG=78
redu. R=7.9
Po przeprowadzonej analizie wybieram EG(2,3) dla atr. bina.,ponieważ:
-najmniejsza zajętość pamięci (która wiąże się z lb.klas ) oraz redundancja
-nie musimy dokładać żadnych atry.fikcyjnych.
Przyporządkowuję atr. bin.punkty w przestrzeni:
atr.-(r1,r2) a-(0,0) b(0,1) c(0,2) d(1,0) e(1,1) f(1,2) g(2,0) h(2,1) i(2,2)
Teraz ustalam wszystkie proste, punkty na prostych (patrz dodatek)
Sposób udzielania odpowiedzi na pytanie
q =(płeć,męższ)(wyksz,śr)=b*g
1.należy znależć współrzędne punktów odpo. deskryptorom pyt. b→(0,1)
g→(2,0)
2.współ. te wstawić odpowiednio do równania ogólnego prostej
λ0⊗r0⊕λ1⊗r1⊕λ2⊗r2=0
i rozwiązać powstały układ rownań
λ0⊕λ1⊗0⊕λ2⊗1=0
λ0⊕λ1⊗2⊕λ2⊗0=0
patrz dodatek
3.odpowiedzią jest zbiór obiektów dla klasy (0,1)*(2,0) w grupie o nr 221
Zadanie 36
Zaproponuj organizację banku danych zgodnie z met. Ghosha dla 17 atr. bin.Uzasadnij wybór geometrii .
Ponieważ atrybuty są bin. rozpatruję geom. dla atr. bin.
Atr. bin. jest 17 więc muszę znalezć taki wymiar geometrii , gdzie 17 <=lb.atr.bin. w systemie.
EG(2,5) dla atr.bin.
lb atr. bin. D=p2=25-tu trzeba by rozszerzyć ilość atr. o 8
K=(p2+p)(p nad 2)== 30*10=300
R=((2p-p-1)/2p)*G-1=23.4
PG(2,5)
lb.atr.bin.
D=(p3-1)/(p-1)=31=G
tu trzeba rozszerzyć ilość atr. o 14
K=(G nad 2)=465
R=((2p+1-p-2)/(2p+1))*G-1=26.6
PG(2,3)
lb.atr.bin. D=(p3-1)/(p-1)=13=G
tu trzeba zmniejszyć lb.atr. o 4
K=78 R=7.3
Najkorzystniejsze warunki oferuje geometria PG(2,3) jednak nie znamy na tyle specyfiki systemu by móc zmniejszyć lb.atr. o 4 bez ryzyka utraty informacji.Dlatego rezygnuję z tej geometrii.
W tej sytuacji pozostaje nam geometria EG(2,5) dla atr.bin.,która daje nam mniejszą lb.klas niż w PG(2,5), a co za tym idzie i mniejszą zajętość pamięci i mniejszą redun.
Ponad to w EG(2,5) rozszerzamy o 8 atr.bin. a w PG(2,5) o 14
W EG(2,5) dla atr.bin. mamy
-ilość grup G=30
-ilość klas w gr KG=10
A={a1,...a17)∪{a18,..,a25}-zb.atr.bin
Przyporządkowuję atr.bin. punkty w przestrzeni Euklidesowej:
a1(0,0) a2(0,1) a3(0,2) a4(0,3) a5(0,4) a6(1,0) a7(1,1) a8(1,2) a9(1,3) a10(1,4) a11(2,0) a12(2,1) a13(2,2) a14(2,3) a15(2,4) a16(3,0) a17(3,1) a18(3,2) a19(3,3) a20(3,4) a21(4,0) a22(4,1) a23(4,2) a24(4,3) a25(4,4)
Teraz znajduję proste i wyznaczm numery grup , punkty na tych prostych i klasy.
patrz dodatek
Kartoteka wyszukiwawcza zawiera numery grup, numery klas i odpowiadające im zbiory obiektów.
Zadanie 37
Dane są :-zb.atrybutów Ä ={A,B,C,D,E}
-zb.wartości VA={a1,a2,a3}
VB={b1,b2,b3,b4} VC={c1,c2,c3,c4}
VD={d1,d2,d3,d4,d5} VE={e1,e2,e3,e4,e5e,e6}
Zaproponuj odpowiednią geometrię, uzasadniającą zastosowanie met.Ghosha. Przedstaw organizację bazy danych i przeprowadż pełną analizę wyboru geom.
EG(2,5) dla sys. funkcyjnego
-aby zachować założonie ,że cardA=cardV=p(5) należy uzupełnić do 5 zbiory wartości atrybutów A,B,C i jednocześnie należy zmniejszyć zb. wartości atr. E o jedną wartość
-lb.klas w syst. K=p2*(p nad 2)=25*10=250
-redun. R=((2p-p-1)/(2p))*g-1=19.3
EG(2,5) dla atrybutów binarnych
-należałoby uzupełnić o 3 atr.bin. , bo tu powinno ich być 25
-lb.klas w syst. K=(p2+p)(p nad 2) =300
-redun. R=23.4
PG(2,5)
-należałoby rozszerzyć zb.atr. bin. o 9
-lb.klas w syst. K=( G nad 2)=931 nad 2)=465
-redun. R=26.6
W/g mnie najlepszą geometrią będzie EG(2,5) dla atr.bin. , ponieważ nie musimy tu obcinać żadnej wartości, a co za tym idzie nie ponosimy ryzyka utraty informacji. Redun. i zajętość pamięci jest tu mniejsza niż w PG(2,5) .W EG(2,5) dla atr.bin. będzie mniej klas pustych związanych z dodanymi atrybutami bin. niż w pozostałych geometriach.
Teraz tworzymy kartotekę wyszukiwawczą dla EG(2,5) dla atr. bin.
a1(0,0) a2(0,1) a3(0,2) b1(0,3) b2(0,4) b3(1,0) b4(1,1) c1(1,2) c21(1,3) c3(1,4) c4(2,00 d1(2,1) d2(2,2) d3(2,3) d4(2,4) d5(3,0) e1(3,1) e2(3,2) e3(3,3) e4(3,4) e5(4,0) e6(4,1) x(4,2) y(4,3) z(4,4,)
zad.38
Atrybuty A1,A2,A3,A4,A5,A6,A7, są atrybutami siedmiowartościowymi. Zaproponuj organizację bazy danych dla metody Gosh'a. podaj uzasadnienie wyboru geometrii z dokonaniem odpowiednich obliczeń.
EG(2,7) dla systemu funkcyjnego K=1029 R=44.93
PG(2,2)
Można zastosować tu taką geometrię, gdy weżmiemy pod uwagę atrybuty ale nie atrybuty binarne.Każda klasa wtedy będzie opisana przez iloczyn nie 2 atryb. bin. ,lecz przez iloczyn 2 atryb. Wtedy każdorazowo należy stosować przegląd zupełny wyszukanej klasy obiektów.
K=21
Jednak redundancja tego systemu będzie duża przy dobrych szybkościsch wyszukiwania (zwłaszcza dla pytań o długości klasy)
Jeśli nie zależy nam na niskiej redundancji (a to właśnie sobie tu zakładam),to można zastosować tu geometrię PG(2,2)
lb.atryb. A=7p
lb. grup G=(p3-1)/(p-1)=7
lb. klas wsystemie K=(G nad 2)=21
lb. klas w grupie Kg=3
Atrybut (r0 r1 r2) A1(001) A2(010) A3(011) A4(100) A5(101) A6(110) A7(111)
(patrz dodatek)
Zad.41
Dany jest zb. obiektów opisanych przez cztery atrybuty czterowartościowe. Wybierz właściwą geometrię i zastosuj m. Gosh'a dla zorganiowania bazy danych.Wybór uzasadnij przaprowadzoną analizą. Przedstaw interpretację geometryczną wybranej geometrii.
EG(2,p) dla syst. funkcyjnego
-uzupełnić o 1 atrybut 5-wart. i pozostałe atrybuty uzupełnić po 1 wartości
EG(2,5) K=250 R=19.3
-zmniejszyć zb. wart. atryb. o 1 i usunąć 1 atrybut. Jednak nie znamy na tyle specyfiki systemu ,aby narażać się na utratę informacji (9 wartości)
EG(2,p) dla atryb. bin.
-uzupełnić o 9 atryb. bin.
EG(2,5) K=300 R=23.4
-zmniejszyć zb. atr. bin. o 7 ,ale to nie
PG(2,s)
-zmniejszyć zb. atr. bin. o 3
PG(2,3) K=78 R=7.9
-geometria rzutowa dla systemu funkcyjnego PG(2,2)
należy uzupełnić o 3 atryb. fikcyjne.
K=21
Będzie tu duża redundancja ,ale krótki czas wyszukiwania.
-PG(2,5) K=465 R=26.6
Najkorzystniejsze warunki oferuje nam geometria EG(2,5) dla systemu funkcyjnego i PG2,2) dla systemu funkcyjnego.
Ja wybieram geometrię PG(2,2) dla systemu funkcyjnego ,ponieważ jest tu mała lb. klas i krotki czas wyszukiwania .Tutaj klasy będą opisane przez atrybuty, a nie przez atr.bin.
Wyszukiwanie będzie tu polegało nz dokonaniu przeglądu zupelnego wybranej klasy.
Zad.42
Dany jest pewien podzbiór D={d1,d2,d3} zbioru książek D. Do opisu tematyki każdej z nich zastosowano następujący zbior pojęć :
A={BD,SI,OP,PR,TD,PD}
Książki ze zbioru D mają opisy:
d1:PR∩BD∩SI
d2:TD
d3:OP∩PD
A.Przedstaw kolejne kroki konstruowania bazy danych syst. informacyjnego służącego do wyszukiwania informacji o książkach ze zbioru D , wykorzystując model geometrii PG. Zał:dłu.większości pytań kierowanych do systemu jest rowna 2
B.Omów praktyczną realizację modelu bazy d. określonego w punkcie A
Zał:opis `tematyczny' książki jest niewielkim fragmentem inf. przechowywanych o książce
C.Gdzie zostaną rozmieszczone dane o książkach d1,d2,d3 ?
Tu najlepiej pasuje geometria PG(2,2) , ponieważ ma ono 7 atr.bin., a wsystemie jest ich 6 i trzeba dodać jeden atr.fikcyjny
-lb.gr. G=7
-lb.klas w syst. K=21
-lb.klas w gr. KG=3
-redun. R=2.5
Przyporządkowujemy atr. punkty w przestrzeni rzutowej:
BD(001) SI(010) OP(011) PR(100) TD(101) PD(110) F(111) Teraz określamy równania prostych na podstawie ogólnego równania prostej λ0⊗r0⊕λ1⊗r1⊕λ2⊗r2=0
Na podstawie tych równań określam numery grup.Potem odnajduję punkty leżące na tych prostych .Te punkty określają nam klasy.(dod)
METODA CHOWA
zad.43
Obiekty są opisywanedeskryptorami ze zbioru D=d1...d8 , l=8 deskryptorów. Przyjmując ,że dł. opisu klasy k=3, a w grupie jest r=7 klas:
a)podać numery grup ,w ktorych znajdzie się ob. x8 opisany iloczynem deskryptorów d2*dd4*d6*d8
b)opisać dokładnie sposób udzielania odpowiedzi na pytanie q1=d5 oraz q2=d1*d3*d5*d7
c)co się zmieni w bazie danych , gdy zmieni się opis obiektu x8 w następujący sposob tx8=d5*d2*d6*d8
D={d1,d2,d3,d4,d5,d6,d7,d8}
l=8-lb.deskryp.
k=3-dł.opisu klasy
r=7-lb.klas w grupie
K=(l nad k)-lb.klas w systemie
K=(8 nad 3)=56
g-lb.grup g=K / r =56/7=8
Wszystkie desk. syst. numerujemy cyframi od 0 do n-1 (npd1 nadajemy wart. 0, d2 -1 itd)
a) x8:d2*d4*d6*d8 { klasy mają dł k=3, więc należy podać wszystkie możliwe kom. trzech des.} - i tak tx8=d2*d4*d6+d2*d4*d8+d2*d6*d8+d4*d6*d8
Należy obliczyć wszystkie numery klas do ktorych obiekt będzie należał
N=(n nad k)-Σ[((n-ij)/(k-j-1))-1](n-ij-1 nad k-j)-n-ik)+1 gdzie
n-lb.desk. w sys.
k-dł.opisu klasy
ij- nr j-tego desk. w sys.
ik-nr osttatniego des. w pytaniu
j-nr des. w pyt.
N=(8nad3)-Σ[((8-ij)/(3-j+1))-1](8-ij-1nadk-j) --(8-i3)+1
1:(d2*d4*d6) to i1=1 i2=3 i3=5
2:(d2*d4*d8) to i1=1 i2=3 i3=7
3:(d4*d6*d8) to i1=3 i2=5 i3=7
4:(d2*d6*d8) to i1=1 i2=5 i3=7
N1=28 N2=30 N3=51 N4=33
Obliczam numery grup do których będzie dopisany obiekt.
G=[N / r ]
G1=[28/7]=4
G2=[30/7]=[4.28]=5
G3=8 G4=5
Obiekt x8 zostanie dopisany do grupy 4 i klasy 28,grupy 5 i klasy 30 oraz do grupy 8 iklasy 51
b)q1=d5
1)pyt.należy znormalizować , czyli sprowadzić do postaci sumy termów o dł klasy -k
2)odpowiedz na term składowy pytania otrzymujemy
-obliczamy numer klasy
-znajdujemy numer grupy :
gdy c całkowite (lb.klas w gr) G=[N/c]
c ułamkowe -,gdy N<=(r-1)([c]-1) to G=[N/([c]-1)] ; gdy N>(r-1)([c]-1) to G=r
-znajdujemy pozycję klasy w grupie
c całkowite to NKG=N-(G-1)*c
c ułam. NKG=N-(G-1)*[c]
3)odpowiedz na pytanie stanowi suma obiektów będących odpowiedzią na termy składowe pytania q2=d1*d3*d5*d7
1)ponieważ pytanie jest dłuższe niż dł. opisu klasy obcinamy pytanie do dł.klasy
2)dla tak powstałego termu znajdujemy odpowiedz przybliżoną , a odpo. dokl. uzyskujemy dokonując przeglądu zupełnego odpowiedzi przybliżonej
c)tx8=d5*d2*d6*d8
tworzymy wszystkie trójki:
tx8=d2*d5*d6+d2*d6*d8+d2*d5*d8+d5*d6*d
poprzdni opis
tx8=d2*d4*d6*d8
tx8=d2*d4*d6+d2*d4*d8+d2*d6*d8+d4*d6*d8
Obiekt x8 pozostanie wpisany w klasie o opisie d2*d6*d8
Natomoast zostanie usunięty z klas:
d2*d4*d6 d2*d4*d8 d4*d6*d8
i dopisany do klas d2*d5*d6 d2*d5*d8 d5*d6*d8
zad.44
Podaj możliwość zastosowania dla zb. obiektów metody Chowa.
x1=f*b*g
x2=d*g*a*e*f
x3=c
x4=c*a*b
x5=f*g*a*b*d
x6=b*c
x7=e*g*d
x8=a*g*e
Zaproponuj organizację bazy danych w tej metodzie i przedstaw sposób wyszukiwania odpowiedzi na pyt. t=a*d*b*f+g*b
Zastosuję m.Chowa o dł klas k=3
D={a,b,c,d,e,f,g} n=7-lb.des.
Desk. numerujemy od 0 do n-1
Liczę liczbę klas : K=(n nad k) =(7nad3)=35
Zakładam lb.grup r=7
Wyliczam lb.klas w grupie c=k / r=35/7=5
Tworzę klasy:
G1={abc,abd,abe,abf,abg}
G2={acd,ace,acf,acg,ade}
G3={adf,adg,aef,aeg,afg}
G4={bcd,bce,bcf,bcg,bde}
G5={bdf,bdg,bef,beg,bfg}
G6={cde, cdf,cdg,cef,ceg}
G7={dfg,def,deg,dfg,efg}
nr Grupy |
iden. klas |
obiekty |
opis klas |
1 |
012 013 014 015 016 |
x4 x3 x6 x5
x5 x5 |
abc abd abe abf abg |
2 |
023 024 025 026 034 |
x3 x3 x3 x3 x2 |
acd ace acf acg ade |
3 |
035 036 045 046 056 |
x2 x2
x8 |
adf adg aef aeg afg |
4 |
123 124 125 126 134 |
x3 x6 x3 x6 x3 x6 x3 x6 |
bcd bce bcf bcg bde |
5 |
135 136 145 146 156 |
x5 x5
x1 |
bdf bdg bef beg bfg |
6 |
234 235 236 245 246 |
x3 x3 x3 x3 x3 |
cde cdf cdg ceg ceg |
7 |
256 345 346 356 456 |
x3 x2 x2 x7 x5 x2 |
cfg def deg dfg efg |
Kartoteka wysz. będzie zawierać : nr grupy , nr klasy, odpowiadające klasom zb. obie.
Już na pierwszy rzut oka widać tu dość dużą redun.Jest ona wynikiem między innymi tego ,że opisy obiektów są o różnej dł.
W tym wypadku nie ma klas pustych z założenia, i mało jest klas pustych z powodu braku obiektów o takich opisach.
Myślę ,że ta metoda nie jest najlepszą do podanego zestawu obiektów, ze względu na to ,że prawie każdy obiekt znajduje się w wielu klasach(redun).
Wyzsukiwanie odpowiedzi na pyt. t=a*d*b*f+g*b
Na początku w pyt. należy uporządkować desk. t=a*b*d*f+b*g
Pyt. t składa się z dwóch pyt. skła. t1=a*b*d*f t2=b*g
Ponieważ term skła. t1 jest dłuższy niż dł. opisu klasy obcinamy ten term do dł opisu klas t1'=a*b*d
Teraz znajdujemy odpowiedz przybliżoną.
obliczamy numer klasy dla t1' N=wz1
i1=0 i2=1 i3=3
Obliczam numer grupy w której znajduje się ta klasa.Ponieważ c jest cał.,to G=[N/c]=[2/5]=[0.4]=1
Odpowiedzią przybliżoną stanowią obiekty należące do klasy N=2 należącej do grupy G=1
Są to obiekty δ=(t1')={x5}
Odp. dokł. otrzym. przez dokonanie przeglądu zupełnego odpo. przybliżonej.
Obiekt x5 zawiera w swoim opisie des. f , więc stanowi on odp. dokładną.
t2=b*g
Ponieważ term składowy t2 jest krótszy od dł. opisu klasy , to term ten normalizujemy.
t2'=abg+bcg+bdg+beg+bfg
t2'=t1''+t2''+t3''+t4''+t5''
Teraz odpowiedz na każdy term ti'' uzyskujemy jako zbiór obiektów klasy Kn tak jak w poprzednim przypadku.
METODA LUMA
ZAD.45
Dany jestsys. infor. z nastepującymi opisami obiektów:
tx1=a1b2c3d4e5f4 tx6=a2b1c2d2e5f2
tx2=a1b2c3d1e5f4 tx7=a3b1c1d2e5f2
tx3=a2b2c3d1e5f4 tx8=a1b1c3d2e5f4
tx4=a2b2c2d1e5f4 tx9=a3b1c1d2e5f4
tx5=a3b2c1d1e5f4 tx10=a2b1c2d2e5f2
gdzie ai oznacza des. wyznaczony przez i-tą wartość atr. a.
Zaproponuj zastosowanie do tego systemu m.Luma z podbankami.Podaj liczbę koniecznych podbanków. Przeanalizuj `opłacalność' zastosowania rozwiązania.
S=<X,A,V,ρ>
X={x1,..,x10}
A={A,B,C,D,E,F}
VA={a1,a2,a3}
VB={b1,b2}
VC={c1,c2,c3}
VD={d1,d2,d4}
VE={e5}
VF={f2,f4}
Możemy usunąć z naszego sys. atr. E ponieważ wszystkie obiekty systemu są opisane jedaną wartością {e5} tego atrybutu.Wszystkie obiekty są nierozróżnialne w sys. ze względu na atrybut E.
Atr.w sys. są uporządkowane i ponumerowane od 1 do n.Zostają też uporządkowane i ponumerowane wartości w obrębie każdego atrybutu.
Opis grupy jest iloczynem des. z każdego atr. sys.
Stosuję m.Luma z podbankami.
Wszystkie grupy odpowiadające jednej permutacjii atr. sys. będziemy nazywać podbankami.
Konieczna lb.podbanków zapewniająca zasadę spójności.
L=(n nad s ) gdzie s=[n/2] , n-lb.atr. w sys.
n=5 s=[n/2]=[5/2]=2
L=(5 nad 2)=10
Podbanków będzie 10.
Są dwie metody uzyskiwania właściwej lb.podbanków :
1)m.kombinatoryszna-wszystkie permutacje dla atr. i wykreślamy powtarzające się permutacje
2)m.ścieżki krytycznej-każdemu atr. przypo. jest odcinek jednostkowy, który umieszczamy na płaszczyżnie
Otrzymujemy albo odcinki wznoszące się albo opadające .Wprowadzamy trzy taśmy:
R-odcinki opadające
S-odcinki rosnące
T-ostatni odcinek rosnący przed opadającym
Podbanki charakteryzują się inną kolejnością atr.Tworzy się je aby skrocić czas odp. na pyt.ogolne. Wykorzystuje się tu zasadę spójności (obszary spójne) Aby zachować tą zasadę należy zapamiętać grupy o opisach będących odpowiedniednikiem innego ciągu atr. (chodzi tu o kolejność atr. w opisie grupy).Każdy podbank ma identyczną lb.grup (taką samą jak w m.klasycznej)
Pojawienie się podbanków wprowadza redun.,ponieważ każdy opis obiektu musi być pamiętany w każdym podbanku R=(l-1) l-lb.podban.
Wraz ze wzrostem lb.atrybutow w sys. wzrasta lb.podbanków . Przy zbyt dużej lb.atry. warto się zastanowić nad możliwością zastosowania modyfikacji z częściowymi podbankami.Tutaj lb.podbanków nie jest jeszcze zbyt wysoka i jest ona opłacalna.
Zad. 46
Dany jest system o podanym niżej zbiorze obiektów;
tx1=a1*b1*c1*d1*e1 tx6=a2*b1*c2*d1*e1
tx2=a1*b1*c1*d1*e1 tx7=a2*b1*c3*d1*e1
tx3=a1*b1*c2*d1*e1 tx8=a2*b2*c3*d3*e1
tx4=a1*b1*c3*d1*e1 tx9=a3*b3*c2*d2*e1
tx5=a1*b1*c1*d1*e1 tx10=a3*b3*c2*d2*e1
Zaproponuj organizację bazy danych dla w/w systemu stosując m. Luma z podbankami. Dla organizacji podbanków zastosuj metodę graficzną.
S=<X,A,V,q> X={x1,...,x10} A={A,B,C,D,E}
VA={a1,a2,a3}
VB={b1,b2,b3}
VC={c1,c2,c3}
VD={d1,d2,d3}
VE={e1}
Z systemu możemy usunąć atr. E ponieważ wszystkie obiekty są nierozróżnialne w sys. ze względu na ten atr.
Ponadto zaobserwowałem zależności:
b1→d1 i d1-b1
b2→d3 i d2-b3
b3-d2 i d3-b2
b' x1 x8 x9 d' x1 x9 x8
x1 x10 x2 x10
x3 x3
x4 x4
x5 x5
x6 x6
x7 x7
Z tego wynika ,że atr. b i d są sobie równoważne. W związku z tym w naszych rozważaniach mogę pominąć jeden z tych atr.Wybieram atr. d .
Po powyższych operacjach mamy:
A'={A,B,C} i VA={a1,a2,a3} VB=b1,b2,b3} VC={c1,c2,c3}
W tej sytuacji najmniejsz lb. podbanków , która zapewnia zasadę spójności wynosi:
L(n nad s)=(3nad1)=3
DODATEK
zad.47
Dla podanego zbioru obiektów zaproponuj organizację bazy danych stosując m.Luma z podbankami. Przeanalizuj sensowność stosowania takiej organizacji:
tx1=a1b1c1d1e1f1 tx2=a1b1c1d1e1f2
tx3=a1b1c2d1e1f3 tx4=a1b1c3d1e1f1
tx5=a1b1c1d1e1f3 tx6=a2b1c2d1e1f2
tx7=a2b1c3d1e1f3 tx8=a2b2c3d3e1f3
tx9=a3b3c2d2e1f2 tx10=a3b3c2d2e1f2
S=<X,A,V,ρ>
X={x1,..x10} A={A,B,C,D,E,F}
VA={a1,a2,a3} VB={b1,b2,b3}
VC={c1,c2,c3} VD={d1,d2,d3}
VE={e1} VF={f1,f2,f3}
Usuwam z sys. atr. E, ponieważ wszystkie obiekty są nierozróżnialne w sys. ze względu na ten atr.
ponadto zauważyłem ,że atr. B i D są równoważne w sys. b1-d1 i d1-b1
b2-d3 d2-b3
b3-d2 d3-b2
Mogę, więc usunąć z naszych rozważań jeden z tych atry.Wybieram atr, D .
W związku z tym otrzymujemy następujący zb.atr.: A={A,B,C,F}
Wyliczam najmniejszą lb podbanków, która zapewnia zasadę spójności:
n=4 s=[n/2]=2 L(n nad s)=6
Będę tworzyć podbanki metodą ścieżki krytycznej.(rysunki)
Spisujemy kolejno z taśm podbanki:
1.ABCF 4.CFAB
2.FABC 5.BCFA
3.CAFB 6.BFAC
Kiedy podbank ma iedentyczną lb.grup jak w m.klasycznej , czyli : LG=m1m2*..*m3, gdzie mi=cardVAi
m1=3 m2=3 m3=3 m4=3
LG=3*3*3*3=81
Jednak w każdym podbanku jest inna kolejność atr. Pozwala towykorzystać zasadę spójności do udzielania odpowiedzi na pyt. ogólne (nie będące termami elementarnymi)
Pojawienie się podbanków wprowadza redun.,ponieważ każdy obiekt musi być pamiętany w każdym podbanku.
R=(l-1)=6-1=5
Tu redun. nie jest jeszcze zbyt , ale wraz ze wzrostem lb.atr. wzrasta lb.podbanków a co za tym idzie wzrasta redun.
Kiedy lb,atr. sys. jest b.duża warto się zastanowić nad możliwością zastosowania modyfikacji z częściowymi podbankamim.
Zad.48
Dla systemu:
obiekty x1,x2,...,x25 opisane różnymi deskrypt. atrybutów a2,a3,a5,a6,a8
obiekty x26,x27,...,x50 opisane różnymi deskryp. atrybutów a1,a4,a7,a9,a10
Zaproponować organizację bazy danych zgodnie z m. Luma.Przedstaw szczegółowo znajdowanie odpowiedzi na pytania będące iloczynem wartości następujących atrybutów.
a1^a2^a3 a4^a7^a10
Skoro obiekty są podzielone na 2 grupy i każda z tych grup jest opisana innymi atrybutami ,to tworzę dwie kartoteki m. Luma.
W pierwszej grupie będą obiekty opisane następującymi atrybutami: a2,a3,a5,a6
W drugiej grupie będą obiekty opisane takimi atrybutami: a1,a4,a7,a9,a10
Ponieważ nie znam zbiorów wartości tych atrybutów nie jestem w stanie określić ilości grup w każdej z tych kartotek.
Proces tworzenia kartoteki przebiega w następujący sposób:
1. Opis grup jest iloczynem deskryptorów z każdego atrybutu systemu (tu podsystem).
2. Atrybuty muszą być uporządkowane od 1 do n (to samo dotyczy wart. atrybutów).
3. NR. GR. Opis grupy
1
2
Zmieniają się wartości ostatniego atryb. potem przedostatniego itd. ,aż do ostatniej grupy.
Odp. na pyt: a1^a2^a3
Po wstępnej analizie systemu wiemy ,że nie występuje obiekt ,który miałby w swoim opisie wartości atrybutów a1,a2 i a3 jednocześnie.
Dlatego odpowiedzią na to pytanie będzie zb. pusty.
Pyt. a4^a7^a10 (dokończyć)
-atrybuty pytania należą do zb. atrybutów drugiej kartoteki
-pytanie to należy znormalizować przez sprowadzenie pytania do sumy termów elementarnych
-odp. na pyt. składowe jest zb. obiektów grupy Gi i=(j1-1)*m2*m3*...*mn+(j2-1)*m3*...*mn+...+(jn-1-1)*mn +(jn-1)+N
gdzie: jk- j-ta wartość k-tego atrybutu występującego w pytaniu
mk- card Vak
N - adres pierwszej grupy
Zad.49
Dany jest system informacyjny S o zbiorze atrybutów A={a,b,c,d,e,f} ,gdzie każdemu z nich można przyporządkować trójelementowy zbiór wartości. System S zorganizowano w oparciu o m. Luma (z tzw. podbankami).
Po wstępnej eksploatacji systemu określono tzw. `'współczynniki współwystępowania atrybutów w pytaniach'' ,zawarte w poniższej tabeli T:
a b c d e f
a - 0.58 0.03 0.61 0.64 0.02
b 1 - 0.02 0.63 0.61 0.01
c 0.02 0.04 - 0.60 0.59
d 1 0.58 - 0.59 0.04
e 0.65 0.32 0.29 0.30 - 0.31
f 0.04 0.01 0.65 0.02 0.63 -
t(i,j) ,gdzie i,j nal. do A ,można interpretować jako prawdopodobieństwo występowania w pytaniu wartości atrybutu j ,jeżeli pojawiła się w nim wartość atrybutu i.
Podaj możliwości wykorzystania przez projektanta systemu danych zawartych w tablicy T oraz omów wszelkie konsekwencje płynące z reorganizacji systemu.
System S zorganizowany w oparciu o m. Luma z podbankami.
A={a,b,c,d,e,f} n=6 S=[6/2]=3 L=(n nad 3)=(6 nad 3)=20
Podbanki będę generować m. ścieżki krytycznej (teraz wykresy)
1 ABCDEF Na podstawie tabeli określającej
2 FABCDE współczynniki współwystępow.
3 EFABCD atrybutów wpytaniach mogę
4 DEFABC wyeliminować te podbanki w
5 CDAEFB których na pierwszych 3 pozyc.
6 BDFACE są atrybuty najrzadziej występ.
7 EABCFD w pytaniach wskazanych
8 DEABFC przez S. Zostało 16 podbanków.
9 DABEFC Teraz uporządkowujemy podb.
10 DFABCE w/g malejących współcz.
11 CDFABE współwyst. atrybutów w
12 CADEFB pyt.Można tu jeszcze upo-
13 CFADBE rządkować podbanki od
14 CEFABD najwięk. współcz. do najm.
15 CEABDF Wpływa to na szybkość
16 BCDEFA wyszukiwania (skraca czas
17 BFCDAE wysz.) Usunięcie podbanków o
18 BEFCAD najmniejszej współwystępowal.
19 BECFAD zmniejsza redundan. i zajętość
20 BDEFAC pamięci.
M. SKŁADOWYCH ATOMOWYCH
z dekompozycjami
ZAD.50
Dany jest sys.inf. S zorganizowany zgodnie z MSA ,przy czym:S=<X,A,V,q>
X={Ania,Basia,Iwonka,Jasiu,Magda,Marek,
Olek,Radek}
A={P,W,B}-{Płeć,Wiek,ulub.Bohater film.}
V=Vp∪Vw∪VB
Vp={dz,ch}Vw={3,4} VB={Bolek,Lolek,Maja}
Natomiast f-kcja informacji o obiekcie x∈X w S mają postać:
|
P |
W |
B |
Basia |
dz |
3 |
Maja |
Radek |
ch |
4 |
Maja |
Ania |
dz |
3 |
Maja |
Iwonka |
dz |
3 |
Maja |
Jasiu |
ch |
3 |
Maja |
Olek |
ch |
4 |
Maja |
Magda |
dz |
4 |
Maja |
Marek |
ch |
3 |
Maja |
A)Czy sys. S jest selektywny?
B)Czy sys. jest kompletny?
C)Czy sys.S cechuje redun.?
Odpowiedzi należy uzasadnić.
D)Przedstaw alternatywne sposoby organizacji b.d. dla sys. S oraz porównaj je.
System jest selektywny ,wtedy i tylko wtedy ,kiedy każda SA zawiera 1 obiekt lub 0 obiektów. Tutaj term elem. (P,dz)(W,3)(B,Maja) zawiera 3 obiekty, więc sys. nie jest selektywny.
System jest kompletny ,kiedy każda SA jest różna od zera. Tutaj sys,nie jest kompletny , ponieważ są termy elem.,które są puste-nie odpowiadają im żadne zbiory obiektów,np
(P,dz)(W,3)(B,Bolek)
(P,dz)(W,3)(B,Bolek)itd
Nie występuje tu redun.,każdy obiekt występuje tylko raz w kartotece wyszuki.
Usuwamy z sys.atr. B poniważ wszystkie obiekty są nierozróżnialne w sys.ze względu na ten atr.
A={P,W} Vp={dz,ch} Vw={3,4}
cardVp=2 cardVw=2
LSA=2*2=4
Zmniejszamy zajętość pamięci,gdyż nie pamiętamy całych opisów obiektów ale tylko identyfikatory i składowe atomowe.
ten system jest już kompletny ,ale nie jest selektywny.
SA |
obiekty |
|
00 |
{Basia,Ania, Iwonka} |
|
01 |
{Magda} |
|
10 |
{Jasiu,Marek} |
|
11 |
{Radek,Olek} |
|
Zad.51
tx1=a1,b2,c3,d8,e1,f1 tx6=a4,b5,c4,d6,e1,f3
tx2=a2,b1,c4,d5,e1,f1 tx7=a1,b2,c5,d8,e1,f1
tx3=a2,b7,c4,d4,e1,f4 tx8=a3,b7,c5,d4,e1,f1
tx4=a3,b7,c4,d4,e1,f4 tx9=a2,b7,c5,d4,e1,f3
tx5=a5,b2,c4,d8,e1,f5 tx10=a1,b2,c5,d8,e1,f3
Zaproponuj organizację bazy danych dla powyższego systemu opartą na MSA z dekompozycją atrybutową zależną (hierarchiczną). Podaj pełną definicję zorganizowanego systemu.
Usuwam atrybut E, bo obiekty są nierozróżnialne ze względu na ten atrybut. Wyznaczam klasy równoważności ,aby móc zaobserwować zależność atrybutów.
a~ b~
x1 x2 x4 x6 x5 x2 x1 x6 x3
x7 x3 x8 x5 x4
x10x9 x7 x8
x10 x9
c~ d~
x1 x2 x7 x3 x2 x6 x1
x3 x8 x4 x5
x4 x9 x8 x7
x5 x10 x9 x10
x6
f~
x1 x6 x5 x3
x2 x9 x4
x7 x10
x8
b--->d<=>b~⊂d~ ∧ d--->b<=>d~⊂b~ ⇒ b≡d
(nad literami przy grupach x-ów należy stawiać znaczek: ~)
ab (tu znaczek itd.) ac
x1 x2 x3 x4 x5 x6 x1 x2 x4 x5 x6 x7 x9
x7 x9 x8 x3 x10
x10
ad
x1 x2 x3 x4 x6 x5
x7 x9 x8
x10
af
x1 x2 x3 x4 x5 x6 x8 x9 x10
x7
ab≡ad z tego wynika, że b≡d
bc
x1 x2 x3 x5 x6 x7 x8
x4 x10 x9
bf
x1 x2 x3 x5 x6 x8 x9 x10
x7 x4
cd
x1 x2 x3 x5 x6 x7 x8
x4 x10 x9
cf
x1 x2 x3 x5 x6 x7 x9
x4 x8 x10
abc
x1 x2 x3 x4 x5 x6 x7 x8 x9
x10
abf
x1 x2 x3 x4 x5 x6 x8 x9 x10
x7
b--->d d--->b ab--->d af--->d af--->d--->b
b-atrybut najbardziej zależny
Narysować drzewko: od S wychodzą : S1 S2 S3 S4 ,od S1 : S11 S12 S13 S14 ,od S11 : S111 S112 ... S119 od S4 : S41 S42 S43 S44
zad.55
Wiedząc,że A={A,B,C,D,E,F} i VA={a1,a2,a3} i VB={b1,b2,b3} , VC={c1,c2,c3} VD={d1,d2,d3} VE={e1,e2,e3} VF={f1,f2,f3}. Zaproponować sposób dekompozycji sysytemu zawierającego 10 następujących obiektów:
tx1=a1b1c1d1e1f1 tx6=a2b1c2d1e1f2
tx2=a1b1c1d1e1f2 tx7=a2b1c3d1e1f3
tx3=a1b1c2d1e1f3 tx8=a2b2c3d3e1f3
tx4=a1b1c3d1e1f1 tx9=a2b3c2d2e1f2
tx5=a1b1c1d1e1f3 tx10=a2b3c2d2e1f2
Opisać szegółowo wyszukiwanie odp. na pyt.:
1)P1=a1*b1*c1 4)P4=c2*e1
2)P2=a1 5)P5=(-c)*(-a)
3)P3=b1*d1*e1
Pierwszą moją obserwacją jest to ,że wszystkie obiekty są opisane jedną wartością atrybutu E,jest to wartość e1.W związku z tym , że obiekty są nierozróżnialne w sys. ze względu na atrybut E,więc mogę go usunąć z sys. bez straty informacji o obiektach.
Przeprowadzam analizę zależności atrybutów w sys.:
A~ |
B~ |
C~ |
D~ |
F~ |
x1x6 |
x1x8x9 |
x1x3x4 |
x1x9x8 |
x1x2x3 |
x2x7 |
x1 x10 |
x2x6x7 |
x1 x10 |
x4x6x5 |
x3x8 |
x3 |
x5x9x8 |
x3 |
x9x7 |
x4x9 |
x4 |
x10 |
x4 |
x10 x6 |
x5x10 |
x5 |
|
x5 |
|
|
x6 |
|
x6 |
|
|
x7 |
|
x7 |
|
b-->d i d-->b⇒b≡d
Ponieważ zbiór obiektów nie jest duży nie możemy tu zastosować dekompozycji obiektowej .Nie możemy tu też zastosować dekompozycji atr. poniewż jest zbyt mała liczba atr.Ponieważ istnieją tu dwa atr. zależne zastosuję dekompozycję hierarchiczną:
S={X,A∪B1,V,ρ}
A={A,C,F}-zb.atr.niezależ.
B1={B,D} V-zb.wartości atr.zależ.
ρ:X*A∪B --->V
RYSUNEK!!!
Od S : wychodzą S1 S2 S3
S1=<X,A∪B2,V1,q> s2,s3 taki sam opis
B2={B}
Odpowiedzi na pyt.
1)P=a1*b1*c1
-ponieważ pyt.nie zawiera desk. z atr. D, który był atr. najbardziej zależnym i w/b którego została dokonana dekompozycja pytanie tp kierujemy do wsztstkich podsystemów,
-w podsystemie znajdowana jest odpowiedz zgodnie z zastosowaną metodą wyszukiwania,
-sys.główny daje odpowiedz jako sumę odpowiedzi ze wszystkich podsystemów
δ(R)=δ1(P)∪δ2(P)∪δ3(P)
2)P=a1 4)P=c2*e1 -- to samo co w przypadku 1) + do 4) ponieważ wszystkie obiekty są opisane deskryptorem e1 , więc udzielenie odp. będzie się ograniczało do podania zb.obiektów,którre w swoim opisie zawierają des. c1
3)P=b1*d1*e1
-ponieważ wszystkie obiekty zawierają w swoim opisie des. e1,więc możemy go pominąć w naszych rozważaniach, a więc obcinamy pyt. do postaci P'=b1*d1
-pyt.dotyczy tylko podsystemu dla d1
-w tym podsystemie znajdujemy odp.na pyt.P'=b1 zgodnie z zsatosowaną metodą wyszukiwania
5)P(-c)*(-a)
-doprowadzamy pyt. do postaci nie zawierającej des. zaprzeczonych P=(c2+c3)*(a2)=a2*c2+a2*c3
-dalej to co w przypadku 1)
zad.56
Na zaproponowanym przez ciebie przykładzie sys.inf, omów:
a)sposób organizacji b.d. dla MSA,
b)sposób wyszukiwania odp. na różne typy pyt. Jaki jest związek pomiędzy postacią pytania,a czasem wyszukiwania odp.na pyt dla MSA?
S={X,A,V,q}
X={x1,...,x5}
A={A,B,C,D} VA={a1,a2,a3} VB={b1,b2} VC={c1,c2,c3} VD={d1,d2,d3,d4}
q:X*A-->V- f-kcja inf. (można ją zapisać w postaci tab.)
|
A |
B |
C |
D |
x1 |
a3 |
b1 |
c3 |
d4 |
x2 |
a2 |
b2 |
c2 |
d2 |
x3 |
a2 |
b2 |
c3 |
d3 |
x4 |
a3 |
b1 |
c3 |
d4 |
x5 |
a1 |
b2 |
c3 |
d1 |
a) Założenia do sys. zorganizowanego zgodnie z MSA:
1)dla każdego t1,t2 należących do Tr δ(t1)∩δ(t2)=∅
2)∪ti należących do Te δ(ti)=X
Obliczam liczbę składowych atomowych:
1)numerujemy wartości atr., kolejność str. jest ustalona,
2)LSA=m1*m1*...*mn mi=cardVAi
LSA=3*2*3*4=72
Opisy skladowych atomowych stanowią iloczyny wartości z każdego atr.
Tworzymy identyfikatory SA, które są ciągami b1,b2,..,bn gdzie bj odpowiada liczbie określającej numer wartości j-tego atr.
0000 |
0100 |
1000 |
1100 |
2000 |
0001 |
0101 |
1001 |
1101 |
2001 |
0002 |
0102 |
1002 |
1102 |
2002 |
0003 |
0103 |
1003 |
1103 |
2003 |
0010 |
0110 |
1010 |
1110 |
2010 |
0011 |
0111 |
1011 |
1111 |
2011 |
0012 |
0112 |
1012 |
1112 |
itd |
0013 |
0113 |
1013 |
1113 |
|
0020 |
0120 |
1020 |
1120 |
|
0021 |
0121 |
1021 |
1121 |
|
0022 |
0122 |
1022 |
1122 |
|
0023 |
0123 |
1023 |
1123 |
|
Można zamiast identyfikatora zastosować numer SA
Σbi*Ui gdzie Ui=m2*m3*..*mn
Un-1=mn
Un=1
np 1023 Σbi*Ui=1*24+0*12+2*4+3*1=35
W kartotece pamiętamy SA i odpowiadające im zbiory obiektów.Pamiętamy tylko niepuste składowe atomowe.
identyfikator |
nr SA |
zb.obi. |
0123 |
23 |
x5 |
1111 |
41 |
x2 |
1122 |
46 |
x3 |
2023 |
59 |
x1,x4 |
0*24+1*12+2*4+3*1=23
1*24+1*12+1*4+1*1=41
1*24+1*12+2*4+2*1=46
2*24+0*12+2*4+3*1=59
b)Proces wyszukiwania odpowiedzi na pyt.
1)pyt w postaci sumy termów elem. t=t1+t2+..+tn
to odpowiedz δ(t)=δ(t1)∪δ(t2)∪....∪δ(tn)
ti należy do TE
-pyt. przekształcamy do postaci identyfikatora
ti ⇒ b1..bn -przeszukujemy kartotekę ,aby znależć identyfikator i odpowiadające mu zbiory obiektów
-identyfikator można przekształcić do postaci numeru
2)Jeśli termy pyt. nie są termami elem. to należy je przeanalizować.Dalej wyszukiwanie przebiega jak w 1)
Jednak czas wtszukiwania jest tu wydłużony o proces normalizacji.
W MSA preferowane są pyt. szczegółowe,o skł atomową, czyli pyt. oterm elem.
zad.57
Dla sys. S o wybranym zbiorze obiektów opisanych:
tx1=a1b1c1d1e1f1 tx6=a2b1c2d1e1f2
tx2=a1b1c1d1e1f2 tx7=a2b1c3d1e1f3
tx3=a1b1c2d1e1f3 tx8=a2b2c3d3e1f3
tx4=a1b1c3d1e1f1 tx9=a3b3c2d2e1f2
tx5=a1b1c1d1e1f3 tx10=a3b3c2d2e1f2 Wymień kolejne czynności, które muszą być wykonane dla stworzenia kartoteki wyszukiwawczej w MSA.Określ możliwe parametry tej metody.Dal jakiego typu pyt.czasy wyszukiwania będą najkrótsze w zaproponowanej organizacji kar.wyszu.?
W rozważaniach nad sys. mmogę pominąć atr.E ,ponieważ wszystkie obiekty w bazie są nierozróżnialne ze względu na ten atr.
S=<X,A,V,q> X={x1,..,x10} A={A,B,C,D,E}
VA={a1,a2,a3} VB={b1,b2,b3} VC={c1,c2,c3}
VD={d1,d2,d3} VF{f1,f2,f3}
q:X*A-->V
1)Określam lb. SA w sys.
mi=cardVAi
LSA=m1*m2*m3*m4*m5=3*3*3*3*3=243
SA będzie b.dużo,ich liczba przewyższa znaczenie lb.obiektów, wobec tego będzie duża lb.SA pustych.
2)Opisy SA stanowią iloczyn wartości z każdego atr.Dla podania niepustych SA wykorzystam tu uporządkowanie leksykograficzne opisów SA i przyjmujemy wartości atr. od 0 do n-1
3)Każdemu opisowi będzie odpowiadał ciąg liczb b1,b1,...,bn , gdzie bj odpowiada lb.określającej nr wartości j-tego atr.
b1b2b3b4b5 nr SA
00000 0
00001 1
00002 2
00102 11
00200 18
10101 91
10202 101
11222 134
22111 229
4)Dla stworzenia dogodnej kart.wysz. wprowadzamy numerację SA
W celu pamiętania tylko niepustych SA stosujemy tu modyfikację z tablicą adresową, która ma postać:
nr SA zb.obiektów
0 x1
1 x2
2 x5
11 x3
18 x4
91 x6
101 x7
134 x8
229 x9,x10
Baza danych jest tutaj tylko powiększona o tab.adresową,ale struktura jest prosta.
Brak redun. i mniejsza zajętość pamięci niż w m.klasycznej bez tab.adr.
Jest to m.mniej czsochłonna niż m.klasyczna,która jest czsochłonna.
Najkrótsze czsy wyszukiwania w tak zorganizowanym sys. osiąga się dla pytań będących termami elel.
Zad.59
Definicja formalna sys.
S=<X,A,V,q>
A={A,B,C,D,E,F}
VA={a1,a2,a3} cardVA=3
VB={b1,b2} cardVB=2
VC={c1,c2,c3} cardVC=3
VD={d1,d2} cardVD=2
VE={e5}
VF={f2,f4} cardVF=2
Określona jest funkcja informacji q:X*A-->V
Ze zbioru atr. odrzucamy atr. E,dla którego wsztstkie obiekty są opisane wartością e5, czyli są one nierozróżnialne w sys. ze względu na ten atr.
Ogólna liczba składowych atom.jest liczona ze wzoru: LSA=m1*m2*...*m5
m1=cardVA
m2=cardVB itd.
LSA=3*2*3*2*2=72
LSA'puste'=72-9=63
Są 63 klasy puste;( jest to lb.skł.atom…pełnych.
W kartotece jest 10 obiektów ,wszystkie są opisane różnymi termami elem.,tylko obiekty x8 i x10 są opisane takim samym termem elem.,więc należą do jednej skł.atom…
Sposób szukania odpowiedzi na pyt. a3*b1*f2 -wszystkie wartości w obrębie każdego atr. numerujemy od 0 do n
-nasze pyt.nie jest w postaci termu elem.,więc musimy je znormalizować, czyli sprowadzić do postaci sumy termów elem.
P=a3*b1*[(c1+c2+c3)*(d1+d2)]*f2=
a3*b1*[c1*d1+c1*d2+c2*d1+c2*d2+c3*d1+c3*d2]*f2=a3*b1*c1*d1*f2+a3*b1*c1*d2*f2+a3*b1*c2*d1*f2+a3*b1*c2*d2*f2+a3*b1*c3*d1*f2+a3*b1*c3*d2*f2
Teraz każdy z termów ele. pyt. zostaje przekształcony do postaci identyf. b1..bn
1)20001
2)20011
3)20101
4)20111
5)20201
6)20211
Odpowiedzią jest suma obiektów odpowi. powy ższym identyfikatorom.
Kompozycje
zad.60
Dane są dwa sys.inf. S1 ,S2 zorganizuj zgodnie z MSA .
|
A1 |
A2 |
A3 |
A4 |
X1 |
V11 |
V21 |
V31 |
V41 |
X2 |
V12 |
V22 |
V31 |
V42 |
X3 |
V11 |
V23 |
V32 |
V42 |
X4 |
V12 |
V21 |
V32 |
V42 |
|
A1 |
A2 |
A3 |
A4 |
X5 |
V11 |
V21 |
V31 |
V41 |
X6 |
V13 |
V23 |
V31 |
V42 |
X7 |
V13 |
V23 |
V31 |
V42 |
Niech S jest złożeniem obiektowym S1 i S2.
1)Podać dla sys. S zbiór obiektów X,Zb.atr.A, zbiory wartości atr. Vai
2)Sprowadzić do postaci standardowj w S term q=(A1,V13)∩(A2,V23)
i podać zbiory obiektów ,które są odpowiedzią na q w S1,S2 i S.
1)S=S1+S2 S=<X,A,V,q>
X={x1,x2,x3,x4,x5x,6,x7}
Ponieważ zb.wartości atr. A1 nie są identyczne w obu podsystemach ,musi zachodzić warunek ,że wartości w obrębie atr. nie będą się wykluczać.
VA1={V11,V12,V13} VA2={V21,V22,V23} VA3={V31,V32} VA4={V41,V42}
2)q=(A1,V13)∧(A2,V28)∧((A3,V31)∨(A3,V32))∧((A4,V41)∨(A4,V42))=(A1.V13)∧
(A2,V23)∧(A3,V31)∧(A4,V41)∨(A1,V13)∧(A2,V23)∧(A3,V31)∧(A4,V41)∨(A1,V13)∧(A2,V23)∧(A3,V32)∧(A4,V41)∨(A1,V13)∧(A2,V23)∧(A3,V32)∧(A4,V42)
δ(q)S1 {zb.pusty} δ(q)S2 {x6,x7}
δ(q)S {x6,x7}
Strona A
1. Act Of Love
2. Brother
3. Dead Man
4. Footsteps
5. Gremmine Out Of Control
6. Hard To Imagine
7. My Genaration
8. Naked Eye
9. Seenface
10. Suggestion & Teen Spirit
11. Sympathy
12. Three Little Birds
13. Trouble
14. Words Out Of Place
15. Xmas Time
16. By Your Side
17. Don't Need
18. Dirty Frank
Strona B
1. Going Down
2. Hold Your Head Up
3. Just A Girl
4. Master Of War
5. Myster
6. Patriots
7. Happy When I'm. Crying
8. History Never Repeats
9. My Way
10. Olimpic Platinum
11. Sonic Reducer
12. Swallow My Pride