Minimalne drzewo rozpinaj ce

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

Download "Minimalne drzewo rozpinaj ce"

Transkrypt

1 Minimalne drzewo rozpinaj ce dr Andrzej Mróz (UMK w Toruniu) 013 Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego Projekt pn. Wzmocnienie potencjaªu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych Poddziaªanie Programu Operacyjnego Kapitaª Ludzki

2 Spis tre±ci 1 Wst p Problem Drzewo rozpinaj ce Drzewo rozpinaj ce przykªad Minimalne drzewo rozpinaj ce Minimalne drzewo rozpinaj ce przykªad Cel - poszukiwanie MST Idee 5.1 Strategia Problem Idea algorytmu Kruskala Idea algorytmu Prima Zbiory rozª czne Struktury danych dla zbiorów rozª cznych Proste zastosowanie Heurystyka Implementacja listy Implementacja drzewa z korzeniem Kruskal Poprawno± Przekroje Algorytm Przebieg algorytmu Kruskala Prim Poprawno± Implementacja Algorytm Przebieg algorytmu Prima

3 1 Wst p Problem Ustalmy spójny niezorientowany graf G = (V, E) z funkcj wagi w : E R +. Rozwa»my nast puj c interpretacj grafu G: wierzchoªki V = {1,,..., n} = miasta, kraw dzie = potencjalne bezpo±rednie drogowe poª czenia pomi dzy miastami, waga w(i, j) kraw dzi {i, j} E = koszt budowy poª czenia pomi dzy miastami i i j. Zagadnienie optymalizacyjne. Zbudowa tylko te drogi spo±ród opisanych przez graf G (czyli wybra podgraf G grafu G) tak, by: 1. pomi dzy ka»d par miast (wierzchoªków) istniaªo drogowe poª czenie (niekoniecznie bezpo±rednie),. koszt budowy tej sieci dróg byª najni»szy spo±ród wszystkich rozwi za«speªniaj cych punkt 1. Šatwo zauwa»y,»e je»eli podgraf G speªnia te wªasno±ci, to 1. zawiera wszystkie wierzchoªki grafu G,. jest spójny, 3. nie zawiera cykli. W szczególno±ci i 3 oznaczaj,»e G powinien by drzewem. Tzw. minimalnym drzewem rozpinaj cym, które za chwil zdeniujemy w sposób bardziej formalny. Problem ten pojawia si w wielu innych kontekstach informatycznych, cz sto znalezienie minimalnego drzewa rozpinaj cego jest pierwszym krokiem w rozwi zaniach innych problemów. Czasem stosuje si te» nazw minimalne drzewo spinaj ce. 1. Drzewo rozpinaj ce Niech G = (V, E) b dzie spójnym grafem niezorientowanym. Denicja. Drzewo rozpinaj ce (ang. spanning tree) grafu G = drzewo T = (V, E ) takie,»e E E. Tzn. T jest drzewem zawieraj cym wszystkie wierzchoªki G, za± jego zbiór kraw dzi jest podzbiorem zbioru kraw dzi G. Drzewo rozpinaj ce powstaje z grafu G poprzez usuni cie kraw dzi nale» cych do cykli. Ka»de drzewo rozpinaj ce grafu G ma V 1 kraw dzi. 1.3 Drzewo rozpinaj ce przykªad Drzewo rozpinaj ce nie jest poj ciem jednoznacznym.

4 Dla grafu G: 4 Drzewem rozpinaj cym jest podgraf T : Ale te» podgraf T : Oraz podgraf T 3 : 1.4 Minimalne drzewo rozpinaj ce Niech G = (V, E) b dzie spójnym grafem niezorientowanym z wag w : E R +. Dla dowolnego drzewa rozpinaj cego T = (V, E ) grafu G deniujemy jego wag w(t ) = w(u, v). (u,v) E Denicja. Minimalne drzewo rozpinaj ce (ang. minimal spanning tree MST) grafu G = drzewo rozpinaj ce T o minimalnej wadze w(t ) (spo±ród wszystkich drzew rozpinaj cych grafu G). 1.5 Minimalne drzewo rozpinaj ce przykªad Dla grafu z wagami: przykªadowe wagi drzew rozpinaj cych: T : 1 w(t ) = 35 9

5 5 T : 8 w(t ) = 48 T 3 : 1 8 w(t 3 ) = Nietrudno sprawdzi,»e dla powy»szego grafu G minimalnym drzewem rozpinaj cym jest T 3. Ale zauwa»my,»e T 3 nie jest jedynym MST. Inne drzewo rozpinaj ce o tej samej wadze co T 3 : T 4 : 1 8 w(t 4 ) = Cel - poszukiwanie MST Rozwi zanie naiwne: Wygenerowa wszystkie drzewa rozpinaj ce i wybra te o najmniejszej wadze. Oczywista wada: Drzew rozpinaj cych jest na ogóª bardzo du»o. Ponadto, wcale nie jest to takie proste pod wzgl dem implementacyjnym. Cel: Opracowa efektywn metod znajdowania (jakiegokolwiek) MST. Idee.1 Strategia Ogólna strategia zachªanna rozrastanie si podgrafu T o zbiorze kraw dzi A, który na ko«cu b dzie MST. Dane: Spójny graf niezorientowany G = (V, E) z funkcj wagow w : E R +. Cel: Znalezienie MST dla G. Podgraf T rozrasta si w wyniku dodawania kolejnych kraw dzi. W czasie algorytmu trzymamy zbiór A, który zawsze jest podzbiorem zbioru kraw dzi pewnego MST. W ka»dym kroku wyznaczamy kraw d¹, któr mo»na doda do A bez straty jego wªasno±ci (kraw d¹ bezpieczn dla A).

6 B dziemy zatem realizowa strategi opisan przez bardzo ogólny pseudokod: 6 GenericMST(G, w) A := ; 3 while A nie tworzy drzewa rozpinaj cego do 4 begin 5 znajd¹ kraw d¹ {u, v} E\A bezpieczn dla A; 6 A := A { {u, v} } 7 end 8 end; Poprawno± ogólnie: Niezmiennik A jest podzbiorem zbioru kraw dzi pewnego MST jest zachowany w ka»dym kroku. Kraw d¹ bezpieczna w ka»dym kroku istnieje gwarantuje to niezmiennik.. Problem Gªówny problem. Jak rozpoznawa bezpieczn kraw d¹? Omówimy dwa ró»ne rozwi zania tego problemu, tj. dwie ró»ne realizacje ogólnej strategii GenericMST: Algorytm Kruskala. Algorytm Prima..3 Idea algorytmu Kruskala Nieformalny opis W ka»dym kroku rozrastaj cy si podgraf T = (V, A) grafu G jest lasem (tj. skªadowe s drzewami). Na pocz tku A =, tj. skªadowe T to jednowierzchoªkowe drzewa. Dodaj c bezpieczn kraw d¹ do A scalamy dwie skªadowe T w jedn. Na ko«cu T scali si w jedno drzewo. W poszukiwaniu kraw dzi bezpiecznych w kolejnych krokach przetwarzamy kraw dzie w kolejno±ci ich rosn cych (niemalej cych) wag. Kraw d¹ e jest bezpieczna, gdy dodanie jej do A nie spowoduje pojawienia si cyklu (jest to równowa»ne z tym,»e e ª czy dwie ró»ne dotychczasowe skªadowe w T ). Nale»y zatem umie rozpoznawa ró»ne skªadowe w grae T. Do tego wykorzystamy now struktur danych, tzw. struktur zbiorów rozª cznych. jego

