Systemy Wyszukiwania Informacji

Wielkość: px
Rozpocząć pokaz od strony:

Download "Systemy Wyszukiwania Informacji"

Transkrypt

1 Systemy Wyszukiwania Informacji METODA LIST PROSTYCH OPRACOWALI: Marcin Dzięgielewski Marcin Karwiński 1

2 INDEKS SŁOWO WSTĘPNE... 3 OPIS METODY, PRZYGOTOWANIE KARTOTEKI WYSZUKIWAWCZEJ... 4 JAK PRZEBIEGA WYSZUKIWANIE ODPOWIEDZI NA PYTANIE W METODZIE LIST PROSTYCH... 8 PRZYKŁAD MODYFIKACJE METODY LIST PROSTYCH PRZYKŁAD PARAMETRY METODY LIST PROSTYCH WNIOSKI

3 SŁOWO WSTĘPNE Obok ciężkiej pracy fizycznej wymiana i składowanie informacji należy do najważniejszych czynników postępu cywilizacyjnego ludzkości. Stąd przykładano zawsze wielka wagę do rozwoju technik przekazywania informacji (począwszy od starożytności, a nawet czasów neandertalczyka). Ale obecny rozwój cywilizacyjny doprowadził do paradoksalnej sytuacji, w której człowiek, niegdyś spragniony informacji, dziś nie jest w stanie skonsumować ich olbrzymiego strumienia. Po prostu niemozliwe jest objęcie umysłem i "przetrawienie" dostępnych z różnorakich źródeł informacji. Stąd naglącą stała się potrzeba selekcji informacji dla potrzeb poszczególnych ludzi. Niezbędnym warunkiem dla możliwości selekcji jest permanentna dostępność źródeł poszczególnych informacji (przykładowo Internet czy system bazodanowy banku). Ale sama dostępność informacji nie jest warunkiem wystarczającym. Konieczny jest też element aktywny: możliwość poszukiwania i znalezienia interesującej informacji. Tę rolę pełnią od lat stale doskonalone metody wyszukiwania informacji i organizacji jej w systemach informacyjnych. Jednak wraz z dynamicznym wzrostem popularności technik informatycznych pojawiło sie coraz więcej użytkowników nieprofesjonalnych. W chwili obecnej zawodowi programiści, czy też ogólniej osoby, których wykształcenie związane jest choćby pośrednio z informatyką, stanowią już mniejszość wśród osób korzystających z usług globalnej sieci. Jednocześnie jednak wiedza i umiejętności techniczne - w szczególności zaś dobra znajomość zasad działania narzędzi takich jak przeglądarki, systemy wyszukiwawcze, czy też chociażby serwery HTTP - stają się coraz bardziej przydatne, a w niektórych przypadkach wręcz niezbędne, do efektywnego odnajdywania potrzebnych użytkownikowi informacji w różnorakich systemach. Główną tego przyczyną wydaje się być zwiększająca sie w bardzo szybkim tempie liczba dostawców informacji, co w połączeniu z niezbyt wysoką jakością i aktualnością dostępnych katalogów i narzędzi wyszukiwawczych powoduje, iż proces odnajdywania danych bywa czasami dość skomplikowany i czasochłonny. Obecnie używane systemy wyszukiwania informacji mają swoje korzenie w systemach przeszukiwania klasycznych baz danych (systemy klasyczne do których między innymi należy metoda list prostych). Dzieki temu są zwykle dość efektywne w indeksowaniu i grupowaniu informacji, nawet pełnotekstowej, jednakże nie są skuteczne w interpretacji potrzeb informacyjnych użytkownika końcowego. Są także stosunkowo proste do implementacji, toteż wielu programistów sięga po te stare i sprawdzone metody. Dodatkowo w wielu przypadkach interfejsy użytkownika w jakie wyposażono te systemy są bardzo niskiej jakości, zaś możliwości specyfikacji kryteriów wyszukiwania jakie są przez nie udostepniane wydają się być bardziej odpowiednie dla prostych i krótkich (mało rozbudowanych) baz pełnotekstowych, niż dla bogatego środowiska informacyjnego w którym działają. Wiekszość ludzi postrzega obecne systemy informacyjne nie jako całkowicie nowe narzędzie, ale raczej jako elektroniczną wersję jednego z do tej pory istniejących systemów archiwizacji i dystrybucji informacji. Nie ma w tym nic dziwnego - w procesie edukacji uczeni byliśmy jak do tej pory jedynie posługiwania się klasycznymi systemami, wykształcenie to zaś na tyle silnie wpływa na nasze zachowanie, że instynktownie traktujemy je jako naturalne. Kiedy korzystamy z systemu, traktujemy go zwykle jak książkę, lub bazę danych, czy też gazetę, wreszcie używamy jednej z wielu innych metafor, które są dla nas znajome. Wybór ten staje się szczególnie istotny w momencie, w którym poszukujemy informacji, ponieważ ogranicza rodzaj informacji, o wyszukaniu którego możemy w ogóle pomyśleć. W efekcie wybrana przez nas metafora, innymi słowy sposób postrzegania systemu, określa stosowane przez nas podejście do konstruowania zapytania. Dobrym przykładem bedzie tu traktowanie języka naturalnego jako naturalnego systemu wprowadzania informacji przez użytkownika, a także jej dla niego wyprowadzania, podczas gdy jest on znacznie bardziej skomplikowaną i trudniejszą do implementacji metodą składowania i wyszukiwania informacji. Nie jest bowiem możliwe bezpośrednie użycie zapytań dla nas tak naturalnych i prostych w istniejących systemach wyszukiwawczych, jako że system który byłby w 3

4 stanie w pełni zrozumieć semantykę nawet najprostszych zdań nie został jak do tej pory stworzony i najprawdopodobniej nie powstanie w najbliższej przyszłości. Jest jednak możliwe przetłumaczenie tych zapytań do bardziej formalnej postaci. Dlatego też już jakiś czas temu wprowadzono i usystematyzowano wiele z możliwych systemów informacji a także metod ich wyszukiwania. Metoda list prostych jest historycznie najstarszą z wprowadzonych metod, jednak w tej dziedzinie nic nie traci na aktualnosci, gdyż problemy z którymi muszą stytkać się systemy wyszukiwania informacji praktycznie nie zmieniły się. Do powstania nowych metod przyczynił się rozwój systemów bazodanowych oraz stawiane im kolejno coraz to większe wymagania, których spełnienie wymagało zmienienia dotychczasowej organizacji systemów bazodanowych. Budowa klasycznej metody list prostych wygląda w zasadzie jak baza danych każdego początkującego informatyka-programisty. Obiekty umieszczane są w bazie w sposób naturalny, czyli w trakcie ich napływania. Usunięcie polega na prostym wykasowaniu obiektu z naszej bazy. Zmiana w opisie obiektu polega na znalezieniu obiektu i zmiany jego cechy odpowiednio na inną. Samo wyszukanie polega zaś na przeglądnięciu wszystkich elementów (stąd też druga nazwa metody metoda przeglądu zupełnego) i porównywanie ich z deskryptorami pytania (np. czy dany element jest opisany deskryptorem {wzrost, wysoki}? Jeśli nie to szukam dalej). Przy pytaniach szczegółowych porównujemy każdy element ze wszystkimi deskryptorami z pytania (stąd też we wniosku zwrócimy uwagę na możliwą nie w pełni 100%ową relewantność wszystkich odpowiedzi wynikającą np z wykorzystania za mało szczegółowych pytań). Metoda klasyczna list prostych jest praktycznie jedyną metodą, w której nie muszą być adresowane (indeksowane) jej elementy. Podczas programowania/implementowania jednak automatycznie wprowadza się różnego rodzaju adresowanie. Klasyczna metoda list prostych nie uczy więc niczego ponad to, co każdy i tak już wiedział. OPIS METODY, PRZYGOTOWANIE KARTOTEKI WYSZUKIWAWCZEJ Musimy najpierw zdefiniować system informacyjny: S = <X,A,V,q> gdzie: X zbiór obiektów systemu S A zbiór atrybutów systemu S V zbiór wartości atrybutów q funkcja informacji W metodzie list prostych informacje o obiektach systemu S są pamiętane w dowolnej kolejności. Ponieważ nie kładzie się tu nacisku na jakiekolwiek sortowanie napływających do systemu danych, to kolejne obiekty dodawane są na koniec listy i tym samym są pamiętane w kolejności ich napływania do systemu. Jak wiemy informacja o obiekcie jest pewną funkcją, która każdemu atrybutowi ze zbioru atrybutów systemu przyporządkowuje pewną wartość ze zbioru wartości tegoż atrybutu. Nas natomiast bardziej interesuje sposób zapisu tej informacji. Wykorzystamy do tego celu język informacyjny Ls: tx = (a1,v1) * (a2,v2) *... * (an,vn) Taki zapis nazywamy opisem obiektu w języku Ls. 4

