Najkrótsze drogi w grafach z wagami
|
|
- Feliks Lipiński
- 6 lat temu
- Przeglądów:
Transkrypt
1 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 Programu Operacyjnego Kapitaª Ludzki 1 / 37
2 Problem Na poprzednim wykªadzie omawiali±my problem znajdowania najkrótszych dróg w grae (algorytm BFS), przy czym najkrótsze drogi oznaczaªy drogi o najmniejszej liczbie kraw dzi. W praktycznych zastosowaniach rzeczywisto± lepiej modeluj grafy, w których kraw dzie maj dªugo± (inaczej koszt = wag ). Na tym wykªadzie zajmiemy si zagadnieniem poszukiwania najkrótszych dróg wzgl dem tego dodatkowego parametru. / 37
3 Problem Algorytm BFS wykorzystywaª kolejk. Przedstawimy algorytm Dijkstry, który b dzie w pewnym sensie modykacj algorytmu BFS, wykorzystuj c tym razem kolejk priorytetow (ze wzgl du na dodatkowy parametr, wag ). Przedstawimy te» inne podej±cie, algorytm Bellmana-Forda, realizuj cy zbli»one zadanie. Ma on gorsz zªo»ono± ale jest prostszy w implementacji (nie korzysta z kolejki priorytetowej). 3 / 37
4 Problem Algorytmy te, zwªaszcza algorytm Dijkstry, s w praktyce wykorzystywane w routingu sieciowym, ro»nego rodzaju urz dzeniach nawigacyjnych (jak GPS...), aplikacjach zwi zanych z mapami (jak Google Maps), planowaniu lotów, sieciach telefonicznych, i innych, bardziej specjalistycznych zagadnieniach. Zaczniemy od sformalizowania problemu. 4 / 37
5 Graf z wagami Denicja Grafem z wagami nazywamy graf (skierowany) G = (V, E) wraz z funkcj wagi w : E R. Uwaga W tej prezentacji ograniczamy si do grafów zorientowanych, algorytmy w wersji niezorientowanej s analogiczne. Zauwa»my,»e w ogólnej denicji na funkcj wagi nie nakªada si»adnych ogranicze«, w szczególno±ci jej warto±ci mog by ujemne. / 37
6 Przykªad Na rysunku grafu warto±ci funkcji wagi zaznaczamy zazwyczaj przy kraw dziach: , Powy»szy diagram przedstawia graf G = (V, E), gdzie V = {1,, 3, 4,, 6}, E = { (1, ), (, 1), (1, ), (1, 4), (4, ), (, ), (, 3), (, 6) }, z funkcj wagi w : E R okre±lon : w(1, ) = 10 w(, 1) = w(1, ) = 10 w(1, 4) = 7 w(4, ) = w(, ) = 0 w(, 3) = 6 w(, 6) = 4,. 6 / 37
7 Reprezentacje grafu z wagami Ustalmy graf zorientowany G = (V, E) z funkcj wagi w : E R. Najwygodniejsze reprezentacje grafów z wagami to odpowiednie modykacje macierzy s siedztwa lub list s siedztwa. Macierz s siedztwa (wagowa): macierz A = A(G) M n n (Z) o wspóªczynnikach: { 0, (i, j) / E, A i,j = w((i, j)), (i, j) E (analogicznie w wersji niezorientowanej). 7 / 37
8 Reprezentacje grafu z wagami Przykªad wagowej macierzy s siedztwa , Ai,j , / 37
9 Reprezentacje grafu z wagami Listy s siedztwa (wagowe): tablica Adj[1..n], gdzie Adj[i] = wska¹nik do listy s siadów i, tj. tych wierzchoªków j,»e (i, j) E. Ka»dy element j listy s siadów wierzchoªka i zawiera dodatkowe pole z wag w(i, j). 9 / 37
10 Reprezentacje grafu z wagami Przykªad wagowych list s siedztwa , L[i] 1 {; 10} {; 10} {4; 7} {1; } {; 0} 3 4 {; } {3; 6} {6; 4, } 6 10 / 37
11 Reprezentacje grafu z wagami Lista kraw dzi (wagowa): [ [u 1, v 1, w(u 1, v 1 )], [u, v, w(u, v )],..., [u m, v m, w(u m, v m )] ], gdzie E = { (u i, v i ) : i = 1,..., m }. 11 / 37
12 Reprezentacje grafu z wagami Przykªad wagowej listy kraw dzi , [ [1,, 10], [, 1, ], [1,, 10], [1, 4, 7], [4,, ], [,, 0], [, 3, 6], [, 6, 4,] ] 1 / 37
13 Waga drogi Dla dowolnej drogi P = (v 0, v 1,..., v k ) w grae G = (V, E), v i V, deniujemy jej wag jako liczb k w(p) := w((v i 1, v i )). i=1 Czyli rozszerzamy denicj funkcji w z kraw dzi na wszystkie drogi. Przykªad , w((1,,, 3)) = = 4, w((1,, 1, 4)) = =, w((1,, 1,,, 6)) = , = 49,. 13 / 37
14 Najkrótsze drogi w grae z wagami Ustalmy graf G = (V, E) z wagami w : E R. Denicja Waga najkrótszej drogi z u do v, dla u, v V, to liczba { min{w(p) : u P v}, gdy istnieje droga z u do v, δ(u, v) :=, w p.p. u P v oznacza,»e P jest drog z u do v. Uwaga Minimum w denicji nie zawsze istnieje! chwil. Wrócimy do tego za 14 / 37
15 Najkrótsze drogi w grae z wagami Przykªad , δ(1, ) = 10, δ(1, ) = 9, δ(, ) = 14, δ(1, 6) = 13,. 1 / 37
16 Problem cykli ujemnych Rozwa»my graf z wagami: Wówczas w(1,, 3) = 10, w(1,, 3, 1,, 3) = 1, w(1,, 3, 1,, 3, 1,, 3) = 0,... Czyli warto± δ(1, 3) = min{w(p) : u P v} jest nieokre±lona! W takiej sytuacji kªadziemy δ(1, 3) :=. Jest to tzw. problem cykli ujemnych. Algorytm poszukiwania najkrótszych dróg powinien sobie z nim radzi (albo go unikn ). 16 / 37
17 Warianty problemu najkrótszych dróg 1 Najkrótsze drogi z jednym ¹ródªem. Analogicznie jak BFS dla grafów bez wag z poprzedniego wykªadu. Najkrótsze drogi z jednym wierzchoªkiem docelowym. Ten problem mo»na rozwi za przy pomocy pierwszego. 3 Najkrótsza droga mi dzy par wierzchoªków. Pokazuje si,»e ten problem jest obliczeniowo równowa»ny pierwszemu. Tzn. algorytmy szukaj ce najkrótszej drogi z u do v, jako skutek uboczny i tak musz wyliczy wszystkie najkrótsze drogi z jednym ¹ródªem u. 4 Najkrótsze drogi mi dzy wszystkimi parami wierzchoªków. Ten problem mo»na rozwi za przy pomocy pierwszego (dla wszystkich ¹ródeª). S te» specjalne algorytmy opracowane dla tego konkretnego problemu, np. algorytm Floyda-Warshalla. 17 / 37
18 Warianty problemu najkrótszych dróg W dalszej cz ±ci wykªadu omówimy dwa ró»ne algorytmy rozwi zuj ce wariant pierwszy, najkrótsze drogi z jednym ¹ródªem: 1 Algorytm Dijkstry. Algorytm Bellmana-Forda. 18 / 37
19 Oznaczenia i konwencje Ustalmy graf z wagami G = (V, E). Najkrótsze drogi z jednym ¹ródªem s V. π[v] poprzednik wierzchoªka v na tymczasowej najkrótszej drodze z s do v. Dla ka»dego v V trzymamy atrybut d[v] = oszacowanie wagi najkrótszej drogi = górne ograniczenie wagi najkrótszej drogi z s do v. W trakcie algorytmów atrybuty (wektory) te b d modykowane, by mo»e wielokrotnie na tych samych wspóªrz dnych. Warto±ci d[v] b d male. Po zako«czeniu algorytmów: π b dzie zawieraª poprzedników na najkrótszych drogach z s, d b dzie zawieraª wagi najkrótszych dróg z s, tj. d[v] = δ(s, v), dla ka»dego v V. 19 / 37
20 Oznaczenia i konwencje Poniewa» wykorzystujemy znak jako stra»nika, ustalamy prost arytmetyk na niesko«czono±ciach: Dla a R { }, przyjmujemy a + = + a =. Dla a R { }, przyjmujemy a + ( ) = ( ) + a =. Realizacja tej arytmetyki zale»y od konkretnej implementacji. 0 / 37
21 Procedura relaksacji Relaksacja (=osªabienie ogranicze«) kraw dzi (u, v) sprawdzenie, czy przechodz c przez u, mo»na znale¹ krótsz od dotychczas najkrótszej drogi do v. Je»eli tak, uaktualniamy warto±ci d[v] i π[v]. Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u 1 / 37
22 Poprawno± Oba algorytmy polegaj na wykonaniu serii relaksacji w odpowiedniej kolejno±ci. Dowód poprawno±ci obu algorytmów opiera si na nast puj cych prostych faktach (zwi zanych z relaksacj ). Lemat 1 Poddroga najkrótszej drogi te» jest najkrótsz drog. Lemat (Nierówno± trójk ta) Dla ka»dych u, v, x V zachodzi nierówno± : δ(u, v) δ(u, x) + δ(x, v). Peªen dowód pomijamy, mo»na go znale¹ np. w ksi»ce [1] ze spisu literatury do wykªadu (T. H. Cormen et al.). / 37
23 Inicjalizacja W obu algorytmach wykorzystamy nast puj c inicjalizacj wektorów π i d: Initialize(G, s) for ka»dy v V(G) do d[v] := ; π[v] := d[s] := 0 3 / 37
24 Specykacja Przypomnijmy,»e przy ujemnych warto±ciach funkcji wagi mog wyst pi ujemne cykle. W przypadku algorytmu Dijkstry po prostu nie dopuszcza si wag ujemnych by unikn problemu. Algorytm Dijkstry. Dane: graf skierowany G = (V, E), nieujemna funkcja wagi w oraz wierzchoªek ¹ródªowy s V. Wynik: dla ka»dego v V osi galnego z s, warto± d[v] = δ(s, v) oraz poprzednik π[v] na najkrótszej drodze z s do v. 4 / 37
25 Ogólna idea Strategia (zachªanna): S = zbiór wierzchoªków, dla których wagi najkrótszych dróg s policzone, tj. v S d[v] = δ(s, v). powtarzanie nast puj cych operacji: bierzemy u V \ S o najmniejszej warto±ci d[u] ( zbiór V \ S kolejka priorytetowa!); dodajemy u do S i wykonujemy relaksacj na wszystkich kraw dziach u v. Zbiór S i operacje na nim mo»na pomin w implementacji. / 37
26 Kolejka priorytetowa - przypomnienie Kolejka priorytetowa (typu MIN) = struktura danych K, w której elementy s liniowo uporz dkowane (przy pomocy pewnego klucza, inaczej priorytetu) i przetwarzane w kolejno±ci od obiektu o najni»szym priorytecie do obiektu o najwy»szym priorytecie. Operacja: ExtractMin(K) zwrócenie i usuni cie elementu o najni»szym priorytecie z kolejki K. Uwaga W algorytmie Dijkstry elementami kolejki K b d wierzchoªki, ich priorytetami warto±ci d[v]. 6 / 37
27 Kolejka priorytetowa - przypomnienie Przypomnijmy,»e kolejk priorytetow najefektywniej implementuje si przy pomocy kopca. Mo»na te» zasymulowa jej dziaªanie na zwykªej tablicy (wtedy operacja ExtractMin polega m.in. na wyszukaniu minimum w tablicy). Mo»na te» u»y gotowych struktur, jak priority_queue biblioteki STL j zyka C / 37
28 Kolejka priorytetowa - relaksacja Uwaga techniczna: W procedurze relaksacji uaktualniamy warto±ci wektora d (czyli priorytety): Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u Zatem w zale»no±ci od implementacji kolejki priorytetowej nale»y odpowiednio uaktualni struktur kolejki: je»eli kolejka implementowana jest na kopcu, nale»y przywróci wªasno± kopca! 8 / 37
29 Algorytm Dijkstra(G, w, s) 1 Initialize(G, s); 3 S := ; 4 Q := V(G); while Q <> do 6 7 u := ExtractMin(Q); 8 S := S {u}; 9 for ka»dy v Adj[u] do 10 Relax(u, v, w); 11 1 Najwa»niejsze w dowodzie poprawno±ci: dla ka»dego u dodawanego do S mamy d[u] = δ(s, u). 9 / 37
30 Algorytm - zªo»ono± Dijkstra(G, w, s) 1 Initialize(G, s); 3 S := ; 4 Q := V(G); while Q <> do 6 7 u := ExtractMin(Q); 8 S := S {u}; 9 for ka»dy v Adj[u] do 10 Relax(u, v, w); 11 1 Zªo»ono± (szkic). Kolejka implementowana na tablicy: ExtractMin na tablicy: O( V ); wiersz 7 wykonany V razy ( skªadnik O( V ) w zªo». caªego algorytmu); dodatkowo wiersz 10 globalnie wykonywany jest O( E ) razy. Zªo»ono± O( V + E ) = O( V ) (bo E = O( V )). 30 / 37
31 Algorytm - zªo»ono± Dijkstra(G, w, s) 1 Initialize(G, s); 3 S := ; 4 Q := V(G); while Q <> do 6 7 u := ExtractMin(Q); 8 S := S {u}; 9 for ka»dy v Adj[u] do 10 Relax(u, v, w); 11 1 Zªo»ono± (szkic). Kolejka implementowana na kopcu: ExtractMin - koszt O(log V ); relaksacja - koszt O(log V ) (przywrócenie wªasno±ci kopca); wiersz 7 globalnie wykonywany jest O( V ), a 10, O( E ) razy ( skªadniki O( V log V ) i O( E log V ) w zªo». caªego alg.). O(( V + E ) log V ) (gdy G spójny, O( E log V )). 31 / 37
32 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s , w π[w] d[w] u v d[v] d[u] w(u, v) Q: / 37
33 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s , w π[w] d[w] u v d[v] d[u] w(u, v) 1 Q: / 37
34 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s , w π[w] d[w] u v d[v] d[u] w(u, v) 1 > Q: / 37
35 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s , w π[w] d[w] u v d[v] d[u] w(u, v) 1 > Q: / 37
36 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s , w π[w] d[w] u v d[v] d[u] w(u, v) 1 > > Q: / 37
37 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s , w π[w] d[w] u v d[v] d[u] w(u, v) 1 > > Q: / 37
38 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s , w π[w] d[w] u v d[v] d[u] w(u, v) 1 > > > Q: / 37
39 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s , w π[w] d[w] u v d[v] d[u] w(u, v) 1 > > > Q: / 37
40 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , u v d[v] d[u] w(u, v) 1 > > > Q: / 37
41 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , u v d[v] d[u] w(u, v) 1 > > > > 7 + Q: / 37
42 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , u v d[v] d[u] w(u, v) 1 > > > > 7 + Q: / 37
43 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , u v d[v] d[u] w(u, v) 1 > > > > 7 + Q: / 37
44 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , u v d[v] d[u] w(u, v) 1 > > > > > Q: / 37
45 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , u v d[v] d[u] w(u, v) 1 > > > > > Q: / 37
46 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , u v d[v] d[u] w(u, v) 1 > > > > > > 9 + 4, Q: / 37
47 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , 4, u v d[v] d[u] w(u, v) 1 > > > > > > 9 + 4, Q: / 37
48 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , 4, u v d[v] d[u] w(u, v) 1 > > > > > > 9 + 4, Q: / 37
49 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , 4, u v d[v] d[u] w(u, v) 1 > > > > > > 9 + 4, 1 0 < 10 + Q: / 37
50 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , 4, u v d[v] d[u] w(u, v) 1 > > > > > > 9 + 4, 1 0 < < Q: / 37
51 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , 4, u v d[v] d[u] w(u, v) 1 > > > > > > 9 + 4, 1 0 < < Q: 3 3 / 37
52 Algorytm - przebieg dla s = 1 Dijkstra(G, w, s) Initialize(G, s); Q := V(G); while Q <> do u := ExtractMin(Q); for ka»dy v Adj[u] do Relax(u, v, w); Relax(u, v, w) if d[v] > d[u] + w(u,v) then d[v] := d[u] + w(u,v); π[v] := u s w π[w] d[w] , 4, Q: u v d[v] d[u] w(u, v) 1 > > > > > > 9 + 4, 1 0 < < / 37
53 Algorytm - wyniki s , w π[w] d[w] , Po zako«czeniu dziaªania algorytmu w wektorze π s zakodowane najkrótsze drogi z s = 1 do poszczególnych wierzchoªków (poprzez system poprzedników), w wektorze d s zakodowane ich dªugo±ci. 33 / 37
54 Algorytm - wyniki s , w π[w] d[w] , Po zako«czeniu dziaªania algorytmu w wektorze π s zakodowane najkrótsze drogi z s = 1 do poszczególnych wierzchoªków (poprzez system poprzedników), w wektorze d s zakodowane ich dªugo±ci. I tak np. najkrótsza droga z 1 do 3 to: 1 4 3, o dª / 37
55 Uwagi wst pne Algorytm Bellmana-Forda. Dopuszczamy ujemne wagi (w przeciwie«stwie do algorytmu Dijkstry). Algorytm potra wykry ujemne cykle. Nie wykorzystuje kolejki priorytetowej (ªatwiejszy w implementacji). Ma za to wy»sz zªo»ono± od algorytmu Dijkstry. 34 / 37
56 Specykacja Algorytm Bellmana-Forda. Dane: graf skierowany G = (V, E), funkcja wagi w oraz wierzchoªek ¹ródªowy s V. Wynik: warto± true, gdy G nie zawiera ujemnych cykli osi galnych z s, ponadto: dla ka»dego v V osi galnego z s, warto± d[v] = δ(s, v) oraz poprzednik π[v] na najkrótszej drodze z s do v. Gdy G zawiera ujemny cykl osi galny ze ¹ródªa, warto± false. 3 / 37
57 Algorytm Bellman-Ford(G, w, s) 1 Initialize(G, s); 3 for i := 1 to V(G) 1 do 4 for ka»da (u,v) E(G) do Relax(u, v, w); 6 for ka»da (u,v) E(G) do 7 if d[v] > d[u]+w(u, v) then 8 return false; 9 return true 10 Zªo»ono± : O( V E ) (p tla w wierszach 3- dominuj ca). 36 / 37
58 Algorytmy - proste porównanie Zasymulowanie przebiegu algorytmu Bellmana-Forda zostawimy jako wiczenie. W celu porównania obu algorytmów przypomnijmy,»e dla grafu G : , algorytm Dijkstry wykonaª 8 relaksacji (tyle ile kraw dzi). Natomiast algorytm Bellmana-Forda wykona (6 1) 8 = 40 relaksacji (patrz wiersze 3- kodu). (Czyli analogiczna tabela przebiegu, jak przedstawili±my przy przebiegu algorytmu Dijkstry, tu b dzie miaªa 40 wierszy). 37 / 37
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ół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ół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ół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ółowoAlgorytmy 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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ółowoTEORIA 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ółowoDigraf. 13 maja 2017
Digraf 13 maja 2017 Graf skierowany, digraf, digraf prosty Definicja 1 Digraf prosty G to (V, E), gdzie V jest zbiorem wierzchołków, E jest rodziną zorientowanych krawędzi, między różnymi wierzchołkami,
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ół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ół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ół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ół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ółowoInformacje pomocnicze
Funkcje wymierne. Równania i nierówno±ci wymierne Denicja. (uªamki proste) Wyra»enia postaci Informacje pomocnicze A gdzie A d e R n N (dx e) n nazywamy uªamkami prostymi pierwszego rodzaju. Wyra»enia
Bardziej szczegółowoPRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:
Plan Spis tre±ci 1 Homomorzm 1 1.1 Macierz homomorzmu....................... 2 1.2 Dziaªania............................... 3 2 Ukªady równa«6 3 Zadania 8 1 Homomorzm PRZYPOMNIENIE Ka»d przestrze«wektorow
Bardziej szczegółowoPrzetwarzanie sygnaªów
Przetwarzanie sygnaªów Wykªad 8 - Wst p do obrazów 2D Marcin Wo¹niak, Dawid Poªap Przetwarzanie sygnaªów Pa¹dziernik, 2018 1 / 27 Plan wykªadu 1 Informacje wstepne 2 Przetwarzanie obrazu 3 Wizja komputerowa
Bardziej szczegółowo1 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ół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ół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ółowoElementy geometrii w przestrzeni R 3
Elementy geometrii w przestrzeni R 3 Z.Šagodowski Politechnika Lubelska 29 maja 2016 Podstawowe denicje Wektorem nazywamy uporz dkowan par punktów (A,B) z których pierwszy nazywa si pocz tkiem a drugi
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ół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ółowoWykª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ół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ółowoMateriaª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ół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ółowoZbiory 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ół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ół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ół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ół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ół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ół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ół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ółowoElementy 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ół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ółowoPorównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki
Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First
Bardziej szczegółowoProgramowanie 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ół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ółowoZadania z z matematyki dla studentów gospodarki przestrzennej UŠ. Marek Majewski Aktualizacja: 31 pa¹dziernika 2006
Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ Marek Majewski Aktualizacja: 1 pa¹dziernika 006 Spis tre±ci 1 Macierze dziaªania na macierzach. Wyznaczniki 1 Macierz odwrotna. Rz d macierzy
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ółowo1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza
165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie
Bardziej szczegółowoElementy geometrii analitycznej w przestrzeni
Wykªad 3 Elementy geometrii analitycznej w przestrzeni W wykªadzie tym wi kszy nacisk zostaª poªo»ony raczej na intuicyjne rozumienie deniowanych poj, ni» ±cisªe ich zdeniowanie. Dlatego niniejszy wykªad
Bardziej szczegółowoWst p do sieci neuronowych 2010/2011 wykªad 7 Algorytm propagacji wstecznej cd.
Wst p do sieci neuronowych 2010/2011 wykªad 7 Algorytm propagacji wstecznej cd. M. Czoków, J. Piersa Faculty of Mathematics and Computer Science, Nicolaus Copernicus University, Toru«, Poland 2010-11-23
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ółowoPrzetwarzanie sygnaªów
Przetwarzanie sygnaªów Laboratorium 1 - wst p do C# Dawid Poªap Przetwarzanie sygnaªów Pa¹dziernik, 2018 1 / 17 Czego mo»na oczekiwa wzgl dem programowania w C# na tych laboratoriach? Dawid Poªap Przetwarzanie
Bardziej szczegółowoListy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.
Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy
Bardziej szczegółowo2 Liczby rzeczywiste - cz. 2
2 Liczby rzeczywiste - cz. 2 W tej lekcji omówimy pozostaªe tematy zwi zane z liczbami rzeczywistymi. 2. Przedziaªy liczbowe Wyró»niamy nast puj ce rodzaje przedziaªów liczbowych: (a) przedziaªy ograniczone:
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ół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ół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ół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ół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ółowoPodstawy 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ółowoSzeregowanie zada« Wykªad nr 5. dr Hanna Furma«czyk. 4 kwietnia 2013
Wykªad nr 5 4 kwietnia 2013 Procesory dedykowane Przypomnienie: zadania s podzielone na operacje (zadanie Z j skªada si z operacji O ij do wykonania na maszynach M i, o dªugo±ciach czasowych p ij ); zadanie
Bardziej szczegółowoInterpolacja 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ół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ół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ół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ół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ółowoKLASYCZNE 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ółowoMatematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia 2011. Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej
Matematyka wykªad 1 Macierze (1) Andrzej Torój Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej 17 wrze±nia 2011 Plan wykªadu 1 2 3 4 5 Plan prezentacji 1 2 3 4 5 Kontakt moja strona internetowa:
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ół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ół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ół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ółowoProgramowanie 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ółowoSzeregowanie zada« Wykªad nr 6. dr Hanna Furma«czyk. 11 kwietnia 2013
Wykªad nr 6 11 kwietnia 2013 System otwarty - open shop O3 C max Problem O3 C max jest NP-trudny. System otwarty - open shop O3 C max Problem O3 C max jest NP-trudny. Dowód Redukcja PP O3 C max : bierzemy
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ół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ółowoWnioskowanie Boolowskie i teoria zbiorów przybli»onych
Wnioskowanie Boolowskie i teoria zbiorów przybli»onych 4 Zbiory przybli»one Wprowadzenie do teorii zbiorów przybli»onych Zªo»ono± problemu szukania reduktów 5 Wnioskowanie Boolowskie w obliczaniu reduktów
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ół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ół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ółowoAlgorytmy wyznaczania centralności w sieci Szymon Szylko
Algorytmy wyznaczania centralności w sieci Szymon Szylko Zakład systemów Informacyjnych Wrocław 10.01.2008 Agenda prezentacji Cechy sieci Algorytmy grafowe Badanie centralności Algorytmy wyznaczania centralności
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ół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ół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ół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ółowoOba zbiory s uporz dkowane liniowo. Badamy funkcj w pobli»u kresów dziedziny. Pewne punkty szczególne (np. zmiana denicji funkcji).
Plan Spis tre±ci 1 Granica 1 1.1 Po co?................................. 1 1.2 Denicje i twierdzenia........................ 4 1.3 Asymptotyka, granice niewªa±ciwe................. 7 2 Asymptoty 8 2.1
Bardziej szczegółowoWyszukiwanie. 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ółowoWzorce projektowe strukturalne cz. 1
Wzorce projektowe strukturalne cz. 1 Krzysztof Ciebiera 19 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawowe wzorce Podstawowe wzorce Podstawowe informacje Singleton gwarantuje,»e klasa ma jeden egzemplarz. Adapter
Bardziej szczegółowoWska¹niki, tablice dynamiczne wielowymiarowe
Rozdziaª 11 Wska¹niki, tablice dynamiczne wielowymiarowe 11.1 Wst p Identycznie, jak w przypadku tablic statycznych, tablica dynamiczna mo»e by tablic jedno-, dwu-, trójitd. wymiarow. Tablica dynamiczna
Bardziej szczegółowoMacierze i Wyznaczniki
Macierze i Wyznaczniki Kilka wzorów i informacji pomocniczych: Denicja 1. Tablic nast puj cej postaci a 11 a 12... a 1n a 21 a 22... a 2n A =... a m1 a m2... a mn nazywamy macierz o m wierszach i n kolumnach,
Bardziej szczegółowoSpis treści. Przykład. Przykład 1 Przykład 2. Twórcy Informacje wstępne Pseudokod Przykład. 1 Grafy skierowane z wagami - przypomnienie
Algorytmy Grafowe dr hab. Bożena Woźna-Szcześniak, prof. UJD Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie b.wozna@ujd.edu.pl Wykład 1,11,1 B. Woźna-Szcześniak (UJD) Algorytmy
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ół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ół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ół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ółowoEkonometria - wykªad 8
Ekonometria - wykªad 8 3.1 Specykacja i werykacja modelu liniowego dobór zmiennych obja±niaj cych - cz ± 1 Barbara Jasiulis-Goªdyn 11.04.2014, 25.04.2014 2013/2014 Wprowadzenie Ideologia Y zmienna obja±niana
Bardziej szczegółowo