Reguły asocjacyjne na giełdzie

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

Download "Reguły asocjacyjne na giełdzie"

Transkrypt

1 Hurtownie danych i data mining - Grupa dra Piotra Lipińskiego II UWr 2009/2010 Adam Grycner, Mateusz Łyczek, Marta Ziobro Reguły asocjacyjne na giełdzie

2 1 Problem 1.1 Opis problemu - intuicyjnie Będziemy szukali reguł asocjacyjnych postaci: Przykładowa reguła: Jeśli ceny akcji firmy A wzrosły jednego dnia, akcje firmy B staniały drugiego, zatem ceny akcji firmy C i D wzrosną dnia piątego. Znając confidence takiego wzorca będziemy wiedzieć z jakim prawdopodobieństwem możemy się spodziewać wzrostu cen akcji firmy C i D, gdy akcje firmy A i B spełnią dany scenariusz. 2 FITI W celu znalezienia zbiorów częstych, a następnie reguł asocjacyjnych, użyliśmy algorytm F IT I (First Intra Then Inter). 2.1 Podstawowe pojęcia Baza, z której korzystaliśmy ma następującą strukturę. Pojedyncza transakcja ma postać (d, A 0, A 1, A 2,...), gdzie d - atrybut wymiarowości (w naszym przypadku nr dnia). A 0, A 1,... są przedmiotami (w naszym przypadku są to pary - (nazwa spółki, wzrost/spadek)). Zbiorami wśród intratransakcji są zbiory przedmiotów znalezione w transakcjach. Dokładnie tak samo, jak w klasycznym problemie szukania reguł asocjacyjnych. Oknem czasowym jest przedział czasowy w jakim będziemy rozpatrywać zależności między przedmiotami. Jeżeli okno czasowe jest równe np. 4, to będą interesować nas związki między spółkami nie różniącymi się więcej niż 4 dni. Zbiorami wśród intertransakcji są ciągi o długości rozmiaru okna czasowego, które na każdej pozycji zawierają jakiś zbiór wśórd intratransakcji. Przykład W naszym przypadku zbiorem wśród intratransakcji może być zbiór {(IN DU, 1), (Y HOO, 1), (ASP, 1) (nazwa, wzrost/spadek). Zbiorem wśród intertransakcji może być ({(INDU, 1), (Y HOO, 1), (ASP, 1), {(GOG, 1), (P P, 1), (Y HOO, 1), {(INDU, 1), (P P, 1), (Y HOO, 1)) dla okna czasowego równego 3. 1

3 3 Opis algorytmu FITI W tym rozdziale postaramy się zaprezentować działanie algorytmu FITI. Algorytm ten służy do wyszukiwania częstych intertransakcji. FITI składa się z trzech części: 1. Część 1: Wyszukiwanie i zapisywanie do bazy częstych zbiorów wśród intratransakcji 2. Część 2: Przekształcanie bazy danych 3. Część 3: Wyszukiwanie częstych zbiorów wśród intertransakcji 3.1 Część 1: Wyszukiwanie i zapisywanie do bazy częstych zbiorów wśród intratransakcji W tej części algorytm FITI wyszukuje częste zbiory w intratransakcjach przy pomocy algorytmu APRIORI. Następnie znalezione częste zbiory są zapisywane w specjalnej strukturze o nazwie Frequent-Itemsets Linked Table (w dalszej części raportu będziemy ją nazywać w skrócie FILT). FILT składa się z dwóch części. Pierwszą jest tablica haszująca przechowująca częste zbiory (z intratransakcji ). Drugą są węzły połączone różnymi połączeniami. Przykładowa struktura została zaprezentowana na rysunku 1. Z następujących czterech rodzajów połączeń składa się FITI: 1. Lookup links Każdemu częstemu zbiorowi (z intratransakcji ) przyporządkowujemy unikalny nr ID. 2. Generator and Extension Links Generator links - połączenia między węzłem reprezentującym częsty k-zbiór, a dwoma (k-1)-zbiorami, z których ten k-zbiór powstał w algorytmie APRIORI Extension link - połączenie między częstym (k-1)-zbiorem, a częstym k-zbiorem, który został stworzony m.in. z tego częstego (k-1)-zbioru 3. Subset Links Połączenia między częstym k-zbiorem F, a częstymi (k-1)-zbiorami, które są podzbiorami zbiory F. 4. Descendant Links Połączenia między częstym k-zbiorem reprezentowanym przez ciąg F = {e 1, e 2,..., e k, a wszystkimi częstymi (k+1)-zbiorami reprezentowanymi przez ciągi F = {e 1, e 2,..., e k, x (gdzie x to dowolny element). 2

4 Rysunek 1: Struktura FILT 3.2 Część 2: Przekształcanie bazy danych W dalszej części raport będziemy korzystać z przykładowych danych widocznych na rysunku 2. Po stworzeniu struktury FILT opisanej w poprzednim podrozdziale algorytm FITI przekształca bazę danych w zbiór tabel o nazwie encoded Frequent-Itemset Tables (w dalszej części raportu nazwane jako tablice FIT). Algorytm FITI w tej części stworzy max k tablic FIT ({F 1, F 2,..., F maxk ), gdzie max k, to rozmiar największego, pod względem liczby elementów, zbioru częstego z intratransakcji. Zbiór ten znaleźliśmy w części 1 algorytmu FITI. Każda tablica FIT F k będzie się składać z wierszy postaci {d i, IDset i, gdzie d i, to wartość atrybutu wymiarowości (w naszym przypadku będzie to nr dnia). IDset i, to lista id częstych k-zbiorów (z intratransakcji ) znalezionych w transakcji (w naszym przypadku, 3

5 Rysunek 2: Baza danych z czterema transakcjami to np. lista id zbiorów częstych firm, które zyskały na wartości dnia d i ). Przykład takich tablic FIT można zobaczyć na rysunku 3. Rysunek 3: Tablice FIT Przykład Korzystam z bazy danych widocznej na rysunku 2. Nasz minsup wynosi 50%. Wyodrębnione zbiory częste są widoczne na rysunku 1. W takim przypadku max k wynosi 3 (rozmiar największego zbioru częstego - {a, b, c). Tworzymy trzy tablice FIT (widoczne na rysunku 3). Wypełniamy je identyfikatorami k-zbiorów częstych widocznych na rysunku 1 występujących w kolejnych transakcjach ( k = 1, 2, 3). Algorytm przekształcający bazę FILT w tablice FIT wygląda następująco: void Tranform() { while (!feof(t) ) { read next transaction T_i ; write d_i to all F_j ; Subset(T_i ; 1; 1; 0) 4

6 void Subset(T_i, index, k, and NodeID) { if (k == 1) { for each item e_j in T_i { search ITEMTABLE for ID of {e_j; if (found) { let nowid be ID found; write nowid to F_1 ; for each item e_m, m > j in T_i { search childs of nowid for an itemset I that contains e_m ; if (found) { let nextnode be the ID of I; Subset(T_i, m + 1, k + 1, nextnode); return; else { write NodeID to F_k ; for each item e_m, m >= index in T_i { search childs of NodeID for an itemset I that contains e_m ; if (found) { let nextnode be the ID of I; Subset(T_i, m + 1, k + 1, nextnode); return; 3.3 Część 3: Wyszukiwanie częstych zbiorów wśród intertransakcji Następnie, po przekształceniu bazy, algorytm przechodzi do trzeciej fazy - wyszukiwania częstych zbiorów wśród intertransakcji. Zbiór częsty dla intertransakcji będzie reprezentowany przez specjalny nr ID. Numer ten jest zdefiniowany w następujący sposób: Definicja nr ID zbioru z intertransakcji Niech F będzie zbiorem z intertransakcji. Niech A i = {e j 1 j u, e j (i) F, gdzie 0 i (w 1). (intuicyjnie - A i, to zbiór z intratransakcji z 5

7 i-tego dnia, czyli zbiór spółek, które w zbiorze F występują i-tego dnia). Nr ID zbioru F, to I = {I 0, I 1,..I w 1, gdzie I i to ID zbioru A i (możemy go znaleźć w strukturze FILT - patrz rysunek 1), jeśli A i > 0. W.p.p I i jest równe 0. Przykład Niech F = {a(0), a(1), b(1), c(3) będzie zbiorem z intertransakcji oraz niech rozmiar okna czasowego będzie równy cztery. W tym przypadku nr ID zbiory F jest równy I = {1, 5, 0, 3 zgodnie z danymi z tablicy FILT widocznej na rysunku 1. Algorytm w fazie trzeciej korzysta z własności, a której korzysta algorytm AP RIORI. Korzystając ze znalezionych k-zbiorów (k 2) częstych wśród intertransakcji, budujemy kandydatów na (k+1)-zbiory częste wśród intertransakcji. Oprócz tego korzystamy z własności, że zbiór wśród intertransakcji może być częsty tylko wtedy, gdy składa się ze zbiorów częstych wśród intratransakcji. Jeżeli kandydat na (k+1)-zbiór częsty posiada jakąś intratransakcję (w naszym przypadku np. w i-tym dniu znajdują się zbiór spółek, który nie jest częsty), która nie jest częsta, to wtedy ten kandydat zostaje usunięty. Algorytm w części trzeciej składa się z czterech pod-części. Oto jak wygląda szkielet algorytmu: Wygeneruj 2-zbiory częste wśród "intertransakcji", L_2; k = 3; while (L_(k-1)!= zbiór_pusty) { Wygeneruj kandydatów na k-zbiory częste wśród intertransakcji, C_k; Wylicz supporty kandydatów ze zbioru C_k; L_k = {c support(c) >= minsup oraz c należy do C_k; k += 1; W następnych czterech pod-podrozdziałach zostaną opisane cztery części tej fazy algorytmu. 1. Warstwa wejściowa 2. Generowanie 2-zbiorów częstych wśród intertransakcji 3. Generowanie k-zbiorów częstych wśród intertransakcji (k > 2) 4. Funkcja zliczająca (liczenie supportów kandydatów) Warstwa wejściowa Warstwa wejściowa zapewnia widok przesuwającego się okna czasowego po bazie transakcji oraz pomogą zoptymalizować wyszukiwanie kandydatów na zbiory częste wśród intratransakcji na dwa sposoby 6

8 1. Ogranicza dostęp do tablicy F IT Warstwa wejściowa chroni nas przed sytuacją przeglądania wszystkich tablic F IT. Jeżeli szukamy kandydatów na 2-zbiory częste, to wystarczy nam dostęp tylko do tablicy F Pobiera dane z bazy Warstwa wejściowa odpowiada za pobieranie kolejnego rekordu z bazy oraz usuwanie już niepotrzebnych nam rekordów. Jeżeli ustawiliśmy rozmiar okna czasowego na x, to warstwa wejściowa przy pobieraniu kolejnego rekordu z bazy będzie jednocześnie usuwać informację z pamięci RAM o rekordzie sprzed (x+1) dni Generowanie 2-zbiorów częstych wśród intertransakcji Przy budowie 2-zbiorów częstych wśród intertransakcji będziemy korzystać z 1-zbiorów częstych wśród intertransakcji, które są jednocześnie 1-zbiorami częstymi wśród intertransakcji oraz z 2-zbiorów częstych wśród intertransakcji. Ogólna idea jest następująca. Niech w jest równe rozmiarowi okna czasowego. Naszymi 2-zbiorami częstymi wśród intertransakcji będą zbiory o nr ID równym I = {I 0, 0, 0,.., gdzie I 0, to ID częstego 2- zbioru wśród intratransakcji, który został znaleziony w pierwszej części algorytmu (patrz rysunek 1 ). Naszymi 2-zbiorami częstymi wśród intertransakcji będą także zbiory o nr ID równym I = {I 0, 0,..., 0, I j, 0,..., 0 (1 j < w; I 0, I j - 1-zbiory częste wśród intratransakcji ), które mają odpowiedni support. Zbiory o ID I = {I 0, 0,... łatwo znaleźć (już zostały znalezione przez algorytm AP RIORI). Zbiory o ID I = {I 0, 0,..., 0, I j, 0,..., 0 będziemy szukać z wykorzystaniem tablicy haszującej. Aby znaleźć wszystkie 2-zbiorów częstych wśród intertransakcjińależy sprawdzić wszystkie trójki postaci (I 0.I j, j), gdzie I 0, I j są 1-zbiorami częstymi wśród intratransakcji, a j to pozycja w oknie czasowym zbioru I j. Wszystkich takich trójek jest w N 2 1 (N 1 - liczba wszystkich częstych 1-zbiorów wśród intratransakcji). Informację o tym, czy dana trójka generuje częsty 2-zbiór wśród intertransakcji będziemy zapisywać w tablicy haszującej z funkcją haszującą B = ((I 0 w + j) N 1 + I j ) mod rozmiart ablicy Generowanie k-zbiorów częstych wśród intertransakcji (k > 2) Proces tworzenia k-zbiorów częstych wśród intertransakcji jest podobny, jak proces tworzenia zbiorów częstych w algorytmie AP RIORI. Najpierw łączymy ze sobą (k-1)-zbiory w celu utworzenia k-zbiorów. Następnie sprawdzamy, czy wszystkie podzbiory tego kandydata są częste (jeżeli nie, to usuwamy danego kandydata). Na sam koniec sprawdzamy częstość występowania danego kandydata w zbiorze transakcji korzystając z tablic F IT. Algorytm F IT I korzysta z dwóch sposobów łączenia dwóch (k-1)-zbiorów: intratransactions join cross-transactions join 7

9 Intratransactions join Niech I = {I 0, I 1,..., I w 1 oraz J = {J 0, J 1,..., J w 1 będą zbiorami częstymi wśród intertransakcji. Intratransactions join na zbiorach I, J może być wykonana wtedy i tylko wtedy, gdy 1. Istnieje takie p, że I p, J p są k-zbiorami częstymi wśród intratransakcji, a K p powstałe w wyniku połączenia I p oraz J p jest k-zbiorem. 2. q;q p I q = J q Wynikiem połączenia I oraz J jest K = {K 0,..., K p,..., K w 1, gdzie K q = I q = J q dla p q Przykład Korzystamy z nr ID zbiorów wśród intratransakcji widocznych na rysunku 1. Niech I = {1, 0, 5, 0, 2 oraz J = {1, 0, 6, 0, 2. Oba warunki potrzebne do wykonania Intratransactions join są spełnione (p = 2). W wyniku połączenia zbiorów o ID 5 (a,b) i 6 (a,c) otrzymujemy zbiór o ID 8 (a,b,c). W ostateczności w wyniku połączenia I oraz J otrzymujemy K = {1, 0, 8, 0, 2. Cross-transactions join Niech I = {I 0, I 1,..., I w 1 oraz J = {J 0, J 1,..., J w 1 będą zbiorami częstymi wśród intertransakcji. Cross-transactions join na zbiorach I, J może być wykonana wtedy i tylko wtedy, gdy 1. Istnieje takie p, że I p 0 i J p = 0 2. Istnieje takie q, q p, że I q = 0 i J q 0 3. r;r p;r q I r = J r 4. p i q są ostatnimi niezerowymi pozycjami w I oraz J 5. Na każdej pozycji w I, J występuje albo zbiór pusty wśród intratransakcji, albo 1-zbiór częsty wśród intratransakcji W wyniku połączenia I, J otrzymujemy zbiór K = {K 0,...K p,...k q,...k w 1, gdzie K p = I p, K q = J q i K r = I r = J r dla każdego r, r p, r q. Przykład Korzystamy z nr ID zbiorów wśród intratransakcji widocznych na rysunku 1. Niech I = {1, 0, 2, 1, 0 oraz J = {1, 0, 2, 0, 4. Warunki 1. i 2. są spełnione (p = 3, q = 4). Warunek 3. też jest spełniony bo I 0 = J 0, I 1 = J 1, I 2 = J 2. Warunek 4. jest spełniony, bo I 4 jest równe 0, więc p jest ostatnią niezerową pozycją w I, a q jest ostatnią niezerową pozycją w J, bo jest równe 4 (jest ostatnią pozycją). 8

10 Warunek 4. jest spełniony, bo I i J składają się tylko z 1-zbiorów częstych ({a, {b, {e). W wyniku połączenia I i J otrzymujemy zbiór K = {1, 0, 2, 1, 4. Warunki 4. oraz 5. są potrzebne po to, aby nie otrzymywać kilkakrotnie tych samych kandydatów (w wyniku Cross-transactions join lub Intratransactions join). Przy generowaniu k-zbiorów częstych wśród intertransakcjialgorytm F IT I korzysta z pewnej własności operacji Intratransactions join i Cross-transactions join. Jeżeli dwa zbiory I i J mogą zostać połączone za pomocą Intratransactions join lub Cross-transactions join, to po ustawieniu na 0 ID zbiorów uczestniczących w łączeniu otrzymujemy zbiory równe. Przykład I = {1, 0, 5, 0, 1, J = {1, 0, 6, 0, 1 I i J mogą zostać połączone za pomocą Intratransactions join (p = 2). Jeżeli ustawimy ID zbiorów na pozycji p na zero to otrzymujemy dwa równe zbiory M = {1, 0, 0, 0, 1 I = {1, 0, 2, 1, 0, J = {1, 0, 2, 0, 4 I i J mogą zostać połączone za pomocą Cross-transactions join (p = 3, q = 4). Jeżeli ustawimy ID zbiorów na pozycjach p oraz q na zero to otrzymujemy dwa równe zbiory M = {1, 0, 2, 0, 0 Powyższą własność wykorzystamy w następujący sposób: wskaźniki na znalezione w poprzedniej iteracji (k-1)-zbiory częste wśród intertransakcji będziemy zapisywać w tablicy haszującej. (k-1)-zbiór częsty będzie haszowany kilka razy, raz dla każdej pozycji ustawionej na zero ( I = {0, I 1,..., I w 1, I = {I 0, 0,..., I w 1,..., I = {I 0, I 1,..., 0). W celu uniknięcia duplikatów, wersje (k-1)zbiorów, w których pozycja już wcześniej była ustawiona na 0 nie będą haszowane. Do haszowania będziemy używać funkcji h(i) = w 1 p=0 I p T I w p mod Hsize, gdzie T I - liczba wszystkich zbiorów częstych wśród intratransakcji, a Hsize - rozmiar tablicy haszującej. Po zahaszowaniu zbiorów częstych, próbujemy łączyć zbiory, które trafiły do jednego kubełka. Na sam koniec, po uzyskaniu wszystkich kandydatów, usuwamy kandydatów, w których istnieje podzbiór nie będący zbiorem częstym Funkcja zliczająca (liczenie supportów kandydatów) Zupełnie na sam koniec algorytm F IT I liczy supporty kandydatów na zbiory częste. Każdy kandydat na k-zbiór częsty wśród intertransakcji jest wstawiany do specjalnego drzewa 9

11 haszującego. Drzew ma głębokość w, na poziomie d mamy informację o pierwszych d pozycjach w zbiorze wśród intertransakcji. W liściach mamy zapisane wskaźniki na kandydatów na zbiory częste. Po wstawieniu wszystkich kandydatów, algorytm przegląda tablice F IT (patrz rys. 3) i na tej podstawie zwiększa licznik wystąpień kandydatów na zbiory częste. Na koniec po policzeniu częstości wystąpień, usuwani są kandydaci, których częstość wystąpień jest mniejsza niż minsupport. 4 Wyniki Obliczenia przeprowadziliśmy dla 25 spółek amerykańskiej giełdy z 7 sektorów rynku, na danych o ich notowaniach z 687 dni, czyli prawie dwóch lat. Szukaliśmy reguł, których support > 0.1 oraz z oknem czasowym rozmiaru Przykładowe reguły Poniżej znajdują się przykładowe reguły znalezione przez nasz program. Są to reguły postaci A(d 1 ) C(d 2 ), gdzie A i C to zbiory wydarzeń, czyli par (spolka, akcja), akcja określa, czy akcje danej spółki spadły, wzrosły, czy się nie zmieniły. Natomiast d 1 oraz d 2 mówią o jaki dzień w kolejności chodzi. Na przykład reguła: oznacza, że (HKN, ), (SYNM, )(0) (ADEP, )(1) jeśli jednego dnia akcje firmy HKN spadną, a także akcje firmy SYNM spadną, to następnego dnia akcje firmy ADEP również spadną. 1. (SYNM, )(0) (ADEP, )(1) - support = (HKN, )(0) (ADEP, )(1) - support = (ADEP, )(0) (WSO, )(1) - support = (ADEP, )(0) (ATW, )(1) - support = (STE, )(0) (CVTI, )(1) - support = (SYNM, )(0) (HKN, )(2) - support = (STE, )(0) (ADEP, )(4) - support = (PVA, )(0) (TESO, )(1) - support = (STE, )(0) (SYNM, )(4) - support = (HKN, ), (SYNM, )(0) (ADEP, )(1) - support =

12 Przyjrzyjmy się trochę podanym wyżej regułom. Reguły nr 1. i 2., mówią nam, że spółki SYNM i HKN wpływają na spółkę ADEP. Obie pierwsze należą do firm zajmujących się produkcją olejów i paliw, natomiast ADEP - produkcją różnorakich maszyn. Można więc przypuszczać, że właśnie dlatego, spadek akcji jednej ze spółek SYNM bądź HKN powoduje spadek akcji spółki ADEP dnia następnego. Dwie następne reguły pokazują nam, jak zachowanie akcji spółki ADEP wpływa na dwie inne: WSO i ATW. Pierwsza z nich należy do branży elektronicznej, zajmując się hurtową sprzedażą elektronicznych urządzeń, druga natomiast trudni się wydobywanie roby i znajdowaniem nowych jej złóż. Zatem spadek akcji firmy ADEP (produkującej maszyny) oznacza wzrost w następnym dniu akcji spółki WSO. Jest prawdopodobnie dlatego, że w danym momencie spadek zainteresowania maszynami powoduje wzrost zainteresowania urządzeniami elektronicznymi. Natomiast spadek akcji ADEP powoduje też spadek akcji ATW, bo ATW może wykorzystywać do wydobycia maszyny produkowane przez firmę ADEP. Opis spółek SYNM Basic Materials Oil & Gas Refining & Marketing ADEP Industrial Goods Diversified Machinery HKN Basic Materials Independent Oil & Gas WSO Services Electronics Wholesale ATW Basic Materials Oil & Gas Drilling & Exploration STE Healthcare Medical Appliances & Equipment CVTI Services Trucking PVA Basic Materials Independent Oil & Gas TESO Basic Materials Oil & Gas Equipment & Services Literatura [1] Anthony K.H. Tung, Hongjun L, Jiawei Han, and Ling Feng, Efficient Mining of Intertransaction Association Rules 11

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu Data Mining Wykład 3 Algorytmy odkrywania binarnych reguł asocjacyjnych Plan wykładu Algorytm Apriori Funkcja apriori_gen(ck) Generacja zbiorów kandydujących Generacja reguł Efektywności działania Własności

Bardziej szczegółowo

Inżynieria biomedyczna

Inżynieria biomedyczna Inżynieria biomedyczna Projekt Przygotowanie i realizacja kierunku inżynieria biomedyczna studia międzywydziałowe współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.

Bardziej szczegółowo

Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych. Data Mining Wykład 2

Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych. Data Mining Wykład 2 Data Mining Wykład 2 Odkrywanie asocjacji Plan wykładu Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych Geneza problemu Geneza problemu odkrywania reguł

Bardziej szczegółowo

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. EKSPLORACJA DANYCH Ćwiczenia. Adrian Horzyk. Akademia Górniczo-Hutnicza

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. EKSPLORACJA DANYCH Ćwiczenia. Adrian Horzyk. Akademia Górniczo-Hutnicza METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING EKSPLORACJA DANYCH Ćwiczenia Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej

Bardziej szczegółowo

Systemy Wspomagania Decyzji

Systemy Wspomagania Decyzji Reguły Asocjacyjne Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności March 18, 2014 1 Wprowadzenie 2 Definicja 3 Szukanie reguł asocjacyjnych 4 Przykłady użycia 5 Podsumowanie Problem Lista

Bardziej szczegółowo

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH 1. Czym jest eksploracja danych Eksploracja danych definiowana jest jako zbiór technik odkrywania nietrywialnych zależności i schematów w dużych

Bardziej szczegółowo

Metody eksploracji danych. Reguły asocjacyjne

Metody eksploracji danych. Reguły asocjacyjne Metody eksploracji danych Reguły asocjacyjne Analiza podobieństw i koszyka sklepowego Analiza podobieństw jest badaniem atrybutów lub cech, które są powiązane ze sobą. Metody analizy podobieństw, znane

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2 Algorytmy i struktury danych Wykład 6 Tablice rozproszone cz. 2 Na poprzednim wykładzie Wiele problemów wymaga dynamicznych zbiorów danych, na których można wykonywać operacje: wstawiania (Insert) szukania

Bardziej szczegółowo

Reguły asocjacyjne w programie RapidMiner Michał Bereta

Reguły asocjacyjne w programie RapidMiner Michał Bereta Reguły asocjacyjne w programie RapidMiner Michał Bereta www.michalbereta.pl 1. Wstęp Reguły asocjacyjne mają na celu odkrycie związków współwystępowania pomiędzy atrybutami. Stosuje się je często do danych

Bardziej szczegółowo

Algorytm DIC. Dynamic Itemset Counting. Magdalena Przygórzewska Karolina Stanisławska Aleksander Wieczorek

Algorytm DIC. Dynamic Itemset Counting. Magdalena Przygórzewska Karolina Stanisławska Aleksander Wieczorek Algorytm DIC Dynamic Itemset Counting Magdalena Przygórzewska Karolina Stanisławska Aleksander Wieczorek Spis treści 1 2 3 4 Algorytm DIC jako rozszerzenie apriori DIC Algorytm znajdowania reguł asocjacyjnych

Bardziej szczegółowo

Ewelina Dziura Krzysztof Maryański

Ewelina Dziura Krzysztof Maryański Ewelina Dziura Krzysztof Maryański 1. Wstęp - eksploracja danych 2. Proces Eksploracji danych 3. Reguły asocjacyjne budowa, zastosowanie, pozyskiwanie 4. Algorytm Apriori i jego modyfikacje 5. Przykład

Bardziej szczegółowo

1. Odkrywanie asocjacji

1. Odkrywanie asocjacji 1. 2. Odkrywanie asocjacji...1 Algorytmy...1 1. A priori...1 2. Algorytm FP-Growth...2 3. Wykorzystanie narzędzi Oracle Data Miner i Rapid Miner do odkrywania reguł asocjacyjnych...2 3.1. Odkrywanie reguł

Bardziej szczegółowo

Algorytmy odkrywania binarnych reguł asocjacyjnych

Algorytmy odkrywania binarnych reguł asocjacyjnych Algorytmy odkrywania binarnych reguł asocjacyjnych A-priori FP-Growth Odkrywanie asocjacji wykład 2 Celem naszego wykładu jest zapoznanie się z dwoma podstawowymi algorytmami odkrywania binarnych reguł

Bardziej szczegółowo

Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)

Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie) Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie) Wprowadzenie Haszowanie jest to pewna technika rozwiązywania ogólnego problemu słownika. Przez problem słownika rozumiemy tutaj takie

Bardziej szczegółowo

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

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 > Typy indeksów Indeks jest zakładany na atrybucie relacji atrybucie indeksowym (ang. indexing field). Indeks zawiera wartości atrybutu indeksowego wraz ze wskaźnikami do wszystkich bloków dyskowych zawierających

Bardziej szczegółowo

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne A. Permutacja losowa Matematyka dyskretna - wykład - część 2 9. Podstawowe algorytmy kombinatoryczne Załóżmy, że mamy tablice p złożoną z n liczb (ponumerowanych od 0 do n 1). Aby wygenerować losową permutację

Bardziej szczegółowo

9.9 Algorytmy przeglądu

9.9 Algorytmy przeglądu 14 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE 9.9 Algorytmy przeglądu Metody przeglądu dla problemu 1 r j,q j C max były analizowane między innymi w pracach 25, 51, 129, 238. Jak dotychczas najbardziej elegancka

Bardziej szczegółowo

Odkrywanie asocjacji

Odkrywanie asocjacji Odkrywanie asocjacji Cel odkrywania asocjacji Znalezienie interesujących zależności lub korelacji, tzw. asocjacji Analiza dużych zbiorów danych Wynik procesu: zbiór reguł asocjacyjnych Witold Andrzejewski,

Bardziej szczegółowo

Przykładowe B+ drzewo

Przykładowe B+ drzewo Przykładowe B+ drzewo 3 8 1 3 7 8 12 Jak obliczyć rząd indeksu p Dane: rozmiar klucza V, rozmiar wskaźnika do bloku P, rozmiar bloku B, liczba rekordów w indeksowanym pliku danych r i liczba bloków pliku

Bardziej szczegółowo

Algorytmy i Struktury Danych, 9. ćwiczenia

Algorytmy i Struktury Danych, 9. ćwiczenia Algorytmy i Struktury Danych, 9. ćwiczenia 206-2-09 Plan zajęć usuwanie z B-drzew join i split na 2-3-4 drzewach drzepce adresowanie otwarte w haszowaniu z analizą 2 B-drzewa definicja każdy węzeł ma następujące

Bardziej szczegółowo

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

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie

Bardziej szczegółowo

Krzysztof Kawa. empolis arvato. e mail: krzysztof.kawa@empolis.com

Krzysztof Kawa. empolis arvato. e mail: krzysztof.kawa@empolis.com XI Konferencja PLOUG Kościelisko Październik 2005 Zastosowanie reguł asocjacyjnych, pakietu Oracle Data Mining for Java do analizy koszyka zakupów w aplikacjach e-commerce. Integracja ze środowiskiem Oracle

Bardziej szczegółowo

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Podstawowe algorytmy i ich implementacje w C. Wykład 9 Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny

Bardziej szczegółowo

Podstawowe zagadnienia z zakresu baz danych

Podstawowe zagadnienia z zakresu baz danych Podstawowe zagadnienia z zakresu baz danych Jednym z najważniejszych współczesnych zastosowań komputerów we wszelkich dziedzinach życia jest gromadzenie, wyszukiwanie i udostępnianie informacji. Specjalizowane

Bardziej szczegółowo

Instrukcja programu ESKUP

Instrukcja programu ESKUP Instrukcja programu ESKUP Spis treści Wstęp 4 1 Opis oknien programu 5 1.1 Okno główne programu..................................... 5 1.2 Okno Raport........................................... 5 1.3

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

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

Reguły asocjacyjne, wykł. 11

Reguły asocjacyjne, wykł. 11 Reguły asocjacyjne, wykł. 11 Joanna Jędrzejowicz Instytut Informatyki Przykłady reguł Analiza koszyka sklepowego (ang. market basket analysis) - jakie towary kupowane są razem, Jakie towary sprzedają się

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 3 (Tworzenie bazy danych z użyciem UML, proste

Bardziej szczegółowo

Odkrywanie wzorców sekwencji

Odkrywanie wzorców sekwencji Odkrywanie wzorców sekwencji Sformułowanie problemu Algorytm GSP Eksploracja wzorców sekwencji wykład 1 Na wykładzie zapoznamy się z problemem odkrywania wzorców sekwencji. Rozpoczniemy od wprowadzenia

Bardziej szczegółowo

Temat: Algorytmy zachłanne

Temat: Algorytmy zachłanne Temat: Algorytmy zachłanne Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje się w danej chwili najkorzystniejsze. Wybiera zatem lokalnie optymalną możliwość w nadziei,

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Instytut Mechaniki i Inżynierii Obliczeniowej   fb.com/groups/bazydanychmt/ Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl fb.com/groups/bazydanychmt/ Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 3 (Tworzenie

Bardziej szczegółowo

Reguły asocjacyjne. Żródło: LaroseD.T., Discovering Knowledge in Data. An Introduction to Data Minig, John Wiley& Sons, Hoboken, New Jersey, 2005.

Reguły asocjacyjne. Żródło: LaroseD.T., Discovering Knowledge in Data. An Introduction to Data Minig, John Wiley& Sons, Hoboken, New Jersey, 2005. Reguły asocjacyjne Żródło: LaroseD.T., Discovering Knowledge in Data. An Introduction to Data Minig, John Wiley& Sons, Hoboken, New Jersey, 2005. Stragan warzywny -transakcje zakupów Transakcja Produkty

Bardziej szczegółowo

struktury danych dla operacji słownikowych

struktury danych dla operacji słownikowych struktury danych dla operacji słownikowych tablica nieuporządkowana tablica uporządkowana lista dowiązaniowa drzewo poszukiwań binarnych drzewa zrównoważone z tablice haszowaniem tablice z haszowaniem

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

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie. Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy

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

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Optymalizacja zapytań Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Elementy optymalizacji Analiza zapytania i przekształcenie go do lepszej postaci. Oszacowanie

Bardziej szczegółowo

Porządek symetryczny: right(x)

Porządek symetryczny: right(x) Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)

Bardziej szczegółowo

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Kompresja danych Streszczenie Studia Dzienne Wykład 10, 1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny

Bardziej szczegółowo

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,

Bardziej szczegółowo

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla administratora systemu Warszawa 2007

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla administratora systemu Warszawa 2007 GEO-SYSTEM Sp. z o.o. 02-732 Warszawa, ul. Podbipięty 34 m. 7, tel./fax 847-35-80, 853-31-15 http:\\www.geo-system.com.pl e-mail:geo-system@geo-system.com.pl GEO-RCiWN Rejestr Cen i Wartości Nieruchomości

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu

Bardziej szczegółowo

6. Zagadnienie parkowania ciężarówki.

6. Zagadnienie parkowania ciężarówki. 6. Zagadnienie parkowania ciężarówki. Sterowniki rozmyte Aby móc sterować przebiegiem pewnych procesów lub też pracą urządzeń niezbędne jest stworzenie odpowiedniego modelu, na podstawie którego można

Bardziej szczegółowo

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane: Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem

Bardziej szczegółowo

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka

Bardziej szczegółowo

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski METODA SYMPLEKS Maciej Patan Uniwersytet Zielonogórski WSTĘP Algorytm Sympleks najpotężniejsza metoda rozwiązywania programów liniowych Metoda generuje ciąg dopuszczalnych rozwiązań x k w taki sposób,

Bardziej szczegółowo

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325 PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej   Wydział Mechaniczny technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 3 (Tworzenie bazy danych z użyciem UML, proste

Bardziej szczegółowo

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for

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

Opracował: mgr inż. Marcin Olech 2010-10-04

Opracował: mgr inż. Marcin Olech 2010-10-04 Laboratorium 4 Strona 1 z 17 Spis treści: 1. Wielowymiarowa analiza danych w arkusza kalkulacyjnych z wykorzystaniem MS Excel: a. tworzenie tabel przestawnych, b. tworzenie wykresów przestawnych. 2. Praca

Bardziej szczegółowo

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może

Bardziej szczegółowo

Odkrywanie asocjacji

Odkrywanie asocjacji Odkrywanie asocjacji Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Odkrywanie asocjacji wykład 1 Wykład jest poświęcony wprowadzeniu i zaznajomieniu się z problemem odkrywania reguł asocjacyjnych.

Bardziej szczegółowo

Poprawność semantyczna

Poprawność semantyczna Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych

Bardziej szczegółowo

Sprawozdanie z laboratorium: Hurtownie Danych. Algorytm generowania reguł asocjacyjnych. FP-Growth. 9 czerwca 2011

Sprawozdanie z laboratorium: Hurtownie Danych. Algorytm generowania reguł asocjacyjnych. FP-Growth. 9 czerwca 2011 Sprawozdanie z laboratorium: Hurtownie Danych Algorytm generowania reguł asocjacyjnych 9 czerwca 2011 Prowadzący: dr inż. Izabela Szczęch dr inż. Szymon Wilk Autorzy: Łukasz Idkowiak Tomasz Kamiński Jacek

Bardziej szczegółowo

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Relacyjny model danych Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Charakterystyka baz danych Model danych definiuje struktury danych operacje ograniczenia integralnościowe

Bardziej szczegółowo

Lista, Stos, Kolejka, Tablica Asocjacyjna

Lista, Stos, Kolejka, Tablica Asocjacyjna Lista, Stos, Kolejka, Tablica Asocjacyjna Listy Lista zbiór elementów tego samego typu może dynamicznie zmieniać rozmiar, pozwala na dostęp do poszczególnych elementów Typowo dwie implementacje: tablicowa,

Bardziej szczegółowo

Poszczególne statusy wprowadzone są na stałe, możliwy jest jedynie ich podgląd.

Poszczególne statusy wprowadzone są na stałe, możliwy jest jedynie ich podgląd. Kadry: Moduł ma służyć do tworzenia i zarządzania listą obecności pracowników. Pomaga w prowadzeniu ewidencji czasu pracy, wyliczania dni wolnych i nadgodzin oraz wstępnego tworzenia grafiku godzin pracy.

Bardziej szczegółowo

Sortowanie topologiczne skierowanych grafów acyklicznych

Sortowanie topologiczne skierowanych grafów acyklicznych Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)

Bardziej szczegółowo

Luty 2001 Algorytmy (4) 2000/2001

Luty 2001 Algorytmy (4) 2000/2001 Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 15/15 PYTANIA NA EGZAMIN LICENCJACKI 84. B drzewa definicja, algorytm wyszukiwania w B drzewie. Zob. Elmasri:

Bardziej szczegółowo

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI CELE PROJEKTU Transformacja dowolnej bazy danych w min. 3 postaci normalnej do postaci Asocjacyjnej Grafowej

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

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

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

Bardziej szczegółowo

B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ;

B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ; Algorytm LEM1 Oznaczenia i definicje: U - uniwersum, tj. zbiór obiektów; A - zbiór atrybutów warunkowych; d - atrybut decyzyjny; IND(B) = {(x, y) U U : a B a(x) = a(y)} - relacja nierozróżnialności, tj.

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Drzewa poszukiwań binarnych 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie studentów

Bardziej szczegółowo

Algorytmy optymalizacji zapytań eksploracyjnych z wykorzystaniem materializowanej perspektywy eksploracyjnej

Algorytmy optymalizacji zapytań eksploracyjnych z wykorzystaniem materializowanej perspektywy eksploracyjnej Algorytmy optymalizacji zapytań eksploracyjnych z wykorzystaniem materializowanej perspektywy eksploracyjnej Jerzy Brzeziński, Mikołaj Morzy, Tadeusz Morzy, Łukasz Rutkowski RB-006/02 1. Wstęp 1.1. Rozwój

Bardziej szczegółowo

Fizyczna struktura bazy danych w SQL Serwerze

Fizyczna struktura bazy danych w SQL Serwerze Sposób przechowywania danych na dysku twardym komputera ma zasadnicze znaczenie dla wydajności całej bazy i jest powodem tworzenia między innymi indeksów. Fizyczna struktura bazy danych w SQL Serwerze

Bardziej szczegółowo

Definicja pliku kratowego

Definicja pliku kratowego Pliki kratowe Definicja pliku kratowego Plik kratowy (ang grid file) jest strukturą wspierająca realizację zapytań wielowymiarowych Uporządkowanie rekordów, zawierających dane wielowymiarowe w pliku kratowym,

Bardziej szczegółowo

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1 Bazy danych wprowadzenie teoretyczne Piotr Prekurat 1 Baza danych Jest to zbiór danych lub jakichkolwiek innych materiałów i elementów zgromadzonych według określonej systematyki lub metody. Zatem jest

Bardziej szczegółowo

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew 1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;

Bardziej szczegółowo

Listy, kolejki, stosy

Listy, kolejki, stosy Listy, kolejki, stosy abc Lista O Struktura danych składa się z węzłów, gdzie mamy informacje (dane) i wskaźniki do następnych węzłów. Zajmuje tyle miejsca w pamięci ile mamy węzłów O Gdzie można wykorzystać:

Bardziej szczegółowo

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie Wykaz tabel Wykaz rysunków Przedmowa 1. Wprowadzenie 1.1. Wprowadzenie do eksploracji danych 1.2. Natura zbiorów danych 1.3. Rodzaje struktur: modele i wzorce 1.4. Zadania eksploracji danych 1.5. Komponenty

Bardziej szczegółowo

Techniki wyszukiwania danych haszowanie

Techniki wyszukiwania danych haszowanie Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Techniki wyszukiwania danych haszowanie 1 Cel

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wieczorowe Studia Licencjackie Wrocław, 9.01.2007 Wstęp do programowania Wykład nr 13 Listy usuwanie elementów Poniżej prezentujemy funkcję, która usuwa element o podanej wartości pola wiek z nieuporządkowanej

Bardziej szczegółowo

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański

Bardziej szczegółowo

Zadanie 1. Suma silni (11 pkt)

Zadanie 1. Suma silni (11 pkt) 2 Egzamin maturalny z informatyki Zadanie 1. Suma silni (11 pkt) Pojęcie silni dla liczb naturalnych większych od zera definiuje się następująco: 1 dla n = 1 n! = ( n 1! ) n dla n> 1 Rozpatrzmy funkcję

Bardziej szczegółowo

Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty

Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty Plan wykładu Reguły asocjacyjne Marcin S. Szczuka Wykład 6 Terminologia dla reguł asocjacyjnych. Ogólny algorytm znajdowania reguł. Wyszukiwanie czstych zbiorów. Konstruowanie reguł - APRIORI. Reguły asocjacyjne

Bardziej szczegółowo

Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303

Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303 Wykład 9 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303 stos i operacje na stosie odwrotna notacja polska języki oparte na ONP przykłady programów J. Cichoń, P. Kobylański Wstęp

Bardziej szczegółowo

Haszowanie (adresowanie rozpraszające, mieszające)

Haszowanie (adresowanie rozpraszające, mieszające) Haszowanie (adresowanie rozpraszające, mieszające) Tadeusz Pankowski H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa, Haszowanie W adresowaniu haszującym wyróżniamy

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

7. Zagadnienie parkowania ciężarówki.

7. Zagadnienie parkowania ciężarówki. 7. Zagadnienie parkowania ciężarówki. Sterowniki rozmyte Aby móc sterować przebiegiem pewnych procesów lub też pracą urządzeń niezbędne jest stworzenie odpowiedniego modelu, na podstawie którego można

Bardziej szczegółowo

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego

Bardziej szczegółowo

2.8. Algorytmy, schematy, programy

2.8. Algorytmy, schematy, programy https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked

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

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności

Bardziej szczegółowo

Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji

Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji Michał Witczak Data Mining 20 maja 2012 r. 1. Wstęp Dostarczone zostały nam 4 pliki, z których dwa stanowiły zbiory uczące

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

Analiza i eksploracja danych

Analiza i eksploracja danych Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Inteligentne Systemy Wspomagania Decyzji Studia magisterskie, semestr I Semestr letni

Bardziej szczegółowo

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html

Bardziej szczegółowo

1 abbbaabaaabaa -wzorzec: aaba

1 abbbaabaaabaa -wzorzec: aaba Algorytmy i złożoność obliczeniowa Laboratorium 14. Algorytmy tekstowe. 1. Algorytmy tekstowe Algorytmy tekstowe mają decydujące znaczenie przy wyszukiwaniu informacji typu tekstowego, ten typ informacji

Bardziej szczegółowo

Zapytania i wstawianie etykiet z bazy danych do rysunku

Zapytania i wstawianie etykiet z bazy danych do rysunku Zapytania i wstawianie etykiet z bazy danych do rysunku Pracujemy z gotową bazą danych MSAccess o nazwie KOMIS.MDB. Baza ta składa się z kilku tabel, rys. 1 Rys. 1. Diagram relacji. Wybierając w MSAccess,

Bardziej szczegółowo

Baza danych. Program: Access 2007

Baza danych. Program: Access 2007 Baza danych Program: Access 2007 Bazę danych składa się z czterech typów obiektów: tabela, formularz, kwerenda i raport (do czego, który służy, poszukaj w podręczniku i nie bądź za bardzo leniw) Pracę

Bardziej szczegółowo

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VII Kierunek Informatyka - semestr V Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Problem pakowania plecaka System kryptograficzny Merklego-Hellmana

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