7 .4 Idea algorytmu Prima Nieformalny opis 7 W odró»nieniu od algorytmu Kruskala, tu T zawsze stanowi jedno drzewo. Na pocz tku T ma 1 wierzchoªek (dowolnie wybrany z G). W ka»dym kroku kraw d¹ bezpieczna to kraw d¹ o najmniejszej wadze spo±ród kraw dzi wystaj cych z T (tj. ª cz cych wierzchoªek z T z wierzchoªkiem spoza T ). Nale»y zatem umie efektywnie wybiera kraw dzie bezpieczne j.w. Do tego wykorzystamy odpowiedni kolejk priorytetow. 3 Zbiory rozª czne 3.1 Struktury danych dla zbiorów rozª cznych W algorytmie Kruskala wykorzystamy nast puj c dynamiczn struktur danych. Kontekst: n ró»nych elementów pogrupowanych w pewn liczb zbiorów rozª cznych. Cel: zdeniowanie i zarz dzanie strukturami danych umo»liwiaj cymi operacje m.in.: ª czenia dwóch zbiorów, stwierdzania, do którego zbioru nale»y element x, stwierdzania, czy dwa elementy x, y nale» do tego samego zbioru. Zarz dzanie rodzin S = {S 1, S,..., S k } rozª cznych zbiorów dynamicznych. Pomysª: ka»dy zbiór S i identykujemy poprzez jego reprezentanta, czyli wyró»niony element x S i. Warunki nakªadane na reprezentanta: na ogóª nie ma znaczenia, który element jest reprezentantem, wa»ne jest, by zadaj c dwukrotnie pytanie o reprezentanta danego zbioru, otrzyma tak sam odpowied¹, o ile zbiór w tym czasie si nie zmieniaª, czasami ustala si na pocz tku pewn zasad wyboru reprezentanta (np. najmniejszym kluczem...). Podstawowe operacje: element z MakeSet(x) tworzy nowy jednoelementowy zbiór S = {x} (o reprezentancie x); x nie mo»e by elementem innego zbioru. Union(x, y) ª czy dwa rozª czne zbiory S x, S y zawieraj ce odpowiednio x i y w nowy zbiór S x S y. Jego reprezentantem mo»e by dowolny element S x S y, na ogóª reprezentant S x lub S y. FindSet(x) zwraca wska¹nik do reprezentanta (jedynego) zbioru zawieraj cego x. stwierdzanie, czy dwa elementy x, y nale» do tego samego zbioru: test FindSet(x) = FindSet(y).

8 3. Proste zastosowanie Przykªad zastosowania: rozpoznawanie spójnych skªadowych w grae (niezorientowanym) G = (V, E). ConnectedComponents(G) for ka»dy v V do 3 MakeSet(v); 4 for ka»da (u, v) E do 5 if FindSet(u) <> FindSet(v) then 6 Union(u, v); 7 end; Po wykonaniu podziaª wierzchoªków na zbiory rozª czne odpowiada podziaªowi na skªadowe spójno±ci. W podobnym kontek±cie wykorzystamy zbiory rozª czne w algorytmie Kruskala (który jest de facto pewn modykacj powy»szej procedury). Teraz, do testowania czy wierzchoªki u i v nale» do tej samej skªadowej mo»emy wykorzysta procedur : SameComponent(u, v) if FindSet(u) = FindSet(v) then 3 return true 4 else return false 5 end; Wiemy: do wyznaczania skªadowych mo»na wykorzysta przegl danie grafu. Gdy do grafu kraw dzie s dodawane w czasie dziaªania algorytmu (czyli trzeba uaktualnia spójne skªadowe), to implementacja przy pomocy zbiorów rozª cznych mo»e by efektywniejsza Heurystyka W dalszej cz ±ci przeprowadzimy prost analiz heurystyczn. Przez heurystyk rozumiemy tu takie projektowanie operacji, by zmniejszy ich koszt zamortyzowany (niekoniecznie koszt pesymistyczny = zªo»ono± pesymistyczn ). Denicja. Koszt zamortyzowany = koszt ±redni operacji P w ci gu n wykona«operacji P. Uwaga. Sªowo heurystyka ma w informatyce równie» inne znaczenia. Przykªad. Wykonujemy kolejno n sortowa«algorytmem sortowania b belkowego P na tym samym zbiorze danych X. Wówczas tylko za pierwszym razem wykonywane s nietrywialne modykacje na X, st d tu koszt zamortyzowany jest znacznie ni»szy ni» koszt pesymistyczny algorytmu P. Oczywi±cie koszt zamortyzowany istotnie zale»y od kontekstu wykonywania danej operacji.

9 3.4 Implementacja listy Implementacja zbiorów rozª cznych w postaci list. 9 Ka»dy zbiór przechowywany jako (dynamiczna) lista. Pierwszy skªadnik listy = reprezentant zbioru. Ka»dy skªadnik listy posiada pola: element zbioru, wska¹nik do nast pnego skªadnika listy, wska¹nik (prowadz cy wstecz) do reprezentanta. MakeSet(x) stworzenie nowej listy o jedynym skªadniku x. Zªo»ono± : O(1). FindSet(x) zwrócenie wska¹nika od x do reprezentanta zbioru. Zªo»ono± : O(1). Union(x, y) doª czenie listy L y z elementem y na koniec listy L x z elementem x. Reprezentantem nowego zbioru jest element b d cy wcze±niej reprezentantem zbioru zawieraj cego x. Trzeba uaktualni wska¹nik do reprezentanta we wszystkich skªadnikach znajduj cych si pierwotnie na li±cie L y. Zªo»ono± : O(s), gdzie s = L y (gdy mamy dost p do ostatniego elementu L x ). Usprawnienie: heurystyka ª czenia z wywa»aniem. Zawsze doª czamy krótsz list do dªu»szej. Trzeba przechowywa (np. w reprezentancie) i uaktualnia rozmiar listy. Asymptotyczna zªo»ono± pojedynczej operacji Union pozostaje taka sama, lecz koszt zamortyzowany jest mniejszy. Pokazuje si,»e wykonanie ci gu m operacji MakeSet, Union i FindSet, spo±ród których n to MakeSet zajmuje przy wywa»aniu czas O(m + nlog n). Bez wywa»ania: O(m ). 3.5 Implementacja drzewa z korzeniem Implementacja w postaci drzew z korzeniem. Ka»dy zbiór przechowywany jako drzewo z korzeniem. Korze«drzewa = reprezentant zbioru. Ka»dy wierzchoªek drzewa posiada pola: element zbioru, wska¹nik do ojca w drzewie (korze«wskazuje na siebie). Struktur drzewa mo»na tak»e zaimplementowa przy wykorzystaniu tablicy ojców indeksowanej elementami, które grupujemy w zbiory.