5 Skoro wiemy już jak powinna wyglądać kartoteka wyszukiwawcza dla metody list prostych to możemy przystąpić do jej przygotowania. Na poprzednich zajęciach stworzyliśmy niewielką kartotekę wtórną, oto ona: X\A Proc Obud Ltr Socket L2 FSB Clock PrT Tmax Pmax HT MemC P54C P S1 b.malo 7 D 0 b.wolny b.stary Chlodny P55C Pm S1 b.malo 7 D 1 b.wolny Stary Chlodny Covington C S2 b.malo S1 M 1 b.wolny Stary Goracy Mendocino C S2 Malo S1 S 1 b.wolny Sredni Parzy Coppermine C F Malo 3 S 1 Sredni Nowy Zar Klamath P2 S3 b.duzo S1 D 1 b.wolny Stary Cieply Deschutes P2 S3 b.duzo S1 D 1 b.wolny Sredni Zar Katmai P3 S3 b.duzo S1 D 2 Wolny Sredni Zar Coppermine2 P3 S3 Srednio S1 S 2 Wolny Nowy Parzy Tualatin P3 F Srednio 3 S 2 Sredni b.nowy Chlodny Willamette P4 O2 b.duzo 4a S 1 Sredni Nowy Cieply NorthwoodA P4 F Tlum 4b D 2 b.szybki b.nowy Cieply NorthwoodB P4 F Tlum 4b D 2 b.szybki b.nowy Cieply NorthwoodC P4 F Tlum 4b D 4 b.szybki b.nowy Chlodny Prestonia P4 F Wow! 4b D 4 b.szybki b.nowy Chlodny Prescott P4 L Wow! 7b O 4 Hyper Mikro Cieply P6 Pro C Tlum 8 O 0 b.wolny Stary Parzy DeschutesMP P2X O3 Wow! S2 O 1 b.wolny Sredni Cieply Tanner P3X S3 Wow! S2 O 1 Wolny Sredni Cieply Cascades P3X O3 Srednio 4c S 2 Wolny Nowy Lod Foster X P2 Tlum 6 O 1 Sredni Nowy Goracy Gallatin X P2 Wow! 6 D 1 b.szybki b.nowy Cieply K86 K5 P1 b.malo 5 D 0 b.wolny Stary Parzy LittleFoot K6 P1 b.malo 5 D 1 b.wolny Stary Chlodny Chompers K6 P1 b.malo 7a D 1 Wolny Sredni Chlodny Sharptooth K6 P1 Srednio 7a D 1 b.wolny Sredni Chlodny Spitfire D C Srednio A S 1 Wolny Nowy Zar Morgan D C Srednio A S 1 Sredni Nowy Zar Pluto A CM Srednio SA D 1 Wolny Sredni Chlodny Orion A CM Srednio SA D 1 Wolny Nowy Chlodny Thunderbird A C Duzo A S 2 Sredni Nowy Zar Palomino AXP O1 Duzo A S 2 Sredni Nowy Zar Thoroughbred AXP O1 Duzo A S 3 Szybki b.nowy Zar Barton AXP O1 Tlum A D 4 Szybki b.nowy Parzy Applebred D O1 Srednio A M 3 Sredni b.nowy Parzy Thorton AXP O1 Duzo A S 3 Szybki b.nowy Zar SledgeHammer A64 O1 Wow! 9a O 4 Szybki b.nowy Parzy Newcastle A64 O1 Tlum 9b O 4 Szybki b.nowy Chlodny ClawHammer A64 O1 Wow! 7c O 4 Szybki b.nowy Parzy

6 Zmodyfikujemy teraz jej postać tak, aby można było przeprowadzić w niej wyszukiwanie metodą list prostych oto opisy poszczególnych obiektów: tp54c = (Proc,P1)*(Obud,S1)*(Ltr,b.mało)*(Socket,7)*(L2,D)*(FSB,0)* (Clock,b.wolny)*(PrT,b.stary)*(Tmax,chlodny)*(Pmax,1)*(HT,)*(MemC,0) tp55c = (Proc,Pm)*(Obud,S1)*(Ltr,b.mało)*(Socket,7)*(L2,D)*(FSB,1)* (Clock,b.wolny)*(PrT,stary)*(Tmax,chlodny)*(Pmax,1)*(HT,)*(MemC,0) tcovington = (Proc,C)*(Obud,S2)*(Ltr,b.mało)*(Socket,S1)*(L2,M)*(FSB,1)* (Clock,b.wolny)*(PrT,stary)*(Tmax,goracy)*(Pmax,1)*(HT,0)*(MemC,0) tmendocino = (Proc,C)*(Obud,S2)*(Ltr,mało)*(Socket,S1)*(L2,S)*(FSB,1)* (Clock,b.wolny)*(PrT,sredni)*(Tmax,parzy)*(Pmax,2)*(HT,0)*(MemC,0) tcoppermine = (Proc,C)*(Obud,F)*(Ltr,mało)*(Socket,3)*(L2,S)*(FSB,1)* (Clock,sredni)*(PrT,nowy)*(Tmax,zar)*(Pmax,2)*(HT,0)*(MemC,0) tklamath = (Proc,P2)*(Obud,S3)*(Ltr,b.duzo)*(Socket,S1)*(L2,D)*(FSB,1)* (Clock,b.wolny)*(PrT,stary)*(Tmax,cieply)*(Pmax,3)*(HT,0)*(MemC,0) tdeschutes = (Proc,P2)*(Obud,S3)*(Ltr,b.duzo)*(Socket,S1)*(L2,D)*(FSB,1)* (Clock,b.wolny)*(PrT,sredni)*(Tmax,zar)*(Pmax,2)*(HT,0)*(MemC,0) tkatmai = (Proc,P3)*(Obud,S3)*(Ltr,b.duzo)*(Socket,S1)*(L2,D)*(FSB,2)* (Clock,wolny)*(PrT,sredni)*(Tmax,zar)*(Pmax,2)*(HT,0)*(MemC,0) tcoppermine2 = (Proc,P3)*(Obud,F)*(Ltr,srednio)*(Socket,S1)*(L2,S)*(FSB,2)* (Clock,wolny)*(PrT,nowy)*(Tmax,parzy)*(Pmax,2)*(HT,0)*(MemC,0) ttualatin = (Proc,P3)*(Obud,O2)*(Ltr,srednio)*(Socket,3)*(L2,S)*(FSB,1)* (Clock,sredni)*(PrT,b.nowy)*(Tmax,chlodny)*(Pmax,2)*(HT,0)*(MemC,0) twillamette = (Proc,P4)*(Obud,F)*(Ltr,b.duzo)*(Socket,4a)*(L2,S)*(FSB,2)* (Clock,sredni)*(PrT,nowy)*(Tmax,cieply)*(Pmax,4)*(HT,0)*(MemC,0) tnorthwooda = (Proc,P4)*(Obud,F)*(Ltr,tlum)*(Socket,4b)*(L2,D)*(FSB,2)* (Clock,b.szybki)*(PrT,b.nowy)*(Tmax,cieply)*(Pmax,4)*(HT,0)*(MemC,0) tnorthwoodb = (Proc,P4)*(Obud,F)*(Ltr,tlum)*(Socket,4b)*(L2,D)*(FSB,4)* (Clock,b.szybki)*(PrT,b.nowy)*(Tmax,cieply)*(Pmax,5)*(HT,1)*(MemC,0) tnorthwoodc = (Proc,P4)*(Obud,F)*(Ltr,tlum)*(Socket,4b)*(L2,D)*(FSB,4)* (Clock,b.szybki)*(PrT,b.nowy)*(Tmax,chlodny)*(Pmax,5)*(HT,1)*(MemC,0) tprestonia = (Proc,P4)*(Obud,L)*(Ltr,wow!)*(Socket,4b)*(L2,D)*(FSB,4)* (Clock,b.szybki)*(PrT,b.nowy)*(Tmax,chlodny)*(Pmax,6)*(HT,1)*(MemC,0) tprescott = (Proc,P4)*(Obud,C)*(Ltr,wow!)*(Socket,7b)*(L2,O)*(FSB,0)* (Clock,hyper)*(PrT,mikro)*(Tmax,cieply)*(Pmax,6)*(HT,1)*(MemC,0) tp6 = (Proc,Pro)*(Obud,O3)*(Ltr,tlum)*(Socket,8)*(L2,O)*(FSB,1)*(Clock,b.wolny)* (PrT,stary)*(Tmax,parzy)*(Pmax,3)*(HT,0)*(MemC,0) tdeschutesmp = (Proc,P2X)*(Obud,S3)*(Ltr,wow!)*(Socket,S2)*(L2,O)*(FSB,1)* (Clock,b.wolny)*(PrT,sredni)*(Tmax,cieply)*(Pmax,3)*(HT,0)*(MemC,0) ttanner = (Proc,P3X)*(Obud,O3)*(Ltr,wow!)*(Socket,S2)*(L2,O)*(FSB,2)* (Clock,wolny)*(PrT,sredni)*(Tmax,cieply)*(Pmax,3)*(HT,0)*(MemC,0) Cascades = (Proc,P3X)*(Obud,P2)*(Ltr,srednio)*(Socket,4c)*(L2,S)*(FSB,1)* (Clock,wolny)*(PrT,nowy)*(Tmax,lod)*(Pmax,3)*(HT,0)*(MemC,0) tfoster = (Proc,X)*(Obud,P2)*(Ltr,tlum)*(Socket,6)*(L2,O)*(FSB,1)*(Clock,sredni) 6

