Przyspieszenie knn. Plan wykładu. Klasyfikacja w oparciu o przykładach. Algorytm klasyfikacji. Funkcja odległoci

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

Download "Przyspieszenie knn. Plan wykładu. Klasyfikacja w oparciu o przykładach. Algorytm klasyfikacji. Funkcja odległoci"

Transkrypt

1 Plan wykładu Przyspieszenie knn Ulepszone metody indeksowania przestrzeni danych: R-drzewo, R*-drzewo, SS-drzewo, SR-drzewo. Klasyfikacja w oparciu o przykładach Problem indeksowania przestrzeni obiektów Struktura przestrzeni obiektów R-tree Operacje na R drzewie Insert Delete Search Wyszukiwania k najbliszych ssiadów w oparciu o R- drzewie Ulepszenia Klasyfikacja w oparciu o przykładach Algorytm klasyfikacji Wejcie: Tablica decyzyjna D, nowy obiekt x q Wyjcie: Klasa decyzyjna, do której naley x q (czyli Dec(x q )) Parametry: k - liczba ssiadów, funkcja odległoci d IBL: k najbliszych ssiadów Reguły decyzyjne Krok 1: Szukaj w zbiorze D, k najbliej połoonych obiektów {x 1, x 2,..., x k } Krok 2: Wyznacz klas dla x q na podstawie Dec(x 1 ), Dec(x 2 ),..., Dec(x k ) Funkcja odległoci Problematyki zwizane z klasyfikacj w oparciu o przykładach Niech kady obiekt x bdzie zdefiniowany wektorem wartoci: <a 1 (x),...,a k (x)> Odległo Euklidesowa: d( x, y) = ( a ( x) 2 a ( y) ) i i i Funkcja odległo Szukanie k najbliszych ssiadów Strategia głosowanie Dla atrybutów symbolicznych a i : 0 ai ( x) ai ( y) = 1 a ( x) = a ( y) a ( x) a ( y) Atrybuty rzeczywiste: Unormowa i i i i 1

2 Wyszukiwanie k najbliszych ssiadów Tablica danych: Sekwencyjne poszukiwanie: O(n) (n liczba obiektów w zbiorze D) Strukturalny zbiór danych (indeksowany zbiór danych): Struktura: Obiekty s prezentowane jako punkty w przestrzeni R n Przestrze obiektów jest podzielona na małe fragmenty Fragmenty s zapamitane w strukturze drzewiastym Wyszukiwanie: Przegldaj drzewo i wybieraj fragmenty, gdzie mog zawiera najbliszych ssiadów dla danego obiektu Szuka w znalezionych fragmentach najbliszych ssiadów Czas wyszukiwania: O(logn) Podział przestrzeni obiektów Przestrze obiektów jest podzielona na n-wymiarowe prostokty (niekoniecznie rozłczne). Prostokty pokrywaj wszystkie obiekty w zbiorze danych Prostokty s minimalne (MBR - Minimum Bounding Rectangle) Opis prostokta: I = {[a 1, b 1 ],...,[a n, b n ]} Struktura R-drzewa Własnoci R - drzewa Drzewo zrównowaone Wzeł wewntrzny zawiera klucze (opis prostokta I) i wskaniki do synów Wzeł zewntrzny zawiera list obiektów zawierajcych si w odpowiednim prostokcie Korze ma co najmniej dwóch synów Kady wzeł wewntrzny ma pomidzy m a M synów Kady li zawiera pomidzy m a M obiektów Wszystkie licie znajduj si na jednym poziomie drzewa m: minimalna liczba rozgałzienia w wle M: maksymalna liczba rozgałzienia w wle 2 m M Wzeł przepełniony: zawiera wicej ni M rekordów (kluczy) Wzeł niedomiarowy: zawiera mniej ni m rekordów Figure 1 Collections of Rectangles Operacje na drzewie Wstawianie (insert) Usuwanie (delete) Wyszukiwanie (search) Wstawianie obiektu do drzewa Wejcie: T dane R-drzewo, x new nowy obiekt do wstawiania Wyjcie: R-drzewo T zawierajce obiekt x new 2

3 Wstawianie obiektu do drzewa Wejcie: T: R - drzewo, x new - obiekt do wstawiania Wyjcie: T z obiektem x new Algorytm Insert: Krok 1. Wybieraj odpowiedni li L do wstawiania x new uywajc ChooseLeaf Krok 2. Jeli jest miejsce w L, wstaw x new w L wpp. 2.1 Wstaw x new w L 2.2 Podziel L na L 1 i L Modyfikuj drzewo uywajc AdjustTree Krok 3. Jeli korze musi by podzielony, utwórz nowy korze, którego synami s dwie czci poprzedniego korzenia Funkcja ChooseLeaf Wejcie: T: R - drzewo, x new - obiekt do wstawiania Wyjcie: odpowiedni li L dla x new (funkcja rekurencyjna) Krok 1. L korze(t) Krok 2. if L jest liciem return L; else // L jest wzłem wewntrznym wybierz prostokt F k L lecy najbliej obiektu x new Jeli takich jest kilka, wybierz najmniejszy prostokt Krok 3. Zastosuj ChooseLeaf dla F k Funkcja AdjustTree Zadania: Powiksza istniejce prostokty, eby zawierały nowy obiekt Podzieli due wzły na mniejsze, jeli zawieraj wicej ni M elementów Wejcie: T: drzewo, L li, od którego drzewo ma by modyfikowane Wyjcie: T spełniajce ograniczenia R-drzewa Funkcja AdjustTree Funkcja AdjustTree(L) Krok 1. ActiveNode L Krok 2. if ActiveNode jest korzeniem stop else P = ActiveNode.Parent(); Powiksz prostokt w P zwizany z ActiveNode, eby zawierał on wszystkie prostokty w ActiveNode; Krok 3. if P zawiera wicej ni M elementów SpliteNode (P); AdjustTree (P.Parent()); Funkcja Splite Funkcja Splite (c.d.) Zadanie: Podzieli przepełniony wzeł na dwa nowe wzły Kryterium: Nowe powstajce prostokty s małe Idea: Wybierz rdzenia nowych grup: wybierz dwa najdalej połoone prostokty i wstaw je do rónych wzłów Rozdziel pozostałe elementy: wstaw p do tej grupy, która wymaga najmniejszego powikszania, aby zawierała p Dobry podział Zły podział rdzenia 3