10 Przykªad. Trzy zbiory rozª czne grupuj ce 10 elementów, reprezentowane poprzez drzewa: s jednoznacznie zakodowane przy pomocy tablicy ojców: i ojciec[i] Operacje: MakeSet(x) stworzenie nowego drzewa o jedynym wierzchoªku x. Zªo»ono± : O(1). FindSet(x) przej±cie po wska¹nikach od x do ojca itp. a» do korzenia. Zªo»ono± : O(h), gdzie h = wysoko± drzewa. Union(x, y) zmiana wska¹nika w korzeniu drzewa T x (zawieraj cego x) tak aby wskazywaª na korze«drzewa T y (zawieraj cego y). Zªo»ono± : O(1) (gdy mamy dost p do korzeni). Dwie heurystyki: 1. Š czenie wg wysoko±ci: drzewo o mniejszej wysoko±ci doª czamy do drzewa o wi kszej wysoko±ci (+ uaktualnienie wysoko±ci).. Kompresja drogi: stosowana przy operacji FindSet(x) polega na zmianie wska¹ników we wszystkich wierzchoªkach na drodze od x do korzenia tak, by wskazywaªy na korze«. Oznaczenia: Implementacja z uwzgl dnieniem heurystyk. h(x) = wysoko± wierzchoªka x ( N), ojciec(x) = ojciec wierzchoªka x (wska¹nik lub odwoªanie do tablicy ojców). MakeSet(x) ojciec(x) := x; 3 h(x) := 0 4 end;

11 11 Š czenie wg wysoko±ci. Wykorzystamy procedur pomocnicz : Link(x, y) if h(x) > h(y) then 3 ojciec(y) := x 4 else begin 5 ojciec(x) := y; 6 if h(x) = h(y) then 7 h(y) := h(y) end 9 end; Union(x, y) Link(FindSet(x), FindSet(y)) 3 end; FindSet z kompresj drogi: FindSet(x) if x <> ojciec(x) then 3 ojciec(x) := FindSet( ojciec(x) ); 4 return ojciec(x) 5 end; Uwaga. Zauwa»my,»e po FindSet wysoko± drzewa mo»e ulec zmianie (zmniejszeniu). Mimo to, nie uaktualniamy warto±ci h dla»adnego wierzchoªka. Utrzymywanie poprawnych warto±ci wysoko±ci drzew byªoby niepotrzebnie kosztowne. Zatem warto±ci h nale»y tak naprawd interpretowa jako górne ograniczenia wysoko±ci drzew. Zaªó»my,»e wykonujemy ci g m operacji MakeSet, Union i FindSet, spo±ród których n to MakeSet. Twierdzenie (Hopcroft, Ullman). Zªo»ono± wykonania ci gu powy»szych operacji z uwzgl dnieniem heurystyk 1 i wynosi O(m log n). log = logarytm iterowany. log jest funkcj bardzo wolno rosn c. log n 5 dla wszystkich 1 n Liczba atomów we wszech±wiecie < Kruskal 4.1 Poprawno± Zanim przedstawimy konkretny pseudokod, wprowadzimy kilka poj i faktów pozwalaj cych zrozumie, dlaczego idea algorytmu Kruskala przedstawiona wcze±niej zawsze daje poprawne rozwi zanie.

12 Poj cia te wyst puj te» w innych kontekstach algorytmów grafowych. 1 Bardziej szczegóªowy dowód poprawno±ci mo»na znale¹ np. w ksi»ce [1] ze spisu literatury do wykªadu (T. H. Cormen et al.). 4. Przekroje Denicje: Ka»dy podzbiór S V wyznacza przekrój (S, V \ S) grafu G = (V, E). Kraw d¹ {u, v} krzy»uje si z przekrojem (S, V \ S), je±li jeden z jej ko«ców nale»y do S, a drugi do V \ S. Przekrój (S, V \ S) uwzgl dnia zbiór kraw dzi A, je±li»adna kraw d¹ z A nie krzy»uje si z tym przekrojem. Kraw d¹ e E krzy»uj ca si z przekrojem jest kraw dzi lekk, je±li w(e) jest najmniejsza spo±ród wag wszystkich kraw dzi krzy»uj cych si z tym przekrojem. Przytoczymy bez dowodu kluczowy fakt, na którym opiera si uzasadnienie poprawno±ci obu algorytmów. G = (V, E) spójny graf niezorientowany z funkcj wagow w : E R + Twierdzenie Niech E A podzbiór zbioru kraw dzi pewnego MST dla G, (S, V \ S) dowolny przekrój grafu G uwzgl dniaj cy A, {u, v} kraw d¹ lekka krzy»uj ca si z (S, V \ S). Wówczas kraw d¹ {u, v} jest bezpieczna dla A. Przypomnienie idei algorytmu: GenericMST(G, w) A := ; 3 while A nie tworzy drzewa rozpinaj cego do 4 begin 5 znajd¹ kraw d¹ {u, v} E\A bezpieczn dla A; 6 A := A { {u, v} } 7 end 8 end; Rozwa»my graf T = (V, A). skªadowa jest drzewem. W ka»dym kroku jest on acykliczny ka»da jego spójna na pocz tku A = T skªada si z V jednowierzchoªkowych drzew, poniewa» A { {u, v} } musi by acykliczny, ka»da bezpieczna kraw d¹ {u, v} dla A ª czy ró»ne skªadowe z T, w ka»dym kroku kolejne skªadowe T ª cz si (liczba drzew maleje), na ko«cu las T zawiera tylko 1 drzewo jest MST.

13 Wniosek Niech E A podzbiór zbioru kraw dzi pewnego MST dla G, C = spójna skªadowa w lesie T = (V, A), {u, v} kraw d¹ o najmniejszej wadze spo±ród ª cz cych C z pewn inn skªadow w T. Wówczas kraw d¹ {u, v} jest bezpieczna dla A. Dowód. Przekrój (C, V \ C) uwzgl dnia A. {u, v} jest kraw dzi lekk krzy»uj c si z tym przekrojem. Na mocy twierdzenia {u, v} jest kraw dzi bezpieczn dla A. 4.3 Algorytm Podsumowanie: szczegóªowa wersja algorytmu GenericMST algorytm Kruskala (który jest w pewnym sensie modykacj procedury ConnectedComponents z 3.). MST-Kruskal(G, w) A := ; 3 for ka»dy v V do 4 MakeSet(v); 5 posortuj E niemalej co wzgl dem wag w; 6 for ka»da {u, v} E, w kolejno±ci niemalej cych wag do 7 if FindSet(u) <> FindSet(v) then 8 begin 9 A := A { {u, v} }; 10 Union(u, v) 11 end 1 return A 13 end; Zªo»ono± : O( E log E ) (przy najszybszych implementacjach zbiorów rozª cznych i sortowania, por. Twierdzenie 3.5). 4.4 Przebieg algorytmu Kruskala

14