7 *(PrT,nowy)*(Tmax,goracy)*(Pmax,4)*(HT,1)*(MemC,0) tgallatin = (Proc,X)*(Obud,P1)*(Ltr,wow!)*(Socket,6)*(L2,D)*(FSB,0)* (Clock,b.szybki)*(PrT,b.nowy)*(Tmax,cieply)*(Pmax,5)*(HT,1)*(MemC,0) t5k86 = (Proc,K5)*(Obud,P1)*(Ltr,b.mało)*(Socket,5)*(L2,D)*(FSB,1)* (Clock,b.wolny)*(PrT,stary)*(Tmax,parzy)*(Pmax,1)*(HT,0)*(MemC,0) tlittlefoot = (Proc,K6)*(Obud,P1)*(Ltr,b.mało)*(Socket,5)*(L2,D)*(FSB,1)* (Clock,b.wolny)*(PrT,stary)*(Tmax,chlodny)*(Pmax,2)*(HT,0)*(MemC,0) tchompers = (Proc,K6)*(Obud,P1)*(Ltr,b.mało)*(Socket,7a)*(L2,D)*(FSB,1)* (Clock,wolny)*(PrT,sredni)*(Tmax,chlodny)*(Pmax,2)*(HT,0)*(MemC,0) tsharptooth = (Proc,K6)*(Obud,C)*(Ltr,srednio)*(Socket,7a)*(L2,D)*(FSB,1)* (Clock,b.wolny)*(PrT,sredni)*(Tmax,chlodny)*(Pmax,2)*(HT,0)*(MemC,0) tspitfire = (Proc,D)*(Obud,C)*(Ltr,srednio)*(Socket,A)*(L2,S)*(FSB,1)* (Clock,wolny)*(PrT,nowy)*(Tmax,zar)*(Pmax,3)*(HT,0)*(MemC,0) tmorgan = (Proc,D)*(Obud,CM)*(Ltr,srednio)*(Socket,A)*(L2,S)*(FSB,1)* (Clock,sredni)*(PrT,nowy)*(Tmax,zar)*(Pmax,3)*(HT,0)*(MemC,0) tpluto = (Proc,A)*(Obud,CM)*(Ltr,srednio)*(Socket,SA)*(L2,D)*(FSB,1)* (Clock,wolny)*(PrT,sredni)*(Tmax,chlodny)*(Pmax,3)*(HT,0)*(MemC,0) torion = (Proc,A)*(Obud,C)*(Ltr,srednio)*(Socket,SA)*(L2,D)*(FSB,2)* (Clock,wolny)*(PrT,nowy)*(Tmax,chlodny)*(Pmax,4)*(HT,0)*(MemC,0) tthunderbird = (Proc,A)*(Obud,O1)*(Ltr,duzo)*(Socket,A)*(L2,S)*(FSB,2)* (Clock,sredni)*(PrT,nowy)*(Tmax,zar)*(Pmax,4)*(HT,0)*(MemC,0) tpalomino = (Proc,AXP)*(Obud,O1)*(Ltr,duzo)*(Socket,A)*(L2,S)*(FSB,3)* (Clock,sredni)*(PrT,nowy)*(Tmax,zar)*(Pmax,4)*(HT,0)*(MemC,0) tthoroughbred = (Proc,AXP)*(Obud,O1)*(Ltr,duzo)*(Socket,A)*(L2,S)*(FSB,4)* (Clock,szybki)*(PrT,b.nowy)*(Tmax,zar)*(Pmax,4)*(HT,0)*(MemC,0) tbarton = (Proc,AXP)*(Obud,O1)*(Ltr,tlum)*(Socket,A)*(L2,D)*(FSB,3)* (Clock,szybki)*(PrT,b.nowy)*(Tmax,parzy)*(Pmax,4)*(HT,0)*(MemC,0) tapplebred = (Proc,D)*(Obud,O1)*(Ltr,srednio)*(Socket,A)*(L2,M)*(FSB,3)* (Clock,sredni)*(PrT,b.nowy)*(Tmax,parzy)*(Pmax,3)*(HT,0)*(MemC,0) tthorton = (Proc,AXP)*(Obud,O1)*(Ltr,duzo)*(Socket,A)*(L2,S)*(FSB,)* (Clock,szybki)*(PrT,b.nowy)*(Tmax,zar)*(Pmax,4)*(HT,0)*(MemC,0) tsledgehammer = (Proc,A64)*(Obud,O1)*(Ltr,wow!)*(Socket,9a)*(L2,O)*(FSB,)4* (Clock,szybki)*(PrT,b.nowy)*(Tmax,parzy)*(Pmax,5)*(HT,0)*(MemC,2) tnewcastle = (Proc,A64)*(Obud,O1)*(Ltr,tlum)*(Socket,9b)*(L2,O)*(FSB,4)* (Clock,szybki)*(PrT,b.nowy)*(Tmax,chlodny)*(Pmax,5)*(HT,0)*(MemC,1) tclawhammer = (Proc,A64)*(Obud,O1)*(Ltr,wow!)*(Socket,7c)*(L2,O)*(FSB,4)* (Clock,szybki)*(PrT,b.nowy)*(Tmax,parzy)*(Pmax,5)*(HT,0)*(MemC,1) Skoro nasza kartoteka wyszukiwawcza jest gotowa - zobaczmy jak powinien przebiegać sam proces wyszukiwania. 7

8 JAK PRZEBIEGA WYSZUKIWANIE ODPOWIEDZI NA PYTANIE W METODZIE LIST PROSTYCH Aby móc odpowiedzieć na postawione pytanie musimy przyjrzeć się bliżej formie w jakiej do systemu należy kierować swoje zapytania. Są one w ogólności sumą termów składowych i mają one postać: t = t1+t2+...+tm gdzie t1..tm term składowy Na tak postawione pytanie wyszukiwanie odpowiedzi może przebiegać dwojako: 1 Przeglądamy kolejne opisy obiektów i wybieramy obiekty zawierające w swoim opisie pierwszy term składowy pytania. Odpowiedź na pytanie składowe ti: ς(ti) = {x X, ti tx} gdzie: tx opis obiektu x w systemie S ti term składowy pytania Zbiór obiektów będących sumą kolejno uzyskanych odpowiedzi na termy składowe jest odpowiedzia na pytanie t: ς(t) = ς(t1)+...+ς(tm) czas wyszukiwania: τ = N*m*τ0 gdzie: N liczba obiektów w bazie danych 8

9 m liczba termów składowych w pytaniu t τ0 średni czas przeglądu jednego dokumentu 2 Tutaj 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. Można zauważyc, że ten sposób wyszukiwania odpowiedzi na pytanie zadane do systemu jest nieco szybszy od sposobu przedstawionego powyżej. W poprzednim sposobie przeglądalismy kartotekę wyszukiwczą tyle razy ile w pytaniu było termów składowych. Teraz każdy obiekt systemu jest porównywany od razu z całym termem t co przy nieco wydłużonym czasie porównywania obiektu i tak daje lepsze wyniki, bo np. Jeśli już pierwszy term składowy jest częscią opisu obiektu to nie porównujemy juz kolejnych bo i tak obiekt jest już odpowiwdzią na pytanie. ς(t) = {x X,ti t ti tx} gdzie tx opis obiektu x w systemie S ti term składowy pytania ti t oznacza, że term składowy ti występuje w pytaniu t. czas wyszukiwania: τ = N*τ0 gdzie: N liczba obiektów w bazie danych τ0 średni czas przeglądu jednego dokumentu (nieco dłuższy niż p rzypadku 1) 9

10 PRZYKŁAD 1 Skoro znamy już całą teorię czas na praktykę! Zadajemy do naszej bazy danych następujące pytanie: t = (MemC,0)*(Clock,b.szybki)+(HT,1) t = t1 + t2 Do wyszukania odpowiedzi zastosujemy bardziej optymalna metodę przeglądu kartoteki wyszukiwawczej (nr2): t tp54c nie bo t1! tp54c oraz t2! tp54c t tp55c nie bo t1! tp55c oraz t2! tp55c t tcovington nie bo t1! tcovington oraz t2! tcovington t tmendocino nie bo t1! tmendocino oraz t2! tmendocino t tcoppermine nie bo t1! tcoppermine oraz t2! tcoppermine t tklamath nie bo t1! tklamath oraz t2! tklamath t tdeschutes nie bo t1! tdeschutes oraz t2! tdeschutes t tkatmai nie bo t1! tkatmai oraz t2! tkatmai t tcoppermine2 nie bo t1! tcoppermine2 oraz t2! tcoppermine2 t ttualatin nie bo t1! ttualatin oraz t2! ttualatin t twillamette nie bo t1! twillamette oraz t2! twillamette t tnorthwooda tak bo t1 tnorthwooda t tnorthwoodb tak bo t1 tnorthwoodb t tnorthwoodc tak bo t1 tnorthwoodc t tprestonia tak bo t1 tprestonia t tprescott tak bo t1 tprescott oraz t2 tprescott t tp6 nie bo t1! tp6 oraz t2! tp6 t tdeschutesmp nie bo t1! tdeschutesmp oraz t2! tdeschutesmp t ttanner nie bo t1! ttanner oraz t2! ttanner t tcascades nie bo t1! tcascades oraz t2! tcascades t tfoster tak bo t1 tfoster oraz t2 tfoster t tgallatin tak bo t1 tgallatin oraz t2 tgallatin t t5k86 nie bo t1! t5k86 oraz t2! t5k86 t tlittlefoot nie bo t1! tlittlefoot oraz t2! tlittlefoot t tchompers nie bo t1! tchompers oraz t2! tchompers t tsharptooth nie bo t1! tsharptooth oraz t2! tsharptooth t tspitfire nie bo t1! tspitfire oraz t2! tspitfire t tmorgan nie bo t1! tmorgan oraz t2! tmorgan t tpluto nie bo t1! tpluto oraz t2! tpluto t torion nie bo t1! torion oraz t2! torion t tthunderbird nie bo t1! tthunderbird oraz t2! tthunderbird t tpalomino nie bo t1! tpalomino oraz t2! tpalomino t tthoroughbred nie bo t1! tthoroughbred oraz t2! tthoroughbred t tbarton nie bo t1! tbarton oraz t2! tbarton t tapplebred nie bo t1! tapplebred oraz t2! tapplebred t tthorton nie bo t1! tthorton oraz t2! tthorton t tsledgehammer nie bo t1! tsledgehammer oraz t2! tsledgehammer t tnewcastle nie bo t1! tnewcastle oraz t2! tnewcastle t tclawhammer nie bo t1! tclawhammer oraz t2! tclawhammer δ(t) = {NorthwoodA, NorthwoodB, NorthwoodC, Prestonia, Prescott, Foster, Gallatin} 10