4 Algorytm Splite Usuwanie obiektu z drzewa Wejcie: Wzeł w zawiera M+1 elementów Wyjcie: Dwa wzły, kady zawiera pomidzy m a M elementów Krok 1: Wybierz rdzenia grup i wstaw je do dwóch nowych wzłów Krok 2: repeat przydziel elementy until wszystkie elementy s przydzielone do grup lub jedna grupa ma m (lub M+1-m) elementów Krok 3: dołcz pozostałe elementy do drugiej grupy Algorytm usuwania obiektu Wejcie:T: R - drzewo, x - obiekt do usuwania Wyjcie: T : drzewo bez x Krok 1: Szukaj licia L, który zawiera x (uywajc FindLeaf) Krok 2: Usu x z L Krok 3: Modyfikuj drzewo uywajc CondenseTree Krok 4: Jeli korze zawiera tylko jednego syna, usu stary korze, syn bdzie korzeniem. Funkcja FindLeaf Wejcie:T: R-drzewo, x: obiekt Wyjcie: li, który zawiera x Krok 1: Jeli T jest liciem zwracaj T Krok 2: Dla kadego syna T.s, jeli prostokt zawiera x to FindLeaf(T.s) Krok 3: Jeli T jest liciem, sprawd, czy w nim x wystpuje. Jeli tak, zwracaj T Funkcja CondenseTree Wyszukiwanie k najbliszych ssiadów za pomoc R- drzewa Wejcie:T: R - drzewo, L li, od którego drzewo ma by poprawione Wyjcie: T: skondensowane drzewo Krok 1: N = L; Jeli N nie jest korzeniem P = N.Parent() Krok 2: if N zawiera mniej ni m synów usu N z drzewa zapisz wszystkie elementy N na licie Q Krok 3: if N jest dobry zmniejsz prostokt w N, eby prostokt w N był MBR Krok 4: N = P; goto Krok 1 Krok 5: Wstaw wszystkie elementy Q do drzewa. 4

5 MBR Minimal Bounding Rectangle Własno MBR MBR jest n-wymiarowym prostoktem uywanym w R-drzewie, który ogranicza obiekty. Własno MBR: Kadaciana prostokta zawiera co najmniej jeden punkt bazy danych. Funkcje odległoci uywane do wyszukiwania k-nn MINDIST (p, R): minimalna odległo punktu p do prostokta R. MINDIST(p, R) = min o R d(p,o) Własnoci: Jeli p znajduje si wewntrz prostokta, to MINDIST(p,R) = 0 Dla kadego o D R, MINDIST(p, R) d(p,o) Funkcje odległoci uywane do wyszukiwania k-nn MINMAXDIST (p, R) jest minimalna odległo punktu p do najdalszych punktów cian prostokta R Jeli d*(p,s) oznacza odległo p do najdalszego punktu ciany S, to MINMAXDIST (p, R) = min S:ciana R d*(p,s) Własno: Istnieje obiekt w R, którego odległo do p jest mniejsza ni MINMAXDIST o D R d(p,o) MINMAXDIST(p, R) MINDIST & MINMAXDIST MINDIST(p,R) <= NN(p) <= MINMAXDIST(p,R) Algorytm szukanie najbliszego ssiada Idea: Przegldaj drzewo od korzenia w dół. Dla kadego wzła usu rozgałzienia, które nie powinny zawiera najbliszego ssiada Jeli doidziesz do licia, szukaj w nim najbliszego ssiada. 5

6 Usuwanie zbdnych rogałzie MINDIST vs MINMAXDIST Zasada 1: Prostokt R nie zawiera najbliszego ssiada dla p (wic bdzie usuwany) jeli istnieje prostokt R taki, e: MINDIST(p,R ) > MINMAXDIST(p,R) Zasada 2: Obiekt o nie jest najbliszym ssiadem p jeli istnieje prostokt R taki, e d(p,o) > MINIMAXDIST(p,R) Zasada 3: Prostokt R nie zawiera najbliszego ssiada punktu p jeli istnieje obiekt o taki, e MINDIST(p,R) > d(p,o) Zasada 1 Zasada 2 Zasada 3 R R p MINDIST MINMAXDIST R p d(p,o) o MINMAXDIST R MINDIST p o NN Search Algorithm Ulepszanie Krok 1: Inicjalizuj odległo do najbliszego ssiada = ; Krok 2: Obchod drzewo od korzenia w dół. Przy kadym nieodwiedzonym wle t sortuj prostokty zapisane w t rosnco wzgldem MINDIST i zapisz jego synów w licie ABL (Active Branch List) Krok 3: Usu z ABL zbdne rozgałzienia stosujc strategie przycinania 1 i 2. Krok 4: Dla kadego wzła t z ABL rekurencyjnie szukaj najbliszego ssiada p; Usu wzeł t z ABL Krok 5: Jeli wzeł jest liciem, poszukaj najbliszego ssiada. Aktualizuj odległo do najbliszego ssiada. Krok 6: Po powrocie z rekursji skorzystaj z zasady przycinania 3 w celu usunicia niezbdnych rozgałzie Krok 7: Jeli ABL = zwró najbliszego ssiada. Tylko zasada przycinania 3 jest stosowana; Tylko MINDIST jest potrzebny; Przycinanie tylko gdy nowy ssiad jest znaleziony Szukanie k najbliszych ssiadów Zapamita k aktualnych ssiadów w uporzdkowanym buforze (wg. rosncej odległoci ssiada od punktu p) Przycinanie wzgldem najdalszego punktu na licie Modyfikacje R-drzew R*- tree: Modyfikacja operacja insert, zmniejsza cz wspóln midzy regionami SS tree: przestrze obiektów jest pokryta sferami Zaleta: prostszy opis Wada: regiony zachodz si SR tree: kombinacja R-tree i SS tree X tree: regiony nie maj czsci wspólnej 6