15 5 Prim 5.1 Poprawno± Inna realizacja ogólnego algorytmu GenericMST algorytm Prima W przeciwie«stwie do algorytmu Kruskala, kraw dzie z A tworz zawsze pojedyncze drzewo. Pocz tkowo drzewo to skªada si z dowolnie wybranego wierzchoªka-korzenia r V ; nast pnie ro±nie do chwili, w której rozpina wszystkie wierzchoªki z V. Rozwa»any przekrój: (V (A), V \ V (A)) (V (A) := zbiór ko«ców kraw dzi z A). W ka»dym kroku dodajemy kraw d¹ lekk krzy»uj c si z tym przekrojem (tj. kraw d¹ o najmniejszej wadze spo±ród tych wystaj cych z A). Przekrój (V (A), V \ V (A)) uwzgl dnia A, zatem kraw d¹ ta jest bezpieczna dla A (patrz Twierdzenie 4.). 5. Implementacja Jak wyznacza kraw d¹ lekk krzy»uj c si z przekrojem (V (A), V \ V (A))? Wierzchoªki spoza rozrastaj cego si drzewa trzymamy w kolejce priorytetowej Q (por. poprzedni wykªad). Dla ka»dego v V kluczem klucz(v) (tzn. priorytetem wyznaczaj cym pozycj w kolejce Q) jest najmniejsza waga spo±ród wag kraw dzi ª cz cych v z wierzchoªkami drzewa. W zmiennej π[v] pami tamy ojca v w obliczanym drzewie. Podczas wykonywania algorytmu zbiór A jest pami tany niejawnie jako A = { {π[v], v} : v (V \ {r}) \ Q}. Po zako«czeniu algorytmu Q =, zbiorem kraw dzi MST w G jest wi c A = { {π[v], v} : v V \ {r}}. Przypomnijmy,»e symbolem Adj[u] oznaczamy zbiór s siadów wierzchoªka u. 5.3 Algorytm Inna realizacja ogólnego algorytmu algorytm Prima.

16 MST-Prim(G, w, r) Q := V; 3 for ka»dy u Q do klucz(u) := ; 4 klucz(r) := 0; 5 π[r] := ; 6 while Q <> do 7 begin 8 u := ExtractMin(Q); 9 for ka»dy v Adj[u] do 10 if (v Q) and (w(u, v) < klucz(v)) then 1 1 π[v] := u; 13 klucz[v] := w(u, v) 14 end end; 16 return π 17 end; 16 Zªo»ono± : O( E log V ) (gdy kolejka implementowana na kopcu). 5.4 Przebieg algorytmu Prima Dowolnie ustalamy korze«r - wierzchoªek startowy. r r r r r r 1 8 9

Minimalne drzewo rozpinaj ce

Minimalne drzewo rozpinaj ce Minimalne drzewo rozpinaj ce Autor projektu: dr Andrzej Mróz (UMK) Projekt pn. Wzmocnienie potencjaªu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziaªania

Bardziej szczegółowo

Minimalne drzewa rozpinaj ce

Minimalne drzewa rozpinaj ce y i y i drzewa Spis zagadnie«y i drzewa i lasy cykle fundamentalne i rozci cia fundamentalne wªasno±ci cykli i rozci minimalne drzewa algorytm algorytm Drzewo y i spójnego, nieskierowanego grafu prostego

Bardziej szczegółowo

Algorytmy grafowe 2. Andrzej Jastrz bski. Akademia ETI. Politechnika Gda«ska Algorytmy grafowe 2

Algorytmy grafowe 2. Andrzej Jastrz bski. Akademia ETI. Politechnika Gda«ska Algorytmy grafowe 2 Algorytmy grafowe 2 Andrzej Jastrz bski Akademia ETI Minimalne drzewo spinaj ce Drzewem nazywamy spójny graf nie posiadaj cy cyklu. Liczba wierzchoªków drzewa jest o jeden wi ksza od liczby jego kraw dzi.

Bardziej szczegółowo

Podstawowe algorytmy grafowe i ich zastosowania

Podstawowe algorytmy grafowe i ich zastosowania Podstawowe algorytmy grafowe i ich zastosowania dr Andrzej Mróz (UMK w Toruniu) 2013 Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego Projekt pn. Wzmocnienie

Bardziej szczegółowo

Najkrótsze drogi w grafach z wagami

Najkrótsze drogi w grafach z wagami Najkrótsze drogi w grafach z wagami dr Andrzej Mróz (UMK w Toruniu) 013 Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego Projekt pn. Wzmocnienie potencjaªu

Bardziej szczegółowo

Podstawowe algorytmy grafowe i ich zastosowania

Podstawowe algorytmy grafowe i ich zastosowania Podstawowe algorytmy grafowe i ich zastosowania Autor projektu: dr Andrzej Mróz (UMK) Projekt pn. Wzmocnienie potencjaªu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany

Bardziej szczegółowo

Najkrótsze drogi w grafach z wagami

Najkrótsze drogi w grafach z wagami Najkrótsze drogi w grafach z wagami Autor projektu: dr Andrzej Mróz (UMK) Projekt pn. Wzmocnienie potencjaªu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziaªania

Bardziej szczegółowo

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II. Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II. Poni»sze zadania s wyborem zada«z kolokwiów ze Wst pu do Informatyki jakie przeprowadziªem w ci gu ostatnich lat. Marek Zawadowski Zadanie 1 Napisz

Bardziej szczegółowo

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Wykład 8. Drzewo rozpinające (minimum spanning tree) Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,

Bardziej szczegółowo

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA. W obu podpunktach zakªadamy,»e kolejno± ta«ców jest wa»na.

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA. W obu podpunktach zakªadamy,»e kolejno± ta«ców jest wa»na. Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zadanko 1 (12p.) Na imprezie w Noc Kupaªy s 44 dziewczyny. Nosz one 11 ró»nych imion, a dla ka»dego imienia s dokªadnie 4 dziewczyny o tym imieniu przy czym ka»da

Bardziej szczegółowo

c Marcin Sydow Spójno± Grafy i Zastosowania Grafy Eulerowskie 2: Drogi i Cykle Grafy Hamiltonowskie Podsumowanie

c Marcin Sydow Spójno± Grafy i Zastosowania Grafy Eulerowskie 2: Drogi i Cykle Grafy Hamiltonowskie Podsumowanie 2: Drogi i Cykle Spis Zagadnie«drogi i cykle spójno± w tym sªaba i silna k-spójno± (wierzchoªkowa i kraw dziowa) dekompozycja grafu na bloki odlegªo±ci w grae i poj cia pochodne grafy Eulera i Hamiltona

Bardziej szczegółowo

Drzewa Gomory-Hu Wprowadzenie. Drzewa Gomory-Hu. Jakub Š cki. 14 pa¹dziernika 2009

Drzewa Gomory-Hu Wprowadzenie. Drzewa Gomory-Hu. Jakub Š cki. 14 pa¹dziernika 2009 Wprowadzenie Drzewa Gomory-Hu Jakub Š cki 14 pa¹dziernika 2009 Wprowadzenie 1 Wprowadzenie Podstawowe poj cia i fakty 2 Istnienie drzew Gomory-Hu 3 Algorytm budowy drzew 4 Problemy otwarte Wprowadzenie