11 MODYFIKACJE METODY LIST PROSTYCH Ponieważ wadą metody klasycznej sa długie czasy wyszukiwania to starano się wprowadzić pewne jej modyfikacje w celu zmniejszenia tej wady. UPORZĄDKOWANIE OPISÓW OBIEKTÓW Jest to najprostsza z modyfikacji. Polega na uporządkowaniu kolejnosci atrybutów w opisie obiektów co wymaga utzrymania tejze kolejnościi w zadawanych pytaniach. Modyfikacja ta skraca nieco czas porównywania jednego obiektu. GRUPOWANIE OBIEKTÓW WEDŁUG WYBRANEGO ATRYBUTU Spośród atrybutów systemu wybieramy jeden (ten, o który najczęściej będziemy się pytać w praktyce w przypadku, gdy nie wiadomo jaka to będzie cecha dopuszcza się do pracy systemu w metodzie klasycznej i zlicza się częstość występowania poszczególnych atrybutów w pytaniach) i ustawiamy go na pierwszym miejscu. Następnie grupujemy obiekty w grupy o jednakowej wartości tego atrybutu (czyli tak, aby elementy o tej samej wartości wyróżnionej cechy {o takim samym deskryptorze} leżały obok siebie)... Wskazane jest zatem, aby cecha była możliwie wielowartościowa, ale bez przesady (np. różna wartość cechy dla każdego elementu) zachowajmy złoty środek. Jednocześnie tworzy się tablicę adresową. Będzie ona zawierała wartości dla wyróżnionej cechy, a przy każdej z nich adres pierwszego elementu z tą wartością. Dla pytań z wyróżnioną cechą na podstawie tablicy znajdujemy obiekty z tym deskryptorem. Dzięki temu przy wyszukiwaniu odpowiedzi na pytanie sprawdzamy tylko tą grupę obiektów, która ma odpowiednią wartość tego wyróżnionego atrybutu. Dla pytań szczegółowych jest to jednak dopiero odpowiedź przybliżona. W takim przypadku przeglądamy elementy z odpowiedzi przybliżonej i usuwamy te, które nie są odpowiedzią na pozostałe deskryptory pytania. Jeśli jednak wyznaczony przez nas atrybut nie występuje w pytaniu to musimy dokonać przeglądu zupełnego kartoteki. Jak zatem widać wybrany przez nas parametr rzeczywiście powinien często występować w pytaniach oraz w miarę równomiernie dzielić kartoteki na grupy i być wielowartościowy. Tylko wtedy bowiem ta modyfikacja da odczuwalne rezultaty. METODA PODZIAŁU POŁÓWKOWEGO W tej modyfikacji obiekty nie mogą mieć dowolnej kolejności w bazie. Wybieramy cechę najczęściej występującą w pytaniach i sortujemy elementy na podstawie wielkości tej cechy (powinna być numeryczna lub alfanumeryczna). 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. Powtarzamy teraz całą operację na wybranej połówce bazy (porównujemy deskryptor z pytania ze środkowym elementem wybranej połówki). Czynność tę należy powtarzać aż na natrafianie na "nasz" element, albo też aż do znalezienia wystarczająco "zawężonego zbioru poszukiwań" - wtedy ów zbiór przeszukujemy metodą klasyczną. Dla pytań szczegółowych najpierw wyszukuje się obiekty zawierające daną wartość wyróżnionej cechy. W wyniku tego otrzymuje się listę elementów - odpowiedzi przybliżone na pytanie ogólne. Następnie bierze się każdy z tych elementów i przeszukuje go w celu sprawdzenia czy posiada on w sobie pozostałe deskryptory pytania. Jeżeli tak nie jest, to zostaje on wykreślany z listy na której znajdą się ostatecznie elementy będące odpowiedzią na całe pytanie szczegółowe. Gdy zostało zadane pytanie nie zawierające wyróżnionej cechy, to wyszukiwanie naturalnie przeprowadza się jak w metodzie klasycznej. 11

12 UWAGA!!! W przypadku obu powyższych modyfikacji przy zmianach opisu elementu należy sprawdzać, czy zmieniany deskryptor nie zawiera w sobie wyróżnionego atrybutu. W takim przypadku należy umieścić taki element w odpowiednim miejscu bazy (przez sortowanie lub pogrupowanie). Modyfikacje te wprowadzają skrócenie czasu wyszukiwania dla pytań z wyróżnioną cechą. PRZYKŁAD 2 Zobaczmy jak wygląda wyszukiwanie odpowiedzi na pytanie w oparciu o metodę list prostych z grupowaniem obiektów według wybranego atrybutu. Musimy wybrać jeden atrybut który w miarę równo dzieli nam kartotekę wyszukiwawczą, będzie często używany oraz jest wielowartościowy powiedzmy ze będzie to atrybut Clock - jest jednym z najważniejszych atrybutów dla procesorów oraz fakt, że wszystkim zależy na tym aby ich procesor miał jak najwięcej mega/giga hz zapewni, że wystąpi w większości zapytań do naszej bazy danych. Zanim przystąpimy do zaprezentowania procesu wyszukiwania musimy odpowiednio zreorganizować naszą kartotekę wyszukiwawczą prezentujemy ja ponizej. (LP 1) tp54c = (Clock,b.wolny)*(Proc,P1)*(Obud,S1)*(Ltr,b.mało)*(Socket,7)* (L2,D)*(FSB,0)*(PrT,b.stary)*(Tmax,chlodny)*(Pmax,1)*(HT,)*(MemC,0) (LP 2) tp55c = (Clock,b.wolny)*(Proc,Pm)*(Obud,S1)*(Ltr,b.mało)*(Socket,7)* (L2,D)*(FSB,1)*(PrT,stary)*(Tmax,chlodny)*(Pmax,1)*(HT,)*(MemC,0) (LP 3) tcovington = (Clock,b.wolny)*(Proc,C)*(Obud,S2)*(Ltr,b.mało)*(Socket,S1)* (L2,M)*(FSB,1)*(PrT,stary)*(Tmax,goracy)*(Pmax,1)*(HT,0)*(MemC,0) (LP 4) tmendocino = (Clock,b.wolny)*(Proc,C)*(Obud,S2)*(Ltr,mało)*(Socket,S1)* (L2,S)*(FSB,1)*(PrT,sredni)*(Tmax,parzy)*(Pmax,2)*(HT,0)*(MemC,0) (LP 5) tklamath = (Clock,b.wolny)*(Proc,P2)*(Obud,S3)*(Ltr,b.duzo)*(Socket,S1)* (L2,D)*(FSB,1)*(PrT,stary)*(Tmax,cieply)*(Pmax,3)*(HT,0)*(MemC,0) (LP 6) tdeschutes = (Clock,b.wolny)*(Proc,P2)*(Obud,S3)*(Ltr,b.duzo)*(Socket,S1) *(L2,D)*(FSB,1)*(PrT,sredni)*(Tmax,zar)*(Pmax,2)*(HT,0)*(MemC,0) (LP 7) tp6 = (Clock,b.wolny)*(PrT,stary)*(Proc,Pro)*(Obud,O3)*(Ltr,tlum)* (Socket,8)*(L2,O)*(FSB,1)*(Tmax,parzy)*(Pmax,3)*(HT,0)*(MemC,0) (LP 8) tdeschutesmp = (Clock,b.wolny)*(Proc,P2X)*(Obud,S3)*(Ltr,wow!)* (Socket,S2)*(L2,O)*(FSB,1)*(PrT,sredni)*(Tmax,cieply)*(Pmax,3)*(HT,0)*(MemC,0) (LP 9) t5k86 = (Clock,b.wolny)*(Proc,K5)*(Obud,P1)*(Ltr,b.mało)*(Socket,5)* (L2,D)*(FSB,1)*(PrT,stary)*(Tmax,parzy)*(Pmax,1)*(HT,0)*(MemC,0) (LP 10) tlittlefoot = (Clock,b.wolny)*(Proc,K6)*(Obud,P1)*(Ltr,b.mało)* (Socket,5)*(L2,D)*(FSB,1)*(PrT,stary)*(Tmax,chlodny)*(Pmax,2)*(HT,0)*(MemC,0) (LP 11) tsharptooth = (Clock,b.wolny)*(Proc,K6)*(Obud,C)*(Ltr,srednio)* (Socket,7a)*(L2,D)*(FSB,1)*(PrT,sredni)*(Tmax,chlodny)*(Pmax,2)*(HT,0)*(MemC,0) (LP 12) tkatmai = (Clock,wolny)*(Proc,P3)*(Obud,S3)*(Ltr,b.duzo)*(Socket,S1)* (L2,D)*(FSB,2)*(PrT,sredni)*(Tmax,zar)*(Pmax,2)*(HT,0)*(MemC,0) (LP 13) tcoppermine2 = (Clock,wolny)*(Proc,P3)*(Obud,F)*(Ltr,srednio)* (Socket,S1)*(L2,S)*(FSB,2)*(PrT,nowy)*(Tmax,parzy)*(Pmax,2)*(HT,0)*(MemC,0) (LP 14) ttanner = (Clock,wolny)*(Proc,P3X)*(Obud,O3)*(Ltr,wow!)*(Socket,S2)* 12

