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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 12a: Prawdopodobieństwo i algorytmy probabilistyczne http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Teoria prawdopodobieństwa

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

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

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ Wykład 3 Katedra Inżynierii Komputerowej Jakub Romanowski jakub.romanowski@kik.pcz.pl POBIERANIE DANYCH C/AL Poniższe funkcje używane są do operacji pobierania

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

ALGORYTMY I STRUKTURY DANYCH ALGORYTMY I STRUKTURY DANYCH Temat : Drzewa zrównoważone, sortowanie drzewiaste Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/

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

2012-01-16 PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

2012-01-16 PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew 0-0-6 PLAN WYKŁADU Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew BAZY DANYCH Wykład 9 dr inż. Agnieszka Bołtuć INDEKSY - DEFINICJE Indeksy to pomocnicze struktury

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

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 język C++

Algorytmy i język C++ Wykład 6 Wskaźniki Wskaźnik nie przechowuje wartości zmiennej ale, podobnie jak tablica, wskazuje miejsce w pamięci, w którym znajduje się zmienna danego typu. W poniższym przykładzie symbol * pomiędzy

Bardziej szczegółowo

Drzewa poszukiwań binarnych

Drzewa poszukiwań binarnych 1 Cel ćwiczenia Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet ielonogórski Drzewa poszukiwań binarnych Ćwiczenie

Bardziej szczegółowo

Analiza algorytmów zadania podstawowe

Analiza algorytmów zadania podstawowe Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą

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

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

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

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

Tabela wewnętrzna - definicja

Tabela wewnętrzna - definicja ABAP/4 Tabela wewnętrzna - definicja Temporalna tabela przechowywana w pamięci operacyjnej serwera aplikacji Tworzona, wypełniana i modyfikowana jest przez program podczas jego wykonywania i usuwana, gdy

Bardziej szczegółowo

Konfiguracja programu

Konfiguracja programu Spis treści Konfiguracja programu... 1 Import wyciągu bankowego... 5 Kilka syntetyk kontrahenta... 13 Rozliczanie i uzgadnianie kontrahenta... 14 Reguły księgowania... 16 Konfiguracja programu Po uruchomieniu

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

Wykład 8. Rekurencja. Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. L. Peter Deutsch

Wykład 8. Rekurencja. Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. L. Peter Deutsch Wykład 8 Iterować jest rzeczą ludzką, wykonywać rekursywnie boską. Smok podsuszony zmok (patrz: Zmok). Zmok zmoczony smok (patrz: Smok). L. Peter Deutsch Stanisław Lem Wizja lokalna J. Cichoń, P. Kobylański

Bardziej szczegółowo

Algorytmy i Struktury Danych. Anna Paszyńska

Algorytmy i Struktury Danych. Anna Paszyńska Algorytmy i Struktury Danych Anna Paszyńska Tablica dynamiczna szablon Array Zbiory Zbiory template class Container {public: virtual ~Container() { }; virtual int Count() const = 0;

Bardziej szczegółowo

Sztuczna Inteligencja Projekt

Sztuczna Inteligencja Projekt Sztuczna Inteligencja Projekt Temat: Algorytm LEM2 Liczba osób realizujących projekt: 2 1. Zaimplementować algorytm LEM 2. 2. Zaimplementować klasyfikator Classif ier. 3. Za pomocą algorytmu LEM 2 wygenerować

Bardziej szczegółowo

Wstęp do Programowania potok funkcyjny

Wstęp do Programowania potok funkcyjny Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline Wyszukiwanie wzorców w tekście 1 Wyszukiwanie wzorców w tekście Problem wyszukiwania wzorca w tekście Na tym wykładzie zajmiemy się

Bardziej szczegółowo

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

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST) Drzewa ST i VL Drzewa poszukiwań binarnych (ST) Drzewo ST to dynamiczna struktura danych (w formie drzewa binarnego), która ma tą właściwość, że dla każdego elementu wszystkie elementy w jego prawym poddrzewie

Bardziej szczegółowo

Podstawy Informatyki. Metody dostępu do danych

Podstawy Informatyki. Metody dostępu do danych Podstawy Informatyki c.d. alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 2 Sformułowanie

Bardziej szczegółowo

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010 Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność

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

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

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np. Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie

Bardziej szczegółowo

1. Kalkulator czterech działań. 2. Konwersja ciągu znaków do tablicy.

1. Kalkulator czterech działań. 2. Konwersja ciągu znaków do tablicy. 1. Kalkulator czterech działań. Kalkulator czterech działań: +, -, *, \ (bez nawiasów). Wejście: łańcuch znakowy, np. 1+2*3\4-5\2=, -2+4e-1= Liczby mogą być w formacie, np. +1.45, -2, 1e-10. 2. Konwersja

Bardziej szczegółowo

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

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

Bardziej szczegółowo

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli 1. Tworzenie tabeli Aby stworzyć tabele w SQL-u należy użyć polecenia CREATE TABLE nazwa_tabeli (nazwa_pola1 właściwości_pola1, nazwa_pola2 właściwości_pola2, itd.) Nazwa_tabeli to wybrana przez nas nazwa

Bardziej szczegółowo

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

Komunikacja za pomocą potoków. Tomasz Borzyszkowski Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania

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

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

1. Zarządzanie informacją w programie Access

1. Zarządzanie informacją w programie Access 1. Zarządzanie informacją w programie Access a. 1. Cele lekcji i. a) Wiadomości Uczeń: zna definicję bazy danych i jej zadania, zna pojęcia: rekord, pole, klucz podstawowy, zna obiekty bazy danych: tabele,

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

