METODA LIST PROSTYCH. Marcin Jaskuła

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

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

Metoda List Łańcuchowych

Metoda list inwersyjnych. Wykład III

Metoda List Inwersyjnych

Systemy Wyszukiwania Informacji

Dekompozycja w systemach wyszukiwania informacji

Metoda list inwersyjnych

Wprowadzenie i pojęcia wstępne.

Metoda Składowych atomowych

Systemy Wyszukiwania Informacji

Metody indeksowania dokumentów tekstowych

Materiały dla finalistów

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

Pojęcie systemu informacyjnego i informatycznego

Indukcja matematyczna

Teoretyczne podstawy informatyki

Projektowanie bazy danych przykład

Algorytmy i struktury danych

Sortowanie. Bartman Jacek Algorytmy i struktury

Podstawy Informatyki. Sprawność algorytmów

Laboratorium 5: Tablice. Wyszukiwanie binarne

Wstęp do programowania

Ćwiczenie 4 Konspekt numerowany

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

STAN na dzień r. ul. Obywatelska 102/104, Łódź. Wykaz broni POPRZETARGOWEJ przeznaczonej do sprzedaży. nr świadectwa.

Teoretyczne podstawy informatyki

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

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Wojna morska algorytmy przeszukiwania

Algorytmy sortujące. sortowanie kubełkowe, sortowanie grzebieniowe

Języki i techniki programowania Ćwiczenia 2

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Fizyczna struktura bazy danych w SQL Serwerze

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

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

Instrukcje dla zawodników

Systemy Wyszukiwania Informacji: Metoda list inwersyjnych

Podstawowe zapytania SELECT (na jednej tabeli)

Normalizacja baz danych

Programowanie dynamiczne

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

SYSTEMY WYSZUKIWANIA INFORMACJI

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Olimpiada O Diamentowy Indeks AGH 2017/18. Informatyka Etap III

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

Systemy baz danych. mgr inż. Sylwia Glińska

Liczby rzeczywiste. Działania w zbiorze liczb rzeczywistych. Robert Malenkowski 1

Wymagania edukacyjne z matematyki dla klasy pierwszej zasadniczej szkoły zawodowej

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Jarosław Wróblewski Matematyka Elementarna, zima 2014/15

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

Zadania przygotowawcze do konkursu o tytuł NAJLEPSZEGO MATEMATYKA KLAS PIERWSZYCH I DRUGICH POWIATU BOCHEŃSKIEGO rok szk. 2017/2018.

5. Bazy danych Base Okno bazy danych

Wyszukiwanie plików w systemie Windows

Testy nieparametryczne

WPROWADZENIE WYSZUKIWANIE OGŁOSZEŃ

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

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

WPROWADZENIE DO BAZ DANYCH

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

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.

Metoda Saltona - wyszukiwanie informacji w strukturach drzewiastych

Programowanie w logice

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

ARCHITEKTURA KOMPUTERÓW Systemy liczbowe

dr inż. Jarosław Forenc

Jarosław Wróblewski Matematyka Elementarna, lato 2014/15

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Przykładowe zadania na kółko matematyczne dla uczniów gimnazjum

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Wykaz stali z projektu.

PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II. Uczeń umie: Świadomie stosować się do zasad regulaminów (P).

POLITECHNIKA ŚLĄSKA. ZADANIE 2 WALCEM PO WALCU Zadanie zaproponowali: dr inż. Mariusz Pleszczyński, Wydział Matematyki Stosowanej, Politechnika Śląska

Ekstrema globalne funkcji

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

W. Guzicki Zadanie 41 z Informatora Maturalnego poziom podstawowy 1

Korzystanie z podstawowych rozkładów prawdopodobieństwa (tablice i arkusze kalkulacyjne)

Nawigacja po długim dokumencie może być męcząca, dlatego warto poznać następujące skróty klawiszowe

Zdarzenie losowe (zdarzenie)

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Programowanie w VB Proste algorytmy sortowania

