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}.
|
|
- Joanna Zalewska
- 5 lat temu
- Przeglądów:
Transkrypt
1 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 jest para wierzchoªków incydentnych (u, v). Analiz algorytmów grafowych mo»emy ograniczy do przypadków, w których para wierzchoªków jednoznacznie identykuje kraw d¹. Graf skierowany dla ka»dej kraw dzi (oznaczanej tutaj jako ªuk) para wierzchoªków incydentnych jest par uporz dkowan {u, v}. Zatem w grae skierowanym {u, v} = {v, u} ({u, v} i {v, u} oznacza dwa ró»ne ªuki, podczas gdy w grae nieskierowanym (u, v) i (v, u) to ta sama kraw d¹, tzn. (u, v) = (v, u)).
2 Ka»dej kraw dzi (ªukowi) b dziemy przypisywa wag (liczb ), reprezentuj c (w zastosowaniach praktycznych) np. dªugo± drogi, koszt budowy drogi, czas lub koszt przejazdu, niezawodno± poª czenia, prawdopodobie«stwo przej±cia, przepustowo±. Rozmiar grafu b dziemy identykowa przez liczb wierzchoªków n oraz liczb kraw dzi (ªuków) m.
3 Przykłady grafów o rozmiarze n = 6 i m = graf nieskierowany: graf skierowany: 9 9 v v
4 Struktury grafowe Macierz wag tablica 2-wymiarowa o rozmiarze n n, w której warto± na przeci ciu i-tego wiersza i j-tej kolumny oznacza wag kraw dzi (i, j) (ªuku {i, j}). Je±li dany graf nie zawiera kraw dzi (i, j) to w odpowiadaj cej jej komórce macierzy wpisujemy warto±. Warto±ci wyró»nione (zera, warto±ci ujemne, niesko«czono±ci, znaki nienumeryczne) znajduj si te» na przek tnej macierzy (brak kraw dzi typu (i, i)). Zauwa»my równie»,»e macierz dla grafu nieskierowanegojest zawsze symetryczna (w takim wypadku mo»na równie» przechowywa tylko poªow macierzy). Zaj to± pami ci O(n 2 ).
5 Lista kraw dzi tablica 2-wymiarowa o rozmiarze m (lub tablice liniowe o dªugo±ci m), gdzie pierwsza kolumna (tablica) zawiera wierzchoªki pocz tkowe, druga kolumna (tablica) wierzchoªki ko«cowe, a trzecia kolumna (tablica) wagi wszystkich kraw dzi grafu. Kraw dzie nieistniej ce nie musz by tutaj przechowywane. Zaj to± pami ci O(m).
6 [] [1] [2] [1] [2] [] [] [6] 9 [] Przykłady struktur grafowych Lista krawędzi A B W Macierz wag (1) [1] [2] [1] [2] [] [] [] [6] (2) [1] [] 9 () [1] [] () [1] [] () [1] [6] 9 [] [] [6] 9 (6) [2] [] (7) [2] [6] () [] []
7 Poª czone listy s siadów struktura skªadaj ca si z tablicy n list, gdzie lista dowi zana do komórki i-tej zawiera wszystkie kraw dzie incydentne z wierzchoªkiem i-tym (waga kraw dzi i oznaczenie wierzchoªka). Zauwa»my,»e w przypadku grafu nieskierowanego ka»da kraw d¹ (i, j) wyst puje w tej strukturze 2 razy w li±cie i-tej oraz j-tej. Zalet struktury jest to,»e wszystkie kraw dzie (ªuki) z danego wierzchoªka mamy zgrupowane w jednym miejscu (s dost pne bez konieczno±ci przeszukiwania caªego grafu). Zaj to± pami ci O(n + m).
8 P k wyj±ciowy odmiana poprzedniej struktury dla sytuacji, gdy nie wykonujemy na grae operacji dodawania / usuwania kraw dzi. Skªada si z tablic pierwszej o dªugo±ci n oraz dwóch o dªugo±ci m. Dwie ostatnie tablice zawieraj odpowiednio etykiety wierzchoªków ko«cowych i wagi wszystkich kraw dzi, pogrupowane w zbiory ze sob incydentne, a pierwsza tablica (odpowiadaj ca wierzchoªkom pocz tkowym) zawiera wska¹niki rozdzielaj ce poszczególne grupy (np. je±li wierzchoªek 1 ma kraw dzi incydentnych, to komórki [1] i [2] pierwszej tablicy zawieraj odpowiednio wska¹niki na komórki [1] i [6] tablicy drugiej). Struktura posiada zalet struktury wcze±niejszej zgrupowanie kraw dzi incydentnych poszczególnych wierzchoªków, przy braku typów wska¹nikowych. Zaj to± pami ci O(n + m).
9 [] [] [6] Przykłady struktur grafowych (c.d.) 9 [1] [] Pęk wyjściowy [2] Połączone listy sąsiadów B W [1] [2] [] [] [2] [] [] [6] 9 [1] [6] - [1] [2] [1] 1 [2] [] 7 [] [2] (1) [] (2) [] () [] [] -1 [6] 9 () [6] [6] -1 [1] () [6] - (6) [1] (7) [2] ()
10 Dalsze denicje Droga (±cie»ka) z wierzch. do v k w grae skierowanym G to ci g ªuków {{, }, {, },..., {v k 1, v k }}, który mo»emy jednoznacznie okre±li po prostu przez ci g (permutacj ) wierzchoªków, przez które droga ta przebiega, tj. {,,..., v k 1, v k }. Wag drogi b dziemy okre±la sum wag ªuków j tworz cych. Cykl droga zamkni ta, tzn. taka,»e = v k. Graf acykliczny graf nie zawieraj cy cykli. Zauwa»my,»e z wierzchoªka s do t mo»e istnie wiele ró»nych dróg, zatem najkrótsz drog b dzie ta spo±ród dróg, która ma najmniejsz wag. Podgraf G = (V, E ) grafu G = (V, E) to graf o rozmiarze n n i m m, dla którego V V oraz E E (tzn. wszystkie wierzchoªki i ªuki G nale» do G).
11 Graf spójny (nieskierowany) graf, dla którego istnieje droga mi dzy ka»d par wierzchoªków. Spójny graf skierowany to taki, którego wersja nieskierowana jest spójna. Drzewo spójny, nieskierowany graf acykliczny. W drzewie, jak w ka»dym grae spójnym (nieskierowanym), istnieje droga mi dzy ka»d par wierzchoªków. Zatem doª czenie nowej kraw dzi spowoduje powstanie cyklu, a usuni cie jakiejkolwiek kraw dzi z drzewa spowoduje jego rozspójnienie. Wreszcie, w drzewie m = n 1. Drzewo rozpinaj ce (spinaj ce) T = (V T, E T ) podgraf (nieskierowanego, spójnego) grafu G = (V, E), który jest spójny i V T = V. Graf spójny mo»e zawiera wiele (do n n 2 ) ró»nych drzew rozpinaj cych, z których to o najmniejszej wadze nazywamy Minimalnym Drzewem Rozpinaj cym (Spinaj cym) MST (ang. Minimum Spanning Tree).
12 Przykłady dróg z wierzchołka do 9 v
13 Przykłady dróg z wierzchołka do Droga D1 {,,,, } Waga D1: +++ = 21 6 v
14 Przykłady dróg z wierzchołka do Droga D1 {,,,, } Waga D1: +++ = 21 6 Droga D2 {,,v, } v Waga D2: ++6 = 1
15 Przykłady drzew MST Drzewo MST1 Waga MST1: = 2 6 v
16 Przykłady drzew MST Drzewo MST1 Waga MST1: = 2 v 6 Drzewo MST2 Waga MST2: = 27
17 Algorytm KRUSKALA (196) Algorytmy wyznaczania MST polega na doª czaniu kolejno kraw dzi w porz dku ich niemalej cych wag, o ile doª czana kraw d¹ nie utworzy cyklu z ju» wybranymi kraw dziami. Aby wyznaczy zªo»ono± obliczeniow algorytmu, musimy znale¹ efektywn metod sprawdzania, czy doª czana kraw d¹ utworzy cyklz ju» doª czonymi.
18 Zauwa»my,»e doª czane kraw dzie nie musz tworzy spójnego grafu z ju» doª czonymi (spójny graf na pewno otrzymujemy w pierwszym kroku gdy mamy doª czon tylko 1 kraw d¹ i potem mo»emy otrzyma dopiero w ostatnim kroku gdy otrzymujemy peªne drzewo). Zatem powy»sz procedur mo»emy skonstruowa w ten sposób,»e tworzymy tablic C o rozmiarze n i przy jej pomocy kolorujemy wierzchoªki. Na pocz tku ka»dej komórce przypisujemy inn warto± (reprezentuj c kolor danego wierzchoªka), np. C[i] = i dla i = 1, 2,..., n. W trakcie dziaªania procedury, wierzchoªki nale» ce do tego samego poddrzewa b d posiada ten sam kolor. Zatem na pocz tku ka»dy wierzchoªek nale»y do innego poddrzewa, a na ko«cu wszystkie wierzchoªki musz nale»e do tego samego poddrzewa.
19 Gdy chcemy doª czy powiedzmy kraw d¹ (u, v), to musimy rozpatrzy nast puj ce przypadki: 1. aden wierzchoªek (ani u, ani v) jeszcze nie zostaª wybrany (tzn. nie doª czono jeszcze kraw dzi, która byªaby incydentna z u lub z v). Zatem ka»dy z nich ma inny kolor (taki, którego nie posiada»aden inny wierzchoªek). Wtedy wierzchoªkowi u nadajemy kolor wierzch. v (C[u] = C[v]) lub odwrotnie (C[v] = C[u]) oba wierzchoªki otrzymuj ten sam kolor, a wi c nale» od teraz do tego samego (nowego) poddrzewa. Taka operacja oczywi±cie nie utworzy cyklu, a wi c jest dopuszczalna. 2. Jeden wierzch., np. u, byª ju» wcze±niej wybrany, a drugi, v, jeszcze nie. Zatem doª czenie kraw dzi (u, v) nie spowoduje powstania cyklu. Wtedy wierzchoªek jeszcze nie wybrany musimy doª czy do poddrzewa, do którego nale»y wierzchoªek u (tzn. wierzchoªkowi v przypisujemy kolor wierzchoªka u: C[v] = C[u]).
20 . Oba wierzchoªki ju» wcze±niej zostaªy wybrane, z tym»e nale» do ró»- nych poddrzew (wierzchoªki u i v posiadaj wi c ró»ne kolory, podobnie jak we wcze±niejszych przypadkach). Zatem doª czenie kraw dzi spowoduje poª czenie dwóch ró»nych poddrzew, ale nie spowoduje to powstania cyklu. W tej sytuacji wszystkie wierzchoªki jednego poddrzewa musz przyj kolor drugiego, np. C[i] = C[v] je±li C[i] == C[u].. Oba wierzchoªki ju» wcze±niej zostaªy wybrane i nale» do tego samego poddrzewa (posiadaj ten sam kolor). Wtedy próbujemy doª czy now kraw d¹ do istniej cego drzewa, co jak ju» wiadomo zawsze spowoduje powstanie cyklu. Zatem taka operacja jest zabroniona. Podsumowuj c powy»sze, doª czenie kraw dzi (u, v) jest zabronione (powstanie cykl) je±li C[u] == C[v] (przypadek ). W przeciwnym wypadku nale»y doª czy kraw d¹ i wykona operacje na tablicy C opisane odpowiednio w punktach 1, 2 lub.
21 Oczywi±cie sprawdzenie powy»szego warunku (C[u] == C[v]) zajmie O(1) czasu, jednak przypadek mo»e w skrajnej sytuacji wymaga przekolorowania n 2 wierzchoªków (przy wprowadzeniu dodatkowych zmiennych przechowuj cych informacje o rozmiarze poszczególnych poddrzew, operacj t mo»na skróci do n/2 operacji). Zatem operacja sprawdzenia, czy doª czenie pojedynczej kraw dzi do ju» doª czonych spowoduje powstanie cyklu zajmie O(n) czasu. Teraz mo»emy wróci do wyznaczenia zªo»ono±ci caªego algorytmu Kruskala. Zale»y ona od kilku czynników. Je±li do przechowywania grafu wykorzystamy list kraw dzi i przed rozpocz ciem doª czania kraw dzi posortujemy t struktur niemalej co ze wzgl du na wagi (co zajmie O(m log m) czasu) to b dziemy mogli nast pnie analizowa kraw dzie po kolei, za ka»dym razem stosuj c procedur sprawdzania cyklu.
22 Liczba takich iteracji, oznaczmy j przez p, b dzie si zawieraªa mi dzy n 1 (»adna z analizowanych kraw dzi nie tworzyªa cyklu) a m (dopiero ostatnia kraw d¹ spowodowaªa doª czenie wszystkich wierzchoªków i zespójnienie poddrzew). Zatem zªo»ono± takiej wersji algorytmu Kruskala wyniesie O(m log m + pm). Zauwa»my jednak,»e w przypadku grafów g stych (m >> n) tylko niewielka cz ± wszystkich kraw dzi b dzie analizowana. Wtedy sortowanie wszystkich b dzie niepotrzebne zbyt rozrzutne. Lepiej wtedy umie±ci kraw dzie w kopcu i pobiera za ka»dym razem najkrótsz z jeszcze nie doª czonych z korzenia. Wtedy takie pobranie b dzie zajmowa O(log m), a takich pobra«b dzie p, zatem zªo»ono± caªego algorytmu wyniesie gdzie n p m. O(p(log m + m)) = O(pm), Mo»liwe jest te» takie zaimplementowanie algorytmu Kruskala,»e jego zªo-»ono± wyniesie O(m log m).
23 Algorytm KRUSKALA 9 v
24 Algorytm KRUSKALA 1. (, ) 9 v
25 Algorytm KRUSKALA 1. (, ) 2. (,v ) 9 v
26 Algorytm KRUSKALA 1. (, ) 2. (,v ). (,v ) 9 v
27 Algorytm KRUSKALA 1. (, ) 9 2. (,v ). (,v ). (, ) cykl v
28 Algorytm KRUSKALA 1. (, ) 9 2. (,v ). (,v ). (, ) cykl v
29 Algorytm KRUSKALA 1. (, ) 9 2. (,v ). (,v ). (, ) cykl. (, ) v
30 Algorytm KRUSKALA 1. (, ) 9 2. (,v ). (,v ). (, ) cykl. (, ) v 6. (, )
31 Algorytm KRUSKALA 1. (, ) 9 2. (,v ). (,v ). (, ) cykl. (, ) v 6. (, ) waga MST: 2
32 Algorytm PRIMA (197) rozpoczyna si od wybrania dowolnego wierzchoªka i sukcesywnym doª czaniu najbli»szego s siada (tj. wierzchoªka, który jest poª czony z którym± z ju» doª czonych kraw dzi o najmniejszej wadze). Dzi ki temu,»e w ka»dym kroku algorytmu doª czamy nowy wierzchoªek do istniej cego poddrzewa, nigdy nie spowoduje to powstania cyklu, a wszystkich iteracji b dzie n 1. Intuicyjnie, najkorzystniej jest zastosowa do tego algorytmu struktury pozwalaj ce na efektywne wyszukiwanie wierzchoªków incydentnych w danym, a wi c np. poª czone listy s siadów. Znalezienie kolejnego wierzchoªka do doª czenia b dzie w takim wypadku wymagaªo przejrzenia list struktury odpowiadaj cych wierzchoªkom ju» doª czonym i wybraniu kraw dzi o najmniejszej wadze. W najgorszym wypadku b dzie wi c musieli przejrze wszystkie kraw dzie, a wi c pojedyncza iteracja zajmie O(m) czasu. Zatem zªo»ono± caªego algorytmu Prima to O(nm).
33 Algorytm Prima mo»na te» zaimplementowa w taki sposób,»ewierzchoªki oczekuj ce na doª czenie umie±cimy w kolejce Q: pocz tkowo zawiera ona wszystkie wierzchoªki, w ka»dej iteracji pobierany jest dokªadnie jeden, a algorytm ko«czy dziaªanie, gdy stanie si ona pusta. Kolejk t mo»na zaimplementowa jako kopiec, w którym warto±ci w zªa jest odªegªo± danego wierzchoªka od najbli»szego wierzchoªka spo±ród ju» doª czonych. Warto±ci te nale»y aktualizowa po ka»dym doª czeniu nowego wierzchoªka, ale za to mamy od razu dost pn informacj, który wierzchoªek ma by doª czony jako nast pny. Takie podej±cie umo»liwia uzyskanie zªo»ono±ci obliczeniowej algorytmu Prima O(m log n). Z kolei, je±li zamiast zwykªego kopca, u»yjemy kopca Fibonacciego, uzyskamy zªo»ono± O(m + n log n).
34 Algorytm PRIMA 9 v
35 Algorytm PRIMA 9 v
36 Algorytm PRIMA 9 v
37 Algorytm PRIMA 1. (, ) 9 v
38 Algorytm PRIMA 1. (, ) 9 v
39 Algorytm PRIMA 1. (, ) 2. (,v ) 9 v
40 Algorytm PRIMA 1. (, ) 2. (,v ) 9 v
41 Algorytm PRIMA 1. (, ) 2. (,v ). (,v ) 9 v
42 Algorytm PRIMA 1. (, ) 2. (,v ). (,v ) 9 v
43 Algorytm PRIMA 1. (, ) 2. (,v ). (,v ) 9. (, ) v
44 Algorytm PRIMA 1. (, ) 2. (,v ). (,v ) 9. (, ) v
45 Algorytm PRIMA 1. (, ) 2. (,v ). (,v ) v 9. (, ). (, )
46 Algorytm PRIMA 1. (, ) 2. (,v ). (,v ) 9. (, ). (, ) v waga MST: 2
47 Algorytmy wyznaczania najkrótszych dróg Algorytm DIJKSTRY (199) sªu»y do wyznaczania najkrótszych dróg z wyznaczonego w zªa (¹ródªa, s) do wszystkich pozostaªych w zªów, w przypadku gdy wagi wszystkich ªuków grafu s nieujemne. W trakcie dziaªania algorytmu, dla ka»dego w zªa, x, pami tane jest oszacowanie wagi najkrótszej drogi ze ¹ródªa: d sx. Przed rozpocz ciem dzia- ªania algorytmu warto±ci te wynosz dla wszystkich w zªów z wyj tkiem ¹ródªa, dla którego d ss = 0.
48 W ka»dym kroku znajdowany jest w zeª x, dla którego oszacowanie to jest minimalne i nieustalone i jest ono ustalane (oznacza to,»e dla tego w zªa znale¹li±my ju» drog minimaln ). Nast pnie dokonuje si relaksacji wszystkich ªuków wychodz cych z w zªa x, tzn. je±li aktualne oszacowanie, d sy, badanego w zªa y, jest wi ksze ni» suma oszacowania d sx oraz wagi, w x y, ªuku {x, y} to d sy = d sx + w x y.
49 Algorytm DIJKSTRY 2 12 v 7
50 Algorytm DIJKSTRY 2 Krok v v 7
51 Algorytm DIJKSTRY 2 Krok v v 7
52 Algorytm DIJKSTRY 2 Krok v v 7
53 Algorytm DIJKSTRY 2 Krok v v 7
54 Algorytm DIJKSTRY 2 Krok v v 7
55 Algorytm DIJKSTRY 2 Krok v v 7
56 Algorytm DIJKSTRY 2 Krok v v 7
57 Algorytm DIJKSTRY 2 Krok v v 7
58 Algorytm DIJKSTRY 2 Krok v v 7
59 Algorytm DIJKSTRY 2 Krok v v 7
60 Algorytm DIJKSTRY 2 Krok v v 7
61 Algorytm DIJKSTRY 2 Krok v v 7
62 Algorytm DIJKSTRY 2 Krok v v 7
63 Algorytm DIJKSTRY 2 Krok v v 7
64 Algorytm DIJKSTRY 2 Krok v v 7
65 Algorytm DIJKSTRY 2 Krok v v 7
66 Algorytm DIJKSTRY 2 Krok v v 7
67 Algorytm DIJKSTRY 2 Krok v v 7
68 Algorytm DIJKSTRY 2 Krok v v 7
69 Algorytm DIJKSTRY 2 Krok v v 7
70 Algorytm DIJKSTRY 2 Krok v v 7
71 Algorytm DIJKSTRY 2 Krok v v 7
72 Algorytm DIJKSTRY 2 Krok v v 7
73 Algorytm DIJKSTRY 2 Krok v v 7
74 Algorytm DIJKSTRY 2 Krok v v 7
75 Algorytm DIJKSTRY 2 Krok v v 7
76 Algorytm DIJKSTRY 2 Krok v v 7
77 Algorytm DIJKSTRY 2 Krok v v 7
78 Algorytm DIJKSTRY 2 Krok v v
79 Algorytm DIJKSTRY 2 Krok v v
80 Algorytm DIJKSTRY 2 Krok v v
81 Algorytm DIJKSTRY 2 Krok v v
82 Algorytm DIJKSTRY 2 Krok v v
83 Algorytm DIJKSTRY 2 Krok v v
84 Algorytm DIJKSTRY 2 Krok v v Najkrótsza droga z do : { }
85 Algorytm DIJKSTRY 2 Krok v v Najkrótsza droga z do : {, }
86 Algorytm DIJKSTRY 2 Krok v v Najkrótsza droga z do : {, }
87 Algorytm DIJKSTRY 2 Krok v v Najkrótsza droga z do : {,, }
88 Algorytm DIJKSTRY 2 Krok v v Najkrótsza droga z do : {,, }
89 Algorytm DIJKSTRY 2 Krok v v Najkrótsza droga z do : {,,, }
90 Algorytm DIJKSTRY 2 Krok v v Najkrótsza droga z do : {,,, }
91 Zªo»ono± obliczeniowa algorytmu Dijkstry: Poniewa» w ka»dym kroku algorytmu ustalane jest oszacowanie jednego w zªa, wi c wszystkich iteracji jest n. W ka»dej iteracji nale»y wyznaczy w zeª o najmniejszym oszacowaniu O(log n), je±li oszacowania w zªów nieustalonych b dziemy przechowywali w kopcu. W tej samej iteracji nale»y jeszcze dokona relaksacji ªuków wychodz cych z ustalonego O(n). Zatem caªkowita zªo»ono± algorytmu wynosi O(n 2 ). Mo»liwa jest jednak taka implementacja algorytmu, aby osi gn zªo»ono± O(m log n).
92 Algorytm BELLMANA-FORDA umo»liwia, w przeciwie«stwie do algorytmu Dijkstry, wyznaczanie najkrótszych dróg z wyznaczonego w zªa do pozostaªych przy dodatnich i ujemnych wagach. Warunkiem jest, aby graf nie zawieraª cykli o ujemnej wadze, osi galnych ze ¹ródªa. W algorytmie tym równie» wykorzystuje si relaksacj ªuków wychodz - cych. Jednak»eby metod t mo»na byªo z powodzeniem wykorzysta w grafach z ujemnymi wagami, nale»y w ka»dej z n iteracji dokona relaksacji dla wszystkich m ªuków. Prowadzi to do zªo»ono±ci O(nm).
93 Zauwa»my jednak,»e kolejno± rozpatrywania ªuków do relaksacji mo»e wpªywa na efektywno± algorytmu. Np. w pierwszej iteracji zrelaksowanie najpierw ªuków wychodz cych ze ¹ródªa sprawi,»e w tej samej iteracji b dzie mo»liwe zrelaksowanie równie» ªuków incydentnych do wcze±niej wspomnianych, a potem incydentnych z tymi ostatnimi, itd. Natomiast je±li zaczniemy relaksacj od ªuków najbardziej oddalonych od ¹ródªa, to w pierwszej iteracji b dziemy mogli zrelaksowa jedynie ªuki bezpo±rednio wychodz ce ze ¹ródªa (pozostaªe zostan zrelaksowane dopiero w kolejnych iteracjach). Oczywi±cie kolejno± analizowania ªuków nie wpªywa na optymalno± algorytmu ta jest gwarantowana (teoretycznie udowodniona).
94 W zwi zku z powy»szym, ide algorytmu Bellmana-Forda mo»na zastosowa do nast puj cej implementacji. Tworzymy kolejk w zªów do rozpatrzenia. Jej funkcja jest taka,»e najpierw relaksujemy ªuki wychodz ce z pierwszego w zªa z kolejki, potem z w zªa drugiego, itd. W ka»dej iteracji do kolejki doª czamy w zªy incydentne z rozpatrywanym, dla których nast piªa poprawa i o ile ju» si tam nie znajduj. Pocz tkowo kolejka zawiera tylko ¹ródªo, a algorytm ko«czy si gdy w kolejce nie b dzie ju»»adnych w zªów. Dodatkowo, wa»ne jest miejsce umieszczania w zªów w kolejce: je±li w zeª ju» si znajduje w kolejce, to zostaje na tym miejscu; je±li byª ju» wcze±niej w kolejce (ale obecnie nie znajduje si w niej), to jest umieszczany na jej pocz tku; w przeciwnym wypadku traa na koniec.
95 Algorytm BELLMANA-FORDA Q = { } 2 v 0 12 v 7
96 Algorytm BELLMANA-FORDA Q = { } 2 v 0 12 v 7
97 Algorytm BELLMANA-FORDA Q = {,,v,, } 2 v v 7
98 Algorytm BELLMANA-FORDA Q = {,v,, } 2 v v 7
99 Algorytm BELLMANA-FORDA Q = {,v,, } 2 v v 7
100 Algorytm BELLMANA-FORDA Q = {v,, } 2 v v 7
101 Algorytm BELLMANA-FORDA Q = {v,, } 2 v v 7
102 Algorytm BELLMANA-FORDA Q = {, } 2 v v 7
103 Algorytm BELLMANA-FORDA Q = {, } 2 v v 7
104 Algorytm BELLMANA-FORDA Q = { } 2 v v 7
105 Algorytm BELLMANA-FORDA Q = { } 2 v v 7
106 Algorytm BELLMANA-FORDA Q = { } 2 v v 7
107 Algorytm BELLMANA-FORDA Q = { } 2 v v 7
108 Wyznaczenie zªo»ono±ci obliczeniowej powy»szej implementacji jest kªopotliwe (w zªy mog traa wielokrotnie do kolejki) mo»na wyznaczy nawet takie przypadki, dla których b dzie to zªo»ono± wykªadnicza. Jednak zazwyczaj jest to maªo realne. Oczywi±cie optymalno± algorytmu jest zachowana.
109 Rozpatrzmy jeszcze szczególny przypadek zagadnienia: najkrótsza droga ze ¹ródªa do okre±lonego (pojedynczego) w zªa. W takim wypadku (i przy nieujemnych wagach) przewag ma algorytm Dijkstry, gdy» mo»emy go zako«czy nie po n iteracjach, ale gdy zostanie ustalone oszacowanie w zªa ko«cowego (przeznaczenia). W najgorszym wypadku mo»e to by oczywi±cie ostatnia (n-ta) iteracja, ale cz sto b dzie to która± z iteracji wcze±niejszych.
110 Wyznaczanie maksymalnego przepªywu w sieciach W tym zagadnieniu wagi ªuków nie reprezentuj odlegªo±ci (jak przy najkrótszych drogach), tylko maksymalny mo»liwy przepªyw pomi dzy w zªami(informacji, pªynu, gazu, itp.). Problem polega na wyznaczeniu takich warto±ci przepªywu pomi dzy w zªami (nie wi kszych ni» maksymalne), aby przepªyw ze ¹ródªa do okre±lonego w zªa ko«cowego byª jak najwi kszy. Algorytm FORDA-FULKERSONA dotyczy acyklicznych grafów skierowanych. Jest to jedna z podstawowych idei w tym zakresie. Najogólniej, polega ona na sukcesywnym wyszukiwaniu (dowolnych) dróg ze ¹ródªa do uj±cia (w zªa ko«cowego).
111 Mo»na to zrobi w ten sposób,»e b d c w ¹ródle, wybieramy pierwszy w zeª incydentny (nale»y ustali kolejno± w zªów), z niego znowu wybieramy pierwszy incydentny, itd. W efekcie, albo dotrzemy do uj±cia, albo do innego w zªa ko«cowego (z którego nie ma»adnych ªuków wychodz cych): Je±li dotarli±my do w zªa nie b d cego uj±ciem, to cofamy si do w zªa poprzedzaj cego i wybieramy kolejny w zeª incydentny (je±li trzeba, to cofamy si o wi cej ni» 1 w zeª). Šuki do w zªów, z których si wycofujemy (gdy nie mo»na z nich osi - gn uj±cia), usuwamy. Je±li ostatni w zeª jest uj±ciem, to mamy wyznaczon drog.
112 Ka»dorazowo, po wyznaczeniu jakiej± drogi, znajdowany jest w niej ªuk o najmniejszym przepªywie i dan drog ustalamy przepªyw o takiej wªa- ±nie warto±ci, tzn. od przepªywu ka»dego ªuku z danej drogi odejmujemy t najmniejsz warto±. Nast pnie ªuki o zerowym przepªywie usuwamy z grafu. Algorytm ko«czy dziaªanie, gdy usuniemy wszystkie ªuki wychodz ce ze ¹ródªa. Warto± przepªywu maksymalnego uzyskujemy poprzez zsumowanie przepªywów ze wszystkich wyznaczonych dróg. Wykazano,»e czas dziaªania algorytmu mo»e wzrosn do niesko«czono±ci, je±li wybór kolejnych w zªów w drogach b dzie dowolny. Je±li natomiast zawsze b dziemy wyszukiwali drogi najkrótsze (o najmniejszej liczbie ªuków), to uzyskamy algorytm wielomianowy O(nm 2 ). Tak wersj algorytmu nazywamy algorytmem Edmondsa-Karpa (1969).
113 Algorytm FORDA-FULKERSONA 2 v 7
114 Algorytm FORDA-FULKERSONA 2 v 7
115 Algorytm FORDA-FULKERSONA 2 v 7
116 Algorytm FORDA-FULKERSONA 2 Przepływy: F(,, ) = v 7
117 Algorytm FORDA-FULKERSONA 2 Przepływy: F(,, ) = v 2 0
118 Algorytm FORDA-FULKERSONA 2 Przepływy: F(,, ) = v 2
119 Algorytm FORDA-FULKERSONA 2 Przepływy: F(,, ) = v 2
120 Algorytm FORDA-FULKERSONA 2 Przepływy: F(,, ) = v 2
121 Algorytm FORDA-FULKERSONA 2 Przepływy: F(,, ) = v 2
122 Algorytm FORDA-FULKERSONA 2 Przepływy: F(,, ) = F(,,, ) = 2 v 2
123 Algorytm FORDA-FULKERSONA 2 0 Przepływy: F(,, ) = F(,,, ) = 2 1 v 2
124 Algorytm FORDA-FULKERSONA 2 Przepływy: F(,, ) = F(,,, ) = 2 1 v 2
125 Algorytm FORDA-FULKERSONA 2 Przepływy: F(,, ) = F(,,, ) = 2 1 v 2
126 Algorytm FORDA-FULKERSONA Przepływy: F(,, ) = F(,,, ) = 2 1 v 2
127 Algorytm FORDA-FULKERSONA Przepływy: F(,, ) = F(,,, ) = 2 v 2
128 Algorytm FORDA-FULKERSONA Przepływy: F(,, ) = F(,,, ) = 2 v 2
129 Algorytm FORDA-FULKERSONA Przepływy: F(,, ) = F(,,, ) = 2 F(,v,, ) = 2 v 2
130 Algorytm FORDA-FULKERSONA Przepływy: F(,, ) = F(,,, ) = 2 F(,v,, ) = 2 v 2 0 2
131 Algorytm FORDA-FULKERSONA Przepływy: F(,, ) = F(,,, ) = 2 F(,v,, ) = 2 2 v 2
132 Algorytm FORDA-FULKERSONA Przepływy: F(,, ) = F(,,, ) = 2 F(,v,, ) = 2 2 v 2
133 Algorytm FORDA-FULKERSONA Przepływy: F(,, ) = F(,,, ) = 2 F(,v,, ) = 2 2 v
134 Algorytm FORDA-FULKERSONA Przepływy: F(,, ) = F(,,, ) = 2 F(,v,, ) = 2 v
135 Algorytm FORDA-FULKERSONA Przepływy: F(,, ) = F(,,, ) = 2 F(,v,, ) = 2 v
136 Algorytm FORDA-FULKERSONA Przepływy: F(,, ) = F(,,, ) = 2 F(,v,, ) = 2 v
137 Algorytm FORDA-FULKERSONA 2 Przepływy: F(,, ) = F(,,, ) = 2 v 7 F(,v,, ) = 2 Maks. przepływ = 9
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ółowoc 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ółowoMinimalne 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ółowoZadania 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ółowoStruktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy
Bardziej szczegółowo12: 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ółowoTeoria 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ółowoc 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ółowoRelacj 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ółowoWykª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ółowoTeoria 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ółowoZad. 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ółowoTeoria 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ółowoALGORYTMY 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ółowoPodstawowe 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ółowoGrafy. 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ółowoLab. 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ółowo10a: 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ółowoPodstawowe 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ółowoListy 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ółowoMetodydowodzenia 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ółowoNajkró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ółowoWST 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ółowoGrafy 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ółowoDrzewa 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ółowoSTRUKTURY DANYCH. dane wej±ciowe problemu, ewentualne dane po±rednie, dane wynikowe (czyli rozwi zanie problemu).
STRUKTURY DANYCH Jak ju» zostaªo wspomniane, do rozwi zania ró»nego rodzaju problemów sªu» odpowiednie algorytmy (które implementujemy przy pomocy ró»nego rodzaju j zyków programowania wy»szego rz du).
Bardziej szczegółowoSzukanie 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ółowoMosty 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ółowoRekurencyjne 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ółowo1 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ółowoWstp. 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ółowoNajkró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ółowoNotatki 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ółowoZofia 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ółowoLekcja 12 - POMOCNICY
Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.
Bardziej szczegółowoO 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ółowoEgzaminy 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ółowoLekcja 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ółowoANALIZA 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ółowo1 Bª dy i arytmetyka zmiennopozycyjna
1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy
Bardziej szczegółowoWykª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ółowoi, 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ółowoXVII 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ółowoa) 7 b) 19 c) 21 d) 34
Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie
Bardziej szczegółowoc 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ółowoZestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.
ZESTAWY A Zestaw 1 Organizacja plików: Wszystkie pliki oddawane do sprawdzenia nale»y zapisa we wspólnym folderze o nazwie b d cej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko ¹ródªa programów
Bardziej szczegółowoEgzaminy 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ółowoAlgorytmy 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ółowoGrafy i Zastosowania. 9: Digrafy (grafy skierowane) c Marcin Sydow. Digrafy. Porz dki cz ±ciowe * Euler i Hamilton. Turnieje
9: (grafy skierowane) Spis zagadnie«cz ±ciowe Przykªady: gªosowanie wi kszo±ciowe, Digraf (graf skierowany) Digraf to równowa»ny termin z terminem graf skierowany (od ang. directed graph). W grafach skierowanych
Bardziej szczegółowoPrzekroje 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ółowoARYTMETYKA 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ółowoPrzykª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ółowoGrafy i Zastosowania. 1: Wprowadzenie i poj cia podstawowe. c Marcin Sydow. Wprowadzenie. Podstawowe poj cia. Operacje na grafach.
1: i podstawowe Spis Zagadnie«zastosowania grafów denicja grafu (i skierowanego), prostego, multigrafu s siedztwo i incydencja izomorzm grafów stopnie wierzchoªków (w tym wej±ciowy i wyj±ciowy), lemat
Bardziej szczegółowoARYTMETYKA 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ółowoMetody 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ółowox y x y x y x + y x y
Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0
Bardziej szczegółowoEkonometria. wiczenia 13 Metoda ±cie»ki krytycznej. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej
wiczenia 13 Metoda ±cie»ki krytycznej Instytut Ekonometrii Zakªad Ekonometrii Stosowanej Plan wicze«1 Przykªad: ubieranie choinki 2 3 Programowanie liniowe w analizie czasowej i czasowo-kosztowej projektu
Bardziej szczegółowoA = 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ółowoc 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ółowoTemat: 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ółowoc 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ółowoElementy 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ółowoBiedronka. Wej±cie. Wyj±cie. Przykªady. VI OIG Zawody dru»ynowe, Finaª. 19 V 2012 Dost pna pami : 64 MB.
Biedronka Pªot ma D cm dªugo±ci i zbudowany jest z desek zako«czonych trójk tami równoramiennymi, poª czonych ze sob w jedn caªo±. Dªugo± ramienia ka»dego z trójk tów stanowi P % dªugo±ci podstawy. Po
Bardziej szczegółowoWykł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ółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 03/0 Przeszukiwanie w głąb i wszerz I Przeszukiwanie metodą
Bardziej szczegółowoProgramowanie 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ółowoGrafy 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ółowoPodstawowepoję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ółowoLiczby zmiennoprzecinkowe
Liczby zmiennoprzecinkowe 1 Liczby zmiennoprzecinkowe Najprostszym sposobem reprezentowania liczb rzeczywistych byªaby reprezentacja staªopozycyjna: zakªadamy,»e mamy n bitów na cz ± caªkowit oraz m na
Bardziej szczegółowoWST 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ółowoWykª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ółowoPodziaª 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ółowoOmówienie zada«potyczki Algorytmiczne 2015
Omówienie zada« Biznes Najszybsze rozwi zanie: Jarosªaw Kwiecie«(0:24) Na pocz tku mamy kapitaª P (megabajtalarów) i dochody 0 (megabajtalary/rok). W dowolnym momencie mo»emy kupi maszyn typu i, co kosztuje
Bardziej szczegółowoEkonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej
Ekonometria wiczenia 1 Regresja liniowa i MNK (1) Ekonometria 1 / 25 Plan wicze«1 Ekonometria czyli...? 2 Obja±niamy ceny wina 3 Zadania z podr cznika (1) Ekonometria 2 / 25 Plan prezentacji 1 Ekonometria
Bardziej szczegółowoLekcja 9 - LICZBY LOSOWE, ZMIENNE
Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my
Bardziej szczegółowoMacierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja
Macierze 1 Podstawowe denicje Macierz wymiaru m n, gdzie m, n N nazywamy tablic liczb rzeczywistych (lub zespolonych) postaci a 11 a 1j a 1n A = A m n = [a ij ] m n = a i1 a ij a in a m1 a mj a mn W macierzy
Bardziej szczegółowoTemat: 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ółowoEkstremalnie fajne równania
Ekstremalnie fajne równania ELEMENTY RACHUNKU WARIACYJNEGO Zaczniemy od ogólnych uwag nt. rachunku wariacyjnego, który jest bardzo przydatnym narz dziem mog cym posªu»y do rozwi zywania wielu problemów
Bardziej szczegółowoAproksymacja funkcji metod najmniejszych kwadratów
Aproksymacja funkcji metod najmniejszych kwadratów Teoria Interpolacja polega na znajdowaniu krzywej przechodz cej przez wszystkie w zªy. Zdarzaj si jednak sytuacje, w których dane te mog by obarczone
Bardziej szczegółowoAlgorytmy 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ółowoEgzamin, AISDI, I termin, 18 czerwca 2015 r.
Egzamin, AISDI, I termin, 18 czerwca 2015 r. 1 W czasie niezależnym do danych wejściowych działają algorytmy A. sortowanie bąbelkowego i Shella B. sortowanie szybkiego i przez prosty wybór C. przez podział
Bardziej szczegółowoArkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne
Arkusz maturalny Šukasz Dawidowski Powtórki maturalne 25 kwietnia 2016r. Odwrotno±ci liczby rzeczywistej 1. 9 8 2. 0, (1) 3. 8 9 4. 0, (8) 3 4 4 4 1 jest liczba Odwrotno±ci liczby rzeczywistej 3 4 4 4
Bardziej szczegółowoJAO - 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ółowoUkªady równa«liniowych
dr Krzysztof yjewski Mechatronika; S-I 0 in» 7 listopada 206 Ukªady równa«liniowych Informacje pomocnicze Denicja Ogólna posta ukªadu m równa«liniowych z n niewiadomymi x, x, x n, gdzie m, n N jest nast
Bardziej szczegółowoEGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew
1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;
Bardziej szczegółowoMetoda 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ółowoWektory w przestrzeni
Wektory w przestrzeni Informacje pomocnicze Denicja 1. Wektorem nazywamy uporz dkowan par punktów. Pierwszy z tych punktów nazywamy pocz tkiem wektora albo punktem zaczepienia wektora, a drugi - ko«cem
Bardziej szczegółowoMinimalne 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ółowoMiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
MiASI Modelowanie systemów informatycznych Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 18 stycznia 2010 Spis tre±ci 1 Analiza systemu informatycznego Poziomy analizy 2
Bardziej szczegółowoProgramowanie 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ółowoX 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ółowoAlgorytmy 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ółowoEdycja geometrii w Solid Edge ST
Edycja geometrii w Solid Edge ST Artykuł pt.: " Czym jest Technologia Synchroniczna a czym nie jest?" zwracał kilkukrotnie uwagę na fakt, że nie należy mylić pojęć modelowania bezpośredniego i edycji bezpośredniej.
Bardziej szczegółowoBash 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ółowoc 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ółowoCiaª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ółowoMinimalne drzewo rozpinaj ce
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
Bardziej szczegółowoFunkcja kwadratowa, wielomiany oraz funkcje wymierne
Funkcja kwadratowa, wielomiany oraz funkcje wymierne Šukasz Dawidowski Nocne powtórki maturalne 28 kwietnia 2014 r. Troch teorii Funkcj f : R R dan wzorem: f (x) = ax 2 + bx + c gdzie a 0 nazywamy funkcj
Bardziej szczegółowoWst p teoretyczny do wiczenia nr 3 - Elementy kombinatoryki
Wst p teoretyczny do wiczenia nr 3 - Elementy kombinatoryki 1 Zadania na wiczenia nr 3 - Elementy kombinatoryki Zad. 1. Ile istnieje ró»nych liczb czterocyfrowych zakªadaj c,»e cyfry nie powtarzaj si a
Bardziej szczegółowoProblemy 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