7 Struktura R*-drzewa R*-drzewo Struktura i główne operacje Podobiestwo do R - drzewa: Uywa prostoktów MBR (Minimal Bounding Rectangle) do grupowania punktów w przestrzeni danych Drzewo ma wszelkie własnoci jak R-tree (ograniczenia na liczb rozgałzie,...) Rónica: ulepszony wariant R-drzewa Minimalizuje czci wspólne midzy prostoktami (regionami) na jednym poziomie drzewa Minimalizuje pola (objtoci) prostoktów (regionów) Minimalizuje wielko drzewa Struktura R* - drzewa (c.d.)- Modyfikacje Modyfikacja operacji Insert: Optymalna heurystyka podziału wzła (inna kryterium oceny jakoci podziału) Nowa operacja do rekonstrukcji drzewa: wymuszone wstawianie (forced re-insert) Podstawowe oznaczenia Pole prostokta (objto prostopadłocianu): area(r) Obwód prostokta (powierzchnia prostopadłocianu): margin(r) Pokrycie (overlap): prostoktami w wle t: p gdzie R 1, R 2,...,R p s rekordami wzła t ( R. Rectangle R Rectangle ) overlap ( Rk ) = area k i. i= 1, k i Pojcia podstawowe Ilustracja Podstawowe operacje na prostoktach Powikszanie prostokta: (enlargement(r,x)) Zwiksza prostokt R minimalnie, eby pokrywa obiekt x Area(R) Margin(R) x R Enlargement(R,x) overlap(r) 7

8 Podstawowe operacje na drzewach Wstawianie (insert) Usuwanie (delete) Wyszukiwanie (search) Wstawianie Ogólny schemat: Szukaj licia do wstawiania (ChooseLeaf(x) ) Wstaw nowy obiekt Modyfikuj drzewo ChooseLeaf Idea Przegldaj drzewo top-down: W kadym wle wewntrznym: wybierz poddrzewo zawierajce prostokt, który wymaga najmniejszego powikszenia, eby pokrywa nowy obiekt W kadym wle zewntrznym (li): wybierz prostokt, który po powikszaniu ma najmniejsze pokrycie (overlap) z innymi prostoktami tego samego licia ChooseLeaf Ilustracja (7,5;70) (7,5;70) (7,5;70) Li znaleziony przez R * drzewo Li znaleziony przez R drzewo Funkcja ChooseLeaf Wejcie: T: R* - drzewo, x - obiekt do wstawiania Wyjcie: odpowiedni li L dla x Krok 1. L korze(t) Krok 2. if L jest liciem wybierz prostokt R taki, e enlargement (R,x) ma najmniejsz cz wspóln z innymi prostoktami w tym liciu; else // L jest wzłem wewntrznym wybierz syna S, który jest zwizany z prostoktem R o najmniejszym enlargement (R,x) Krok 3. Zastosuj ChooseLeaf dla S Modyfikuj drzewo Ogólny schemat Jeli li L nie jest przepełniony to Powiksz prostokt w L, do którego nowy obiekt był wstawiany Rekurencyjnie powiksz wszystkie prostokty w przodkach L, eby zawierały prostokty w liciu L. Jeli li L jest przepełniony to Podziel li L na 2 licie L 1 i L 2 lub Wykonuj re-insert dla czci prostoktów w L W sposób rekurencyjny modyfikuj ojca L 8

9 Podzieli przepełniony wzeł - Idea Krok 1: Wybierz o S, wzgldem której podział ma by wykonywany Krok 2: Wybierz na osi S najlepszy podział Krok 3: Podziel obiekty Oceny jakoci podziału Niech P oznacza podział zbioru prostoktów S na dwa rozłczne podzbiory S 1 i S 2 bb(s i ): najmniejszy prostokt zawierajcy S i area-value(p) = area[bb(s 1 )] + area[bb(s 2 )] margin-value(p) = margin[bb(s 1 )] + margin[bb(s 2 )] overlap-value(p) = area[bb(s 1 ) bb(s 2 )] Podział P jest dobry, jeli wartoci area, margin i overlap s małe Algorytm wyboru osi Krok 1: Dla kadej osi X Uporzdkuj prostokty wzgldem X Oblicz warto margin-value(x): suma margin-value wszystkich podziałów na X Krok 2: Wybierz o o najmniejszej wartoci margin-value margin-value(x) = = margin-value(p 1 )+margin-value(p 2 )+margin-value(p 3 ) Algorytm wyboru miejsca podziału Dla wybranej osi X Dla kadego podziału P na X oblicz overlap-value(p) Wybierz podział o najmniejszej wartoci overlap-value Jeli istnieje kilka podziałów o najmniejszej wartoci overlapvalue, wybierz ten z najmniejsz area-value R 4 R 1 R 2 R 3 P 1 P 2 P 3 X P 1 P 2 P 3 overlap-value(p 2 ) Rekonstrukcja drzewa W R-drzewie: regiony s niezmienne podczas wstawiania obiektu (chyba e jest podzielony na dwa regiony); Wstawianie z rekonstrukcj - Ilustracja m = 2, M = 5 Wada: utworzone na pocztku prostokty s optymalne dla pierwszych obiektów, ale nie s optymalne dla nowych wstawianych obiektów Potrzeba narzdzi do rekonstrukcji drzewa R*-tree proponuje operacj wymuszonego wstawiania (forced reinsert) Regiony przed wstawianiem R drzewo: regiony po wstawianiu R* -drzewo: regiony po wstawianiu 9

