SYSTEMY WYSZUKIWANIA INFORMACJI



Podobne dokumenty
SYSTEMY WYSZUKIWANIA INFORMACJI

Metoda list prostych Wykład II. Agnieszka Nowak - Brzezińska

Metoda list inwersyjnych. Wykład III

Metoda List Prostych mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Sosnowiec, 2012

Metoda List Łańcuchowych

Metoda List Inwersyjnych

Terminarz na sezon 2014/2015 (zaznaczono główny termin sobotni) 1 kolejka 19 lipca

METODA LIST PROSTYCH. Marcin Jaskuła

Metoda list inwersyjnych

Pozycjonowanie oficjalnych stron internetowych polskich klubów piłkarskich

ALFA ROMEO... 2 AUDI... 2 BMW... 2 CHRYSLER... 3 CITROEN... 4 FIAT... 4 FORD... 5 HONDA... 6 HYUNDAI... 7 LEXUS... 7 MITSUBISHI... 8 OPEL...

Systemy Wyszukiwania Informacji

Metoda Składowych atomowych

Przekladnie kierownicze

Wojewódzki Konkurs Matematyczny dla uczniów gimnazjów 19 luty 2012 Czas 90 minut

Zadanie 1. Suma silni (11 pkt)

Wojewódzki Konkurs Matematyczny dla uczniów gimnazjów 19 luty 2013 Czas 90 minut

Instrukcje dla zawodników

Oferta Najmu Krótkoterminowego

1 Układy równań liniowych

Dekompozycja w systemach wyszukiwania informacji

NADKOLA Możliwe są dodatkowe rabaty w zależności od zamawianej ilości. AUDI Nr artykułu Numer OE

Algorytmy sortujące i wyszukujące

Wprowadzenie i pojęcia wstępne.

Na polskiej piłce da się zarabiać Ekstraklasa piłkarskiego biznesu września 2011 r.

Przewidywana do zakupu ilość filtrów (w zalezności od potrzeb warsztatowych Zamawiającego) przykładowy numer katalogowy*

Jednym z najprostszych sposobów porządkowania jest technika stosowana przy sortowaniu listów:

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Terminarz rozgrywek Ekstraklasy w sezonie 2016/2017

Rok prod.: Alfa Romeo Alfa Romeo Alfa Romeo 159 Sedan 05--

Redakcja Radia TOK FM Olga Chojnacka

Polski rynek pojazdów używanych

Pologne :02 00:00 03:00 01:01 00:02 02:03 03:00 01:01 01:03 01:01 02:00 04:02 01:02 00:00 00:02 00:01 01:01 01:02 03:01 00:00 01:01 01:00

OBWIESZCZENIE O LICYTACJI RUCHOMOŚCI

Lista marek i modeli:

Systemy Wyszukiwania Informacji: Metoda list inwersyjnych

Sztuczna inteligencja : Algorytm KNN

5.5. Wybieranie informacji z bazy

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

Uchwyt rowerowy PADOVA 2. Stabilny bagażnik do transportu rowerów w pozycji stojącej na tylnej klapie w samochodach typu sedan, hatchback oraz kombi.

Samochody w Polsce posiadanie, plany zakupu

Raport wojewódzki WOJ. OPOLSKIE 2010

ZAMÓWIENIA GIS BY CTI

Temat: Algorytm kompresji plików metodą Huffmana

Altar. Produkcja, sprzedaż i montaż zaczepów kulowych. Zaczepy kulowe (haki holownicze) Katalog 2013

Wyszukiwanie i zamawianie artykułów za pośrednictwem strony internetowej

Tadeusz Pankowski

SRL - NAJLEPSZY NA RYNKU STOSUNEK JAKO

Polska południowa Jarek Czerwiński - (Kierownik Regionu Południe)- czerwinski@stal-car.pl Tel

METODY INŻYNIERII WIEDZY

NADKOLA I OSŁONY POD SILNIK Oferta handlowa firmy PPUH ADMAL

Złożoność obliczeniowa zadania, zestaw 2

DLA SERWISÓW SAMOCHODOWYCH

Metoda Karnaugh. B A BC A

Algorytmy i struktury danych

Hierarchiczna analiza skupień

Rozmiar M dedykowane modele:

Oprogramowanie diagnostyczne Delphi 2012 Wydanie 3 do samochodów osobowych i lekkich pojazdów dostawczych

znajdziesz filtr do swojego samochodu na:

Arkusz kalkulacyjny Excel

Metody indeksowania dokumentów tekstowych

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Wyszukiwanie i zamawianie artykułów za pośrednictwem strony internetowej

Uszczelniacze do Przekładni Kierowniczych ze WSPOMAGANIEM

Agnieszka Nowak Brzezińska Wykład III

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Raport aktywności kibiców ekstraklasy na Facebooku maj 2011

MATA UNIWERSALNA 100x90

5. Bazy danych Base Okno bazy danych

Rekurencja. Przykład. Rozważmy ciąg

Uszczelnienia, zestawy uszczelnień i części serwisowe o jakości wyposażenia oryginalnego. Przegląd produktów. Elring-Service

KULA TYP S kula stała, przykręcana na dwie śruby M12. KULA TYP V kula wypinana pionowo za pomocą dźwigni

Hatchback. Das WeltAuto. > Wyszukaj samochody osobowe > Lista wyników. Nr kom Bednarek ul. Szczecińska 38A, Łódź Tel.

Systemy uczące się wykład 2

TP1 - TABELE PRZESTAWNE od A do Z

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Materiały dla finalistów

Bazy danych TERMINOLOGIA

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

6. Zagadnienie parkowania ciężarówki.

Podstawowe zapytania SELECT (na jednej tabeli)

QUERY język zapytań do tworzenia raportów w AS/400

Agnieszka Nowak Brzezińska Wykład III

MOL DYNAMIC OLEJE SILNIKOWE PREMIUM TECHNOLOGIA PODWÓJNEGO FILMU ZAPEWNIAJĄCA MAKSYMALNE PARAMETRY UŻYTKOWE

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST)

Teoretyczne podstawy informatyki

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

RAPORT INTERNETOWY RYNEK POJAZDÓW UŻYWANYCH W POLSCE za czerwiec - sierpień 2008

SERWIS I NAPRAWA SAMOCHODÓW SŁUŻBOWYCH BĘDĄCYCH W DYSPOZYCJI GDDKiA ODDZIAŁ W ZIELONEJ GÓRZE REJON NOWA SÓL

Zagadnienie klasyfikacji (dyskryminacji)

Sortowanie zewnętrzne

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Klasyfikacja Generalna Sezonu 2017

Górnicki Mateusz 17681

NOWOŚCI 03/2017 WYDECH

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

20. BADANIE SZTYWNOŚCI SKRĘTNEJ NADWOZIA Cel ćwiczenia Wprowadzenie

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków:

Ustalanie dostępu do plików - Windows XP Home/Professional

Transkrypt:

SYSTEMY WYSZUKIWANIA INFORMACJI Agnieszka Nowak- Brzezińska Zbiór zadań z rozwiązaniami

Systemy Wyszukiwania Informacji by Agnieszka Nowak Brzezińska by Instytut Informatyki Uniwersytetu Śląskiego str. 1

Zbio r zadan z rozwiązaniami Spis treści Metoda list prostych... 3 Metoda list inwersyjnych... 24 Metoda list łańcuchowych... 47 Metoda Saltona... 89 Metoda składowych atomowych... 135 Zadania ogólne... 154 str. 2

Systemy Wyszukiwania Informacji Metoda list prostych Zadanie 1 Podaj parametry, które musi określić użytkownik, aby wyszukiwanie zgodne z modyfikacją, zwaną odcedzaniem statycznym i dynamicznym, miało sens. Dane są odpowiedzi na pytania zadane do systemu: σ(t 1 ) ={x 2, x 4, x 7, x 10 } σ(t 5 ) ={x 2, x 3, x 5, x 8 } σ(t 2 ) ={x 4, x 6, x 7, x 9 } σ(t 6 ) ={x 2, x 5, x 7, x 9 } σ(t 3 ) ={x 3, x 5, x 7, x 10 } σ(t 7 ) ={x 4, x 6, x 8, x 10 } σ(t 4 ) ={x 2, x 4, x 6, x 9 } σ(t 8 ) ={x 2, x 4, x 7, x 9 } Przeprowadź proces odcedzania statycznego, a następnie oblicz zysk czasowy dla różnych parametrów związanych z tą techniką w stosunku do metody klasycznej metody list prostych. W systemie informacyjnym jest 10 obiektów. Rozwiązanie Odcedzanie statyczne - polega na tym, że, po ustaleniu grupy pytań typowych, czyli najczęściej zadawanych do systemu, obiekty w kartotece porządkujemy w taki sposób, że te, które najczęściej stanowiły odpowiedź na pytanie umieszczamy na początku, zaś te, które najrzadziej są odpowiedzią na pytanie odpowiednio na końcu kartoteki. W tym celu po serii zadanych pytań określamy dla każdego dokumentu częstość występowania w odpowiedziach na pytania i na podstawie tej częstości zmieniamy dotychczasowy porządek dokumentów w kartotece. Odcedzanie dynamiczne - różni się tym od statycznego, że system automatycznie po zadaniu pytania zmienia kolejność dokumentów w kartotece tak, że jeśli obiekt stanowił odpowiedź na dane pytanie przesuwamy go o jedno miejsce w górę kosztem tych obiektów które nie były odpowiedzią i te przesuwamy odpowiednio w dół. Ta modyfikacja pozwala oszczędzać na zajętości pamięci, gdyż zmiana uporządkowania obiektów w kartotece jest dokonywana na bieżąco bez konieczności tworzenia dodatkowych struktur (jak w przypadku odcedzania statycznego, dla którego najczęściej tworzona jest macierz zerojedynkowa, w której zaznaczamy odpowiednio fakt, czy dany dokument był odpowiedzią czy nie). Ewentualną wadą tej modyfikacji jest to, że przy zmianie kolejności zadawanych pytań uporządkowanie dokumentów możemy być za każdym razem inne. Przy odcedzaniu statycznym kolejność pytań nie ma żadnego wpływu na to jaka będzie ostatecznie kolejność uporządkowania dokumentów. Idea wyszukiwania przy wykorzystaniu tych modyfikacji polega na tych, iż po zmianie uporządkowania dokumentów na podstawie częstości występowania w odpowiedziach na pytania zadawane do systemu dodatkowym parametrem wartym określenia jest jeden z następujących: str. 3