Bardziej szczegółowo

c Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach

c Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach 12: w sieciach Spis zagadnie«sieci przepªywowe przepªywy w sieciach ±cie»ka powi kszaj ca tw. Forda-Fulkersona Znajdowanie maksymalnego przepªywu Zastosowania przepªywów Sieci przepªywowe Sie przepªywowa

Bardziej szczegółowo

Teoria grafów i sieci 1 / 188

Teoria grafów i sieci 1 / 188 Teoria grafów i sieci / Drzewa z wagami Drzewem z wagami nazywamy drzewo z korzeniem, w którym do ka»dego li±cia przyporz dkowana jest liczba nieujemna, nazywana wag tego li±cia. / Drzewa z wagami Drzewem

Bardziej szczegółowo

Notatki z AiSD. Nr 2. 4 marca 2010 Algorytmy Zachªanne.

Notatki z AiSD. Nr 2. 4 marca 2010 Algorytmy Zachªanne. Notatki z AiSD. Nr 2. 4 marca 2010 Algorytmy Zachªanne. IIUWr. II rok informatyki. Przygotowaª: Krzysztof Lory± 1 Schemat ogólny. Typowe zadanie rozwi zywane metod zachªann ma charakter optymalizacyjny.

Bardziej szczegółowo

Lab. 02: Algorytm Schrage

Lab. 02: Algorytm Schrage Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Cz ± druga Prowadz cy: dr Andrzej Mróz, Wydziaª Matematyki i Informatyki, Uniwersytet Mikoªaja Kopernika 1 / 82 Rekurencja Procedura (funkcja) rekurencyjna wywoªuje sam siebie.

Bardziej szczegółowo

Egzaminy i inne zadania. Semestr II.

Egzaminy i inne zadania. Semestr II. Egzaminy i inne zadania. Semestr II. Poni»sze zadania s wyborem zada«ze Wst pu do Informatyki z egzaminów jakie przeprowadziªem w ci gu ostatnich lat. Ponadto doª czyªem szereg zada«, które pojawiaªy si

Bardziej szczegółowo

Teoria grafów i jej zastosowania. 1 / 126

Teoria grafów i jej zastosowania. 1 / 126 Teoria grafów i jej zastosowania. 1 / 126 Mosty królewieckie W Królewcu, na rzece Pregole znajduj si dwie wyspy poª czone ze sob, a tak»e z brzegami za pomoc siedmiu mostów, tak jak pokazuje rysunek 2

Bardziej szczegółowo

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X. Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór

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

Przekroje Dedekinda 1

Przekroje Dedekinda 1 Przekroje Dedekinda 1 O liczbach wymiernych (tj. zbiorze Q) wiemy,»e: 1. zbiór Q jest uporz dkowany relacj mniejszo±ci < ; 2. zbiór liczb wymiernych jest g sty, tzn.: p, q Q : p < q w : p < w < q 3. 2

Bardziej szczegółowo

Listy i operacje pytania

Listy i operacje pytania Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik

Bardziej szczegółowo

Elementy teorii grafów, sposoby reprezentacji grafów w komputerze

Elementy teorii grafów, sposoby reprezentacji grafów w komputerze Elementy teorii grafów, sposoby reprezentacji grafów w komputerze Autor projektu: dr Andrzej Mróz (UMK) Projekt pn. Wzmocnienie potencjaªu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych

Bardziej szczegółowo

12: Znajdowanie najkrótszych ±cie»ek w grafach

12: Znajdowanie najkrótszych ±cie»ek w grafach 12: Znajdowanie najkrótszych ±cie»ek w grafach Spis zagadnie«problem najkrótszych ±cie»ek z jednym ¹ródªem Rozwi zanie sznurkowe kraw dzi Wariant 1: Wariant 2: nieujemne kraw dzie (Dijkstra) Wariant 3:

Bardziej szczegółowo

TEORIA GRAFÓW. Graf skierowany dla ka»dej kraw dzi (oznaczanej tutaj jako ªuk) para wierzchoªków incydentnych jest par uporz dkowan {u, v}.

TEORIA GRAFÓW. Graf skierowany dla ka»dej kraw dzi (oznaczanej tutaj jako ªuk) para wierzchoªków incydentnych jest par uporz dkowan {u, v}. Podstawowe denicje: TEORIA GRAFÓW Graf (nieskierowany) G = (V, E) struktura skªadaj ca si ze: zbioru wierzchoªków V = {,,..., v n } oraz zbioru kraw dzi E = {e 1, e 2,..., e m }. Z ka»d kraw dzi e skojarzona

Bardziej szczegółowo

Elementy teorii grafów, sposoby reprezentacji grafów w komputerze

Elementy teorii grafów, sposoby reprezentacji grafów w komputerze Elementy teorii grafów, sposoby reprezentacji grafów w komputerze dr Andrzej Mróz (UMK w Toruniu) 2013 Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego Projekt

Bardziej szczegółowo

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1 J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)

Bardziej szczegółowo

Metoda tablic semantycznych. 1 Metoda tablic semantycznych

Metoda tablic semantycznych. 1 Metoda tablic semantycznych 1 Zarówno metoda tablic semantycznych, jak i rezolucji, to dosy sprawny algorytm do badania speªnialni±ci formuª, a wi c i tautologii. Chodzi w niej o wskazanie, je±li istnieje, modelu dla formuªy. Opiera

Bardziej szczegółowo

Grafy i Zastosowania. 5: Drzewa Rozpinaj ce. c Marcin Sydow. Drzewa rozpinaj ce. Cykle i rozci cia fundamentalne. Zastosowania

Grafy i Zastosowania. 5: Drzewa Rozpinaj ce. c Marcin Sydow. Drzewa rozpinaj ce. Cykle i rozci cia fundamentalne. Zastosowania Grafy i Grafy i 5: Rozpinaj ce Spis zagadnie«grafy i i lasy cykle fundamentalne i wªasno±ci cykli i rozci przestrzenie cykli i rozci * : zastosowanie w sieciach elektrycznych minimalne * algorytm Kruskala*

Bardziej szczegółowo

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie Cz ± II Podziaª pracy 1 Tablica sortuj ca Kolejka priorytetowa to struktura danych udost pniaj ca operacje wstawienia warto±ci i pobrania warto±ci minimalnej. Z kolejki liczb caªkowitych, za po±rednictwem

Bardziej szczegółowo

Metodydowodzenia twierdzeń

Metodydowodzenia twierdzeń 1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych

Bardziej szczegółowo

c Marcin Sydow Planarno± Grafy i Zastosowania Tw. Eulera 7: Planarno± Inne powierzchnie Dualno± Podsumowanie

c Marcin Sydow Planarno± Grafy i Zastosowania Tw. Eulera 7: Planarno± Inne powierzchnie Dualno± Podsumowanie 7: Spis zagadnie«twierdzenie Kuratowskiego Wªasno±ci planarno±ci Twierdzenie Eulera Grafy na innych powierzchniach Poj cie dualno±ci geometrycznej i abstrakcyjnej Graf Planarny Graf planarny to taki graf,

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