Kwerendy, czyli zapytania. Opracowała: I. Długoń

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Wykład 16. P 2 (x 2, y 2 ) P 1 (x 1, y 1 ) OX. Odległość tych punktów wyraża się wzorem: P 1 P 2 = (x 1 x 2 ) 2 + (y 1 y 2 ) 2

KS-ZSA. Korporacyjne grupy towarowe

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

2017/2018 WGGiOS AGH. LibreOffice Base

9. Funkcje trygonometryczne. Elementy geometrii: twierdzenie

Zadanie 1. Suma silni (11 pkt)

Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych

zbiorów domkniętych i tak otrzymane zbiory domknięte ustawiamy w ciąg. Oznaczamy

Matematyka dyskretna

DEKODER DDC. 1). Adres lokomotywy. - Adres krótki i długi. CV1 Do 127

Elementy modelowania matematycznego

WYMAGANIA na poszczególne oceny-klasa I Gimnazjum

Transkrypt:

METODA LIST PROSTYCH Marcin Jaskuła

DEFINIOWANIE SYSTEMU S= <X, A, V, Q> Gdzie: X- zbiór obiektów systemu A- zbiór atrybutów systemu V- zbiór wartości atrybutów Q- funkcja informacji Zdefiniowany system przedstawia się w następujący sposób : X= {x1,..x16} A={Producent, Model, Państwo, Kaliber, Długość, Typ} V producent = { COLT, Remington, IMI, Browning, Kalashnikow, Nexter, Benelli, H&K, Łucznik, Barret, FN, Beretta} V model = {M4A1, M40, Desert Eagle, M60, AK74, FAMAS, 1911A1, AK47, M3, USP, Beryl, M2, Galil, M82A1, P90, M92} V państwo = {USA, Izrael, Rosja, Francja, Włochy, Niemcy, Polska, Belgia} V kaliber = {5.56, 7.62, 12.7, 5.45, 11.43, 12, 5.7, 9 } V długość = {krótki, średni, długi} V typ = { karbin, karbin snajperski, pistolet, CKM, Strzelba, pistolet maszynowy} Q(x, a)=v

KARTOTEKA WTÓRNA Producent Model Państwo kaliber Długość Typ x1 COLT M4A1 USA 5,56 Krótki karabin x2 Remington M40 USA 7,62 Średni karabin snajperski x3 IMI Desert Eagle Izrael 12,7 Krótki pistolet x4 Browning M60 USA 7,62 Długi CKM x5 Kalashnikow AK74 Rosja 5,45 Średni karabin x6 Nexter FAMAS Francja 5,56 Krótki karabin x7 COLT 1911A1 USA 11,43 Krótki pistolet x8 Kalashnikow AK47 Rosja 7,62 Średni karabin x9 Benelli M3 Włochy 12 Długi strzelba x10 H&K USP Niemcy 11,43 Krótki pistolet x11 Łucznik Beryl Polska 5,56 Średni karabin x12 Browning M2 USA 12,7 Długi CKM x13 IMI Galil Izrael 5,56 Średni karabin x14 Barret M82A1 USA 12,7 Długi karabin snajperski x15 FN P90 Belgia 5,7 Krótki pistolet maszynowy x16 Beretta M92 Włochy 9 Krótki pistolet