10 Idea algorytmu reinsert (Przy wstawianiu nowego obiektu) Jeli wzeł t jest przepełniony (ma M+1 synów) i t nie był reorganizowany to Krok 1: wytnij p synów wzła t Krok 2: zmniejsz prostokt w t tak, eby nadal zawierał pozostałych synów Krok 3: wstaw z powrotem prostokty zwizane z wybranymi synami. Algorytm reinsert Dla przepełnionego wzła t (ma M+1 synów): Krok 1: Dla kadego syna s, oblicz odległo rodka prostokta zwizanego z s do rodka prostokta w t Krok 2: Uporzdkuj malejco synów wzgldem odległoci od swojego rodka do rodka prostokta w t Krok 3: Wybierz p pierwszych synów na licie Krok 4: Usu je i zmniejsz prostokt w t Krok 5: Wstaw z powrotem p usunitych prostoktów Reinsert - Ilustracja Ocena R * -drzewa R*- drzewo jest stabilny wobec złoliwych danych redni koszt wstawiania i usuwania na R*- drzewie jest niszy ni na R- drzewie Czas wyszukiwania jest szybszy ni na R- drzewie Regiony przed operacj reinsert Obiekty wybrane do ponownego wstawiania, p=3 Regiony po operacji reinsert Struktura SS-drzewo SS-drzewo Struktura i główne operacje Podobna struktura do R-drzewa Regiony s kołami Opis regionu: para (rodek, promie) rodek:rodek cikoci figury tworzonej przez rodki kół zapisanych w synach promie: odległo do najdalszego koła zapisanego w synach. 10

11 Struktura SS-drzewo Algorytm Insert Krok 1. Szukaj licia L do wstawiania Krok 2. Wstaw nowy obiekt x do L Krok 3. Modyfikuj drzewo (*od licia L do korzenia*) 3.1 Jeli zbadany wzeł t nie jest przepełniony Powiksz promie w t 3.2 Jeli wzeł t jest przepełniony i t nie był rekonstruowany re-insert (t) 3.3 Jeli t jest przepełniony i t był rekonstruowany splite (t) Algorytm podziału: Splite Cel: Podziel zbiór kół na dwa podzbiory, których koła ograniczajce maj małe promienie i jak najmniej zachodz si na siebie Krok 1: Wybierz o S, wzgldem której podział ma by wykonywany Krok 2: Wybierz na osi S najlepszy podział Krok 3: Podziel obiekty Ocena podziału Niech X bdzie osi współrzdnych Niech S bdzie zbiorem kół variance(s,x) = odległo midzy rodkami dwóch najdalszych kół na osi X Niech P oznacza podział zbioru kół S na dwa rozłczne podzbiory S 1 i S 2 variance(p) = variance(s 1 )+variance(s 2 ) Podział P jest dobry jeli variance(p) jest minimalny Wybór osi Szukanie miejsca podziału Dla kadej osi X Uporzdkuj koła wzgldem X Oblicz odległo najdalszych koł na osi X. ozn. variance(x) Wybierz o z najwiksz wartoci variance Dla wybranej osi X Dla kadego podziału P na X oblicz variance(p) Wybieraj podział o najmniejszej wartoci variance najlepszy podział variance(x) X P 1 P 2 P 3 X 11

12 Ocena SS -drzewa Zaleta: Mała informacja potrzebna do opisu koła ni prostokata rednica koła zwiksza si do wolno wzgldem wzrostu wymiaru danych (liczby atrybutów) szybki czas wyszukiwania w jednym regionie. Wada: Koło ma wiksz objto ni prostokt wiksza cz wspólna z innymi kołami (more overlap) SR-drzewo Struktura i główne operacje Obserwacja Prostokty dziel przestrze danych na regiony o małej objtoci, ale maj one du rednic ni koło Koła dziel przestrze danych na regiony o małej rednicy, ale ich objtoci s wiksze ni prostokty Rozwizanie: kombinacja prostoktów i kół SR - drzewo Struktura SR - drzewa Podobna struktura do R-drzewa Region jest przeciciem koła i prostokta Opis regionu: para (prostokt, koło) Prostokt : I =[(a 1,b 1 ),...,(a k,b k )] Koło: (rodek, promie) Algorytm: Insert Prostokt jest aktualizowany tak jak w R*- drzewie Koło wle t jest aktualizowane: (C 1,...,C k koła zwizane z synami t ) rodek: Algorytm Insert (c.d.) Promie: d s : maksymalna odległo rodka koła w wle t do kół w synach d r : maksymalna odległo rodka koła w wle t do prostoktów w synach gdzie C i : koło zwizane z i-tym synem C i.x i : i-ta współrzdna rodka koła C i C i.w: liczba obiektów zawartych w kole C i rodek koła Promie r 12