Mosty królewieckie, chi«ski listonosz i... kojarzenie maª»e«stw

Mosty królewieckie, chi«ski listonosz i... kojarzenie maª»e«stw Mosty królewieckie, chi«ski listonosz i... kojarzenie maª»e«stw 3 kwietnia 2014 roku 1 / 106 Mosty królewieckie W Królewcu, na rzece Pregole znajduj si dwie wyspy poª czone ze sob, a tak»e z brzegami za

Bardziej szczegółowo

Grafy i Zastosowania. 11: Twierdzenia Minimaksowe. c Marcin Sydow. Wst p: Tw. Halla. Dualno± Zbiory niezale»ne. Skojarzenia c.d.

Grafy i Zastosowania. 11: Twierdzenia Minimaksowe. c Marcin Sydow. Wst p: Tw. Halla. Dualno± Zbiory niezale»ne. Skojarzenia c.d. 11: Twierdzenia Minimaksowe Spis zagadnie«wst p: Kojarzenie Maª»e«stw i i twierdzenia minimaksowe i pokrycia (Tw. Gallai) w grafach (tw. Berge'a) w grafach dwudzielnych (tw. Königa, ) Pokrycia macierzy

Bardziej szczegółowo

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017 i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski Uniwersytet Šódzki, Wydziaª Matematyki i Informatyki UŠ piotr@fulmanski.pl http://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych Lista zada«. Nr 4. 9 kwietnia 2016 IIUWr. II rok informatyki. Algorytmy i Struktury Danych 1. (0pkt) Rozwi» wszystkie zadania dodatkowe. 2. (1pkt) Uªó» algorytm znajduj cy najta«sz drog przej±cia przez

Bardziej szczegółowo

Grafy. Andrzej Jastrz bski. Akademia ET I. Politechnika Gda«ska

Grafy. Andrzej Jastrz bski. Akademia ET I. Politechnika Gda«ska Andrzej Jastrz bski Akademia ET I Graf Grafem nazywamy par G = (V, E), gdzie V to zbiór wierzchoªków, E zbiór kraw dzi taki,»e E {{u, v} : u, v V u v}. Wierzchoªki v, u V s s siaduj ce je±li s poª czone

Bardziej szczegółowo

Wykªad 4. Funkcje wielu zmiennych.

Wykªad 4. Funkcje wielu zmiennych. Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 4. Funkcje wielu zmiennych. Zbiory na pªaszczy¹nie i w przestrzeni.

Bardziej szczegółowo

Teoria grafów i sieci 1 / 58

Teoria grafów i sieci 1 / 58 Teoria grafów i sieci 1 / 58 Literatura 1 B.Korte, J.Vygen, Combinatorial optimization 2 D.Jungnickel, Graphs, Networks and Algorithms 3 M.Sysªo, N.Deo Metody optymalizacji dyskretnej z przykªadami w Turbo

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

O pewnym zadaniu olimpijskim

O pewnym zadaniu olimpijskim O pewnym zadaniu olimpijskim Michaª Seweryn, V LO w Krakowie opiekun pracy: dr Jacek Dymel Problem pocz tkowy Na drugim etapie LXII Olimpiady Matematycznej pojawiª si nast puj cy problem: Dla ka»dej liczby

Bardziej szczegółowo

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15 ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku

Bardziej szczegółowo

c Marcin Sydow Grafy i Zastosowania BFS DFS 4: Przeszukiwanie Grafów (BFS, DFS i zastosowania) DFS nieskierowane DFS skierowane Podsumowanie

c Marcin Sydow Grafy i Zastosowania BFS DFS 4: Przeszukiwanie Grafów (BFS, DFS i zastosowania) DFS nieskierowane DFS skierowane Podsumowanie 4: Przeszukiwanie Grafów (, i zastosowania) Spis zagadnie«przeszukiwanie grafów (rola, schemat ogólny, zastosowania) realizacje (kolejka, stos, rekurencja) przeszukiwanie wszerz zastosowania przeszukiwanie

Bardziej szczegółowo

Egzaminy i inne zadania. Semestr II.

Egzaminy i inne zadania. Semestr II. Egzaminy i inne zadania. Semestr II. Poni»sze zadania s wyborem zada«ze Wst pu do Informatyki z egzaminów jakie przeprowadziªem w ci gu ostatnich lat. Ponadto doª czyªem szereg zada«, które pojawiaªy si

Bardziej szczegółowo

1 a + b 1 = 1 a + 1 b 1. (a + b 1)(a + b ab) = ab, (a + b)(a + b ab 1) = 0, (a + b)[a(1 b) + (b 1)] = 0,

1 a + b 1 = 1 a + 1 b 1. (a + b 1)(a + b ab) = ab, (a + b)(a + b ab 1) = 0, (a + b)[a(1 b) + (b 1)] = 0, XIII Warmi«sko-Mazurskie Zawody Matematyczne. Olsztyn 2015 Rozwi zania zada«dla szkóª ponadgimnazjalnych ZADANIE 1 Zakªadamy,»e a, b 0, 1 i a + b 1. Wykaza,»e z równo±ci wynika,»e a = -b 1 a + b 1 = 1

Bardziej szczegółowo

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Bash i algorytmy. Elwira Wachowicz. 20 lutego Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad

Bardziej szczegółowo

1 Metody iteracyjne rozwi zywania równania f(x)=0

1 Metody iteracyjne rozwi zywania równania f(x)=0 1 Metody iteracyjne rozwi zywania równania f()=0 1.1 Metoda bisekcji Zaªó»my,»e funkcja f jest ci gªa w [a 0, b 0 ]. Pierwiastek jest w przedziale [a 0, b 0 ] gdy f(a 0 )f(b 0 ) < 0. (1) Ustalmy f(a 0

Bardziej szczegółowo

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14 WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4 Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................

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

10a: Wprowadzenie do grafów

10a: Wprowadzenie do grafów 10a: Wprowadzenie do grafów Spis zagadnie«zastosowania grafów denicja grafu (i skierowanego), prostego, multigrafu drogi i cykle, spójno± w tym sªaba i silna drzewo i las: denicja, charakteryzacje, wªasno±ci

Bardziej szczegółowo

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem

Bardziej szczegółowo

Metody dowodzenia twierdze«

Metody dowodzenia twierdze« Metody dowodzenia twierdze«1 Metoda indukcji matematycznej Je±li T (n) jest form zdaniow okre±lon w zbiorze liczb naturalnych, to prawdziwe jest zdanie (T (0) n N (T (n) T (n + 1))) n N T (n). 2 W przypadku

Bardziej szczegółowo

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne) X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne) Zadanie 1 Obecnie u»ywane tablice rejestracyjne wydawane s od 1 maja 2000r. Numery rejestracyjne aut s tworzone ze zbioru

Bardziej szczegółowo