13 (L2,O)*(FSB,2)*(PrT,sredni)*(Tmax,cieply)*(Pmax,3)*(HT,0)*(MemC,0) (LP 15) Cascades = (Clock,wolny)*(Proc,P3X)*(Obud,P2)*(Ltr,srednio)*(Socket,4c)* (L2,S)*(FSB,1)*(PrT,nowy)*(Tmax,lod)*(Pmax,3)*(HT,0)*(MemC,0) (LP 16) tspitfire = (Clock,wolny)*(Proc,D)*(Obud,C)*(Ltr,srednio)*(Socket,A)* (L2,S)*(FSB,1)*(PrT,nowy)*(Tmax,zar)*(Pmax,3)*(HT,0)*(MemC,0) (LP 17) tchompers = (Clock,wolny)*(Proc,K6)*(Obud,P1)*(Ltr,b.mało)*(Socket,7a)* (L2,D)*(FSB,1)*(PrT,sredni)*(Tmax,chlodny)*(Pmax,2)*(HT,0)*(MemC,0) (LP 18) tpluto = (Clock,wolny)*(Proc,A)*(Obud,CM)*(Ltr,srednio)*(Socket,SA)* (L2,D)*(FSB,1)*(PrT,sredni)*(Tmax,chlodny)*(Pmax,3)*(HT,0)*(MemC,0) (LP 19) torion = (Clock,wolny)*(Proc,A)*(Obud,C)*(Ltr,srednio)*(Socket,SA)* (L2,D)*(FSB,2)*(PrT,nowy)*(Tmax,chlodny)*(Pmax,4)*(HT,0)*(MemC,0) (LP 20) tcoppermine = (Clock,sredni)*(Proc,C)*(Obud,F)*(Ltr,mało)*(Socket,3)* (L2,S)*(FSB,1)*(PrT,nowy)*(Tmax,zar)*(Pmax,2)*(HT,0)*(MemC,0) (LP 21) ttualatin = (Clock,sredni)*(Proc,P3)*(Obud,O2)*(Ltr,srednio)*(Socket,3)* (L2,S)*(FSB,1)*(PrT,b.nowy)*(Tmax,chlodny)*(Pmax,2)*(HT,0)*(MemC,0) (LP 22) twillamette = (Clock,sredni)*(Proc,P4)*(Obud,F)*(Ltr,b.duzo)*(Socket,4a) *(L2,S)*(FSB,2)*(PrT,nowy)*(Tmax,cieply)*(Pmax,4)*(HT,0)*(MemC,0) (LP 23) tfoster = (Clock,sredni)*(Proc,X)*(Obud,P2)*(Ltr,tlum)*(Socket,6)*(L2,O) *(FSB,1)*(PrT,nowy)*(Tmax,goracy)*(Pmax,4)*(HT,1)*(MemC,0) (LP 24) tmorgan = (Clock,sredni)*(Proc,D)*(Obud,CM)*(Ltr,srednio)*(Socket,A)* (L2,S)*(FSB,1)*(PrT,nowy)*(Tmax,zar)*(Pmax,3)*(HT,0)*(MemC,0) (LP 25) tthunderbird = (Clock,sredni)*(Proc,A)*(Obud,O1)*(Ltr,duzo)*(Socket,A)* (L2,S)*(FSB,2)*(PrT,nowy)*(Tmax,zar)*(Pmax,4)*(HT,0)*(MemC,0) (LP 26) tpalomino = (Clock,sredni)*(Proc,AXP)*(Obud,O1)*(Ltr,duzo)*(Socket,A)* (L2,S)*(FSB,3)*(PrT,nowy)*(Tmax,zar)*(Pmax,4)*(HT,0)*(MemC,0) (LP 27) tapplebred = (Clock,sredni)*(Proc,D)*(Obud,O1)*(Ltr,srednio)*(Socket,A)* (L2,M)*(FSB,3)*(PrT,b.nowy)*(Tmax,parzy)*(Pmax,3)*(HT,0)*(MemC,0) (LP 28) tthoroughbred = (Clock,szybki)*(Proc,AXP)*(Obud,O1)*(Ltr,duzo)* (Socket,A)*(L2,S)*(FSB,4)*(PrT,b.nowy)*(Tmax,zar)*(Pmax,4)*(HT,0)*(MemC,0) (LP 29) tbarton = (Clock,szybki)*(Proc,AXP)*(Obud,O1)*(Ltr,tlum)*(Socket,A)* (L2,D)*(FSB,3)*(PrT,b.nowy)*(Tmax,parzy)*(Pmax,4)*(HT,0)*(MemC,0) (LP 30) tthorton = (Clock,szybki)*(Proc,AXP)*(Obud,O1)*(Ltr,duzo)*(Socket,A)* (L2,S)*(FSB,)*(PrT,b.nowy)*(Tmax,zar)*(Pmax,4)*(HT,0)*(MemC,0) (LP 31) tsledgehammer = (Clock,szybki)*(Proc,A64)*(Obud,O1)*(Ltr,wow!)* (Socket,9a)*(L2,O)*(FSB,)4*(PrT,b.nowy)*(Tmax,parzy)*(Pmax,5)*(HT,0)*(MemC,2) (LP 32) tnewcastle = (Clock,szybki)*(Proc,A64)*(Obud,O1)*(Ltr,tlum)*(Socket,9b)* (L2,O)*(FSB,4)*(PrT,b.nowy)*(Tmax,chlodny)*(Pmax,5)*(HT,0)*(MemC,1) (LP 33) tclawhammer = (Clock,szybki)*(Proc,A64)*(Obud,O1)*(Ltr,wow!)*(Socket,7c) *(L2,O)*(FSB,4)*(PrT,b.nowy)*(Tmax,parzy)*(Pmax,5)*(HT,0)*(MemC,1) (LP 34) tgallatin = (Clock,b.szybki)*(Proc,X)*(Obud,P1)*(Ltr,wow!)*(Socket,6)* (L2,D)*(FSB,0)*(PrT,b.nowy)*(Tmax,cieply)*(Pmax,5)*(HT,1)*(MemC,0) (LP 35) tnorthwooda = (Clock,b.szybki)*(Proc,P4)*(Obud,F)*(Ltr,tlum)*(Socket,4b) *(L2,D)*(FSB,2)*(PrT,b.nowy)*(Tmax,cieply)*(Pmax,4)*(HT,0)*(MemC,0) 13

14 (LP 36) tnorthwoodb = (Clock,b.szybki)*(Proc,P4)*(Obud,F)*(Ltr,tlum)*(Socket,4b) *(L2,D)*(FSB,4)*(PrT,b.nowy)*(Tmax,cieply)*(Pmax,5)*(HT,1)*(MemC,0) (LP 37) tnorthwoodc = (Clock,b.szybki)*(Proc,P4)*(Obud,F)*(Ltr,tlum)*(Socket,4b) *(L2,D)*(FSB,4)*(PrT,b.nowy)*(Tmax,chlodny)*(Pmax,5)*(HT,1)*(MemC,0) (LP 38) tprestonia = (Clock,b.szybki)*(Proc,P4)*(Obud,L)*(Ltr,wow!)*(Socket,4b)* (L2,D)*(FSB,4)*(PrT,b.nowy)*(Tmax,chlodny)*(Pmax,6)*(HT,1)*(MemC,0) (LP 39) tprescott = (Clock,hyper)*(Proc,P4)*(Obud,C)*(Ltr,wow!)*(Socket,7b)* (L2,O)*(FSB,0)*(PrT,mikro)*(Tmax,cieply)*(Pmax,6)*(HT,1)*(MemC,0) Tablica wskaźników Clock AP AK (Clock,b.wolny) 1 11 (Clock,wolny) (Clock,sredni) (Clock,szybki) (Clock,b.szybki) (Clock,hyper) Zadajemy do naszej bazy danych następujące pytanie: t = (Clock,b.szybki)*(Tmax,chlodny) t = t1 * t2 Teraz przeszukujemy tylko odpowiedni fragment bazy odczytany z tablicy wskaźników: t tgallatin nie bo t2! tgallatin t tnorthwooda nie bo t2! tnorthwooda t tnorthwoodb nie bo t2! tnorthwoodb t tnorthwoodc tak bo t2 tnorthwoodc t tprestonia tak bo t2 tprestonia δ(t) = {NorthwoodC, Prestonia} 14

15 PARAMETRY METODY LIST PROSTYCH 1.Struktura bazy danych W przypadku metody klasycznej bardzo prosta. W przypadku jej modyfikacji nieco się komplikuje (staje się sztywna). 2.Redundancja Nie występuje. 3.Proces aktualizacji W przypadku metody klasycznej nie jest skomplikowany. Dodanie obiektu następuje na końcu listy, jego modyfikacja polega tylko na odszukaniu obiektu i zmianie wartości atrybutów. Sytuacja ma się inaczej w przypadku zmodyfikowanej metody list prostych, gdzie usztywniona struktura kartoteki wyszukiwawczej narzuca pewien tok postepowania. Dodanie elementu do bazy danych wiąże sie z odpowiednim jego umieszczeniem w kartotece a także z modyfikacją tablicy wskaźników. Modyfikacja obiektu może także wiązac się z potrzebą przemieszczenia obiektu w kartotece. Usuniecie obiektu jest także związane z reorganizacją bazy danych. Jak widać ten parametr uległ wyraźnemu pogorszeniu w stosunku do metody klasycznej. 4.Język wyszukiwawczy metoda nie narzuca stosowania specjalnego języka wyszukiwania informacji 5.Czas wyszukiwania Czas potrzebny na wyszukanie interesującej nas informacji jest bardzo długi, gdyż konieczny jest pełny przegląd bazy danych (metoda klasyczna). Sytuacja uległa poprawie we wprowadzonych modyfikacjach tej metody. 6.Tryb pracy Metoda nie narzuca specjalnych wymagań co do trybu pracy systemu (wsadowy lub ciagły). 15

