Metoda list prostych.
Transkrypt
Metoda list prostych.
Sosnowiec, dn. 18.05.2009 Sprawozdanie Systemy wyszukiwania informacji – Metoda list prostych. Kamil Zieleniec Grupa Zaoczna, rok II Kartoteka wtórna lp imię nazwisko staż pracy dział pensja 1 Jan Kowalski 5 sale średnia 2 Andrzej Korzeń 2 sale niska 3 Tadeusz Nowak 7 helpdesk średnia 4 Jan Nowak 10 kierownictwo 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 kierownictwo wysoka 9 Artur Pański 4 helpdesk niska Kartoteka wyszukiwawcza t1=(lp,1)*(imię,Jan)*(nazwisko,Kowalski)*(stażpracy,5)*(dział,sale)*(pensja,średnia) t2=(lp,2)*(imię,Andrzej)*(nazwisko,Korzeń)*(stażpracy,2)*(dział,sale)*(pensja,niska) t3=(lp,3)*(imię,Tadeusz)*(nazwisko,Nowak)*(stażpracy,7)*(dział,helpdesk)*(pensja,średnia) t4=(lp,4)*(imię,Jan)*(nazwisko,Nowak)*(stażpracy,10)*(dział,kierownictwo)*(pensja,wysoka) t5=(lp,5)*(imię,Adam)*(nazwisko,Kowalski)*(stażpracy,4)*(dział,development)*(pensja,wysoka) t6=(lp,6)*(imię,Sebastian)*(nazwisko,Mikrut)*(stażpracy,2)*(dział,development)*(pensja,średnia) t7=(lp,7)*(imię,Michał)*(nazwisko,Cieślak)*(stażpracy,3)*(dział,development)*(pensja,średnia) t8=(lp,8)*(imię,Adam)*(nazwisko,Myśliwiec)*(stażpracy,13)*(dział,kierownictwo)*(pensja,wysoka ) t9= (lp,9)*(imię,Artur)*(nazwisko,Pański)*(stażpracy,4)*(dział,helpdesk)*(pensja,niska) Wyszukiwanie informacji Odpowiedzi na pytanie poszukuje się wykorzystując metodę przeglądu zupełnego. Proces wyszukiwania polega na porównywaniu deskryptora z pytania z kolejnymi elementami termów elementarnych w kartotece wyszukiwawczej. Algorytm wyszukiwania: ● ● ● ● pobierz pierwszy deskryptor z pytania porównaj deskryptor pytania z kolejnymi deskryptorami obiektów z kartoteki wyszukiwawczej jeśli nastąpiło wystąpienie pierwszego deskryptora z pytania w obiekcie kartoteki pobierz drugi deskryptor pytania i dokonaj porównania drugiego deskryptora z deskryptorami z tego obiektu powtarzaj operację tyle razy, ile deskryptorów jest w pytaniu Przykładowe pytania (ogólne) t=(imię,Adam) Odpowiedzią na takie pytanie będą wszystkie rekordy zawierające deskryptor (imię, Adam) (które mają atrybut imię przyjmujący wartość Adam). (t) = { 5, 8 } Przykładowe pytanie (szczegółowe) t=(pensja, średnia)*(nazwisko, Nowak) Odpowiedzią na tak zadane pytanie będą wszystkie rekordy posiadające deskryptor (pensja, średnia) oraz deskryptor (nazwisko,Nowak). (t) = { 3 } Redundancja W tej metodzie redundancja jest zerowa, gdyż w kartotece wyszukiwawczej nie powtarzają się opisy obiektów. Zajętość pamięci. Opisana jest wzorem M = N *mx gdzie N – ilość obiektów w kartotece mx – średnia ilość jednostek pamięci potrzebna do zapisania jednego obiektu Czas wyszukiwania Zależy od ilości obiektów i ilości termów składowych wchodzących w skład zapytania. Określony wzorem t=N*t0*k gdzie N – ilość obiektów w kartotece t0 – średni czas przeglądu jednego obiektu k – liczba termów składowych zapytania Aktualizacja Dokonywana przez usunięcie, dodanie obiektu. Modyfikacje metody. Jednym ze sposobów poprawienia wydajności tej metody jest wykorzystanie metody grupowania obiektów według wybranego atrybutu. Metody tej nie można zastosować w systemie „z marszu”. Wymaga pewnego okresu obserwacji systemu, gdyż należy wybrać atrybut względem, którego pogrupujemy obiekty. Wyboru atrybutu dokonujemy ze względu na pewne kryteria. Przede wszystkim musi często występować w pytaniach zadawanych do systemu, ponadto powinien być możliwie wielowartościowy oraz powinien w miarę równomiernie dzielić kartotekę wyszukiwawczą. Algorytm postępowania. Decydujemy się, że atrybutem „do grupowania” będzie dział. Spełnia on wszystkie warunki podane powyżej, dodatkowo zakładamy, że w pytaniach pojawia się najczęściej. Na podstawie kartoteki wyszukiwawczej z metody klasycznej tworzymy nową kartotekę. NU lp 1 5 2 imię Adam nazwisko staż pracy dział pensja Kowalski 4 development wysoka 6 Sebastian Mikrut 2 development średnia 3 7 Michał Cieślak 3 development średnia 4 3 Tadeusz Nowak 7 helpdesk średnia 5 9 Artur Pański 4 helpdesk niska 6 4 Jan Nowak 10 kierownictwo wysoka 7 8 Adam Myśliwiec 13 kierownictwo wysoka 8 1 Jan Kowalski 5 sale średnia 9 2 Andrzej Korzeń 2 sale niska gdzie NU – nowe uporządkowanie Dodatkowo budujemy tablicę adresową do tejże kartoteki. (a,u) AP AK (dział,development) 1 3 (dział,helpdesk) 4 5 (dział,kierownictwo) 6 7 (dział,sale) 8 9 gdzie AP – adres początku AK – adres końca Wyszukiwania w takiej kartotece dokonujemy przez pobranie adresu początku i końca dla danego obiektu. Następnie przeglądem zupełnym poznajemy odpowiedź na pytanie. Metoda ta nie daje nic w przypadku pytań rzadko zadawanych do systemu. Wadą modyfikacji jest także zwiększenie zajętości pamięci w porównaniu z metodą klasyczną (prócz samej kartoteki wyszukiwawczej musi przechować w pamięci tablicę adresową). Oczywiście w przypadku pytań odnoszących się do atrybutów „popularnych” modyfikacja zmniejsza czas wyszukiwania. Redundancja pozostaje nie zmieniona.