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

Metoda list inwersyjnych

METODA LIST PROSTYCH. Marcin Jaskuła

Metoda Składowych atomowych

Systemy Wyszukiwania Informacji

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

Pozycjonowanie oficjalnych stron internetowych polskich klubów piłkarskich

Dekompozycja w systemach wyszukiwania informacji

Zadanie 1. Suma silni (11 pkt)

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

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

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

Instrukcje dla zawodników

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

5.5. Wybieranie informacji z bazy

1 Układy równań liniowych

Wprowadzenie i pojęcia wstępne.

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.

Elementy modelowania matematycznego

Przekladnie kierownicze

Algorytmy sortujące i wyszukujące

Programowanie w VB Proste algorytmy sortowania

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

Metody indeksowania dokumentów tekstowych

Algorytmy i struktury danych

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

Systemy Wyszukiwania Informacji: Metoda list inwersyjnych

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Oferta Najmu Krótkoterminowego

ZAMÓWIENIA GIS BY CTI

Tadeusz Pankowski

Instrukcje dla zawodników

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

Arkusz kalkulacyjny Excel

Bazy danych TERMINOLOGIA

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

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

Hierarchiczna analiza skupień

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

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

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

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

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

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

Temat: Algorytm kompresji plików metodą Huffmana

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

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

Metoda Karnaugh. B A BC A

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

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

Redakcja Radia TOK FM Olga Chojnacka

METODY INŻYNIERII WIEDZY

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

TP1 - TABELE PRZESTAWNE od A do Z

Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na r.

Materiały dla finalistów

Nabór Bursy/CKU. Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

Agnieszka Nowak Brzezińska Wykład III

Polski rynek pojazdów używanych

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

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

Kolorowanie płaszczyzny, prostych i okręgów

6. Zagadnienie parkowania ciężarówki.

Zależności funkcyjne

Programowanie 3 - Funkcje, pliki i klasy

Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty).

POMOC / INSTRUKCJA OBSŁUGI

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Górnicki Mateusz 17681

Agnieszka Nowak Brzezińska Wykład III

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

Luty 2001 Algorytmy (7) 2000/2001

Języki formalne i automaty Ćwiczenia 4

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

Wydział Matematyki I Informatyki ul. Słoneczna Olsztyn

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,

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

Zagadnienie klasyfikacji (dyskryminacji)

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Samochody w Polsce posiadanie, plany zakupu

Podstawowe zapytania SELECT (na jednej tabeli)

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Terminarz rozgrywek Ekstraklasy w sezonie 2016/2017

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

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

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

TEORETYCZNE PODSTAWY INFORMATYKI

DLA SERWISÓW SAMOCHODOWYCH

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

Algorytmy przeszukiwania

EGZAMIN MATURALNY Z INFORMATYKI

Metoda eliminacji Gaussa

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

Temat: Przedstawianie i odczytywanie informacji przedstawionych za pomocą wykresów. rysowanie i analizowanie wykresów zależności funkcyjnych.

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 Wersja z dnia 19.01.2015r. str. 1

Zbio r zadan z rozwiązaniami Spis treści Metoda list prostych... 3 Metoda list inwersyjnych... 24 Metoda list łańcuchowych... 46 Metoda Saltona... 88 Metoda składowych atomowych... 132 Zadania ogólne... 151 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: σ(t1) ={x2, x4, x7, x10} σ(t5) ={x2, x3, x5, x8} σ(t2) ={x4, x6, x7, x9} σ(t6) ={x2, x5, x7, x9} σ(t3) ={x3, x5, x7, x10} σ(t7) ={x4, x6, x8, x10} σ(t4) ={x2, x4, x6, x9} σ(t8) ={x2, x4, x7, x9} 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 t1 t2 t3 t4 t5 t6 t7 t8 częstość x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 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: x1,,xn dokumenty zaś t1 tn 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 x2 x 4 x7 x9 x5 x6 x10 x3 x8 x1. 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 wyszukiwawcza po zmianie uporządkowania (tylko dla atrybutu Materiał) będzie wyglądać następująco: TMIMI=(Materiał, Drewno)(Wiek dziecka, 1 do 5)(Odporność, duża)(sposób łączenia, Brak) TABC=(Materiał, Drewno)(Wiek dziecka, 3 do 10)(Odporność, średnia)(sposób łączenia, Brak) TCHILDE=(Materiał, Drewno)(Wiek dziecka, 5 do 10)(Odporność, duża)(sposób łączenia, Brak) TTECH=(Materiał, Metal)(Wiek dziecka, 3 do 10)(Odporność, mała)(sposób łączenia, śruba) TLIDIO=(Materiał, Metal)(Wiek dziecka, 5 do 99)(Odporność, mała)(sposób łączenia, śruba) TDUPLO=(Materiał, Plastik)(Wiek dziecka, 1 do 6)(Odporność, duża)(sposób łączenia, wpust) TLEGO=(Materiał, Plastik)(Wiek dziecka, 5 do 99)(Odporność, średnia)(sposób łączenia, wpust) TSOHO=(Materiał, Plastik)(Wiek dziecka, 6 do 99)(Odporność, średnia)(sposób łączenia, wpust) str. 6