Zbio r zadan z rozwiązaniami Wielkość obszaru do przeszukania, Liczba obiektów relewantnych, Kompletność. Przykładowo wykorzystując dodatkowo wielkość obszaru do przeszukania, możemy ograniczyć się do przeszukania jedynie 50% systemu, co spowoduje zysk czasowy. O efektywność takiego wyszukiwania zadbała wcześniejsza zmiana uporządkowania dokumentów. Jest ogromna szansa, że skoro po zmianie porządku dokumentów te wg częstości są na samej górze, to nawet gdy przeszukamy tylko 50% znajdziemy większość obiektów będących odpowiedzią na zadane pytanie. Wykorzystując metodę odcedzania statycznego, w pierwszej kolejności należy przedstawić obiekty wraz z częstością występowania w odpowiedziach na zadane pytania w tabeli: MACIERZ DOKUMENTÓW I PYTAŃ ZADANYCH DO SYSTEMU WRAZ Z CZĘSTOŚCIĄ WYSTĘPOWANIA DOKUMENTÓW W ODPOWIEDZIACH NA PYTANIA X t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 częstość x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 5 0 0 1 0 1 0 0 0 2 1 1 0 1 0 0 1 1 5 0 0 1 0 1 1 0 0 3 0 1 0 1 0 0 1 0 3 1 1 1 0 0 1 0 1 5 0 0 0 0 1 0 1 0 2 0 1 0 1 0 1 0 1 4 1 0 1 0 0 0 1 0 3 gdzie: x 1,,x n dokumenty zaś t 1 t n pytania zadawane do systemu. Gdy wyznaczymy już częstość występowania dokumentów w pytaniach zadawanych do systemu możemy dokonać zmiany ich wcześniejszego uporządkowania w kartotece. Dokumenty o najwyższej częstości występowania w odpowiedziach na pytania umieszczamy na samej górze kartoteki, zaś te najrzadziej stanowiące odpowiedź odpowiednio na samym dole. Struktura kartoteki wyszukiwawczej przyjmuje zatem następujący format: str. 4

Systemy Wyszukiwania Informacji KARTOTEKA WYSZUKIWAWCZA X Opis obiektu x 2 x 4 x 7 x 9 x 5 x 6 x 10 x 3 x 8 x 1. str. 5

Zbio r zadan z rozwiązaniami Zadanie 2 Do przedszkola zakupiono kilka rodzajów klocków. Klocki podzielono na zestawy zależnie od: materiału, wieku dziecka, które będzie się nimi bawić i według odporności na zniszczenie klocka. Typ klocka Materiał Wiek (lata) Sposób łączenia Odporność na zniszczenia LEGO Plastik 5-99 Wpust Średnia DUPLO Plastik 1-6 Wpust Duża LIDIO Metal 5-99 Śruba Mała SOHO Plastik 6-99 Wpust Średnia MIMI Drewno 1-5 Brak Duża CHILDE Drewno 5-10 Brak Średnia ABC Drewno 3-10 Brak Średnia TECH Metal 3-10 Śruba Mała Utwórz kartotekę wyszukiwawczą zgodnie z założeniami metody podziału połówkowego wykorzystując odpowiedni porządek. Następnie napisz algorytm słowny podziału połówkowego (przeszukiwania binarnego). Rozwiązanie Założenia metody podziału połówkowego mówią o uporządkowaniu obiektów rosnąco bądź malejąco (dla cech numerycznie zakodowanych) lub wykorzystując porządek leksykograficzny (dla cech zakodowanych alfanumerycznie). W naszym przypadku porządek ten ma w pierwszej kolejności wykorzystać atrybuty: materiał, wiek dziecka oraz odporność na zniszczenia. Atrybuty te powinny się znaleźć na pierwszych miejscach w opisie obiektów. Kartoteka po zmianie uporządkowania będzie wyglądać następująco: Typ Klocka Materiał Wiek dziecka Odporność na zniszczenia Sposób łączenia MIMI Drewno 1 do 5 Duża Brak ABC Drewno 3 do 10 średnia Brak CHILDE Drewno 5 do 10 średnia Brak LIDIO Metal 5 do 99 Mała Śruba TECH Metal 3 do 10 Mała Śruba LEGO Plastik 5 do 99 średnia Wpust DUPLO Plastik 1 do 6 Duża Wpust SOHO Plastik 6 do 99 średnia Wpust Algorytm wyszukiwania metodą podziału połówkowego działa efektywnie tylko wtedy, gdy w pytaniu zawarto deskryptor (parę (atrybut, wartość)) wg którego kartotekę porządkowano. Porządek ten bazuje na str. 6

Systemy Wyszukiwania Informacji relacji porządku ostrego z użyciem symboli poprzedzania i następowania. Zapis następująco: wartość a 1 pewnego atrybutu a poprzedza wartość a 2 tego samego atrybutu. czytamy Algorytm wyszukiwania przebiega zgodnie z następującym schematem. Jeśli pytanie zawiera deskryptor związany z atrybutem, który porządkował obiekty (atrybut ten jest na pierwszym miejscu w opisie obiektów) wówczas dokonujemy porównania wartości tego atrybutu w pytaniu z wartością (tego atrybutu) przy obiekcie leżącym dokładnie w połowie kartoteki a więc obiekcie na pozycji [ ], gdzie n oznacza liczbę obiektów w systemie. Porównanie to można zapisać następująco: [ ]. Jeśli [ ] wówczas do dalszego przeszukiwania wybrana zostanie pierwsza połowa kartoteki a więc obiekty na pozycjach:. W przeciwnym przypadku przeszukana będzie druga połowa kartoteki [ ] a więc obiekty na pozycjach: [ ]. Jeśli pytanie nie zawiera deskryptora, który porządkował kartotekę wówczas zmuszeni jesteśmy dokonać przeglądu zupełnego jak w metodzie klasycznej. Warto zaznaczyć, że podziału połówkowego możemy dokonywać wiele razy, tak długo dopóki istnieje wyraźny zysk z wykorzystania tej modyfikacji. str. 7

Zbio r zadan z rozwiązaniami Zadanie 3 Ze względu na silnie wzrastający stopień przestępczości w jednej z komend policji założono system, do którego wpisane zostały dane o różnego rodzaju przestępstwach. Przykładowa kartoteka wtórna wygląda następująco: X Rodzaj Użyte Wygląd zewnętrzny Data Godz. przestępstwa narzędzie Płeć Wzrost Wiek Waga Włosy x 1 włamanie 09.10.96 15 wytrych M. 180 25 80 ciemne x 2 włamanie 10.10.95 16 wytrych K 160 30 60 jasne x 3 włamanie 11.11.95 13 wytrych M. 180 25 80 ciemne x 4 napad 13.11.95 12 gaz-rurka M. 190 25 90 ciemne x 5 napad 01.12.95 10 tulipan M. 170 30 80 ciemne x 6 kradzież 23.12.95 15 nóż M. 180 25 80 jasne x 7 morderstwo 22.01.96 10 gaz-rurka M. 190 30 100 ciemne x 8 pobicie 12.01.96 11 tulipan M. 180 25 80 jasne x 9 rabunek 13.01.96 17 nóż K 160 25 60 ciemne x 10 rabunek 11.02.96 18 nóż K 170 25 60 ciemne x 11 włamanie 22.02.96 14 łom M. 180 25 80 ciemne x 12 kradzież 30.02.96 13 pilnik K 170 30 60 jasne x 13 morderstwo 01.03.96 12 nóż K 170 30 70 jasne x 14 pobicie 10.03.96 11 gaz-rurka M. 190 25 90 ciemne x 15 rabunek 14.04.96 10 wytrych M. 180 20 80 jasne x 16 włamanie 15.04.96 09 wytrych M. 180 25 80 ciemne x 17 włamanie 16.04.96 08 łom M. 170 20 80 jasne x 18 włamanie 22.04.96 11 pilnik K 170 20 60 jasne x 19 włamanie 21.04.96 13 wytrych M. 180 25 80 ciemne X 20 kradzież 22.04.96 12 łom M. 180 20 80 ciemne x 21 morderstwo 21.05.96 11 nóż K 160 20 60 ciemne x 22 rabunek 10.05.96 14 nóż M. 180 25 80 jasne x 23 rabunek 13.05.96 15 nóż K 170 30 70 jasne Do tabeli podanej powyżej zastosuj metodę grupowania (modyfikacja metody list prostych) uwzględniając rodzaj przestępstwa, czas wykonania przestępstwa, jak również stosowane narzędzie. Następnie podaj odpowiedź na pytanie o morderstwo dokonane o godz. 10.00. Należy wykorzystać tablicę adresową dla tak utworzonych grup. Rozwiązanie Kartoteka wtórna zostaje pogrupowana leksykograficznie i chronologicznie wg rodzaju przestępstwa, godziny wykonania przestępstwa oraz zastosowanego narzędzia. Nowe uporządkowanie dokumentów wymusza wprowadzenie dodatkowej kolumny w kartotece wtórnej (NU). str. 8