c Marcin Sydow Wst p Grafy i Zastosowania Wierzchoªki 8: Kolorowanie Grafów Mapy Kraw dzie Zliczanie Podsumowanie

c Marcin Sydow Wst p Grafy i Zastosowania Wierzchoªki 8: Kolorowanie Grafów Mapy Kraw dzie Zliczanie Podsumowanie 8: Kolorowanie Grafów Spis zagadnie«kolorowanie wierzchoªków Kolorowanie map Kolorowanie kraw dzi Wielomian chromatyczny Zastosowania Problem kolorowania grafów ma wiele odmian (np. kolorowanie wierzchoªków,

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

Zbiory i odwzorowania

Zbiory i odwzorowania Zbiory i odwzorowania 1 Sposoby okre±lania zbiorów 1) Zbiór wszystkich elementów postaci f(t), gdzie t przebiega zbiór T : {f(t); t T }. 2) Zbiór wszystkich elementów x zbioru X speªniaj cych warunek ϕ(x):

Bardziej szczegółowo

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14 WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 2013/14 Spis tre±ci 1 Kodowanie i dekodowanie 4 1.1 Kodowanie a szyfrowanie..................... 4 1.2 Podstawowe poj cia........................

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1 Ciaªa i wielomiany 1 Ciaªa i wielomiany 1 Denicja ciaªa Niech F b dzie zbiorem, i niech + (dodawanie) oraz (mno»enie) b d dziaªaniami na zbiorze F. Denicja. Zbiór F wraz z dziaªaniami + i nazywamy ciaªem,

Bardziej szczegółowo

XVII Warmi«sko-Mazurskie Zawody Matematyczne

XVII Warmi«sko-Mazurskie Zawody Matematyczne 1 XVII Warmi«sko-Mazurskie Zawody Matematyczne Kategoria: klasa VIII szkoªy podstawowej i III gimnazjum Olsztyn, 16 maja 2019r. Zad. 1. Udowodnij,»e dla dowolnych liczb rzeczywistych x, y, z speªniaj cych

Bardziej szczegółowo

Materiaªy do Repetytorium z matematyki