Systemy Wyszukiwania Informacji 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 relacji porządku ostrego z użyciem symboli poprzedzania i następowania. Zapis a 1 a 2 czytamy następująco: wartość a1 pewnego atrybutu a poprzedza wartość a2 tego samego atrybutu. 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 [ n ], gdzie n oznacza liczbę obiektów w systemie. Porównanie to można zapisać następująco:t x 2 [ n ]. 2 Jeśli t x n [ wówczas do dalszego przeszukiwania wybrana zostanie pierwsza połowa kartoteki a więc ]+1 2 obiekty na pozycjach: x 1,, x n [ ]. W przeciwnym przypadku przeszukana będzie druga połowa kartoteki 2 a więc obiekty na pozycjach: x [ n 2 ]+1,, x n. 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 x1 włamanie 09.10.96 15 wytrych M. 180 25 80 ciemne x2 włamanie 10.10.95 16 wytrych K 160 30 60 jasne x3 włamanie 11.11.95 13 wytrych M. 180 25 80 ciemne x4 napad 13.11.95 12 gaz-rurka M. 190 25 90 ciemne x5 napad 01.12.95 10 tulipan M. 170 30 80 ciemne x6 kradzież 23.12.95 15 nóż M. 180 25 80 jasne x7 morderstwo 22.01.96 10 gaz-rurka M. 190 30 100 ciemne x8 pobicie 12.01.96 11 tulipan M. 180 25 80 jasne x9 rabunek 13.01.96 17 nóż K 160 25 60 ciemne x10 rabunek 11.02.96 18 nóż K 170 25 60 ciemne x11 włamanie 22.02.96 14 łom M. 180 25 80 ciemne x12 kradzież 30.02.96 13 pilnik K 170 30 60 jasne x13 morderstwo 01.03.96 12 nóż K 170 30 70 jasne x14 pobicie 10.03.96 11 gaz-rurka M. 190 25 90 ciemne x15 rabunek 14.04.96 10 wytrych M. 180 20 80 jasne x16 włamanie 15.04.96 09 wytrych M. 180 25 80 ciemne x17 włamanie 16.04.96 08 łom M. 170 20 80 jasne x18 włamanie 22.04.96 11 pilnik K 170 20 60 jasne x19 włamanie 21.04.96 13 wytrych M. 180 25 80 ciemne X20 kradzież 22.04.96 12 łom M. 180 20 80 ciemne x21 morderstwo 21.05.96 11 nóż K 160 20 60 ciemne x22 rabunek 10.05.96 14 nóż M. 180 25 80 jasne x23 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 przestępstwo 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 x20 kradzież 22.04.96 12 łom M 180 20 80 ciemne 2 x12 kradzież 30.02.96 13 pilnik K 170 30 60 jasne 3 x6 kradzież 23.12.95 15 nóż M 180 25 80 jasne 4 x7 morderstwo 22.01.96 10 gaz-rurka M 190 30 100 ciemne 5 x21 morderstwo 21.05.96 11 nóż K 160 20 60 ciemne 6 x13 morderstwo 01.03.96 12 nóż K 170 30 70 jasne 7 x5 napad 01.12.95 10 tulipan M 170 30 80 ciemne 8 x4 napad 13.11.95 12 gaz-rurka M 190 25 90 ciemne 9 x8 pobicie 12.01.96 11 tulipan M 180 25 80 jasne 10 x14 pobicie 10.03.96 11 gaz-rurka M 190 25 90 ciemne 11 x15 rabunek 14.04.96 10 wytrych M 180 20 80 jasne 12 x22 rabunek 10.05.96 14 nóż M 180 25 80 jasne 13 x23 rabunek 13.05.96 15 nóż K 170 30 70 jasne 14 x9 rabunek 13.01.96 17 nóż K 160 25 60 ciemne 15 x10 rabunek 11.02.96 18 nóż K 170 25 60 ciemne 16 x17 włamanie 16.04.96 08 łom M 170 20 80 jasne 17 x16 włamanie 15.04.96 09 wytrych M 180 25 80 ciemne 18 x18 włamanie 22.04.96 11 pilnik K 170 20 60 jasne 19 x3 włamanie 11.11.95 13 wytrych M 180 25 80 ciemne 20 x19 włamanie 21.04.96 13 wytrych M 180 25 80 ciemne 21 x11 włamanie 22.02.96 14 łom M 180 25 80 ciemne 22 x1 włamanie 09.10.96 15 wytrych M 180 25 80 ciemne 23 x2 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 x17 08 włamanie 16.04.96 łom M 170 20 80 jasne 2 x16 09 włamanie 15.04.96 wytrych M 180 25 80 ciemne 3 x7 10 morderstwo 22.01.96 gaz-rurka M 190 30 100 ciemne 4 x5 10 napad 01.12.95 tulipan M 170 30 80 ciemne 5 x15 10 rabunek 14.04.96 wytrych M 180 20 80 jasne 6 x21 11 morderstwo 21.05.96 nóż K 160 20 60 ciemne 7 x8 11 pobicie 12.01.96 tulipan M 180 25 80 jasne 8 x14 11 pobicie 10.03.96 gaz-rurka M 190 25 90 ciemne 9 x18 11 włamanie 22.04.96 pilnik K 170 20 60 jasne 10 x20 12 kradzież 22.04.96 łom M 180 20 80 ciemne 11 x13 12 morderstwo 01.03.96 nóż K 170 30 70 jasne 12 x4 12 napad 13.11.95 gaz-rurka M 190 25 90 ciemne 13 x12 13 kradzież 30.02.96 pilnik K 170 30 60 jasne 14 x3 13 włamanie 11.11.95 wytrych M 180 25 80 ciemne 15 x19 13 włamanie 21.04.96 wytrych M 180 25 80 ciemne 16 x22 14 rabunek 10.05.96 nóż M 180 25 80 jasne 17 x11 14 włamanie 22.02.96 łom M 180 25 80 ciemne 18 x6 15 kradzież 23.12.95 nóż M 180 25 80 jasne 19 x23 15 rabunek 13.05.96 nóż K 170 30 70 jasne 20 x1 15 włamanie 09.10.96 wytrych M 180 25 80 ciemne 21 x2 16 włamanie 10.10.95 wytrych K 160 30 60 jasne 22 x9 17 rabunek 13.01.96 nóż K 160 25 60 ciemne 23 x10 18 rabunek 11.02.96 nóż K 170 25 60 ciemne Jedną z metod pozwalających na sprawne wyszukanie odpowiedzi na zadawane pytania będzie stworzenie tablicy adresowej (TA) z podziałem na grupy wg czasu przestępstwa deskryptor 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 = {x7, x5,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 t1 t2 t3 t4 t5 x1 0 0 1 0 1 x2 1 1 1 1 0 x3 0 0 0 0 1 x4 1 0 1 1 1 x5 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 t1 t2 t3 t4 t5 1 x3 0 0 0 0 1 2 x1 0 0 1 0 1 3 x4 1 0 1 1 1 4 x2 1 1 1 1 0 5 x5 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 x3 2 x1 3 x4 4 x2 5 x5 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 t1 3 4 t2 4 5 t3 2 4 t4 3 5 t5 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ń t1,,t5. 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} VProducent = {Suzuki, Kawasaki, Daewoo, Mitsubishi, Fiat, Renault, Peugeot, Volvo, Renault} VTyp = {motocykl, samochód} VNapęd = {tylni, przedni} VChłodzenie = {powietrze, woda} VMoc = {mała, średnia, duża} VPrzeł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. Dla przyspieszenia wyszukiwania możemy 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: card(v a ) a A = 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 x 1 Mechaniczna Srebrny Sedan Wszystkie koła x 2 Mechaniczna Czerwony Kombi Przedni x 3 Automatyczna Srebrny Sedan Tylni x 4 Automatyczna Srebrny Kombi Przedni x 5 Mechaniczna Inny Kabriolet Wszystkie koła x 6 Automatyczna Czarny Kabriolet Tylni x 7 Automatyczna Srebrny Sedan Wszystkie koła x 8 Automatyczna Czerwony Kabriolet Przedni x 9 Automatyczna Czarny Kombi Tylni x 10 Mechaniczna Czerwony Kombi Tylni Po pewnym czasie działania systemu wyodrębniono zbiór najczęściej zadawanych pytań t1 = (Typ nadwozia, Sedan)(Kolor, Srebrny) t2 = (Napęd, Przedni) + (Skrzynia biegów, Mechaniczna) t3 = (Napęd, Wszystkie koła) A odpowiedzi na pytania były następujące σ(t1)={x1, x3, x7} σ(t2)={x1, x2, x4, x5, x8, x10} σ(t1)={x1, x5, x7} Zbuduj kartotekę wyszukiwawczą z wykorzystaniem modyfikacji metody list prostych - odcedzania hiperdynamicznego. 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ą: tx1=(skrzynia biegów, Mechaniczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Wszystkie koła) tx2=(skrzynia biegów, Mechaniczna)(Kolor, Czerwony)(Typ nadwozia, Kombi)(Napęd, Przedni) tx3=(skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Tylni) tx4=(skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Kombi)(Napęd, Przedni) tx5=(skrzynia biegów, Mechaniczna)(Kolor, Inny)(Typ nadwozia, Kabriolet)(Napęd, Wszystkie koła) tx6=(skrzynia biegów, Automatyczna)(Kolor, Czarny)(Typ nadwozia, Kabriolet)(Napęd, Tylni) tx7=(skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Wszystkie koła) tx8=(skrzynia biegów, Automatyczna)(Kolor, Czerwony)(Typ nadwozia, Kabriolet)(Napęd, Przedni) tx9=(skrzynia biegów, Automatyczna)(Kolor, Czarny)(Typ nadwozia, Kombi)(Napęd, Tylni) tx10=(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 x1 Wyjściowe uporządkowanie: x2 x3 x4 x5 x6 x7 x8 x9 x10 X x1 x3 x7 x2 x4 x5 x6 x8 x9 x10 X x1 x3 x7 Wyjściowe uporządkowanie po pytaniu t 1 X x1 x2 Uporządkowanie po pytaniu t 2 Uporządkowanie po pytaniu t 1 X x1 x2 x4 x5 x8 Wyjściowe uporządkowanie po pytaniu t 2 X x1 x2 x4 x5 x6 x8 x9 x10 x4 x5 x8 x10 x3 x7 x6 x9 x10 x5 x3 x7 x7 x6 x9 x2 x4 x8 x10 Uporządkowanie po ostatnim pytaniu t 3 x3 x6 x9 Postać kartoteki wyszukiwawczej po odcedzaniu tx1=(skrzynia biegów, Mechaniczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Wszystkie koła) tx5=(skrzynia biegów, Mechaniczna)(Kolor, Inny)(Typ nadwozia, Kabriolet)(Napęd, Wszystkie koła) tx7=(skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Wszystkie koła) tx2=(skrzynia biegów, Mechaniczna)(Kolor, Czerwony)(Typ nadwozia, Kombi)(Napęd, Przedni) tx4=(skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Kombi)(Napęd, Przedni) tx8=(skrzynia biegów, Automatyczna)(Kolor, Czerwony)(Typ nadwozia, Kabriolet)(Napęd, Przedni) tx10=(skrzynia biegów, Mechaniczna)(Kolor, Czerwony)(Typ nadwozia, Kombi)(Napęd, Tylni) tx3=(skrzynia biegów, Automatyczna)(Kolor, Srebrny)(Typ nadwozia, Sedan)(Napęd, Tylni) tx6=(skrzynia biegów, Automatyczna)(Kolor, Czarny)(Typ nadwozia, Kabriolet)(Napęd, Tylni) tx9=(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: x1,x5,x7,x2 i x4. Zapis t tx1 będziemy interpretować jako potwierdzenie, że pytanie t zawiera się w opisie obiektu x1 (zgodnie z definicją zawierania się termów podaną na stronie 29 w pracy 1 ). Odpowiednio zapis t tx1 będzie oznaczał, że pytanie t nie zawiera się w opisie obiektu x1. t tx1 t tx5 t tx7 t tx2 t tx4 Odpowiedź na pytanie t: σ(t)={x2} Na zadane pytanie odpowiedzią był także obiekt x10 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 x1 wysoka nieznany informatyka x2 niska przeciętnie języki obce x3 wysoka duża historia x4 niska nieznany języki obce x5 średnia nieznany informatyka x6 średnia przeciętnie języki obce x7 wysoka duża historia x8 niska przeciętnie języki obce x9 niska nieznany informatyka x10 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 x1 informatyka wysoka nieznany x5 informatyka średnia nieznany x9 informatyka niska nieznany x2 języki obce niska przeciętnie x4 języki obce niska nieznany x6 języki obce średnia przeciętnie x8 języki obce niska przeciętnie x10 języki obce niska przeciętnie x3 historia wysoka duża x7 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