13 Szukanie najbliszego ssiada Odległo d punktu P do regionu zapisanego w wle C k jest definiowana: d s. : minimalna odległo punktu P do koła w wle C k d r : minimalna odległo punktu P do prostokta w wle C k x d r d s P Ocena SR-drzewa Zaleta: Zmniejsza i objto i rednic regionu w porównaniu z R*-drzewem i SS-drzewem Czas wyszukiwania krótszy ni SS-drzewo i R*- drzewo Wada: Koszt budowania SR-drzewa jest wikszy ni SSdrzewa. Rozmiar wzła wikszy od rozmiaru wzła SSdrzewa i R*-drzewa d = max(d s.,d r ) Podsumowanie R*-drzewo: ulepszony wariant R-drzewa Nowa heurystyka dla optymalizacji podziału -> modyfikacja w funkcji splite Nowa operacja rekonstrukcji drzewa: re-insert SS-drzewo: regiony s kołami SR-drzewo: regiony s przecicem prostokta i koła 13

PRZYSPIESZENIE KNN. Ulepszone metody indeksowania przestrzeni danych: R-drzewo, R*-drzewo, SS-drzewo, SR-drzewo.

PRZYSPIESZENIE KNN. Ulepszone metody indeksowania przestrzeni danych: R-drzewo, R*-drzewo, SS-drzewo, SR-drzewo. PRZYSPIESZENIE KNN Ulepszone metody indeksowania przestrzeni danych: R-drzewo, R*-drzewo, SS-drzewo, SR-drzewo. Plan wykładu Klasyfikacja w oparciu o przykładach Problem indeksowania przestrzeni obiektów

Bardziej szczegółowo

Bazy danych. Plan wykładu. Metody organizacji pliku rekordów. Pojcie indeksu. Wykład 11: Indeksy. Pojcie indeksu - rodzaje indeksów

Bazy danych. Plan wykładu. Metody organizacji pliku rekordów. Pojcie indeksu. Wykład 11: Indeksy. Pojcie indeksu - rodzaje indeksów Plan wykładu Bazy Wykład 11: Indeksy Pojcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl

Bardziej szczegółowo

Temat: Geometria obliczeniowa cz II. Para najmniej odległych punktów. Sprawdzenie, czy istnieje para przecinajcych si odcinków.

Temat: Geometria obliczeniowa cz II. Para najmniej odległych punktów. Sprawdzenie, czy istnieje para przecinajcych si odcinków. Temat: Geometria obliczeniowa cz II. Para najmniej odległych punktów. Sprawdzenie, czy istnieje para przecinajcych si odcinków. 1. Para najmniej odległych punktów WP: Dany jest n - elementowy zbiór punktów

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Bazy danych. Plan wykładu. Klucz wyszukiwania. Pojcie indeksu. Wykład 8: Indeksy. Pojcie indeksu - rodzaje indeksów

Bazy danych. Plan wykładu. Klucz wyszukiwania. Pojcie indeksu. Wykład 8: Indeksy. Pojcie indeksu - rodzaje indeksów Plan wykładu Bazy Wykład 8: Indeksy Pojcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl

Bardziej szczegółowo

Temat: Struktury do przechowywania danych w pamici zewntrznej. B - drzewa. B * - drzewa. B + - drzewa.

Temat: Struktury do przechowywania danych w pamici zewntrznej. B - drzewa. B * - drzewa. B + - drzewa. Temat: Struktury do przechowywania danych w pamici zewntrznej. B - drzewa. B * - drzewa. B + - drzewa. Podstawow jednostk w operacjach wejcia - wyjcia zwizanych z dyskiem (pamici zewntrzn) jest blok. czas