Aby móc wyszukiwać w systemie należy zmodyfikować kartotekę wtórną, w tym celu tworzymy kartotekę wyszukiwawczą : T x1 = (Producent, COLT)*(Model, M4A1)* (Państwo, USA)*(kaliber, 5.56)* (Długość, krótki)*( Typ, Karabin) T x2 =(Producent, Remington)*(Model, M40)* (Państwo, USA)*(kaliber, 7.62)* (Długość, średni)* (Typ, Karabin snajperski) T x3 =(Producent, IMI)*(Model, Desert Eagle)*(Państwo, Izrael)* (kaliber, 12.7)* (Długość, krótki)*( Typ, Pistolet) T x4 =(Producent, Browning)* (Model, M60)*(Państwo, USA)* (kaliber, 7.62)* (Długość, długi)*( Typ, CKM) T x5 =(Producent, Kalashnikow)* (Model, AK74)* (Państwo, Rosja)* (kaliber, 5.45)* T x6 =(Producent, Nexter)* (Model, Famas)*(Państwo, Francja)*(kaliber, 5.56)* (Długość, krótki)*( Typ, Karabin) T x7 =(Producent, COLT)* (Model, 1911A1)* (Państwo, USA)* (kaliber, 11.43)* (Długość, krótki)* ( Typ, pistolet) T x8 =(Producent, Kalashnikow)* (Model, AK47)* (Państwo, Rosja)* (kaliber, 7.62)* T x9 =(Producent, Benelli)* (Model, M3)* (Państwo, Włochy)* (kaliber, 12)* (Długość, długi)*( Typ, strzelba) T x10 =(Producent, H&K)* (Model, USP)* (Państwo, Niemcy)* (kaliber, 11.43)* (Długość, krótki)*( Typ, pistolet) T x11 =(Producent, Łucznik)* (Model, Beryl)* (Państwo, Polska)* (kaliber, 5.56)* T x12 =(Producent, Browning)* (Model, M2)* (Państwo, USA)* (kaliber, 12.7)* (Długość, długi)*( Typ, CKM) T x13 =(Producent, IMI)* (Model, Galil)* (Państwo, Izrael)* (kaliber, 5.56)* T x14 =(Producent, Barret)* (Model, M82A1)* (Państwo, USA)* (kaliber, 12.7)* (Długość, długi)*( Typ, karabin snajperski) T x15 =(Producent, FN)* (Model, P90)* (Państwo, Belgia)* (kaliber, 5.7)* (Długość, krótki)*( Typ, pistolet maszynowy) T x16 =(Producent, Beretta)* (Model, M92)* (Państwo, Włochy)* (kaliber, 9)* (Długość, krótki)*( Typ, Pistolet)

Pytanie do systemu(t) to dowolny term, sprowadzony do postaci normalnej czyli do sumy termów skladowych: T: t 1 +t 2 +t 3 + +t k T i =(a 1, x 1 )*(a 2, x 2 )* *(a k, x k ) T i =T s (term składowy) Wyszukiwanie odpowiedzi na pytanie zadane do systemu można podzielić na 2 sposoby: I. Przeglądamy kolejne opisy obiektów i wybieramy obiekty zawierające w swoim opisie pierwszy term składowy pytania. czas wyszukiwania: τ = N*m*τ0 gdzie: N liczba obiektów w bazie danych m liczba termów składowych w pytaniu t τ0 średni czas przeglądu jednego dokumentu II W tym sposobie porównujemy od razu pełne pytanie t z kolejnymi opisami obiektów i wybieramy te z nich, które w swoim opisie zawierają co najmniej jeden z termów składowych pytania. τ = N*τ0 gdzie: N liczba obiektów w bazie danych τ0 średni czas przeglądu jednego dokumentu Ta metoda jest szybsza od poprzedniej ponieważ porównujemy każdy obiekt z całym termem.

PRZYKŁAD Podaj listę karabinów z Rosji T 1 =(Państwo, Rosja)*(Typ, Karabin) Zbiór obiektów będących sumą kolejno uzyskanych odpowiedzi na termy składowe jest odpowiedzią na pytanie t: ς(ti) = {x X, ti tx} Gdzie: Tx- opis obiektu w systemie Ti- term składowy pytania t T x1 t T x2 t T x3 t T x4 t T x5 t T x6 t T x7 t T x8 t T x9 t T x10 t T x11 t T x12 t T x13 t T x14 t T x15 t T x16 zachodzi zachodzi ς(t1)={x 5,x 8 } Odpowiedzią na pytanie są obiekty X 5,X 8