16 WNIOSKI O tym jak ważna jest informacja w obecnej rzeczywistości może świadczyć fakt nadania obecnej epoce miana epoki informacji. Prawdą wszak jest, że obecnie to nie miecz, nie czołg jest najpotężniejszą bronią naszej cywilizacji. Najgroźniejsza i zarazem najważniejsza jest informacja. Natomiast efektywne odnajdywanie relewantnych danych jest złożonym i trudnym problemem, który jednocześnie wydaje sie być kluczowym dla użyteczności obecnie stosowanych źródeł informacji. Dobrą ilustracją jego złożoności są problemy związane z efektywnym konstruowaniem i interpretacją zapytań w systemach wyszukiwawczych. Najpoważniejszym wyzwaniem wydaje się jednak być sprostanie wymogom warstwy merytorycznej: zrozumienia potrzeb informacyjnych użytkownika i ich pełne zaspokojenie. Przedstawiona tutaj metoda list prostych, jedna z najbardziej naturalnych, pomimo względnej prostoty i nieskomplikowanego poziomu matematycznego pozwala stosunkowo efektywnie przeprowadzić tak wyszukiwanie jak i składowanie informacji. Należy jednak pamiętać, że zazwyczaj we współczesnych systemach faza odnajdywania informacji przebiega zwykle bardzo efektywnie, jedynym wyjątkiem bywa tutaj prezentacja wyników wyszukiwania. W idealnym systemie wyszukiwania, wygenerowany wynik zawiera dokładnie tą informację, która została opisana w koncepcji użytkownika. Jednakże w rzeczywiście istniejących systemach współczynnik relewancji wyszukiwania rzadko osiąga poziom stu procent. Wynikiem tego jest "zaśmiecenie" wyniku wyszukiwania informacją nierelewantną, nieistotną z punktu widzenia użytkownika. Z tego też powodu dalsza obróbka surowych wyników wyszukiwania może często znacznie poprawić użyteczność systemu. Dlatego też sądzimy, że warto jest angażować się w rozwój następnych generacji systemów wyszukiwania informacji. Z jednej strony stanowią one interesujące wyzwanie badawcze zarówno w dziedzinie sprzętowej, programowej, jak i koncepcyjnej w dziedzinie sztucznej inteligencji, rozumienia tekstów, maszyn uczących się, baz danych, a ostatnio przetwarzania i rozumienia obrazów, rozpoznawania słowa mówionego i innych. Z drugiej strony dają wymierne korzyści praktyczne dla rozwoju społecznego i gospodarczego ludzkości. 16

METODA LIST PROSTYCH. Marcin Jaskuła

METODA LIST PROSTYCH. Marcin Jaskuła METODA LIST PROSTYCH Marcin Jaskuła DEFINIOWANIE SYSTEMU S= 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

Bardziej szczegółowo

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

Metoda list prostych Wykład II. Agnieszka Nowak - Brzezińska Metoda list prostych Wykład II Agnieszka Nowak - Brzezińska Wprowadzenie Przykładowa KW Inna wersja KW Wyszukiwanie informacji Metoda I 1. Przeglądamy kolejne opisy obiektów i wybieramy te, które zawierają

Bardziej szczegółowo

Metoda List Łańcuchowych