Bardziej szczegółowo

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika. Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika. 1. Pojcie struktury danych Nieformalnie Struktura danych (ang. data

Bardziej szczegółowo

Szukanie najkrótszych dróg z jednym ródłem

Szukanie najkrótszych dróg z jednym ródłem Szukanie najkrótszych dróg z jednym ródłem Algorytm Dijkstry Załoenia: dany jest spójny graf prosty G z wagami na krawdziach waga w(e) dla kadej krawdzi e jest nieujemna dany jest wyróniony wierzchołek

Bardziej szczegółowo

Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne.

Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne. Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne. 1. Definicja problemu Wejcie: Graf spójny niezorientowany G =

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

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty. !"! " #$%& '()#$$ &%$! #$ %$ &%$& &$&! %&'" )$$! *$$&%$! +,- +-.! $ Celem wiczenia jest zapoznanie studenta ze strukturami: lista, stos, drzewo oraz ich implementacja w jzyku ANSI C. Zrozumienie działania

Bardziej szczegółowo

Wysokość drzewa Głębokość węzła

Wysokość drzewa Głębokość węzła Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.

Bardziej szczegółowo

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Plan wykładu azy danych Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Dokoczenie SQL Zalenoci wielowartociowe zwarta posta normalna Dekompozycja do 4NF Przykład sprowadzanie do

Bardziej szczegółowo

Wstp. Warto przepływu to

Wstp. Warto przepływu to 177 Maksymalny przepływ Załoenia: sie przepływow (np. przepływ cieczy, prdu, danych w sieci itp.) bdziemy modelowa za pomoc grafów skierowanych łuki grafu odpowiadaj kanałom wierzchołki to miejsca połcze

Bardziej szczegółowo

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Oznaczenia G = V, E - graf bez wag, gdzie V - zbiór wierzchołków, E- zbiór krawdzi V = n - liczba wierzchołków grafu G E = m

Bardziej szczegółowo

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury. Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury. Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje si w danej chwili

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

CLUSTERING II. Efektywne metody grupowania danych

CLUSTERING II. Efektywne metody grupowania danych CLUSTERING II Efektywne metody grupowania danych Plan wykładu Wstęp: Motywacja i zastosowania Metody grupowania danych Algorytmy oparte na podziałach (partitioning algorithms) PAM Ulepszanie: CLARA, CLARANS

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

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

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

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych Funkcja rekurencyjna buduj drzewo(u, dec, T): 1: if (kryterium stopu(u, dec) = true) then 2: T.etykieta = kategoria(u, dec); 3: return; 4: end if 5:

Bardziej szczegółowo

Wektor o pocztku i kocu odpowiednio w punktach. Prosta zawierajca punkty p i q: pq Półprosta zaczynajca si w punkcie p i zawierajca punkt q:.

Wektor o pocztku i kocu odpowiednio w punktach. Prosta zawierajca punkty p i q: pq Półprosta zaczynajca si w punkcie p i zawierajca punkt q:. Temat: Geometria obliczeniowa, cz I. Podstawowe algorytmy geometryczne. Problem sprawdzania przynalenoci punktu do wielokta. Problem otoczki wypukłej algorytmy Grahama, i Jarvisa. 1. Oznaczenia Punkty

Bardziej szczegółowo

Algorytmy zrandomizowane

Algorytmy zrandomizowane Algorytmy zrandomizowane www.qed.pl/ai/nai2003 PLAN WYKŁADU Inne zadania optymalizacyjne grupowanie Generowanie liczb losowych Metody Monte Carlo i Las Vegas przykłady zastosowa Przeszukiwanie losowe metoda

Bardziej szczegółowo

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza 165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie

Bardziej szczegółowo

stopie szaro ci piksela ( x, y)

stopie szaro ci piksela ( x, y) I. Wstp. Jednym z podstawowych zada analizy obrazu jest segmentacja. Jest to podział obrazu na obszary spełniajce pewne kryterium jednorodnoci. Jedn z najprostszych metod segmentacji obrazu jest progowanie.

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

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

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

Wykład 2. Drzewa poszukiwań binarnych (BST)

Wykład 2. Drzewa poszukiwań binarnych (BST) Wykład 2 Drzewa poszukiwań binarnych (BST) 1 O czym będziemy mówić Definicja Operacje na drzewach BST: Search Minimum, Maximum Predecessor, Successor Insert, Delete Struktura losowo budowanych drzew BST

Bardziej szczegółowo

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na

Bardziej szczegółowo

Drzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:

Drzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola: Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.

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

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego. Kolejki Kolejka priorytetowa Kolejka priorytetowa (ang. priority queue) to struktura danych pozwalająca efektywnie realizować następujące operacje na zbiorze dynamicznym, którego elementy pochodzą z określonego

Bardziej szczegółowo

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy: wiczenie 2 Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Cel wiczenia: Zapoznanie si ze sposobami konstruowania tabel, powiza pomidzy tabelami oraz metodami manipulowania

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

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 moliwo w nadziei, e doprowadzi

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

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów. Plan wykładu 2 BAZY DANYCH Wykład 4: Indeksy. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krętowska Wydział Informatyki PB Pojęcie

Bardziej szczegółowo

R-drzewa. Realizowane funkcje: Struktura węzłów R-drzewa

R-drzewa. Realizowane funkcje: Struktura węzłów R-drzewa R-drzewa R-drzewa są dynamicznymi strukturami danych służącymi do wyszukiwania obiektów wielowymiarowych (niepunktowych!!!) w przestrzeni wielowymiarowej. W R-drzewach obiekty wielowymiarowe są aproksymowane

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

Problemy optymalizacyjne - zastosowania

Problemy optymalizacyjne - zastosowania Problemy optymalizacyjne - zastosowania www.qed.pl/ai/nai2003 PLAN WYKŁADU Zło ono obliczeniowa - przypomnienie Problemy NP-zupełne klika jest NP-trudna inne problemy NP-trudne Inne zadania optymalizacyjne

Bardziej szczegółowo

CLUSTERING. Metody grupowania danych

CLUSTERING. Metody grupowania danych CLUSTERING Metody grupowania danych Plan wykładu Wprowadzenie Dziedziny zastosowania Co to jest problem klastrowania? Problem wyszukiwania optymalnych klastrów Metody generowania: k centroidów (k - means

Bardziej szczegółowo

Wykład 6. Drzewa poszukiwań binarnych (BST)

Wykład 6. Drzewa poszukiwań binarnych (BST) Wykład 6 Drzewa poszukiwań binarnych (BST) 1 O czym będziemy mówić Definicja Operacje na drzewach BST: Search Minimum, Maximum Predecessor, Successor Insert, Delete Struktura losowo budowanych drzew BST

Bardziej szczegółowo

Zadania do wykonaj przed przyst!pieniem do pracy:

Zadania do wykonaj przed przyst!pieniem do pracy: wiczenie 3 Tworzenie bazy danych Biblioteka tworzenie kwerend, formularzy Cel wiczenia: Zapoznanie si ze sposobami konstruowania formularzy operujcych na danych z tabel oraz metodami tworzenia kwerend

Bardziej szczegółowo

Drzewa ćwiartek (ang. Quadtree) i R-drzewa (ang. R-tree)

Drzewa ćwiartek (ang. Quadtree) i R-drzewa (ang. R-tree) Drzewa ćwiartek (ang. Quadtree) i R-drzewa (ang. R-tree) Drzewa ćwiartek Quadtree Drzewa ćwiartek rozległa klasa hierarchicznych struktur danych, których wspólną cechą jest rekurencyjna dekompozycja przestrzeni

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

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

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska DRZEWO REGRESYJNE Sposób konstrukcji i przycinania

Bardziej szczegółowo

oraz spełnia warunki: (*) dla wszystkich wierzchołków

oraz spełnia warunki: (*) dla wszystkich wierzchołków Temat: Problem najtaszego przepływu. Definicja problemu, przykład zastosowania. Algorytm Kleina. Algorytm Busackera Gowena. 1. Definicja problemu najtaszego przepływu Wejcie: Graf zorientowany G =

Bardziej szczegółowo

Sposoby przekazywania parametrów w metodach.

Sposoby przekazywania parametrów w metodach. Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych

Bardziej szczegółowo

Bazy danych Podstawy teoretyczne

Bazy danych Podstawy teoretyczne Pojcia podstawowe Baza Danych jest to zbiór danych o okrelonej strukturze zapisany w nieulotnej pamici, mogcy zaspokoi potrzeby wielu u!ytkowników korzystajcych z niego w sposóbs selektywny w dogodnym

Bardziej szczegółowo

Algorytmy zwiazane z gramatykami bezkontekstowymi

Algorytmy zwiazane z gramatykami bezkontekstowymi Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk

Bardziej szczegółowo

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD) Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:

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

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania 1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca

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

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI Wpisuje zdajcy przed rozpoczciem pracy PESEL ZDAJCEGO Miejsce na nalepk z kodem szkoły PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI Arkusz II Instrukcja dla zdajcego Czas pracy 150 minut 1. Prosz sprawdzi, czy

Bardziej szczegółowo

Przykłady wyrae uywanych w kwerendach i filtrach

Przykłady wyrae uywanych w kwerendach i filtrach Przykłady wyrae uywanych w kwerendach i filtrach Przykłady kryteriów stosowanych przy pobieraniu rekordów Zakresy wartoci (>, =, 234 Dla pola Ilo; wywietla liczby wiksze

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

KLUCZ PUNKTOWANIA ODPOWIEDZI

KLUCZ PUNKTOWANIA ODPOWIEDZI Egzamin maturalny maj 009 MATEMATYKA POZIOM PODSTAWOWY KLUCZ PUNKTOWANIA ODPOWIEDZI Zadanie 1. Matematyka poziom podstawowy Wyznaczanie wartoci funkcji dla danych argumentów i jej miejsca zerowego. Zdajcy

Bardziej szczegółowo

I Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 10 kwietnia 2013 grupa elektryczno-elektroniczna

I Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 10 kwietnia 2013 grupa elektryczno-elektroniczna I Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 10 kwietnia 2013 grupa elektryczno-elektroniczna (imi i nazwisko uczestnika) (nazwa szkoły) Arkusz zawiera 6 zada. Zadania

Bardziej szczegółowo

Strategia "dziel i zwyciężaj"

Strategia dziel i zwyciężaj Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania

Bardziej szczegółowo

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting. Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.. Oznaczenia i załoenia Oznaczenia G = - graf skierowany z funkcj wagi s wierzchołek ródłowy t wierzchołek

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

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce Plan wykładu Bazy danych Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl Proces dobrego projektowania

Bardziej szczegółowo

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM. WYKŁAD : Teoria NP-zupełnoci. Problem decyzyjny naley do klasy P (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM. (przynaleno ta jest zachowana równie dla

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

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM PODSTAWOWY. 1. x y x y

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM PODSTAWOWY. 1. x y x y Nr zadania Nr czynnoci Przykadowy zestaw zada nr z matematyki ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR POZIOM PODSTAWOWY Etapy rozwizania zadania. Podanie dziedziny funkcji f: 6, 8.. Podanie wszystkich

Bardziej szczegółowo

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD) Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

rysunek. Standardowym Przybornika Elips.

rysunek. Standardowym Przybornika Elips. 1. Na pocztek otwórz Corela 2. Kliknij na ikonie Nowy rysunek. Jeli program został wczeniej przez Ciebie otwarty i zamknłe tylko poprzedni plik, nacinij na ikon Nowy na pasku Standardowym - ukae si pusta

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

Rekurencja. Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)!

Rekurencja. Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)! Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)! Pseudokod: silnia(n): jeżeli n == 0 silnia = 1 w przeciwnym