MODYFIKACJE METODY LIST PROSTYCH 1.Metoda z uporządkowaniem opisu obiektów- Celem wprowadzenia tej metody było poprawienie czasu wyszukiwania. Polega na uporządkowaniu kolejności atrybutów w opisie obiektów. 2.Metoda z grupowaniem obiektów- Wybiera się atrybut grupujący i wartość tego atrybutu zamieszcza się na pierwszym miejscu w opisach obiektu, a następnie opisy obiektów są porządkowane aby elementy o takim samym deskryptorze leżały obok siebie. Ta metoda poprawi czas wyszukiwania ale musi spełnić warunki: a) Atrybut grupujący musi występować w pytaniach do systemu b) Atrybut grupujący musi być atrybutem wielowartościowym. 3. Metoda z podziałem połówkowym- Stosowana jest kiedy wartości atrybutów są podawane jako cyfry, liczby lub w postaci numerycznej. Każdy opis obiektu w kartotece wyszukiwawczej może być zapisany w postaci ciągu liczb. Kartoteka jest porządkowana w kolejności rosnącej lub malejącej. Podczas wyszukiwania porównujemy czy dana cecha zawarta w pytaniu miała wartość mniejszą czy też większą od tej, którą zawiera środkowy element bazy. Dzielimy bazę na połowę i w zależności od wyniku porównania (większy, mniejszy) wybieramy tą połowę bazy, w której znajduje się poszukiwany deskryptor.

PRZYKŁAD 2 Musimy wybrać jeden atrybut, który w miarę równo dzieli nam kartotekę wyszukiwawczą, będzie często używany oraz jest wielowartościowy. W naszym przypadku to atrybut TYP Producent Model Państwo kaliber Długość Typ X1 Browning M60 USA 7,62 Średni CKM X2 Browning M2 USA 12,7 Długi CKM X3 COLT M4A1 USA 5,56 Krótki karabin X4 Kalashnikow AK74 Rosja 5,45 średni karabin X5 Nexter FAMAS Francja 5,56 Krótki karabin X6 Kalashnikow AK47 Rosja 7,62 średni karabin X7 Łucznik Beryl Polska 5,56 średni karabin X8 IMI Galil Izrael 5,56 Średni karabin X9 Remington M40 USA 7,62 Średni karabin snajperski X10 Barret M82A1 USA 12,7 Długi karabin snajperski X11 IMI Desert Eagle Izrael 12,7 Krótki pistolet X12 COLT 1911A1 USA 11,43 Krótki pistolet x13 H&K USP Niemcy 11,43 Krótki pistolet X14 Beretta M92 Włochy 9 Krótki pistolet x15 FN P90 Belgia 5,7 Krótki pistolet maszynowy X16 Benelli M3 Włochy 12 długi strzelba