Metoda List Łańcuchowych Metoda List Łańcuchowych mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Sosnowiec, 2010 Celem metody jest utrzymanie zalet MLI (dobre czasy wyszukiwania), ale wyeliminowanie jej wad (wysoka

Bardziej szczegółowo

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

Metoda List Prostych mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Sosnowiec, 2012 Metoda List Prostych mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Sosnowiec, 2012 Najprostsza metoda wyszukiwania informacji. Nazywana również Metodą Przeglądu Zupełnego (bo w procesie wyszukiwania

Bardziej szczegółowo

Metoda list inwersyjnych. Wykład III

Metoda list inwersyjnych. Wykład III Metoda list inwersyjnych Wykład III Plan wykładu Cele metody Tworzenie kartoteki wyszukiwawczej Redundancja i zajętość pamięci Wyszukiwanie informacji Czasy wyszukiwania Ocena metody: wady i zalety Modyfikacje

Bardziej szczegółowo

Metody indeksowania dokumentów tekstowych

Metody indeksowania dokumentów tekstowych Metody indeksowania dokumentów tekstowych Paweł Szołtysek 21maja2009 Metody indeksowania dokumentów tekstowych 1/ 19 Metody indeksowania dokumentów tekstowych 2/ 19 Czym jest wyszukiwanie informacji? Wyszukiwanie

Bardziej szczegółowo

Systemy Wyszukiwania Informacji

Systemy Wyszukiwania Informacji Systemy Wyszukiwania Informacji METODA LIST INWERSYJNYCH OPRACOWALI: Filip Kuliński Adam Pokoleńczuk Sprawozdanie zawiera: Przedstawienie kartoteki wtórnej Przedstawienie kartoteki wyszukiwawczej (inwersyjne)

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski : idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

Bardziej szczegółowo

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.

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. Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie

Bardziej szczegółowo

Wprowadzenie i pojęcia wstępne.

Wprowadzenie i pojęcia wstępne. Wprowadzenie i pojęcia wstępne. X\A a b c x 1 a 1 b 1 c 1 x 2 a 1 b 1 c 2 x 3 a 1 b 2 c 3 x 4 a 2 b 1 c 4 x 5 a 1 b 2 c 1 x 6 a 1 b 2 c 2 x 7 a 1 b 1 c 1 S = X = {x 1,,x 8 } A = {a, b, c}

Bardziej szczegółowo

Porównywanie populacji

Porównywanie populacji 3 Porównywanie populacji 2 Porównywanie populacji Tendencja centralna Jednostki (w grupie) według pewnej zmiennej porównuje się w ten sposób, że dokonuje się komparacji ich wartości, osiągniętych w tej

Bardziej szczegółowo

Metoda list inwersyjnych

Metoda list inwersyjnych Metoda list inwersyjnych Zakładam, że materiał ten zastępuje nam zajęcia, które się niestety nie odbyły w dniach 10 i 17 kwiecień. Bardzo proszę przejrzeć cały materiał i na kolejne zajęcia przyjść przygotowanym.

Bardziej szczegółowo

Struktury Danych i Złożoność Obliczeniowa

Struktury Danych i Złożoność Obliczeniowa Struktury Danych i Złożoność Obliczeniowa Zajęcia 2 Algorytmy wyszukiwania, sortowania i selekcji Sortowanie bąbelkowe Jedna z prostszych metod sortowania, sortowanie w miejscu? Sortowanie bąbelkowe Pierwsze

Bardziej szczegółowo

Nowe spojrzenie na prawo

Nowe spojrzenie na prawo LEX 2 Nowe spojrzenie na prawo Od 25 lat informujemy o prawie i tworzymy narzędzia przekazujące tę wiedzę. Szybko. Intuicyjnie. Nowocześnie. Stawiamy sobie za cel sprostanie wymaganiom naszych Klientów.

Bardziej szczegółowo

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

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Laboratorium nr 5 Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL predefiniowanych funkcji agregujących.

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych ĆWICZENIE 2 - WYBRANE ZŁOŻONE STRUKTURY DANYCH - (12.3.212) Prowadząca: dr hab. inż. Małgorzata Sterna Informatyka i3, poniedziałek godz. 11:45 Adam Matuszewski, nr 1655 Oliver

Bardziej szczegółowo

Metoda List Inwersyjnych

Metoda List Inwersyjnych Metoda List Inwersyjnych Celem metody jest poprawienie (skrócenie) czasów wyszukiwania względem MLP (i tak się faktycznie dzieje dla pewnej klasy pytań). Założenie: Dany jest system informacyjny S =

Bardziej szczegółowo

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

Bardziej szczegółowo

Pojęcie systemu informacyjnego i informatycznego

Pojęcie systemu informacyjnego i informatycznego BAZY DANYCH Pojęcie systemu informacyjnego i informatycznego DANE wszelkie liczby, fakty, pojęcia zarejestrowane w celu uzyskania wiedzy o realnym świecie. INFORMACJA - znaczenie przypisywane danym. SYSTEM

Bardziej szczegółowo

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

QUERY język zapytań do tworzenia raportów w AS/400 QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora

Bardziej szczegółowo

COPYRIGHT 2004 MARCIN KARWIŃSKI & MARCIN DZIĘGIELEWSKI WYSZUKIWANIA SYSTEMY INFORMACJI LIST INWERSYJNYCH METODA. 1 z 19

COPYRIGHT 2004 MARCIN KARWIŃSKI & MARCIN DZIĘGIELEWSKI WYSZUKIWANIA SYSTEMY INFORMACJI LIST INWERSYJNYCH METODA. 1 z 19 1 z 19 SYSTEMY WYSZUKIWANIA INFORMACJI METODA LIST INWERSYJNYCH 2 z 19 Spis treści Słowo wstępne 3 Parę słów o listach inwersyjnych, czyli czym są właściwie te listy? 3 Krótka analiza wad MLP3 Redundancja

Bardziej szczegółowo

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

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne

Bardziej szczegółowo

Wymagania edukacyjne na ocenę z informatyki klasa 3

Wymagania edukacyjne na ocenę z informatyki klasa 3 Wymagania edukacyjne na ocenę z informatyki klasa 3 0. Logo [6 godz.] PODSTAWA PROGRAMOWA: Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera, stosowanie podejścia algorytmicznego.

Bardziej szczegółowo

Wymagania edukacyjne z języka angielskiego dla klasy czwartej

Wymagania edukacyjne z języka angielskiego dla klasy czwartej Szkoła Podstawowa z Oddziałami Integracyjnymi nr 162 im. Władysława Szafera Rok szkolny 2018/ 2019 Wymagania edukacyjne z języka angielskiego dla klasy czwartej (podręcznik: Brainy ) 1 Wymagania edukacyjne

Bardziej szczegółowo

Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie:

Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie: Repozytorium służy do przechowywania plików powstających przy pracy nad projektami we w miarę usystematyzowany sposób. Sam mechanizm repozytorium jest zbliżony do działania systemu plików, czyli składa

Bardziej szczegółowo

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie

Bardziej szczegółowo

System Zarządzania Produkcją Opis funkcjonalny

System Zarządzania Produkcją Opis funkcjonalny System Zarządzania Produkcją to rozwiązanie przygotowane przez Grupę Dr IT, rozwijające standardową funkcjonalność modułu enova365 Produkcja o następujące elementy: operacje wzorcowe, operacje do indywidualnego

Bardziej szczegółowo

O co chodzi z tym MATLAB'em?!

O co chodzi z tym MATLAB'em?! O co chodzi z tym MATLAB'em?! Część 1. SIMULINK W pliku data.mat jest zapisany przebieg. Gdzieś tam i kiedyś tam zarejestrowany. Widać go na fioletowo poniżej. Powstał on z obiektu, co ciekawe wiemy jak

Bardziej szczegółowo

Pojęcie bazy danych. Funkcje i możliwości.

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

Bardziej szczegółowo

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów

Bardziej szczegółowo

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej Numeryczna Mapa Zasadnicza Instrukcja użytkownika Historia zmian Wersja Data Kto Opis zmian 1.0 2015-06-17 Sygnity S.A. Utworzenie

Bardziej szczegółowo

Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/

Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/ STL, czyli o co tyle hałasu W świecie programowania C++, hasło STL pojawia się nieustannie i zawsze jest o nim głośno... często początkujące osoby, które nie znają STL-a pytają się co to jest i czemu go

Bardziej szczegółowo

Autostopem przez galaiktykę: Intuicyjne omówienie zagadnień. Tom I: Optymalizacja. Nie panikuj!

Autostopem przez galaiktykę: Intuicyjne omówienie zagadnień. Tom I: Optymalizacja. Nie panikuj! Autostopem przez galaiktykę: Intuicyjne omówienie zagadnień Tom I: Optymalizacja Nie panikuj! Autorzy: Iwo Błądek Konrad Miazga Oświadczamy, że w trakcie produkcji tego tutoriala nie zginęły żadne zwierzęta,

Bardziej szczegółowo

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

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0 ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy

Bardziej szczegółowo

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w

Bardziej szczegółowo

Wyszukiwanie binarne

Wyszukiwanie binarne Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie

Bardziej szczegółowo

Metody probabilistyczne klasyfikatory bayesowskie

Metody probabilistyczne klasyfikatory bayesowskie Konwersatorium Matematyczne Metody Ekonomii narzędzia matematyczne w eksploracji danych First Prev Next Last Go Back Full Screen Close Quit Metody probabilistyczne klasyfikatory bayesowskie Wykład 8 Marcin

Bardziej szczegółowo

Uruchamianie bazy PostgreSQL

Uruchamianie bazy PostgreSQL Uruchamianie bazy PostgreSQL PostgreSQL i PostGIS Ten przewodnik może zostać pobrany jako PostgreSQL_pl.odt lub PostgreSQL_pl.pdf Przejrzano 10.09.2016 W tym rozdziale zobaczymy, jak uruchomić PostgreSQL

Bardziej szczegółowo

13. Równania różniczkowe - portrety fazowe

13. Równania różniczkowe - portrety fazowe 13. Równania różniczkowe - portrety fazowe Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny 13. wrównania Krakowie) różniczkowe - portrety fazowe 1 /

Bardziej szczegółowo

Zapytania do bazy danych

Zapytania do bazy danych Zapytania do bazy danych Tworzenie zapytań do bazy danych MS Access może być realizowane na dwa sposoby. Standard SQL (Stucture Query Language) lub QBE (Query by Example). Warto wiedzieć, że drugi ze sposobów

Bardziej szczegółowo

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

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK 1 2 3 Pamięć zewnętrzna Pamięć zewnętrzna organizacja plikowa. Pamięć operacyjna organizacja blokowa. 4 Bufory bazy danych. STRUKTURA PROSTA

Bardziej szczegółowo

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej. Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.

Bardziej szczegółowo

AiSD zadanie trzecie

AiSD zadanie trzecie AiSD zadanie trzecie Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5 5 czerwca 2008 1 Wstęp Celem postawionym przez zadanie trzecie było tzw. sortowanie topologiczne. Jest to typ sortowania

Bardziej szczegółowo

PHP: bloki kodu, tablice, obiekty i formularze

PHP: bloki kodu, tablice, obiekty i formularze 1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej. Efekty dla studiów pierwszego stopnia profil ogólnoakademicki na kierunku Informatyka w języku polskim i w języku angielskim (Computer Science) na Wydziale Matematyki i Nauk Informacyjnych, gdzie: * Odniesienie-

Bardziej szczegółowo

5.5. Wybieranie informacji z bazy

5.5. Wybieranie informacji z bazy 5.5. Wybieranie informacji z bazy Baza danych to ogromny zbiór informacji, szczególnie jeśli jest odpowiedzialna za przechowywanie danych ogromnych firm lub korporacji. Posiadając tysiące rekordów trudno

Bardziej szczegółowo

Maciej Piotr Jankowski

Maciej Piotr Jankowski Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

Bardziej szczegółowo

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Hurtownie danych Przetwarzanie zapytań. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Magazyny danych operacyjnych, źródła Centralna hurtownia danych Hurtownie

Bardziej szczegółowo

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Patryk Żywica 5 maja 2008 1 Spis treści 1 Problem wydawania reszty 3 1.1 Sformułowanie problemu...................... 3 1.2 Algorytm.............................. 3 1.2.1 Prosty

Bardziej szczegółowo

Wyszukiwanie plików w systemie Windows

Wyszukiwanie plików w systemie Windows 1 (Pobrane z slow7.pl) Bardzo często pracując na komputerze prędzej czy później łapiemy się na pytaniu - Gdzie jest ten plik? Zapisujemy i pobieramy masę plików i w nawale pracy pewne czynności są wykonywane

Bardziej szczegółowo

Pierwsza niedogodność dotyczy strony zarządzaj działami.

Pierwsza niedogodność dotyczy strony zarządzaj działami. Zaprojektowana aplikacja umożliwia wprawdzie pełne zarządzanie danymi w bazie jednak w pewnych przypadkach funkcjonalność wykonywania operacji bazodanowych może nie być zadawalająca. Pierwsza niedogodność

Bardziej szczegółowo

Materiały dla finalistów

Materiały dla finalistów Materiały dla finalistów Malachoviacus Informaticus 2016 11 kwietnia 2016 Wprowadzenie Poniższy dokument zawiera opisy zagadnień, które będą niezbędne do rozwiązania zadań w drugim etapie konkursu. Polecamy

Bardziej szczegółowo

Pilz E-Shop więcej niż zwykłe zakupy w internecie

Pilz E-Shop więcej niż zwykłe zakupy w internecie Pilz E-Shop więcej niż zwykłe zakupy w internecie Pilz E-Shop W sferze Business-to-Business dzisiejsze sklepy internetowe muszą oferować dużo więcej niż tylko dostępny przez całą dobę portal zakupowy ich

Bardziej szczegółowo

Sortowanie. Bartman Jacek Algorytmy i struktury

Sortowanie. Bartman Jacek Algorytmy i struktury Sortowanie Bartman Jacek jbartman@univ.rzeszow.pl Algorytmy i struktury danych Sortowanie przez proste wstawianie przykład 41 56 17 39 88 24 03 72 41 56 17 39 88 24 03 72 17 41 56 39 88 24 03 72 17 39

Bardziej szczegółowo

Kurs Adobe Photoshop Elements 11

Kurs Adobe Photoshop Elements 11 Kurs Adobe Photoshop Elements 11 Gladiatorx1 Część III kursu zawiera opis interfejsu edytora zdjęć w TRYBIE SZYBKIEJ EDYCJI 2014-12- 12 Spis treści Część III- Edytor zdjęć... 2 Tryb Szybka edycja... 2

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo

DTextra System Zarządzania Dokumentami

DTextra System Zarządzania Dokumentami DTextra System Zarządzania Dokumentami 2012 1 S t r o n a Spis treści Wstęp... 4 Główne zadania oprogramowania... 4 Korzyści z wdrożenia... 4 Interfejs graficzny... 5 Bezpieczeństwo... 5 Wymagania systemowe...

Bardziej szczegółowo

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów Eksploracja danych Piotr Lipiński Informacje ogólne Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów UWAGA: prezentacja to nie

Bardziej szczegółowo

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Podstawy Informatyki Basic Informatics Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: ogólny Poziom studiów: studia I stopnia forma studiów: studia stacjonarne Rodzaj

Bardziej szczegółowo

Laboratorium 5: Tablice. Wyszukiwanie binarne

Laboratorium 5: Tablice. Wyszukiwanie binarne Wojciech Myszka Laboratorium 5: Tablice. Wyszukiwanie binarne 2016-05-07 09:02:17 +0200 1. Tablice Do tej pory nie było potrzeby odwoływać się do zmiennych złożonych. Programy były bardzo proste i korzystały

Bardziej szczegółowo

Ogólna instrukcja wykonywania inwentaryzacji w programie rc-hurt.

Ogólna instrukcja wykonywania inwentaryzacji w programie rc-hurt. Ogólna instrukcja wykonywania inwentaryzacji w programie rc-hurt. Warszawa, 20 luty 2007 r. Założenia : W rc-hurt może byc zdefiniowana dowolna liczba magazynów, na których mogą znajdować się różne towary.

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

Bardziej szczegółowo

Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA

Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA Symbol Efekty kształcenia dla kierunku studiów INFORMATYKA, specjalność: 1) Sieciowe systemy informatyczne. 2) Bazy danych Absolwent studiów I stopnia kierunku Informatyka WIEDZA Ma wiedzę z matematyki

Bardziej szczegółowo

Technologia Flash cieszy się coraz większą popularnością. Liczba dostępnych

Technologia Flash cieszy się coraz większą popularnością. Liczba dostępnych Flash i PHP 01 Technologia Flash cieszy się coraz większą popularnością. Liczba dostępnych narzędzi do tworzenia prostych oraz złożonych interaktywnych animacji wzrasta z dnia na dzień. Trzeba przyznać,

Bardziej szczegółowo

Struktury Danych i Złożoność Obliczeniowa

Struktury Danych i Złożoność Obliczeniowa Struktury Danych i Złożoność Obliczeniowa Zajęcia 1 Podstawowe struktury danych Tablica Najprostsza metoda przechowywania serii danych, zalety: prostota, wady: musimy wiedzieć, ile elementów chcemy przechowywać

Bardziej szczegółowo

Jak uczyć uczniów efektywnego uczenia się