Systemy Wyszukiwania Informacji N Rodzaj Użyte Wygląd zewnętrzny X Data Godz. U przestępstwa narzędzie Płeć Wzrost Wiek Waga Włosy 1 x 20 kradzież 22.04.96 12 łom M 180 20 80 ciemne 2 x 12 kradzież 30.02.96 13 pilnik K 170 30 60 jasne 3 x 6 kradzież 23.12.95 15 nóż M 180 25 80 jasne 4 x 7 morderstwo 22.01.96 10 gaz-rurka M 190 30 100 ciemne 5 x 21 morderstwo 21.05.96 11 nóż K 160 20 60 ciemne 6 x 13 morderstwo 01.03.96 12 nóż K 170 30 70 jasne 7 x 5 napad 01.12.95 10 tulipan M 170 30 80 ciemne 8 x 4 napad 13.11.95 12 gaz-rurka M 190 25 90 ciemne 9 x 8 pobicie 12.01.96 11 tulipan M 180 25 80 jasne 10 x 14 pobicie 10.03.96 11 gaz-rurka M 190 25 90 ciemne 11 x 15 rabunek 14.04.96 10 wytrych M 180 20 80 jasne 12 x 22 rabunek 10.05.96 14 nóż M 180 25 80 jasne 13 x 23 rabunek 13.05.96 15 nóż K 170 30 70 jasne 14 x 9 rabunek 13.01.96 17 nóż K 160 25 60 ciemne 15 x 10 rabunek 11.02.96 18 nóż K 170 25 60 ciemne 16 x 17 włamanie 16.04.96 08 łom M 170 20 80 jasne 17 x 16 włamanie 15.04.96 09 wytrych M 180 25 80 ciemne 18 x 18 włamanie 22.04.96 11 pilnik K 170 20 60 jasne 19 x 3 włamanie 11.11.95 13 wytrych M 180 25 80 ciemne 20 x 19 włamanie 21.04.96 13 wytrych M 180 25 80 ciemne 21 x 11 włamanie 22.02.96 14 łom M 180 25 80 ciemne 22 x 1 włamanie 09.10.96 15 wytrych M 180 25 80 ciemne 23 x 2 włamanie 10.10.95 16 wytrych K 160 30 60 jasne Można utworzyć tablicę adresową (TA) z trzema deskryptorami: rodzaj przestępstwa, podziałem na grupy wg rodzaju przestępstwa, godziny przestępstwa oraz użytego narzędzia. Jednak byłaby ona zbyt obszerna. Skoro szukana jest odpowiedź na pytanie ogólne t=(godzina, 10) to dla uproszczenia zbudujemy tablicę adresową tylko dla atrybutu Godzina (zakodowanego w kartotece jako Godz. ). str. 9

Zbio r zadan z rozwiązaniami N Rodzaj Użyte Wygląd zewnętrzny X Godz. Data U przestępstwa narzędzie Płeć Wzrost Wiek Waga Włosy 1 x 17 08 włamanie 16.04.96 łom M 170 20 80 jasne 2 x 16 09 włamanie 15.04.96 wytrych M 180 25 80 ciemne 3 x 7 10 morderstwo 22.01.96 gaz-rurka M 190 30 100 ciemne 4 x 5 10 napad 01.12.95 tulipan M 170 30 80 ciemne 5 x 15 10 rabunek 14.04.96 wytrych M 180 20 80 jasne 6 x 21 11 morderstwo 21.05.96 nóż K 160 20 60 ciemne 7 x 8 11 pobicie 12.01.96 tulipan M 180 25 80 jasne 8 x 14 11 pobicie 10.03.96 gaz-rurka M 190 25 90 ciemne 9 x 18 11 włamanie 22.04.96 pilnik K 170 20 60 jasne 10 x 20 12 kradzież 22.04.96 łom M 180 20 80 ciemne 11 x 13 12 morderstwo 01.03.96 nóż K 170 30 70 jasne 12 x 4 12 napad 13.11.95 gaz-rurka M 190 25 90 ciemne 13 x 12 13 kradzież 30.02.96 pilnik K 170 30 60 jasne 14 x 3 13 włamanie 11.11.95 wytrych M 180 25 80 ciemne 15 x 19 13 włamanie 21.04.96 wytrych M 180 25 80 ciemne 16 x 22 14 rabunek 10.05.96 nóż M 180 25 80 jasne 17 x 11 14 włamanie 22.02.96 łom M 180 25 80 ciemne 18 x 6 15 kradzież 23.12.95 nóż M 180 25 80 jasne 19 x 23 15 rabunek 13.05.96 nóż K 170 30 70 jasne 20 x 1 15 włamanie 09.10.96 wytrych M 180 25 80 ciemne 21 x 2 16 włamanie 10.10.95 wytrych K 160 30 60 jasne 22 x 9 17 rabunek 13.01.96 nóż K 160 25 60 ciemne 23 x 10 18 rabunek 11.02.96 nóż K 170 25 60 ciemne Tworzona jest tablica adresowa (TA) z podziałem na grupy wg czasu przestępstwa Adres początku Adres końca (Godz., 08) 1 1 (Godz., 09) 2 2 (Godz., 10) 3 5 (Godz., 11) 6 9 (Godz., 12) 10 12 (Godz., 13) 13 15 (Godz., 14) 16 17 (Godz., 15) 18 20 (Godz., 16) 21 21 (Godz., 17) 22 22 (Godz., 17) 23 23 Szukana jest odpowiedź na pytanie ogólne t=(godz., 10). W tablicy adresowej odnajdujemy wiersz, w którym występuje deskryptor pytania a więc (Godz., 10). Jest to 3 wiersz tej tabeli. Pobieramy z wiersza z kolumny drugiej (Adres początku) oraz trzeciej (Adres końca) informację o tym jaki jest początek i koniec bloku obiektów stanowiących odpowiedź na pytanie t. Są to odpowiednio 3 (początek) oraz 5 (koniec). Z kartoteki wtórnej nowouporządkowanej pobieramy prawdziwe nazwy obiektów na pozycjach od 3 do 5. σ(t) = TA3-5 = {x 7, x 5,x 15} str. 10

Systemy Wyszukiwania Informacji Zadanie 4 Dla następującej macierzy T-x (macierz ta określa częstość występowania obiektów w zbiorze odpowiedzi na pytania T) zastosuj modyfikację list prostych - organizację zwartą. Zdefiniuj własność zwartości; następnie przedstaw kartotekę wyszukiwawczą dla ww. modyfikacji i omów proces wyszukiwania (dla dowolnej postaci pytania) w tak zorganizowanej strukturze bazy danych. Rozwiązanie X t 1 t 2 t 3 t 4 t 5 x 1 0 0 1 0 1 x 2 1 1 1 1 0 x 3 0 0 0 0 1 x 4 1 0 1 1 1 x 5 0 1 0 1 0 Organizacja zwarta wymaga takiego uporządkowania obiektów aby te, które stanowiły odpowiedź na dane pytanie, były uporządkowane obok siebie w kartotece. Uporządkowanie musi być spójne dla wszystkich pytań. Może ono wyglądać następująco: NU X t 1 t 2 t 3 t 4 t 5 1 x 3 0 0 0 0 1 2 x 1 0 0 1 0 1 3 x 4 1 0 1 1 1 4 x 2 1 1 1 1 0 5 x 5 0 1 0 1 0 Uwaga: NU oznacza pozycję obiektu w kartotece po zmianie uporządkowania. Kartoteka wyszukiwawcza składać się powinna z kartoteki wtórnej nowo uporządkowanej na podstawie wartości NU oraz tablicy adresowej z informacją o pytaniu oraz adresach początku i końca bloku stanowiącego odpowiedź na to dane pytanie. str. 11

Zbio r zadan z rozwiązaniami Kartoteka wtórna nowo uporządkowana powinna mieć następującą strukturę: NU X Opis obiektu 1 x 3 2 x 1 3 x 4 4 x 2 5 x 5 Tablica adresowa zawierająca informację, o adresie początku i końca obszaru spójnego w kartotece wtórnej wygląda następująco: T AP AK t 1 3 4 t 2 4 5 t 3 2 4 t 4 3 5 t 5 1 3 Uwaga: AP oznacza adres początku, zaś AK odpowiednio adres końca bloku obiektów będących odpowiedzią na jedno z pytań t 1,,t 5. Jeśli pytanie nie jest standardowe (tzn. nie było ujęte w zbiorze pytań dla których zmienialiśmy uporządkowanie kartoteki), dokonujemy przeglądu zupełnego. W przeciwnym przypadku używamy tablicy adresowej w pierwszej fazie wyszukiwania. Wówczas pobieramy dla danego pytania standardowego adres początku (AP) oraz adres końca (AK) obszaru spójnego, następnie korzystając z kartoteki wtórej nowo uporządkowanej pobieramy właściwe nazwy obiektów stanowiących odpowiedzi na zadane pytania. str. 12

Systemy Wyszukiwania Informacji Zadanie 5 Wiedząc, że system informacyjny S dotyczący charakterystyk wybranych pojazdów zadany jest tabelą: Model Producent Typ Napęd Chłodzenie Moc Przełożenie DR Suzuki motocykl tylni powietrze duża duże SENDA Kawasaki motocykl tylni woda duża duże MATIZ Daewoo samochód przedni woda mała średnie CARISMA Mitsubishi samochód przedni powietrze średnia średnie 126P Fiat samochód tylni woda mała średnie MEGANE Renault samochód przedni woda średnia średnie 307 Peugeot samochód przedni woda mała średnie S40 Volvo samochód przedni woda średnia średnie LAGUNA Renault samochód przedni woda średnia średnie TX Suzuki motocykl tylni powietrze duża duże a) Zdefiniuj formalnie system oraz zbuduj kartotekę wyszukiwawczą dla metody list prostych z grupowaniem obiektów wg wybranego przez siebie atrybutu. Uzasadnij jakie warunki powinien spełniać wybrany atrybut przy zastosowaniu tej modyfikacji? b) Czy przedstawiony system jest selektywny i/lub kompletny? Odpowiedź uzasadnij. Rozwiązanie Definicja formalna systemu: S = < X, A, V, ρ> X = {DR, SENDA, MATIZ, CARISMA, 126P, MEGANE, 307, S40, LAGUNA, TX} A = {Producent, Typ, Napęd, Chłodzenie, Moc, Przełożenia} V Producent = {Suzuki, Kawasaki, Daewoo, Mitsubishi, Fiat, Renault, Peugeot, Volvo, Renault} V Typ = {motocykl, samochód} V Napęd = {tylni, przedni} V Chłodzenie = {powietrze, woda} V Moc = {mała, średnia, duża} V Przełożenie = {średnie, duże} ρ: X A V str. 13