Zmienne i struktury dynamiczne

Zmienne i struktury dynamiczne Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

Baza danych część 8. -Klikamy Dalej

Baza danych część 8. -Klikamy Dalej Baza danych część 8 1.Kwerendy służą do wyszukiwania informacji według zadanych parametrów. Odpowiednio napisane mogą również wykonywać inne zadania jak tworzenie tabel czy pobieranie z formularzy parametrów

Bardziej szczegółowo

Partition Search i gry z niezupełną informacją

Partition Search i gry z niezupełną informacją MIMUW 21 stycznia 2010 1 Co to jest gra? Proste algorytmy 2 Pomysł Algorytm Przykład użycia 3 Monte Carlo Inne spojrzenie Definicja Co to jest gra? Proste algorytmy Grą o wartościach w przedziale [0, 1]

Bardziej szczegółowo

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Wykład 2. Drzewa zbalansowane AVL i 2-3-4 Wykład Drzewa zbalansowane AVL i -3-4 Drzewa AVL Wprowadzenie Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Drzewa -3-4 Definicja drzewa -3-4 Operacje wstawiania

Bardziej szczegółowo

Drzewa czerwono-czarne.

Drzewa czerwono-czarne. Binboy at Sphere http://binboy.sphere.p l Drzewa czerwono-czarne. Autor: Jacek Zacharek Wstęp. Pojęcie drzewa czerwono-czarnego (red-black tree) zapoczątkował Rudolf Bayer w książce z 1972 r. pt. Symmetric

Bardziej szczegółowo

Temat: Algorytmy wyszukiwania wzorca w tekście

Temat: Algorytmy wyszukiwania wzorca w tekście Temat: Algorytmy wyszukiwania wzorca w tekście 1. Sformułowanie problemu Dany jest tekst T oraz wzorzec P, będące ciągami znaków o długości równej odpowiednio n i m (n m 1), nad pewnym ustalonym i skończonym

Bardziej szczegółowo

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarządzania miejscem na dysku i moduł zarządzania buforami

Bardziej szczegółowo

Ćw. IV. Tabele przestawne

Ćw. IV. Tabele przestawne Ćw. IV. Tabele przestawne Przykład 1. Dysponujemy raportem w formacie tabeli (Arkusz: Tabele Przestawne ) o trzech kolumnach zawierających: nazwę produktu, kategorie, do której produkt ten należy, oraz

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

Matematyka Dyskretna - zadania

Matematyka Dyskretna - zadania zad. 1. Chcemy zdefiniować rekurencyjnie zbiór Z wszystkich trójkątów równoramiennych ABC, gdzie współrzędne wierzchołków będą liczbami całkowitymi, wierzchołek A zawsze będzie leżeć w początku układu

Bardziej szczegółowo

Struktury danych (I): kolejka, stos itp.

Struktury danych (I): kolejka, stos itp. Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Struktury danych (I): kolejka, stos itp. Struktury danych (I): kolejka, stos itp. Struktura danych stanowi sposób uporządkowania

Bardziej szczegółowo

LABORATORIUM Z INŻYNIERII ZARZĄDZANIA- MRP II

LABORATORIUM Z INŻYNIERII ZARZĄDZANIA- MRP II LABORATORIUM Z INŻYNIERII ZARZĄDZANIA- MRP II Ćwiczenie 4 Temat: Wprowadzanie struktury produkcyjnej i marszrut technologicznych. Opracowali: Sitek Paweł Jarosław Wikarek Kielce 2004 Wydziały produkcyjne

Bardziej szczegółowo

4. Projekt Bazy Danych

4. Projekt Bazy Danych 4. Projekt Bazy Danych 4.1. Opis rozdziału W tym rozdziale przedstawiono prosty projekt bazy danych dla naszej gry. 4.2. Dane logowania Na początku zastanówmy się jakie dane będą nam potrzebne do zarejestrowania

Bardziej szczegółowo

Służy do wybierania/wyszukiwania fragmentów dokumentu XML. Przypomina trochę ścieżki w systemie operacyjnym. Niech będzie dany dokument XML:

Służy do wybierania/wyszukiwania fragmentów dokumentu XML. Przypomina trochę ścieżki w systemie operacyjnym. Niech będzie dany dokument XML: Podstawy XPATH Służy do wybierania/wyszukiwania fragmentów dokumentu XML. Przypomina trochę ścieżki w systemie operacyjnym. Niech będzie dany dokument XML:

Bardziej szczegółowo

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika Prowadzący: Dr inż. Jacek Habel Instytut Technologii Maszyn i Automatyzacji Produkcji Zakład Projektowania Procesów

Bardziej szczegółowo

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

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny

Bardziej szczegółowo

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru. Spis treści 1 Drzewa 1.1 Drzewa binarne 1.1.1 Zadanie 1.1.2 Drzewo BST (Binary Search Tree) 1.1.2.1 Zadanie 1 1.1.2.2 Zadanie 2 1.1.2.3 Zadanie 3 1.1.2.4 Usuwanie węzła w drzewie BST 1.1.2.5 Zadanie 4

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

Kursory. A. Pankowska 1

Kursory. A. Pankowska 1 Kursory 1 Kursory Kursor jest mechanizmem pozwalającym obsłużyć zbiór zawierający wiele wierszy danych (generowany np. poleceniem SELECT). Jak wskaźnik przebiega on po kolejnych krotkach ze zbioru danych,

Bardziej szczegółowo