Bardziej szczegółowo

Algorytmy i Struktury Danych, 2. ćwiczenia

Algorytmy i Struktury Danych, 2. ćwiczenia Algorytmy i Struktury Danych, 2. ćwiczenia 2017-10-13 Spis treści 1 Optymalne sortowanie 5 ciu elementów 1 2 Sortowanie metodą Shella 2 3 Przesunięcie cykliczne tablicy 3 4 Scalanie w miejscu dla ciągów

Bardziej szczegółowo

Wykład 3. Metoda dziel i zwyciężaj

Wykład 3. Metoda dziel i zwyciężaj Wykład 3 Metoda dziel i zwyciężaj 1 Wprowadzenie Technika konstrukcji algorytmów dziel i zwyciężaj. przykładowe problemy: Wypełnianie planszy Poszukiwanie (binarne) Sortowanie (sortowanie przez łączenie

Bardziej szczegółowo

Drzewa poszukiwań binarnych

Drzewa poszukiwań binarnych 1 Drzewa poszukiwań binarnych Kacper Pawłowski Streszczenie W tej pracy przedstawię zagadnienia związane z drzewami poszukiwań binarnych. Przytoczę poszczególne operacje na tej strukturze danych oraz ich

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

5. Kliknij czarny trójkt umieszczony w prawym dolnym rogu ikony narzdzia Wypełnienie i - z rozsuwanej palety - wybierz pozycj Wypełnienie jednolite.

5. Kliknij czarny trójkt umieszczony w prawym dolnym rogu ikony narzdzia Wypełnienie i - z rozsuwanej palety - wybierz pozycj Wypełnienie jednolite. 1. Otwórz program CorelDraw i kliknij Nowy rysunek. Jeli program został otwarty ju wczeniej, nacinij ikonk Nowy na pasku Standardowym - pojawi si pusta kartka nowego rysunku. Jeli ju wczeniej zaczłe prac

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

Sortowanie bąbelkowe

Sortowanie bąbelkowe 1/98 Sortowanie bąbelkowe (Bubble sort) prosty i nieefektywny algorytm sortowania wielokrotnie przeglądamy listę elementów, porównując dwa sąsiadujące i zamieniając je miejscami, jeśli znajdują się w złym

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

IV Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 1 kwietnia 2016

IV Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 1 kwietnia 2016 IV Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 1 kwietnia 2016 (imi i nazwisko uczestnika) (nazwa szkoły) Arkusz zawiera 8 zada. Zadania 1 i 2 bd oceniane dla kadego uczestnika,

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

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

Wprowadzenie do algorytmów. START

Wprowadzenie do algorytmów. START 1 / 15 ALGORYMIKA 2 / 15 ALGORYMIKA Wprowadzenie do algorytmów. SAR 1. Podstawowe okrelenia. Algorytmika dział informatyki, zajmujcy si rónymi aspektami tworzenia i analizowania algorytmów. we: a,b,c delta:=b

Bardziej szczegółowo

Algorytmy i Struktury Danych. Co dziś? Drzewo decyzyjne. Wykład IV Sortowania cd. Elementarne struktury danych

Algorytmy i Struktury Danych. Co dziś? Drzewo decyzyjne. Wykład IV Sortowania cd. Elementarne struktury danych Algorytmy i Struktury Danych Wykład IV Sortowania cd. Elementarne struktury danych 1 Co dziś? Dolna granica sortowań Mediany i statystyki pozycyjne Warstwa implementacji Warstwa abstrakcji #tablice #listy

Bardziej szczegółowo

Róniczka. f x. V Vx. Zadanie 4. Znale maksymalny błd bezwzgldny i wzgldny powstały przy obliczaniu objtoci stoka, jeli promie podstawy wynosi

Róniczka. f x. V Vx. Zadanie 4. Znale maksymalny błd bezwzgldny i wzgldny powstały przy obliczaniu objtoci stoka, jeli promie podstawy wynosi Róniczka Wraenie d nazwa si róniczk pierwszego rzdu czci liniow przrostu wartoci unkcji Zastosowanie róniczki do oblicze przblionch: Zadanie Za pomoc róniczki oblicz przblion warto liczb Wkorzstam wzór

Bardziej szczegółowo

Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY

Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY PB 2 PB 1 Projekt z grupowania danych - Rough k-medoids Liczba osób realizuj cych projekt: 1 osoba 1. Wczytanie danych w formatach

Bardziej szczegółowo

Rekurencyjne struktury danych

Rekurencyjne struktury danych Andrzej Jastrz bski Akademia ETI Dynamiczny przydziaª pami ci Pami, która jest przydzielana na pocz tku dziaªania procesu to: pami programu czyli instrukcje programu pami statyczna zwi zana ze zmiennymi

Bardziej szczegółowo

Wybrane algorytmy tablicowe

Wybrane algorytmy tablicowe Wybrane algorytmy tablicowe Algorytmy i struktury danych Wykład 2. Rok akademicki: 2009/2010 Sortowanie przez wybieranie for (int i = 0; i < liczby.length - 1; i++) k = i; for (int j = i; j < liczby.length;

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

Sortowanie przez scalanie

Sortowanie przez scalanie Sortowanie przez scalanie Wykład 2 12 marca 2019 (Wykład 2) Sortowanie przez scalanie 12 marca 2019 1 / 17 Outline 1 Metoda dziel i zwyciężaj 2 Scalanie Niezmiennik pętli - poprawność algorytmu 3 Sortowanie

Bardziej szczegółowo

Programowanie dynamiczne cz. 2

Programowanie dynamiczne cz. 2 Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy

Bardziej szczegółowo

Cash flow projektu zakładajcego posiadanie własnego magazynu oraz posiłkowanie si magazynem obcym w przypadku sezonowych zwyek

Cash flow projektu zakładajcego posiadanie własnego magazynu oraz posiłkowanie si magazynem obcym w przypadku sezonowych zwyek Optymalizacja zaangaowania kapitałowego 4.01.2005 r. w decyzjach typu make or buy. Magazyn czy obcy cz. 2. Cash flow projektu zakładajcego posiadanie własnego magazynu oraz posiłkowanie si magazynem obcym

Bardziej szczegółowo

Struktury Danych i Złożoność Obliczeniowa

Struktury Danych i Złożoność Obliczeniowa Struktury Danych i Złożoność Obliczeniowa Zajęcia 3 Struktury drzewiaste drzewo binarne szczególny przypadek drzewa, które jest szczególnym przypadkiem grafu skierowanego, stopień każdego wierzchołka jest

Bardziej szczegółowo

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania WYKŁAD 4 Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania PLAN WYKŁADU Metody uczenia sieci: Uczenie perceptronu Propagacja wsteczna Zastosowania Sterowanie (powtórzenie) Kompresja obrazu Rozpoznawanie

Bardziej szczegółowo

CorelDraw rysunek. Standardowym Otwórz, Elipsa Ctrl. Rozmieszczenie > Transformacja. Transformacja. Rozmiar. Nieproporcjonalnie. 125 Zastosuj.

CorelDraw rysunek. Standardowym Otwórz, Elipsa Ctrl. Rozmieszczenie > Transformacja. Transformacja. Rozmiar. Nieproporcjonalnie. 125 Zastosuj. 1. Otwórz program CorelDraw i kliknij Nowy rysunek. Jeli program został otwarty ju wczeniej, nacinij ikonk Nowy na pasku Standardowym pojawi si pusta kartka nowego rysunku. Jeli ju wczeniej zaczłe prac

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

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