Zbio r zadan z rozwiązaniami Atrybut, według którego następuje grupowanie powinien: występować często w pytaniach do systemu, być wielowartościowy, w miarę równomiernie dzielić kartotekę. W przypadku powyższego systemu najlepszym atrybutem spełniającym te kryteria jest "Moc". Wobec tego kartoteka wyszukiwawcza wygląda następująco: NU Model Moc Producent Typ Napęd Chłodzenie Przełożenie 1 126P mała Fiat samochód tylni woda średnie 2 307 mała Peugeot samochód przedni woda średnie 3 MATIZ mała Daewoo samochód przedni woda średnie 4 CARISMA średnia Mitsubishi samochód przedni powietrze średnie 5 S40 średnia Volvo samochód przedni woda średnie 6 MEGANE średnia Renault samochód przedni woda średnie 7 LAGUNA średnia Renault samochód przedni woda średnie 8 SENDA duża Kawasaki motocykl tylni woda duże 9 TX duża Suzuki motocykl tylni powietrze duże 10 DR duża Suzuki motocykl tylni powietrze duże Gdzie NU nowe uporządkowanie. Aby wyszukiwanie było możliwe należy utworzyć także tablicę adresową: adres początku adres końca (Moc, mała) 1 3 (Moc, średnia) 4 7 (Moc, duża) 8 10 System jest selektywny wtedy i tylko wtedy, gdy każdej informacji odpowiada co najwyżej jeden obiekt. Przedstawiony system nie jest selektywny, gdyż obiekty TX oraz DR mają taki sam opis (odpowiada im taka sama informacja). σ[(moc, duża)(producent, Suzuki)(Typ, motocykl)(napęd, tylni)(chłodzenie, powietrze)(przełożenie, duże)] = {TX, DR} System jest kompletny wtedy i tylko wtedy, gdy każdej informacji odpowiada co najmniej jeden obiekt. System nie jest też kompletny, ponieważ istnieje przynajmniej jedna informacja pusta: str. 14

Systemy Wyszukiwania Informacji σ[(moc, duża)(producent, Renault)(Typ, motocykl)(napęd, tylni)(chłodzenie, powietrze)(przełożenie, duże)] = { } Zresztą liczba różnych informacji możliwych do zapisania w tym systemie wynosi 480 (iloczyn liczności wartości atrybutów) a w zadanym systemie istnieje tylko 10 obiektów, co powoduje, że 470 informacji jest pustych. Liczba wszystkich możliwych informacji: = 10 2 2 2 3 2 = 480. str. 15

Zbio r zadan z rozwiązaniami Zadanie 6 Dla systemu informacyjnego S przedstawionego w formie tabeli: RODZAJ WIEK PRZEZNA MATERIAŁ WIELKOŚĆ KLOCKÓW DZIECKA CZENIE WYTRZYMAŁOŚĆ LEGO PLASTIK 5-9 MAŁA ZABAWA ŚREDNIA DUPLO PLASTIK 1-6 DUŻA ZABAWA DUŻA LIDO METAL 5-9 DUŻA EDUKACJA MAŁA SOHO PLASTIK 6-9 MAŁA EDUKACJA ŚREDNIA MIMI DREWNO 1-5 DUŻA ZABAWA DUŻA CHILDE DREWNO 5-10 DUŻA EDUKACJA ŚREDNIA ABC DREWNO 3 10 MA ŁA EDUKACJA ŚREDNIA TECH METAL 3-10 MAŁA ZABAWA MAŁA wiedząc, że najczęściej zadawanymi pytaniami do systemu S są: a. (Materiał, plastik)+(materiał, Drewno) b. (Przeznaczenie, zabawa) c. (Wytrzymałość, duża) (Materiał, metal) d. (Materiał, plastik) e. (Wytrzymałość, średnia) (Przeznaczenie, edukacja) f. (Wielkość, mała) (Wiek, 5-9)+(Materiał, drewno) (Przeznaczenie, zabawa) Zaproponuj modyfikacje i określ jak będzie wyglądać kartoteka wyszukiwawcza po jej zastosowaniu. Określ też zyski i straty spowodowane jej zastosowaniem. Omów algorytm wyszukiwania informacji po zastosowaniu takiej modyfikacji. Rozwiązanie Jeśli znamy zestaw pytań zadawanych do systemu można na podstawie odpowiedzi na te pytania zmienić uporządkowanie obiektów tak by te najczęściej występujące jako odpowiedzi znalazły się na początku kartoteki wyszukiwawczej. Musielibyśmy w tym celu zastosować bądź to odcedzanie bądź organizację zwartą. a. ((Materiał, plastik)+(materiał, Drewno)) = {LEGO,DUPLO,SOHO, MIMI, CHILDE, ABC} b. (Przeznaczenie, zabawa)={lego, DUPLO, MIMI, TECH} c. (Wytrzymałość, duża) (Materiał, metal)={ } d. (Materiał, plastik)={lego, DUPLO, SOHO} e. (Wytrzymałość, średnia) (Przeznaczenie, edukacja)={soho, CHILDE, ABC} f. ((Wielkość, mała) (Wiek, 5-9)+(Materiał, drewno) (Przeznaczenie, zabawa)) = {LEGO,MIMI} str. 16

Systemy Wyszukiwania Informacji Zastosujemy technikę odcedzania statycznego. W tym celu sprawdzimy, jaka była częstość występowania danego obiektu w odpowiedziach na pytania zadawane do systemu zapiszemy ją za pomocą funkcji f. f(lego) =4 f(duplo)= 3 f(lido)=0 f(soho)=3 f(mimi)=3 f(childe)=2 f(abc)=2 f(tech)=1 Widać, że najczęściej odpowiedzią na pytania zadawane do systemu były klocki LEGO bo aż 4 razy, potem odpowiednio klocki: DUPLO, SOHO oraz MIMI (bo 3 razy), i potem CHILDE i ABC (tylko 2 razy). Klocki TECH były odpowiedzią tylko raz, zaś LIDO nigdy nie były odpowiedzią na pytanie. Teraz zmieniamy uporządkowanie obiektów w kartotece zgodnie z tą częstością. RODZAJ WIEK PRZEZNA MATERIAŁ WIELKOŚĆ KLOCKÓW DZIECKA CZENIE WYTRZYMAŁOŚĆ LEGO PLASTIK 5-9 MAŁA ZABAWA ŚREDNIA DUPLO PLASTIK 1-6 DUŻA ZABAWA DUŻA SOHO PLASTIK 6-9 MAŁA EDUKACJA ŚREDNIA MIMI DREWNO 1-5 DUŻA ZABAWA DUŻA CHILDE DREWNO 5-10 DUŻA EDUKACJA ŚREDNIA ABC DREWNO 3 10 MA ŁA EDUKACJA ŚREDNIA TECH METAL 3-10 MAŁA ZABAWA MAŁA LIDO METAL 5-9 DUŻA EDUKACJA MAŁA Zysk: gdy do systemu będą zadawane pytania z puli pytań na podstawie których dokonana była modyfikacja jest szansa, że wyszukiwanie będzie znacznie krótsze. Modyfikacja nie wprowadza zwiększonej zajętości pamięci jeśli idzie o kartotekę wyszukiwawczą, zaś konieczne jest wyznaczenie częstości występowania w odpowiedziach na pytanie systemu. Wyszukiwanie wygląda następująco: Zakłada się, że pytanie zadawane do systemu ma dodatkowo informację o tym jaki obszar kartoteki wyszukiwawczej należy przeszukać. Może t obyć % kartoteki (np. 50%) albo po prostu liczba dokumentów relewantnych która usatysfakcjonuje użytkownika. Wówczas pilnując parametru o którym mowa, dokonywany jest przegląd opisu obiektów i porównywany jest ów przegląd z pytaniem. Jest szansa, że przeglądając tylko fragment kartoteki znaleziona będzie jak największa liczba dokumentów relewantnych. Przykładowo (przeglądając tylko 50% kartoteki) T = (Wielkość, mała) (Wiek, 5-9)+(Materiał, drewno) (Przeznaczenie, zabawa) str. 17

Zbio r zadan z rozwiązaniami Przy przeglądaniu tylko 50% kartoteki a więc 4 dokumentów w kartotece, docieramy do obu relewantnych dokumentów, a więc zarówno dokumentów LEGO jak i MIMI. Przeglądając tylko połowę kartoteki znajdujemy kompletną odpowiedź systemu. ((Wielkość, mała) (Wiek, 5-9)+(Materiał, drewno) (Przeznaczenie, zabawa)) = { LEGO,MIMI} str. 18