Materiaªy do Repetytorium z matematyki Materiaªy do Repetytorium z matematyki 0/0 Dziaªania na liczbach wymiernych i niewymiernych wiczenie Obliczy + 4 + 4 5. ( + ) ( 4 + 4 5). ( : ) ( : 4) 4 5 6. 7. { [ 7 4 ( 0 7) ] ( } : 5) : 0 75 ( 8) (

Bardziej szczegółowo

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne Maszyny Turinga Maszyna Turinga jest automatem ta±mowym, skª da si z ta±my (tablicy symboli) potencjalnie niesko«czonej w prawo, zakªadamy,»e w prawie wszystkich (tzn. wszystkich poza sko«czon liczb )

Bardziej szczegółowo

Wykªad 4. Droga i cykl Eulera i Hamiltona

Wykªad 4. Droga i cykl Eulera i Hamiltona Wykªad 4. Droga i cykl Eulera i Hamiltona 1 / 92 Grafy Eulera Droga i cykl Eulera Niech G b dzie grafem spójnym. Denicja Je»eli w grae G istnieje zamkni ta droga prosta zawieraj ca wszystkie kraw dzie

Bardziej szczegółowo

W poprzednim odcinku... Podstawy matematyki dla informatyków. Relacje równowa»no±ci. Zbiór (typ) ilorazowy. Klasy abstrakcji

W poprzednim odcinku... Podstawy matematyki dla informatyków. Relacje równowa»no±ci. Zbiór (typ) ilorazowy. Klasy abstrakcji W poprzednim odcinku... Podstawy matematyki dla informatyków Rodzina indeksowana {A t } t T podzbiorów D to taka funkcja A : T P(D),»e A(t) = A t, dla dowolnego t T. Wykªad 3 20 pa¹dziernika 2011 Produkt

Bardziej szczegółowo

1 Granice funkcji wielu zmiennych.

1 Granice funkcji wielu zmiennych. AM WNE 008/009. Odpowiedzi do zada«przygotowawczych do czwartego kolokwium. Granice funkcji wielu zmiennych. Zadanie. Zadanie. Pochodne. (a) 0, Granica nie istnieje, (c) Granica nie istnieje, (d) Granica

Bardziej szczegółowo

Podstawowepojęciateorii grafów

Podstawowepojęciateorii grafów 7 Podstawowepojęciateorii grafów Wiele sytuacji z»ycia codziennego mo»e by w wygodny sposób opisanych gracznie za pomoc rysunków skªadaj cych si ze zbioru punktów i linii ª cz cych pewne pary tych punktów.

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

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy. 1 Klasy. Klasa to inaczej mówi c typ który podobnie jak struktura skªada si z ró»nych typów danych. Tworz c klas programista tworzy nowy typ danych, który mo»e by modelem rzeczywistego obiektu. 1.1 Denicja

Bardziej szczegółowo

Algorytmiczna teoria grafów

Algorytmiczna teoria grafów 18 maja 2013 Twierdzenie Halla o maª»e«stwach Problem Wyobra¹my sobie,»e mamy m dziewczyn i pewn liczb chªopców. Ka»da dziewczyna chce wyj± za m», przy czym ka»da z nich godzi si po±lubi tylko pewnych

Bardziej szczegółowo

Programowanie funkcyjne. Wykªad 13

Programowanie funkcyjne. Wykªad 13 Programowanie funkcyjne. Wykªad 13 Siªa wyrazu rachunku lambda Zdzisªaw Spªawski Zdzisªaw Spªawski: Programowanie funkcyjne. Wykªad 13, Siªa wyrazu rachunku lambda 1 Wst p Warto±ci logiczne Liczby naturalne

Bardziej szczegółowo

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu ➏ Filozoa z elementami logiki Na podstawie wykªadów dra Mariusza Urba«skiego Sylogistyka Przypomnij sobie: stosunki mi dzy zakresami nazw KLASYCZNE ZDANIA KATEGORYCZNE Trzy znaczenia sªowa jest trzy rodzaje

Bardziej szczegółowo

Przykªady problemów optymalizacji kombinatorycznej

Przykªady problemów optymalizacji kombinatorycznej Przykªady problemów optymalizacji kombinatorycznej Problem Komiwoja»era (PK) Dane: n liczba miast, n Z +, c ji, i, j {1,..., n}, i j odlegªo± mi dzy miastem i a miastem j, c ji = c ij, c ji R +. Zadanie:

Bardziej szczegółowo

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy. Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta

Bardziej szczegółowo

Podstawy matematyki dla informatyków

Podstawy matematyki dla informatyków Podstawy matematyki dla informatyków Wykªad 6 10 listopada 2011 W poprzednim odcinku... Zbiory A i B s równoliczne (tej samej mocy ), gdy istnieje bijekcja f : A 1 1 B. Piszemy A B lub A = B. na Moc zbioru

Bardziej szczegółowo

Programowanie wspóªbie»ne

Programowanie wspóªbie»ne 1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast

Bardziej szczegółowo

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb Wybrane poj cia i twierdzenia z wykªadu z teorii liczb 1. Podzielno± Przedmiotem bada«teorii liczb s wªasno±ci liczb caªkowitych. Zbiór liczb caªkowitych oznacza b dziemy symbolem Z. Zbiór liczb naturalnych

Bardziej szczegółowo

Grafy i Zastosowania. 6: Najkrótsze ±cie»ki. c Marcin Sydow. Najkrótsze cie»ki. Warianty. Relaksacja DAG. Algorytm Dijkstry.

Grafy i Zastosowania. 6: Najkrótsze ±cie»ki. c Marcin Sydow. Najkrótsze cie»ki. Warianty. Relaksacja DAG. Algorytm Dijkstry. 6: ±cie»ki Spis zagadnie«problem najkrótszych ±cie»ek z jednym ¹ródªem Rozwi zanie sznurkowe kraw dzi Wariant 1: Wariant 2: nieujemne kraw dzie (Dijkstra) Wariant 3: dowolny graf () ±cie»ki dla wszystkich

Bardziej szczegółowo

Algorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI

Algorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI Andrzej Jastrz bski Akademia ETI Wyszukiwanie wzorca Wyszukiwaniem wzorca nazywamy sprawdzenie, czy w podanym tekscie T znajduje si podci g P. Szukamy sªowa kot: Ala ma kota, kot ma ale. Algorytm naiwny

Bardziej szczegółowo

c Marcin Sydow Podstawy Grafy i Zastosowania Kod Prüfera 3: Drzewa Drzewa ukorzenione * Drzewa binarne Zastosowania Podsumowanie

c Marcin Sydow Podstawy Grafy i Zastosowania Kod Prüfera 3: Drzewa Drzewa ukorzenione * Drzewa binarne Zastosowania Podsumowanie Grafy i Grafy i 3: Spis zagadnie«grafy i drzewo i las: denicja, charakteryzacje, wªasno±ci kodowanie Prüfera i zliczanie drzew etykietowanych (tw. Cayleya) drzewa drzewa zliczanie drzew binarnych (tw.

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Cz ± pierwsza Prowadz cy: dr Andrzej Mróz, Wydziaª Matematyki i Informatyki, Uniwersytet Mikoªaja Kopernika 1 / 65 Opis przedmiotu Zagadnienia, którymi si zajmiemy: metody

Bardziej szczegółowo

ALGORYTMY SORTOWANIA DANYCH

ALGORYTMY SORTOWANIA DANYCH ALGORYTMY SORTOWANIA DANYCH W zagadnieniu sortowania danych rozpatrywa b dziemy n liczb caªkowitych, b d cych pierwotnie w losowej kolejno±ci, które nale»y uporz dkowa nierosn co. Oczywi±cie sortowa mo»emy

Bardziej szczegółowo

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec PROE wykład 7 kontenery tablicowe, listy dr inż. Jacek Naruniec Prosty kontener oparty na tablicach Funkcja dodawanie pojedynczego słonia do kontenera: 1 2 3 4 5 6 7 11 12 13 14 15 16 17 21 22 23 24 25

Bardziej szczegółowo

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja

Bardziej szczegółowo

Programowanie wspóªbie»ne

Programowanie wspóªbie»ne 1 Programowanie wspóªbie»ne wiczenia 5 monitory cz. 1 Zadanie 1: Stolik dwuosobowy raz jeszcze W systemie dziaªa N par procesów. Procesy z pary s nierozró»nialne. Ka»dy proces cyklicznie wykonuje wªasnesprawy,

Bardziej szczegółowo

istnienie elementu neutralnego dodawania (zera): 0 K a K a + 0 = a, istnienie elementu neutralnego mno»enia (jedynki): 1 K a K a 1 = a,

istnienie elementu neutralnego dodawania (zera): 0 K a K a + 0 = a, istnienie elementu neutralnego mno»enia (jedynki): 1 K a K a 1 = a, Ciaªo Denicja. Zbiór K z dziaªaniami dodawania + oraz mno»enia (których argumentami s dwa elementy z tego zbioru, a warto±ciami elementy z tego zbioru) nazywamy ciaªem, je±li zawiera co najmniej dwa elementy

Bardziej szczegółowo

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia

Bardziej szczegółowo

Wykªad 1. Wprowadzenie do teorii grafów

Wykªad 1. Wprowadzenie do teorii grafów Wykªad 1. Wprowadzenie do teorii grafów 1 / 112 Literatura 1 W. Lipski; Kombinatoryka dla programistów. 2 T. Cormen, Ch. E. Leiserson, R. L. Rivest; Wprowadzenie do algorytmów. 3 K. A. Ross, Ch. R. B.

Bardziej szczegółowo

Indeksowane rodziny zbiorów

Indeksowane rodziny zbiorów Logika i teoria mnogo±ci, konspekt wykªad 7 Indeksowane rodziny zbiorów Niech X b dzie przestrzeni zbiorem, którego podzbiorami b d wszystkie rozpatrywane zbiory, R rodzin wszystkich podzbiorów X za± T

Bardziej szczegółowo

Programowanie i struktury danych 1 / 44

Programowanie i struktury danych 1 / 44 Programowanie i struktury danych 1 / 44 Lista dwukierunkowa Lista dwukierunkowa to liniowa struktura danych skªadaj ca si z ci gu elementów, z których ka»dy pami ta swojego nast pnika i poprzednika. Operacje

Bardziej szczegółowo

Interpolacja funkcjami sklejanymi

Interpolacja funkcjami sklejanymi Interpolacja funkcjami sklejanymi Funkcje sklejane: Zaªó»my,»e mamy n + 1 w zªów t 0, t 1,, t n takich,»e t 0 < t 1 < < t n Dla danej liczby caªkowitej, nieujemnej k funkcj sklejan stopnia k nazywamy tak

Bardziej szczegółowo

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1 Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem

Bardziej szczegółowo

Wyszukiwanie. Algorytmy i Struktury Danych. (c) Marcin Sydow. Dziel i rz d¹. Wyszukiwanie. Statystyki pozycyjne. Podsumowanie

Wyszukiwanie. Algorytmy i Struktury Danych. (c) Marcin Sydow. Dziel i rz d¹. Wyszukiwanie. Statystyki pozycyjne. Podsumowanie Zawarto± tego wykªadu: reguªa dziel i rz d¹ wyszukiwanie algorytm wyszukiwania binarnego statystyki 2. najmniejsza warto± w ci gu (algorytm turniejowy - idea) algorytm (wyszukiwanie k-tej statystyki j)

Bardziej szczegółowo

Rozwi zania klasycznych problemów w Rendezvous

Rozwi zania klasycznych problemów w Rendezvous Cz ± I Rozwi zania klasycznych problemów w Rendezvous 1 Producenci i konsumenci Na pocz tek rozwa»my wersj z jednym producentem i jednym konsumentem, dziaªaj cymi w niesko«czonych p tlach. Mechanizm komunikacji

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

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

Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a).

Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a). Rozwi zania zada«z egzaminu podstawowego z Analizy matematycznej 2.3A (24/5). Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a). Zadanie P/4. Metod operatorow rozwi

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