Metoda list inwersyjnych
Transkrypt
Metoda list inwersyjnych
METODA WYSZUKIWANIA STRUKTURA BAZY DANYCH CZAS WYSZUKIWANIA REDUNDANCJA I ZAJĘTOŚĆ PAMIĘCI AKTUALIZACJA PYTANIA OGÓLNE PYTANIA SZCZEGÓŁOWE Bardzo krótki Dochodzi czas przecięcia list Duża redundancja: r METODA KLASYCZNA Złożona, konieczność pamiętania list inwersyjnych R (d j 1 j )N N Złożona. Konieczność zmiany w listach. g N – liczba obiektów r – liczba deskryptorów METODA ZE ZMNIEJSZONYM ZBIOREM LIST INWERSYJNYCH METODA DEKOMPOZYCJI OBIEKTOWEJ METODA DEKOMPOZYCJI ATRYBUTOWEJ Maleje liczba r Nieco większy niż w metodzie Złożona, konieczność zmiany w klasycznej. listach przy mniejszej liczbie Dochodzi czas list. przeglądu 0 Zmniejsza się długość list w podsystemach Krótszy czas Złożona, konieczność zmiany w niż w metodzie listach, dla każdego klasycznej dla podsystemu. jednego podsystemu. Jak w metodzie klasycznej. Mniejsza liczba list. Złożona, pamiętanie podsystemów i list w podsystemach. Złożona, pamiętanie podsystemów i list w podsystemach. Maleje liczba r w podsystemach Złożona, konieczność zmiany w listach, dla każdego podsystemu. Krótki czas wyszukiwania w podsystemie. ( g p ) i i i Jak wyżej. Dochodzi czas przeglądu 0 Krótszy czas niż w metodzie klasycznej dla jednego podsystemu. Krótki czas wyszukiwania w podsystemie. MODYFIKACJE metody list inwersyjnych: PORZĄDKOWANIE ADRESÓW OBIEKTÓW NA LISTACH (poprawia czas wyszukiwania odpowiedzi) ZAZNACZANIE PRZEDZIAŁÓW ADRESÓW (MODYFIKACJE zmniejszające zajętość pamięci) Zamiast: L(d1)={1, 2, 3, 4, 5, 8, 12, 13, 14, 15, 16, 20} mamy: L’(d1)={1 5, 8, 12 16, 20} LISTY DLA PAR DESKRYPTORÓWZ ZAZNACZENIE CZĘSCI WSPÓLNEJ (MODYFIKACJE zmniejszające zajętość pamięci) Zamiast list: L(d1)={1, 2, 5, 7, 10, 12, 13} oraz L(d2)={3, 5, 7, 9, 10, 12, 15, 18} Mamy: L(di,dj) = { {1, 2, 13} {5, 7, 10, 12} {3, 9, 15, 18} } LISTY WIELODESKRYPTOROWE – szczególne przypadek list dla par deskryptorów (MODYFIKACJE zmniejszające zajętość pamięci) Zamiast list L(d1)={1, 2, 5, 7, 8, 12, 17} oraz L(d2)={1, 4, 5, 9, 10, 17, 20} mamy 1 listę: L(d1*d2) = {1, 5, 17} TWORZENIE LIST DLA PEWNEGO POZBIORU DESKRYPTORÓW (MODYFIKACJE zmniejszające zajętość pamięci i spracające czas wyszukiwania) Tworzymy listy inwersyjne tylko dla wybranego podzbioru D’ deskryptorów, gdzie D’ D. Wybrany zbiór może byd zbiorem deskryptorów najczęściej występujących w pytaniach do systemu S lub zbiorem deskryptorów pewnego atrybutu (pewnych atrybutów). Tworzymy listy inwersyjne (di) Gdzie: di D’ di D' i Zadanie 1. Dany jest system informacyjny S. Fragment zawartych w nim opisów wygląda następująco: (wiek, młodzież) = {1,2,3,4,9,11,14,16,17} (wiek, dorosły) = {5,6,12,13,18,19} (wiek, starszy) = {7,8,10,15,20} (sport, brak)= {1,2,3} (sport, basen) = {9,14,16,20} (sport, rower i biegi) = {4,5,6,8,10,12,17,19} (sport, wędrówki górskie) = {7,11,13,15,18} (hobby, sztuka) = {1,2,3,9} (hobby, film i muzyka) = {5,6,8,11,12,13,14,15,17,18,19,20} (hobby, książka) = {4,7,10,16} a) b) c) Ile opisanych jest tu obiektów ? Podaj opisy tych obiektów. Oblicz redundancję w tym systemie. Zastosuj do w/w opisów możliwe modyfikacje i uzasadnij ich wpływ na efektywnośd systemu. Zadanie 2 Dany jest system informacyjny frekwencja Srednia_ocen X1 WYSOKA a X2 NISKA B X3 WYSOKA C X4 NISKA A X5 WYSOKA B X6 NISKA C X7 WYSOKA A Zadanie 3. X8 X9 X10 Liczba_nagród C1 C3 C2 C3 C1 C3 C2 NISKA WYSOKA NISKA 1. 2. Dla podanego systemu informacyjnego, którego funkcja informacji q przedstawiona jest w poniższej tabeli: Dziedzina Wydawnictwo Twarda oprawa X1 INFORMATYKA PWN Tak X2 INFORMATYKA WNT Tak X3 INFORMATYKA WNT Tak X4 Matematyka WNT Tak X5 INFORMATYKA PWN Tak X6 Fizyka PWN Tak X7 Matematyka WNT Tak X8 Matematyka PWN Nie X9 Chemia PWN Nie X10 Matematyka WNT Tak A A c C3 C1 C3 Zbuduj listy inwersyjne wiedząc, że najczęściej zadawane są pytania dotyczące pary (frekwencja,wysoka)(srednia_ocen,a) oraz tych samych deskryptorów pojedynczo. Pamiętaj, aby utworzona struktura była optymalną. Oblicz redundancję w systemie klasycznym oraz tym, zaproponowanym przez siebie. S= <X,A,V,q> X = {x1,x2,..,x10} A = {dziedzina, wydawnictwo, twarda oprawa} V dziedzina = {informatyka, matematyka, fizyka, chemia} V wydawnictwo = { PWN, WNT} V twarda oprawa = {tak, nie} Przedstaw postad kartoteki wyszukiwawczej w metodzie list inwersyjnych zmodyfikowana w ten sposób, aby szybko można było wyszukiwad informacje na pytania o cechę „Dziedzina” oraz „Wydawnictwo”. Umotywuj, jak reorganizacja kartoteki wpłynie na czas wyszukiwania. Zadanie 4. Funkcja informacji systemu informacyjnego S została podana w postaci tablicy: lp imię nazwisko staż dział pensja 1 Jan Kowalski 5 sale średnia 2 Andrzej Korzeo 2 sale niska 3 Tadeusz Nowak 7 helpdesk średnia 4 Jan Nowak 10 sale wysoka 5 Adam Kowalski 4 development wysoka 6 Sebastian Mikrut 2 development średnia 7 Michał Cieślak 3 development średnia 8 Adam Myśliwiec 13 helpdesk wysoka 9 Artur Paoski 4 helpdesk niska Zbuduj kartotekę wyszukiwawczą dla metody list inwersyjnych. Zastosuj te modyfikacje list inwersyjnych, które zmniejszają zajętośd pamięci. Zadanie 5 Dany jest system informacyjny S zorganizowany zgodnie z metodą list inwersyjnych. W systemie tym zastosowano kilka modyfikacji. Listy inwersyjne wyglądają tu następująco: (d1) = {56,9} (c6) = {6,8} (a2) = {5,6,10} (d2) = {1,3,8,10} (c5) = {9} (a3) = {1,2,7,8} (b5 * d3) = {2,4} (b2) = {79} (c4 * b1) = {} (b3 * c5) = {1,3,5} (b4) = {6,10} (c3) = {2,4,7,10} (a1) = {3,4,9} Wymieo I uzasadnij jakich modyfikacji dokonano w tym systemie. Jakich modyfikacji można było dokonad w tym systemie ponad te, które tu widad ? Zadanie 6 Dany jest system informacyjny S, dla którego dany jest zbiór atrybutów: A={A1, A2, A3}. Opisy obiektów mają następującą postad: X1: x X6: b*p*z X11: c*k*z X2: b*k*x X7: b*n*y X12: a*m*z X3: b*n*y X8: b*k*x X13: a*m*x X4: b*n*z X9: a*m*x X14: a*m*x X5: b*k*z X10: c*k*z X15: a*m Przedstaw propozycję organizacji bazy danych systemu S zorganizowanego w postaci list inwersyjnych. Reorganizacja powinna zapewnid przede wszystkim minimalny czas wyszukiwania i ewentualnie zmniejszenie redundancji. Zadanie 7 Zadane są listy inwersyjne: L(a1)= {3, 4, 9} L(a2)= {5, 6, 10} L(a3)= {1, 2, 7, 8} L(a4)= {} L(a5)= {} L(a6)= {} L(b1)= {} L(b2)= {7, 8, 9} L(b3)= {1, 3, 5} L(b4)= {6, 10} L(b5)= {2, 4} L(b6)= {} L(c1)= {} L(c2)= {} L(c3)= {2, 4, 7, 10} L(c4)= {} L(c5)= {1, 3, 5, 9} L(c6)= {6, 8} Odtwórz opisy obiektów. Dla jakich modyfikacji metody list inwersyjnych Twoja odpowiedź jest poprawna, a dla jakich nie ? (Uzasadnij swoją odpowiedź !!!). L(d1)= {5, 6, 7, 9} L(d2)= {1, 3, 8, 10} L(d3)= {2, 4} L(d4)= {} L(d5)= {} L(d6)= {}