Systemy Wyszukiwania Informacji Zadanie 7 Dany jest system informacyjny S przedstawiający w formie tabelarycznej charakterystyki wybranych samochodów: X Skrzynia biegów Kolor Typ nadwozia Napęd Mechaniczna Srebrny Sedan Wszystkie koła Mechaniczna Czerwony Kombi Przedni Automatyczna Srebrny Sedan Tylni Automatyczna Srebrny Kombi Przedni Mechaniczna Inny Kabriolet Wszystkie koła Automatyczna Czarny Kabriolet Tylni Automatyczna Srebrny Sedan Wszystkie koła Automatyczna Czerwony Kabriolet Przedni Automatyczna Czarny Kombi Tylni Mechaniczna Czerwony Kombi Tylni Po pewnym czasie działania systemu wyodrębniono zbiór najczęściej zadawanych pytań t 1 = (Typ nadwozia, Sedan)(Kolor, Srebrny) t 2 = (Napęd, Przedni) + (Skrzynia biegów, Mechaniczna) t 3 = (Napęd, Wszystkie koła) A odpowiedzi na pytania były następujące σ(t 1 )={x 1, x 3, x 7 } σ(t 2 )={x 1, x 2, x 4, x 5, x 8, x 10 } σ(t 1 )={x 1, x 5, x 7 } Zbuduj kartotekę wyszukiwawczą z wykorzystaniem modyfikacji metody list prostych - odcedzania dynamicznego. Opisz proces udzielenia odpowiedzi na pytanie t = (Kolor, Czerwony)(Typ nadwozia, Kombi) w tak zmodyfikowanym systemie zakładając, że przeszukiwana będzie tylko połowa kartoteki. Rozwiązanie: Kartoteka wyszukiwawcza przedstawiona w postaci iloczynów deskryptorów po wszystkich atrybutach systemu ma postać następującą: t x1 =(Skrzynia biegów, Mechaniczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Wszystkie koła) t x2 =(Skrzynia biegów, Mechaniczna)(Kolor, Czerwony)(Typ nadwozia, Kombi)(Napęd, Przedni) t x3 =(Skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Tylni) t x4 =(Skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Kombi)(Napęd, Przedni) t x5 =(Skrzynia biegów, Mechaniczna)(Kolor, Inny)(Typ nadwozia, Kabriolet)(Napęd, Wszystkie koła) t x6 =(Skrzynia biegów, Automatyczna)(Kolor, Czarny)(Typ nadwozia, Kabriolet)(Napęd, Tylni) t x7 =(Skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Wszystkie koła) t x8 =(Skrzynia biegów, Automatyczna)(Kolor, Czerwony)(Typ nadwozia, Kabriolet)(Napęd, Przedni) t x9 =(Skrzynia biegów, Automatyczna)(Kolor, Czarny)(Typ nadwozia, Kombi)(Napęd, Tylni) t x10 =(Skrzynia biegów, Mechaniczna)(Kolor, Czerwony)(Typ nadwozia, Kombi)(Napęd, Tylni) str. 19

Zbio r zadan z rozwiązaniami 1. Procedura odcedzania (obiekty, które są odpowiedzią na pytanie przechodzą na początek kartoteki) X x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 Uporządkowanie po pytaniu t 1 X x 1 x 2 x 4 x 5 x 8 x 10 x 3 x 7 x 6 x 9 X x 1 x 5 x 7 x 2 x 4 x 8 x 10 x 3 x 6 x 9 Wyjściowe uporządkowanie: X x 1 x 3 x 7 x 2 x 4 x 5 x 6 x 8 x 9 x 10 Wyjściowe uporządkowanie po pytaniu t 2 X x 1 x 3 x 7 x 2 x 4 x 5 x 6 x 8 x 9 x 10 Uporządkowanie po ostatnim pytaniu t 3 Wyjściowe uporządkowanie po pytaniu t 1 X x 1 x 2 x 4 x 5 x 8 x 10 x 3 x 7 x 6 x 9 Uporządkowanie po pytaniu t 2 Postać kartoteki wyszukiwawczej po odcedzaniu t x1 =(Skrzynia biegów, Mechaniczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Wszystkie koła) t x5 =(Skrzynia biegów, Mechaniczna)(Kolor, Inny)(Typ nadwozia, Kabriolet)(Napęd, Wszystkie koła) t x7 =(Skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Wszystkie koła) t x2 =(Skrzynia biegów, Mechaniczna)(Kolor, Czerwony)(Typ nadwozia, Kombi)(Napęd, Przedni) t x4 =(Skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Kombi)(Napęd, Przedni) t x8 =(Skrzynia biegów, Automatyczna)(Kolor, Czerwony)(Typ nadwozia, Kabriolet)(Napęd, Przedni) t x10 =(Skrzynia biegów, Mechaniczna)(Kolor, Czerwony)(Typ nadwozia, Kombi)(Napęd, Tylni) t x3 =(Skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Tylni) t x6 =(Skrzynia biegów, Automatyczna)(Kolor, Czarny)(Typ nadwozia, Kabriolet)(Napęd, Tylni) t x9 =(Skrzynia biegów, Automatyczna)(Kolor, Czarny)(Typ nadwozia, Kombi)(Napęd, Tylni) str. 20

Systemy Wyszukiwania Informacji 2. Wyszukiwanie Do systemu zadano pytanie: t=(kolor, Czerwony)(Typ nadwozia, Kombi) Skoro przeszukana ma być tylko połowa kartoteki, wyszukiwanie polegające na porównywaniu całego pytania (pytanie jest iloczynem deskryptorów) z opisami obiektów wg nowego uporządkowania kartoteki będzie obejmowało jedynie opisy obiektów: x 1,x 5,x 7,x 2 i x 4. Zapis t t x1 będziemy interpretować jako potwierdzenie, że pytanie t zawiera się w opisie obiektu x 1 (zgodnie z definicją zawierania się termów podaną na stronie 29 w pracy 1 ). Odpowiednio zapis t t x1 będzie oznaczał, że pytanie t nie zawiera się w opisie obiektu x 1. t t x1 t t t t t x5 t x7 t x2 t x4 Odpowiedź na pytanie t: σ(t)={x 2 } Na zadane pytanie odpowiedzią był także obiekt x 10 jednak ograniczając przeszukiwanie do połowy kartoteki nie zostanie on przeszukany. Kompletność odpowiedzi wynosi zatem 50% przy jednoczesnym skróceniu czasu wyszukiwania o połowę. 1 Wakulicz-Deja Alicja, Podstawy systemów wyszukiwania informacji. Analiza metod, Akademicka Oficyna Wydawnicza, Warszawa 1995. str. 21

Zbio r zadan z rozwiązaniami Zadanie 8 Dla systemu SI przedstawionego w postaci tabeli stwórz kartotekę wyszukiwawczą w metodzie list prostych z grupowaniem wg atrybutu kategoria. Następnie przedstaw sposób wyszukiwania odpowiedzi na pytanie: t = (kategoria, historia) (cena, wysoka) X cena Popularność autora Kategoria x 1 wysoka nieznany informatyka x 2 niska przeciętnie języki obce x 3 wysoka duża historia x 4 niska nieznany języki obce x 5 średnia nieznany informatyka x 6 średnia przeciętnie języki obce x 7 wysoka duża historia x 8 niska przeciętnie języki obce x 9 niska nieznany informatyka x 10 niska przeciętnie języki obce Rozwiązanie: I) Tworzenie kartoteki wyszukiwawczej Atrybut kategoria przestawiamy na początek opisu obiektów w kartotece. Tak zmienione co do kolejności deskryptorów, opisy obiektów porządkujemy leksykograficznie względem wybranego atrybutu, a więc najpierw wszystkie obiekty z wartością informatyka, następnie języki obce i na końcu historia. Kartoteka nowo uporządkowana wygląda następująco: X Kategoria cena Popularność autora x 1 informatyka wysoka nieznany x 5 informatyka średnia nieznany x 9 informatyka niska nieznany x 2 języki obce niska przeciętnie x 4 języki obce niska nieznany x 6 języki obce średnia przeciętnie x 8 języki obce niska przeciętnie x 10 języki obce niska przeciętnie x 3 historia wysoka duża x 7 historia wysoka duża Widzimy, iż uporządkowanie obiektów w kartotece uległo zmianie. By zbudować tablicę adresową z informacjami o początku i końcu bloku obiektów zawierających w swoim opisie dany deskryptor musimy zapamiętać to nowe uporządkowanie. Najczęściej po prostu przy nazwie obiektu podajemy numer nowego str. 22

Systemy Wyszukiwania Informacji uporządkowania. Kartoteka wyszukiwawcza, a więc nowo uporządkowana kartoteka wtórna z tablicą adresową wyglądają następująco: NU X Kategoria cena Popularność autora 1 x 3 historia wysoka duża 2 x 7 historia wysoka duża 3 x 1 informatyka wysoka nieznany 4 x 5 informatyka średnia nieznany 5 x 9 informatyka niska nieznany 6 x 2 języki obce niska przeciętnie 7 x 4 języki obce niska nieznany 8 x 6 języki obce średnia przeciętnie 9 x 8 języki obce niska przeciętnie 10 x 10 języki obce niska przeciętnie (a i,v ij ) AP AK (kategoria, historia) 1 2 (kategoria, informatyka) 3 5 (Kategoria, języki obce) 6 10 II) Wyszukiwanie odpowiedzi na pytanie W zadaniu poszukujemy odpowiedzi na pytanie t = (kategoria, historia) (cena, wysoka). Pytanie jest w postaci iloczynu dwóch deskryptorów, z których jeden porządkował kartotekę. W takim przypadku najpierw wyszukujemy tzw. odpowiedź przybliżoną. W tym celu, znajdujemy w tablicy adresowej informacje o adresie początku i końca bloku obiektów zawierających w swoim opisie deskryptor (kategoria, historia). Są to 2 pierwsze obiekty w kartotece nowo uporządkowanej. Opisy tylko tych dwóch obiektów będziemy przeglądać dalej w celu sprawdzenia, czy nie zawierają one również drugiego deskryptora pytania tj. (cena, wysoka). (Kategoria, historia) {x NU1, x NU2 } (cena, wysoka) t x NU1 (cena, wysoka) t XNU2 (t) ={X NU1, X NU2 } ={x 3,x 7 } gdzie zapis z użyciem symbolu zawierania się wyjaśniono na stronie 21. Gdyby pytanie nie zawierało atrybutu kategoria konieczny byłby przegląd zupełny kartoteki wyszukiwawczej. Dzięki własnościom metody grupowania wg wybranego atrybutu można było ograniczyć przegląd tylko do opisów dwóch obiektów co znacznie skróciło czas wyszukiwania. str. 23