TWORZYMY KARTOTEKĘ WYSZUKIWAWCZĄ WZGLĘDEM NOWEJ KARTOTEKI WTÓRNEJ. T x1 = (Producent, Browning)* (Model, M60)*(Państwo, USA)* (kaliber, 7.62)* (Długość, długi)*( Typ, CKM) T x2 =(Producent, Browning)* (Model, M2)* (Państwo, USA)* (kaliber, 12.7)* (Długość, długi)*( Typ, CKM) T x3 =(Producent, COLT)*(Model, M4A1)* (Państwo, USA)*(kaliber, 5.56)* (Długość, krótki)*( Typ, Karabin) T x4 =(Producent, Kalashnikow)* (Model, AK74)* (Państwo, Rosja)* (kaliber, 5.45)* T x5 =(Producent, Nexter)* (Model, Famas)*(Państwo, Francja)*(kaliber, 5.56)* (Długość, krótki)*( Typ, Karabin) T x6 =(Producent, Kalashnikow)* (Model, AK47)* (Państwo, Rosja)* (kaliber, 7.62)* T x7 =(Producent, Łucznik)* (Model, Beryl)* (Państwo, Polska)* (kaliber, 5.56)* T x8 =(Producent, IMI)* (Model, Galil)* (Państwo, Izrael)* (kaliber, 5.56)* T x9 =(Producent, Remington)*(Model, M40)* (Państwo, USA)*(kaliber, 7.62)* (Długość, średni)* (Typ, Karabin snajperski) T x10 =(Producent, Barret)* (Model, M82A1)* (Państwo, USA)* (kaliber, 12.7)* (Długość, długi)*( Typ, karabin snajperski) T x11 =(Producent, IMI)*(Model, Desert Eagle)*(Państwo, Izrael)* (kaliber, 12.7)* (Długość, krótki)*( Typ, Pistolet) T x12 =(Producent, COLT)* (Model, 1911A1)* (Państwo, USA)* (kaliber, 11.43)* (Długość, krótki)* ( Typ, pistolet) T x13 =(Producent, H&K)* (Model, USP)* (Państwo, Niemcy)* (kaliber, 11.43)* (Długość, krótki)*( Typ, pistolet) T x14 =(Producent, Beretta)* (Model, M92)* (Państwo, Włochy)* (kaliber, 9)* (Długość, krótki)*( Typ, Pistolet) T x15 =(Producent, FN)* (Model, P90)* (Państwo, Belgia)* (kaliber, 5.7)* (Długość, krótki)*( Typ, pistolet maszynowy) T x16 =(Producent, Benelli)* (Model, M3)* (Państwo, Włochy)* (kaliber, 12)* (Długość, długi)*( Typ, strzelba)

TABLICA WSKAŹNIKÓW Typ wskaźnik początka wskaźnik końca CKM 1 2 karabin 3 8 karabin snajperski 9 10 pistolet 11 14 pistolet maszynowy 15 15 strzelba 16 16 Zadajemy pytanie: t = (Typ,Karabin)*(Państwo, Rosja) Przeszukujemy tylko odpowiedni fragment odczytany z tablicy wskaźników: t T x3 t T x4 t T x5 t T x6 t T x7 t T x8 zachodzi zachodzi Odpowiedzią na pytanie są obiekty X 4,X 6

PARAMETRY STRUKTURA KARTOTEKI WYSZUKIWAWCZEJ- najprostsza możliwa struktura. Zapisujemy opisy obiektów deskryptorowo. Po wprowadzeniu modyfikacji staje się sztywna REDUNDANCJA I ZAJĘTOŚĆ PAMIĘCI- metoda nie wnosi redundancji, każdy obiekt zapisany jest tylko raz. Zajętość pamięci związana jest z liczbą obiektów i bezpośrednio od ich liczby zależy. PROCES AKTUALIZACJI- bardzo prosty, wystarczy wyszukać odpowiedni obiekt i zmienić jego wartość. Po wprowadzeniu modyfikacji sztywna struktura utrudnia i komplikuje nam ten proces. Odpowiednie umieszczenie obiektu w kartotece oraz modyfikację tablicy wskaźników. Ten element pogorszył się po wprowadzeniu modyfikacji. CZAS WYSZUKIWANIA- długie czasy aktualizacji w metodzie klasycznej. Czas poprawiony w modyfikacjach. JĘZYK WYSZUKIWAWCZY- Nie ma ograniczeń na język. Język opisu obiektu musi być taki sam jak pytań do systemu. TRYB PRACY SYSTEMU- Tryb pracy ciągły, wiąże się z procesem aktualizacji. Aktualizacje mogą być robione na bieżąco (wyszukujemy i aktualizujemy jednocześnie). Metoda list prostych jest metodą bardzo prostą, ze względu na to stosuje się ją do tej pory. Cechą procesów wyszukiwawczych musi być krótki czas wyszukiwania, w metodzie przeglądu zupełnego czas jest zaletą.