Jak uczyć uczniów efektywnego uczenia się Jak uczyć uczniów efektywnego uczenia się Ocenianie i jego cele Jednym z integralnych elementów współczesnego kształcenia jest ocenianie, które często jest postrzegane jako zbędne i kłopotliwe. Jednak

Bardziej szczegółowo

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

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ Opis działania raportów w ClearQuest Historia zmian Data Wersja Opis Autor 2008.08.26 1.0 Utworzenie dokumentu. Wersja bazowa dokumentu. 2009.12.11 1.1

Bardziej szczegółowo

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1 Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski Bazy danych ITA-101 Wersja 1 Warszawa, wrzesień 2009 Wprowadzenie Informacje o kursie Opis kursu We współczesnej informatyce coraz większą

Bardziej szczegółowo

KRYTERIA OCENIANIA KLASA I KLASA II KLASA III

KRYTERIA OCENIANIA KLASA I KLASA II KLASA III KRYTERIA OCENIANIA II ETAP EDUKACYJNY - JĘZYK ANGIELSKI KLASA I KLASA II KLASA III DOPUSZCZAJĄCY: rozumie proste polecenia nauczyciela, poparte gestem; rozumie proste zwroty grzecznościowe i proste pytania;

Bardziej szczegółowo

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego

Bardziej szczegółowo

Projektowanie bazy danych przykład

Projektowanie bazy danych przykład Projektowanie bazy danych przykład Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeń wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana

Bardziej szczegółowo

ZADANIE 1. Ważenie (14 pkt)

ZADANIE 1. Ważenie (14 pkt) ZADANIE 1. Ważenie (14 pkt) Danych jest n przedmiotów o niewielkich gabarytach i różnych wagach. Jest też do dyspozycji waga z dwiema szalkami, ale nie ma odważników. Kładąc na wadze przedmioty a i b,

Bardziej szczegółowo

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design Projektowanie Zorientowane na Dziedzinę ang. Domain Driven Design 2 Projektowanie Stan posiadania Przypadki użycia Model dziedziny Operacje systemowe Kontrakty dla operacji systemowych Problemy do rozwiązania

Bardziej szczegółowo

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany. Przedstawiamy algorytmy porządkowania dowolnej liczby elementów, którymi mogą być liczby, jak również elementy o bardziej złożonej postaci (takie jak słowa i daty). Porządkowanie, nazywane również często

Bardziej szczegółowo

Metody Optymalizacji: Przeszukiwanie z listą tabu

Metody Optymalizacji: Przeszukiwanie z listą tabu Metody Optymalizacji: Przeszukiwanie z listą tabu Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje: wtorek

Bardziej szczegółowo

10. Płatności Płatności Definicje

10. Płatności Płatności Definicje 10 Płatności [ Płatności ] 63 10. Płatności Po zakończonych transakcjach, przychodzi czas na rozliczenie wystawionych dokumentów. Temu służy specjalnie przygotowany moduł Płatności. Dostęp do tego modułu

Bardziej szczegółowo

Dekompozycja w systemach wyszukiwania informacji

Dekompozycja w systemach wyszukiwania informacji METODY DEKOMPOZYCJI: Dekompozycja w systemach wyszukiwania informacji ATRYBUTOWA OBIEKTOWA HIERARCHICZNA (zależna i wymuszona) Dekompozycje mają cel wtedy kiedy zachodzi któryś z poniższych warunków: Duża

Bardziej szczegółowo

Wymagania edukacyjne na ocenę z informatyki KLASA III

Wymagania edukacyjne na ocenę z informatyki KLASA III Wymagania edukacyjne na ocenę z informatyki KLASA III 0. Logo [6 godz.] PODSTAWA PROGRAMOWA: Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera, stosowanie podejścia algorytmicznego.

Bardziej szczegółowo

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Funkcja uwikłana (równanie nieliniowe) jest to funkcja, która nie jest przedstawiona jawnym przepisem, wzorem wyrażającym zależność wartości

Bardziej szczegółowo

Grażyna Koba, Poradnik metodyczny. Informatyka dla gimnazjum Program nauczania wymagania na oceny PRZEDMIOTOWY SYSTEM OCENIANIA KLASA II

Grażyna Koba, Poradnik metodyczny. Informatyka dla gimnazjum Program nauczania wymagania na oceny PRZEDMIOTOWY SYSTEM OCENIANIA KLASA II W rozporządzeniu MEN 1 określono, że Ocenianie osiągnięć edukacyjnych ucznia polega na rozpoznawaniu przez nauczycieli poziomu i postępów w opanowaniu przez ucznia wiadomości i umiejętności w stosunku

Bardziej szczegółowo

2017/2018 WGGiOS AGH. LibreOffice Base

2017/2018 WGGiOS AGH. LibreOffice Base 1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,

Bardziej szczegółowo

Lekcja : Tablice + pętle

Lekcja : Tablice + pętle Lekcja : Tablice + pętle Wprowadzenie Oczywiście wiesz już jak dużo można osiągnąć za pomocą tablic oraz jak dużo można osiągnąć za pomocą pętli, jednak tak naprawdę prawdziwe możliwości daje połączenie

Bardziej szczegółowo

Wyszukiwanie informacji

Wyszukiwanie informacji Wyszukiwanie informacji Informatyka Temat 1 Krotoszyn, wrzesień 2015 r. 1 Informatyka 1 Przeszukiwanie zasobów internetowych Krotoszyn, 2015 r. Spis treści prezentacji 1. Wprowadzenie 2. Gdzie szukać informacji?

Bardziej szczegółowo

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze

Bardziej szczegółowo

5. Bazy danych Base Okno bazy danych

5. Bazy danych Base Okno bazy danych 5. Bazy danych Base 5.1. Okno bazy danych Podobnie jak inne aplikacje środowiska OpenOffice, program do tworzenia baz danych uruchamia się po wybraniu polecenia Start/Programy/OpenOffice.org 2.4/OpenOffice.org

Bardziej szczegółowo

Podstawy pracy w systemie Doradca.

Podstawy pracy w systemie Doradca. Podstawy pracy w systemie Doradca. Wstęp. Program Doradca jest aplikacją systemu Windows typu klient- serwer. Oznacza to że baza z dokumentami, użytkownikami, klientami i innymi zasobami znajduje się na

Bardziej szczegółowo

Algorytmy przeszukiwania

Algorytmy przeszukiwania Algorytmy przeszukiwania Przeszukiwanie liniowe Algorytm stosowany do poszukiwania elementu w zbiorze, o którym nic nie wiemy. Aby mieć pewność, że nie pominęliśmy żadnego elementu zbioru przeszukujemy

Bardziej szczegółowo

Poszukiwane Łożyska Zawartość

Poszukiwane Łożyska Zawartość Zawartość Wstęp... 2 Dodawanie rzeczy do listy poszukiwanych produktów:... 3 Produkty dodane w ciągu ostatnich 24 godzin... 4 Wyszukiwanie w sekcji Poszukiwanie... 5 1 Wstęp Ta strona BearingNet pozwala

Bardziej szczegółowo

Liczby pierwsze. Kacper Żurek, uczeń w Gimnazjum nr 1 im. Jana Pawła II w Giżycku.

Liczby pierwsze. Kacper Żurek, uczeń w Gimnazjum nr 1 im. Jana Pawła II w Giżycku. Liczby pierwsze Kacper Żurek, uczeń w Gimnazjum nr 1 im. Jana Pawła II w Giżycku. Liczbą pierwszą nazywany każdą taką liczbę naturalną, która posiada dokładnie dwa dzielniki naturalne, czyli jest podzielna

Bardziej szczegółowo

Programowanie w VB Proste algorytmy sortowania

Programowanie w VB Proste algorytmy sortowania Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich

Bardziej szczegółowo

6. Organizacja dostępu do danych przestrzennych

6. Organizacja dostępu do danych przestrzennych 6. Organizacja dostępu do danych przestrzennych Duża liczba danych przestrzennych oraz ich specyficzny charakter sprawiają, że do sprawnego funkcjonowania systemu, przetwarzania zgromadzonych w nim danych,

Bardziej szczegółowo

Nauczanie na odległość

Nauczanie na odległość P o l i t e c h n i k a W a r s z a w s k a Nauczanie na odległość a standaryzacja materiałów edukacyjnych Krzysztof Kaczmarski Nauczanie na odległość T Nauczanie ustawiczne T Studia przez Internet? T

Bardziej szczegółowo

Bydgoskie Centrum Archiwizacji Cyfrowej sp. z o.o.

Bydgoskie Centrum Archiwizacji Cyfrowej sp. z o.o. STRONA GŁÓWNA ` Usługa earchiwizacja.pl przeznaczona jest zarówno dla osób indywidualnych, jak i firm. Wykorzystuje zasadę przetwarzania danych w chmurze. Pozwala to na dostęp do własnej bazy dokumentów

Bardziej szczegółowo

Implementacja prototypu modułu dostępu do danych SkOs przy pomocy protokołu LDAP

Implementacja prototypu modułu dostępu do danych SkOs przy pomocy protokołu LDAP Implementacja prototypu modułu dostępu do danych SkOs przy pomocy protokołu LDAP Wojciech Kowalczyk, Przemysław Curzytek 1 grudnia 2009 1 Częśćkonceptualna 1.1 Sformułowanie zadania projektowego SkOs,

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Instrukcja użytkowania modułu oraz narzędzia Mapa hydrograficzna oraz narzędzia do przeprowadzenia analiz i tworzenia raportów

Instrukcja użytkowania modułu oraz narzędzia Mapa hydrograficzna oraz narzędzia do przeprowadzenia analiz i tworzenia raportów Instrukcja użytkowania modułu oraz narzędzia Mapa hydrograficzna oraz narzędzia do przeprowadzenia analiz i tworzenia raportów Dzisiaj zapoznamy się z funkcjonalnością serwisu pozwalającą na stworzenie

Bardziej szczegółowo