Zbio r zadan z rozwiązaniami Zadanie 9 Metoda list inwersyjnych Dany jest system informacyjny S dotyczący popularnych klubów piłkarskich w formie tabeli: Nazwa klubu Lokalizacja Wartość klubu Wielkość kadry Akademia piłkarska Wisła Kraków Kraków Wysoka Duża Tak Śląsk Wrocław Wrocław Średnia Przeciętna Tak Legia Warszawa Warszawa Wysoka Przeciętna Tak Jagiellonia Białystok Białystok Średnia Duża Tak Lech Poznań Poznań Wysoka Przeciętna Tak Górnik Zabrze Zabrze Mała Przeciętna Tak Polonia Warszawa Warszawa Średnia Duża Tak Lechia Gdańsk Gdańsk Średnia Przeciętna Tak Widzew Łódź Łódź Mała Przeciętna Tak GKS Bełchatów Bełchatów Mała Mała Tak KGHM Zagłębie Lubin Lubin Średnia Przeciętna Nie Ruch Chorzów Chorzów Mała Mała Tak Korona Kielce Kielce Mała Przeciętna Tak Cracovia Kraków Kraków Średnia Duża Tak Podbeskidzie Bielsko-Biała Bielsko-Biała Mała Mała Nie ŁKS Łódź Łódź Mała Mała Tak Wiedząc, że użytkownicy tego systemu najczęściej pytają o lokalizację i wartość klubu, stwórz kartotekę wyszukiwawczą w oparciu o metodę list inwersyjnych, stosując wszystkie te modyfikacje, które wpłyną na zmniejszenie zajętości pamięci prezentowanego systemu. Oszacuj redundancję oraz zajętość pamięci dla systemu poddanego stosownym modyfikacjom. Przedstaw przebieg procesu wyszukiwania informacji dla pytania, o wszystkie kluby piłkarskie z Krakowa o dużej wartości. str. 24

Systemy Wyszukiwania Informacji Rozwiązanie: Najpierw stosując funkcję adresującą µ przypisujemy obiektom adresy: µ(wisła Kraków)=1, µ(śląsk Wrocław)=2, µ(legia Warszawa)=3, µ(jagiellonia Białystok)=4, µ(lech Poznań)=5, µ(górnik Zabrze)=6, µ(polonia Warszawa)=7,µ(Lechia Gdańsk)=8,µ(Widzew Łódź)=9,µ(GKS Bełchatów)=10,µ(KGHM Zagłębie Lubin)=11,µ(Ruch Chorzów)=12,µ(Korona Kielce)=13,µ(Cracovia Kraków)=14,µ(Podbeskidzie Bielsko-Biała)=15,µ(ŁKS Łódź)=16 Pełen zbiór deskryptorów D jest następujący: D = {(Lokalizacja, Bielsko-Biała),(Lokalizacja, Bełchatów), (Lokalizacja, Białystok), (Lokalizacja, Chorzów), (Lokalizacja, Gdańsk), (Lokalizacja, Kraków), (Lokalizacja, Kielce), (Lokalizacja, Lubin), (Lokalizacja, Łódź), (Lokalizacja, Poznań), (Lokalizacja, Warszawa), (Lokalizacja, Wrocław), (Lokalizacja, Zabrze), (Wartość klubu, mała), (Wartość klubu, średnia), (Wartość klubu, wysoka), (Wielkość kadry, mała), (Wielkość kadry, przeciętna), (Wielkość kadry, duża), (Akademia piłkarska, tak), (Akademia piłkarska, nie)} Skoro użytkownicy systemu najczęściej pytają o lokalizację i wartość klubu, stworzymy kartotekę wyszukiwawczą opierając się na metodzie list inwersyjnych, stosując modyfikacje, które wpłyną na zmniejszenie zajętości pamięci prezentowanego systemu. Proponujemy modyfikację metody list inwersyjnych z tworzeniem list tylko dla deskryptorów atrybutów Lokalizacja i Wartość klubu. Kartoteka wyszukiwawcza będzie następująca: α (Lokalizacja, Bielsko-Biała) = {15} α (Lokalizacja, Bełchatów) = {10} α (Lokalizacja, Białystok) = {4} α (Lokalizacja, Chorzów) = {12} α (Lokalizacja, Gdańsk) = {8} α (Lokalizacja, Kraków) = {1, 14} α (Lokalizacja, Kielce) = {13} α (Lokalizacja, Lubin) = {11} α (Lokalizacja, Łódź) = {9, 16} α (Lokalizacja, Poznań) = {5} str. 25

Zbio r zadan z rozwiązaniami α (Lokalizacja, Warszawa) = {3, 7} α (Lokalizacja, Wrocław) = {2} α (Lokalizacja, Zabrze) = {6} α (Wartość klubu, mała) = {6,9,10,12,13,15,16} α (Wartość klubu, średnia) = {2,4,7,8,11,14} α (Wartość klubu, wysoka) = {1,3,5} Oszacowanie redundancji oraz zajętości pamięci: Redundancja w systemie R= Zajętość pamięci: Zakładamy, że lista może mieć maksymalnie 16 elementów, a każdy z nich zapisany będzie jako Integer, którego rozmiar to 4B. Proces wyszukiwania odpowiedzi dla pytania, o wszystkie kluby piłkarskie z Krakowa o dużej wartości: t = (Lokalizacja, Kraków)(Wartość klubu, wysoka) przebiega następująco: Znajdujemy listę inwersyjną dla pierwszego deskryptora pytania t: (Lokalizacja, Kraków) (Lokalizacja, Kraków) (Lokalizacja, Kraków) (Lokalizacja, Kraków) (Lokalizacja, Kraków) (Lokalizacja, Kraków) α (Lokalizacja, Bielsko-Biała) α (Lokalizacja, Bełchatów) α (Lokalizacja, Białystok) α (Lokalizacja, Chorzów) α (Lokalizacja, Gdańsk) α (Lokalizacja, Kraków) Znajdujemy listę inwersyjną dla drugiego deskryptora pytania t: (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) α (Lokalizacja, Bielsko-Biała) α (Lokalizacja, Bełchatów) α (Lokalizacja, Białystok) α (Lokalizacja, Chorzów) str. 26

Systemy Wyszukiwania Informacji (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) (Wartość klubu, duża) α (Lokalizacja, Gdańsk) α (Lokalizacja, Kraków) α (Lokalizacja, Kielce) α (Lokalizacja, Lubin) α (Lokalizacja, Łódź) α (Lokalizacja, Poznań) α (Lokalizacja, Warszawa) α (Lokalizacja, Wrocław) α (Lokalizacja, Zabrze) α (Wartość klubu, mała) α (Wartość klubu, średnia) α (Wartość klubu, wysoka) gdzie zapis przykładowy: (Wartość klubu, duża) deskryptor (Wartość klubu, duża) zawiera się ( α (Wartość klubu, wysoka) oznacza sprawdzenie czy w liście inwersyjnej α (Wartość klubu, wysoka). Ostatecznie odpowiedź na pytanie to przecięcie wszystkich list inwersyjnych dla deskryptorów, z których zbudowano pytanie t: (t) = {1, 14} {1,3,5}={1} = {Wisła Kraków} str. 27

Zbio r zadan z rozwiązaniami Zadanie 10 Mając dany system informacyjny S zaprezentowany w formie tabeli: X Producent Typ Cena Prędkość Zużycie x 1 Samsung Mały Akceptowalna Przeciętny Małe x 2 Sony Duży Akceptowalna Szybki Duże x 3 Philips Kompaktowy Wysoka Szybki Średnie x 4 Siemens Duży Wysoka Szybki Duże x 5 Siemens Mały Wysoka Wolny Średnie x 6 HTC Kompaktowy Akceptowalna Przeciętny Średnie x 7 DELL Kompaktowy Wysoka Wolny Średnie x 8 Sony Duży Akceptowalna Szybki Duże x 9 Samsung Duży Akceptowalna Wolny średnie Zbuduj kartotekę wyszukiwawczą, wykorzystując wszystkie znane Ci modyfikacje metody list inwersyjnych mające na celu minimalizację zajętości pamięci. Oblicz redundancję w tak zmodyfikowanym systemie. Czy przedstawiony system informacyjny jest selektywny? Odpowiedź uzasadnij. Rozwiązanie: Stosujemy funkcję adresującą przypisującą każdemu obiektowi adres będący liczbą naturalną: µ: X N. W naszym przypadku każdy opis ma unikalną postać więc mamy dokładnie tyle samo adresów co obiektów. µ(x 1 )=1, µ(x 2 )=2, µ(x 3 )=3, µ(x 4 )=4, µ(x 5 )=5, µ(x 6 )=6, µ(x 7 )=7,µ(x 8 )=8,µ(x 9 )=9 Po zastosowaniu modyfikacji list inwersyjnych pamiętającej tylko listy dla niepełnego zbioru deskryptorów i jednocześnie listy dla pary deskryptorów w zaznaczaniem części wspólnej, oraz z zaznaczeniem przedziałów adresów, kartoteka wyszukiwacza wygląda następująco: α (producent, Samsung) (Typ, Mały)={9#1#5} α (producent, Sony)={2,8} α (producent, Phillips)={3} α (producent, Siemens) (Cena, Wysoka)={ # 4, 5 #3, 7} α (producent, HTC)={6} α (producent, DELL)={7} α (Typ, Duży)(Cena, Akceptowalna)={ 4 # 2, 8, 9 # 1, 6} α (Typ, Kompaktowy)(Prędkość, Przeciętny)={3, 7 # 6 # 1} α (Prędkość, Szybki)(Zużycie, Duże)={3 # 2, 4, 8 # } α (Prędkość, Wolny)(Zużycie, Średnie)={ # 5,7, 9# 3, 6} α (Zużycie, Małe)={1} str. 28

Systemy Wyszukiwania Informacji gdzie zapis: α (Typ, Kompaktowy)(Prędkość, Przeciętny)={3, 7 # 6 # 1} oznacza listę wspólną dla pary deskryptorów (Typ, Kompaktowy) oraz (Prędkość, Przeciętny). Jak można zauważyć, lista ma 3 elementy rozdzielone znakami #. W środku, tj. między dwoma znakami # znajduje się część wspólna czyli przecięcie obu list: α (Typ, Kompaktowy) oraz α (Prędkość, Przeciętny).W tym przypadku jest to tylko obiekt o adresie 6 bowiem tylko ten obiekt ma w swoim opisie zarówno deskryptor (Typ, Kompaktowy) jak i (Prędkość, Przeciętny). Z lewej strony tj. przed pierwszym znakiem # mamy ujęty zbiór obiektów mających w swoim opisie pierwszy deskryptor pytania tj. (Typ, Kompaktowy) pomijając obiekty stanowiące przecięcie z listą dla deskryptora (Prędkość, Przeciętny). Ogólnie listę taką możemy zapisać następująco: gdzie: α W (d 1,d 2 )={ α(d 1 ) α(d1) α(d2) # α(d 1 ) α(d 2 ) # α(d 2 ) α(d1) α(d2) } α(d 1 ) α(d1) α(d2) - oznacza zbiór obiektów mających w swoim opisie deskryptor d 1 bez części wspólnej α(d 1 ) α(d 2 ), α(d 2 ) α(d1) α(d2) - oznacza zbiór obiektów mających w swoim opisie deskryptor d 2 bez części wspólnej α(d 1 ) α(d 2 ), α(d1) α(d2) - oznacza przecięcie list inwersyjnych la deskryptorów d 1 oraz d 2 tj. α(d 1 ) α(d 2 ). Wracając zatem do listy postaci: α (Typ, Kompaktowy)(Prędkość, Przeciętny)={3, 7 # 6 # 1} powiemy, że α(typ, Kompaktowy) α(typ, Kompaktowy) α(prędkość, Przeciętny) ={3,7} α(prędkość, Przeciętny) α(typ, Kompaktowy) α(prędkość, Przeciętny) ={1} α(typ, Kompaktowy) α(prędkość, Przeciętny)={6} zatem α(typ, Kompaktowy) ={3,7,6} α(prędkość, Przeciętny)= {1,6} Redundancja w systemie wynosi Wynika z tego, że adresy zapisane w bazie danych są zapisane w kilku miejscach, z czego jeden potrzebny i 3 nadmiarowo. str. 29

Zbio r zadan z rozwiązaniami System jest selektywny, gdy każdej informacji odpowiada co najwyżej jeden obiekt. Każda informacja jest bądź pusta, bądź jej znaczeniem jest jeden obiekt. (Producent,Samsung)(Typ,Mały)(Cena,Akceptowalna)(Prędkość,Przeciętny)(Zużycie,Małe) = {x 1 } (Producent,Sony)(Typ,Duży)(Cena,Akceptowalna)(Prędkość,Szybki)(Zużycie,Duże) = {x 2 } (Producent,Philips)(Typ,Kompaktowy)(Cena,Wysoka)(Prędkość,Szybki)(Zużycie,Średnie) = {x 3 } (Producent,Siemiens)(Typ,Duży)(Cena,Wysoka)(Prędkość,Szybki)(Zużycie,Duże) = {x 4 } (Producent,Siemiens)(Typ,Mały)(Cena,Wysoka)(Prędkość,Wolny)(Zużycie,Średnie) = {x 5 } (Producent,HTC)(Typ,Kompaktowy)(Cena,Akceptowalna)(Prędkość,Przeciętny)(Zużycie,Średnie) = {x 6 } (Producent,DELL)(Typ,Kompaktowy)(Cena,Wysoka)(Prędkość,Wolny)(Zużycie,Średnie) = {x 7 } (Producent,Sony)(Typ,Duży)(Cena,Akceptowalna)(Prędkość,Szybki)(Zużycie,Duże) = {x 8 } (Producent,Samsung)(Typ,Duży)(Cena,Akceptowalna)(Prędkość,Wolny)(Zużycie,Średnie) = {x 9 } str. 30

Systemy Wyszukiwania Informacji Zadanie 11 Funkcja informacji systemu informacyjnego S została podana w postaci tablicy: X imię nazwisko staż dział pensja x 1 Jan Kowalski 5 sale średnia x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 Andrzej Korzeń 2 sale niska Tadeusz Nowak 7 helpdesk średnia Jan Nowak 10 sale wysoka Adam Kowalski 4 development wysoka Sebastian Mikrut 2 development średnia Michał Cieślak 3 development średnia Adam Myśliwiec 13 helpdesk wysoka Artur Pański 4 helpdesk niska Zbuduj kartotekę wyszukiwawczą dla metody list inwersyjnych. Zastosuj te modyfikacje list inwersyjnych, które zmniejszają zajętość pamięci. Rozwiązanie: Stosujemy funkcję adresującą przypisującą każdemu obiektowi adres będący liczbą naturalną: µ: X N. W naszym przypadku każdy opis ma unikalny opis, więc mamy dokładnie tyle samo adresów co obiektów. Możliwe modyfikacje to: 1. Zaznaczanie przedziałów adresów 2. Listy wielodeskryptorowe 3. Listy dla pary deskryptorów z zaznaczeniem części wspólnej, np.: 4. Listy zanegowane (Nie możemy zastosować tej modyfikacji w systemie ze względu na brak cech dychotomicznych). 5. Listy inwersyjne z niepełnym zbiorem deskryptorów Kartoteka po zastosowaniu wszystkich wymienionych modyfikacji wygląda następująco: α (dział, development) = {5 7} α (dział, development) (pensja, średnia ) = {6, 7} α (imię, Jan) (nazwisko, Kowalski) = {4 # 1 # 5} α (imię, Adam) (pensja, wysoka) = {Ø # 5, 8 # 4} α (staż, 2) (dział, sale) = {6 # 2 # 1, 4} α (staż, 2) = {2, 6} α (staż, 4) = {5, 9} α (dział, sale) = {1, 2, 4} α (dział, helpdesk) = {3, 8, 9} α (dział, development) = {5, 6, 7} α (pensja, średnia) = {1, 3, 6, 7} α (pensja, niska) = {2, 9} α (pensja, wysoka) = {4, 5, 8} str. 31

Zbio r zadan z rozwiązaniami Zadanie 12 Dla systemu informacyjnego, którego kartoteka wtórna wygląda następująco: A X Model Rok produkcji Przebieg Rodzaj paliwa Typ Kolor Audi A3 2005 Średni Diesel Hatchback Srebrny BMW X5 2003 Średni Diesel SUV Szary Citroen Berlingo 2001 Średni Benzyna Van Bordowy Fiat Cinquecento 1997 Średni Benzyna z LPG Hatchback Czerwony Ford Focus 2006 Mały Diesel Kombi Niebieski Honda S2000 2002 Mały Benzyna Coupe Żółty Hyundai Accent 1996 Średni Benzyna Hatchback Srebrny Mazda 626 1999 Duży Diesel Kombi Zielony Mercedes C200 1995 Duży Diesel Sedan Zielony Nissan Navara 2006 Mały Diesel Pickup Czarny Opel Kadett 1992 Duży Benzyna z LPG Kombi Bordowy Peugeot 807 2007 Mały Diesel Van Czarny Renault Thalia 2002 Mały Benzyna Sedan Czerwony Toyota Avensis 2003 Średni Benzyna Sedan Biały Volvo C70 1999 Duży Benzyna Coupe Złoty Zbuduj kartotekę wyszukiwawczą dla metody list inwersyjnych i dla tak stworzonej kartoteki podaj listę samochodów wyprodukowanych po 2002 roku, z silnikiem diesla, koloru czarnego. Rozwiązanie: Tablica po zakodowaniu: µ X A Model Rok Prz Rod Typ Kol 1 Audi A3 2005 Śr Die Hat Sre 2 BMW X5 2003 Śr Die SUV Sza 3 Citroen Be 2001 Śr Ben Van Bor 4 Fiat Ci 1997 Śr LPG Hat Cze 5 Ford Fo 2006 Ma Die Kom Nie 6 Honda S2 2002 Ma Ben Cou Żół 7 Hyundai Ac 1996 Śr Ben Hat Sre 8 Mazda 626 1999 Du Die Kom Zie 9 Mercedes C2 1995 Du Die Sed Zie 10 Nissan Na 2006 Ma Die Pic Cza 11 Opel Ka 1992 Du LPG Kom Bor 12 Peugeot 807 2007 Ma Die Van Cza 13 Renault Th 2002 Ma Ben Sed Cze 14 Toyota Av 2003 Śr Ben Sed Bia 15 Volvo C7 1999 Du Ben Cou Zło str. 32

Systemy Wyszukiwania Informacji 1.Tworzymy listy inwersyjne dla każdego deskryptora w systemie: α(mod,a3)={1} α(mod,x5)={2} α(mod, Be)={3} α(mod, Ci)={4} α(mod, Fo)={5} α(mod, S2)={6} α(mod, Ac)={7} α(mod, 626)={8} α(mod, C2)={9} α(mod, Na)={10} α(mod, Ka)={11} α(mod, 807)={12} α(mod, Th)={13} α(mod, Av)={14} α(mod, C7)={15} α(rok, 1992)={11} α(rok,1995)={9} α(rok, 1996)={7} α(rok, 1997)={4} α(rok, 1999)={8,15} α(rok, 2001)={3} α(rok, 2002)={6,13} α(rok, 2003)={2,14} α(rok, 2005)={1} α(rok, 2007)={12} α(prz, Ma)={5,6,10,12,13} α(prz, Śr)={1,2,3,4,7,14} α(prz, Du)={8,9,11,15} α(rod, Die)={1,2,5,8,9,10,12} α(rod,ben)={3,6,7,13,14,15 } α(rod, LPG)={4,11 } α(typ, Cou)={6,15 } α(typ, Hat)={1,4,7 } α(typ, Kom)={5,8,11 } α(typ, Sed)={9,13,14 } α(typ, Suv)={2 } α(typ, Pic)={10 } α(typ, Van)={3,12 } α(kol, Sre)={1,7 } α(kol, Sza)={2 } α(kol, Bor)={3,11 } α(kol, Cze)={4,13 } α(kol, Nie)={5 } α(kol, Żół)={6 } α(kol, Zie)={8,9 } α(kol, Cza)={10,12 } α(kol, Bia)={14 } α(kol, Zło)={15 } α(rok, 2006)={5,10} Gdy mamy już utworzoną kartotekę wyszukiwawczą dla metody list inwersyjnych możemy wyszukać interesujące nas obiekty. Poszukujemy samochodów wyprodukowanych po 2002 roku, z silnikiem diesla, koloru czarnego. str. 33

Zbio r zadan z rozwiązaniami Pytanie wielodeskryptorowe ma postać: Zaś odpowiedź na to pytanie wyznaczona zostanie w następujący sposób: Aby znaleźć odpowiedź, musimy wybrać odpowiednie listy inwersyjne, pasujące do deskryptorów z pytania. Przebieg wyszukiwania (Rok, 2003) α(mod,a3),, (Rok, 2003) α(rok, 2002), (Rok, 2003) α(rok, 2003) (Rok, 2005) α(mod,a3),, (Rok, 2005) α(rok, 2003), (Rok, 2005) α(rok, 2005) (Rok, 2006) α(mod,a3),, (Rok, 2006) α(rok, 2005), (Rok, 2006) α(rok, 2006) (Rok, 2007) α(mod,a3),, (Rok, 2007) α(rok, 2006), (Rok, 2007) α(rok, 2007) (Rod, Diesel) α(mod,a3),, (Rod, Diesel) α(prz, Du) (Rod, Diesel) α(rod, Diesel) (Kol, Czarny) α(mod,a3),, (Kol, Czarny) α(kol, Zie) (Kol, Czarny) α(kol, Czarny) Pozycja listy inwersyjnej Obiekty w kartotece 23 {2,14} 24 {1} 25 {5,10} 26 {12} 30 {1,2,5,8,9,10,12} {10,12 } 47 {{ } { } { } { }} { } { } { }= {Nissan, Pegeout} Odpowiedzią na pytanie t są obiekty Nissan, Pegeout. str. 34

Systemy Wyszukiwania Informacji Zadanie 13 Dla systemu przedstawionego za pomocą tabeli: X Socket Chipset RAM Szyna VGA Asus M4A785D-M Pro AM2 AMD785G DDR2 1200 tak Gigabyte GA-M68M-S2P AM2 GF7025 DDR2 1066 tak MSI KA790GX AM2 AMD790G DDR2 1066 tak Asus M4A78LT-M AM3 AMD760G DDR3 1800 tak Gigabyte GA-870A-UD3 AM3 AMD870 DDR3 1866 nie MSI 770-C45 AM3 AMD770 DDR3 1600 nie Asus P7H55-M s1156 Intel H55 DDR3 2200 tak Gigabyte GA-H55-UD3H s1156 Intel H55 DDR3 2200 nie MSI H55-G43 s1156 Intel H55 DDR3 2133 nie Asus P6T Deluxe V2 s1366 Intel X58 DDR3 2000 nie Gigabyte GA-X58A-UD3 s1366 Intel X58 DDR3 2200 nie MSI X58A-GD65 s1366 Intel X58 DDR3 2133 nie Przedstaw kartotekę wyszukiwawczą dla metody list inwersyjnych odpowiednio zmodyfikowaną tak by jednocześnie zmniejszyć zajętość pamięci a także skrócić czas wyszukiwania odpowiedzi na pytania zadawane do systemu. Uzasadnij jak wprowadzone przez Ciebie modyfikacje wpłyną na określone parametry: czas wyszukiwania i zajętość pamięci? Rozwiązanie: Metodą pozwalającą jednocześnie zmniejszyć zajętość pamięci i czas wyszukiwania będzie np. tworzenie list inwersyjnych tylko dla niepełnego zbioru deskryptorów: Najpierw stosując funkcję adresującą µ przypisujemy obiektom adresy: µ (Asus M4A785D-M Pro)=1, µ(gigabyte GA-M68M-S2P)=2, µ(msi KA790GX)=3, µ(asus M4A78LT- M)=4, µ(gigabyte GA-870A-UD3)=5, µ(msi 770-C45)=6, µ(asus P7H55-M)=7, µ(gigabyte GA-H55- UD3H)=8, µ(msi H55-G43)=9, µ(asus P6T Deluxe V2)=10, µ(gigabyte GA-X58A-UD3)=10, µ(msi X58A-GD65)=11 Jak widać dwa obiekty mają ten sam opis, dlatego dostały ten sam adres (10). Zakładając, że najczęściej pytania dotyczą atrybutów Chipset oraz RAM, tylko dla deskryptorów tych atrybutów utworzone zostaną listy inwersyjne: Niepełny zbiór deskryptorów D jest następujący: D ={(Chipset, AMD785G), (Chipset, GF7025), (Chipset, AMD790G), (Chipset, AMD760G), (Chipset, AMD870), (Chipset, AMD770), (Chipset, Intel H55), (Chipset, Intel X58), (RAM, DDR2), (RAM, DDR3) } Kartoteka wyszukiwawcza będzie następująca: α (Chipset, AMD785G) = {1} α (Chipset, GF7025) = {2} str. 35

Zbio r zadan z rozwiązaniami α (Chipset, AMD790G) = {3} α (Chipset, AMD760G) = {4} α (Chipset, AMD870) = {5} α (Chipset, AMD770) = {6} α (Chipset, Intel H55) = {7,8,9} α (Chipset, Intel X58) = {10,11} α (RAM, DDR2) = {1,2,3} α (RAM, DDR3) = {4,5,6,7,8,9,10,11} Jak wprowadzone modyfikacje wpłyną na czas wyszukiwania? List jest mniej więcej o połowę mniej, a więc skróci się czas w stosunku do metody klasycznej. Jak wprowadzone modyfikacje wpłyną na zajętość pamięci? Gdyby zastosować system z wszystkimi listami inwersyjnymi: A w zmodyfikowanym systemie: str. 36

Systemy Wyszukiwania Informacji Zadanie 14 X TYP WIEK WIELKO PRZEZNACZE WYTRZYMA MATERIAŁ KLOCKÓW DZIECKA ŚĆ NIE ŁOŚĆ x 1 LEGO PLASTIK 5-9 MAŁA ZABAWA ŚREDNIA x 2 DUPLO PLASTIK 1-6 DUŻA ZABAWA DUŻA x 3 LIDO METAL 5-9 DUŻA EDUKACJA MAŁA x 4 SOHO PLASTIK 6-9 MAŁA EDUKACJA ŚREDNIA Dla podanej kartoteki wtórnej, przekształć ją do wyszukiwawczej w MLI. Zastosuj możliwe modyfikacje polegające na zmniejszeniu redundancji i zajętości pamięci. Oblicz redundancję dla klasycznego systemu oraz zmodyfikowanego przez Ciebie. Rozwiązanie Stosujemy funkcję adresującą przypisującą każdemu obiektowi adres będący liczbą naturalną: µ: X N. W naszym przypadku każdy opis ma unikalny opis więc mamy dokładnie tyle samo adresów co obiektów. Po zastosowaniu następującego kodowania atrybutów i ich wartości: V TYP = {LEGO, DUPLO, SOHO, LIDO} = {LE, DU, S, LI} V MAT = {PLASTIK, METAL} = {P, M} V WIEK = {5-9, 1-6, 6-9} = {I, II, III} V PRZEZ = {ZABAWA, EDUKACJA} = {Z, E} V WYTRZ = {MAŁA, ŚREDNIA, DUŻA} = {M, S, D} Kartoteka wyszukiwawcza ma postać: α(typ, LE) = {1} α(typ, DU) = {2} α(typ, LI) = {3} α(typ, SO) = {4} α(mat, P) = {1, 2, 4} α(mat, M) = {3} α(wiek, I) = {1, 3} α(wiek, II) = {2} α(wiek, III) = {4} α(wiel, M = {1, 4} α(wiel, D) = {2, 3} α(przez, Z) = {1, 2} α(przez, E) = {3, 4} α(wytrz, M) = {3} α(wytrz, S) = {1, 4} α(wytrz, D) = {2} Redundancja wynosi: W zmniejszeniu zajętości pamięci oraz redundancji pomoże modyfikacja uwzględniająca: Listy wielodeskryptorowe oraz listy wspólne dla par deskryptorów z zaznaczaniem części wspólnej (listy zredukowane): α(typ, LE) = {1} α(typ, DU) = {2} α(typ, LI) = {3} str. 37