Komiwojażer na płaszczyźnie
|
|
- Julian Zakrzewski
- 5 lat temu
- Przeglądów:
Transkrypt
1 Komiwojażer na płaszczyźnie Paweł Gawrychowski Uniwersytet Wrocławski & Max-Planck-Institut für Informatik 18 marca 2014 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
2 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
3 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
4 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
5 ETSP W Euclidean Travelling Salesman Problem dostajemy n punktów na płaszczyźnie (x i, y i ). Celem jest znalezienie permutacji π, która minimalizuje sumaryczna długość trasy, czyli (x π(i+1) x π(i) ) 2 + (y π(i+1) y π(i) ) 2. i Interesuje nas skonstruowanie efektywnego algorytmu dla tego problemu. Efektywność mierzymy w dwóch kategoriach: 1 czas działania, 2 potrzebna pamięć. d(i, j) = (x i x j ) 2 + (y i y j ) 2 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
6 Zacznijmy od najprostszego pomysłu: sprawdźmy wszystkie możliwe permutacje π. Niestety jest ich dość sporo, bo aż n! (n/e) n. Już dla n = 15 ten pomysł nie ma najmniejszych szans na sukces. No to może trzeba choć chwilę pomyśleć? Spróbujmy skorzystać z techniki nazywanej przez informatyków programowaniem dynamicznym. Prosta obserwacja Zamiast szukać najkrótszej trasy, równie dobrze możemy szukać najkrótszej ścieżki, która zaczyna się (x 1, y 1 ), kończy w ustalonym (x e, y e ), i odwiedza każdy punkt. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
7 Zdefiniujmy S[A][i] jako długość najkrótszej ścieżki, która zaczyna się (x 1, y 1 ), kończy w (x i, y i ), i dla każdego j A przechodzi przez (x j, y j ). Wynik to po prostu min e S[{1, 2,..., n}][e] + d(1, e). Chcielibyśmy wyznaczyć wszystkie sensowne S[A][i], czyli takie, dla których {1, i} A. Od czego zaczać? Co dalej? S[{1}][1] = 0 Popatrzmy na S[A][i], gdzie {1, i} A oraz 1 i. Najkrótsza możliwa ścieżka, która kończy się w (x i, y i ), ma postać 1... j i. Czyli jej długość to po prostu S[A \ {i}][j] + d(j, i). Co prawda nie znamy j, ale przecież możemy sprawdzić wszystkie możliwości! S[A][i] = min S[A \ {i}][j] + d(j, i) j A,j i Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
8 Daje nam to dość proste rozwiazanie, które wymaga wykonania około 2 n n 2 operacji. Pracowicie wyliczamy S[A][i] dla kolejnych A oraz i. Każde S[A][i] można wyliczyć wykonujac tylko n operacji, jeśli znamy już wszystkie S[A ][i ], dla których A < A. n = 15 Dla n = 15 potrzebujemy tylko kilku milionów operacji, czyli pewnie kilku sekund. Nawet dla n = 30 czas działania to pewnie tylko kilka minut, pojawia się jednak inny problem: musimy przechowywać wszystkie S[A][i], co wymaga kilkunastu gigabajtów pamięci RAM. A z tym może być problem... Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
9 Czyli uzyskaliśmy istotnie lepsza złożoność czasowa kosztem istotnie lepszej złożoności pamięciowej. rozwiazanie naiwne O((n/e) n n) O(n) programowanie dynamiczne O(2 n n 2 ) O(2 n n) następny slajd O(4 n n O(log n) ) O(n) Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
10 Niech S(i, A, j) będzie długościa najkrótszej ścieżka, która zaczyna się w i, kończy w j, i dla każdego k A przechodzi przez (x k, y k ) (zakładamy, że i, j A). Interesuje nas wyliczenie S(i, {1, 2,..., n}, j). Jak podzielić problem na mniejsze? Niech i... j będzie ścieżka odpowiadajac a S(i, A, j). Wybierzmy z, które jest jej (mniej więcej) środkowym elementem i zdefiniujmy: 1 A 1 jako zbiór elementów przed z na ścieżce, włacznie z i. 2 A 2 jako zbiór elementów po z na ścieżce, włacznie z j. Wtedy S(i, A, j) = S(i, A 1 {z}, z) + S(z, A 2 {z}, j). Czyli aby wyliczyć S(i, A, j) wystarczy wyznaczyć S(i, A 1 {z}, z) i S(z, A 2 {z}, j). Problem Ale przecież nie znamy z, A 1, A 2. Z braku lepszych pomysłów możemy jednak sprawdzić wszystkie możliwości. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
11 Spróbujmy oszacować całkowity czas działania T (n). Mamy n możliwych wyborów z i 2 n 3 możliwych podziałów A \ {z} na A 1 i A 2. Czyli: T (n) = O(n2 n 3 (T (n/2 + 1) + T (n/2 + 1)) = O(n2 n T (n/2 + 1)) Po rozpisaniu łatwo uwierzyć, że T (n) = O(4 n n O(log n) ). Gurevich i Shelah 1987 Powyższy algorytm działa w czasie O(4 n n O(log n) ) i pamięci O(n). Koivisto i Parviainen 2010 Dla dowolnego parametru S ( (2), 2), można skonstruować algorytm, który działa w czasie O(T n ) i pamięci O(S n ), gdzie TS < 4. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
12 Powyz sze rozwiazania zupełnie nie korzystały z tego, z e d(i, j) to odległos c euklidesowa. Byc moz e jest tak, z e takie załoz enie istotnie upraszcza problem, i moz na skonstruowac algorytm, który działa w wielomianowym czasie i wielomianowej pamieci. Papadimitriou 1977 ETSP jest NP-trudny. A moz e NP-zupełny? 1 Aby mówic o NP-zupełnos ci, trzeba zdefiniowac problem decyzyjny, czyli pytac o istnienie trasy, której długos c D. 2 Nie wiadomo. Problemem jest to, z e musimy wyliczac wyraz enia P q postaci i (xπ(i+1) xπ(i) )2 + (yπ(i+1) yπ(i) )2, co moz e wymagac wyznaczania wielu cyfr po przecinku. Paweł Gawrychowski Komiwojaz er na płaszczyz nie 18 marca / 31
13 P vs NP Rozważamy problemy, dla których odpowiedź to TAK/NIE. Czy istnieje trasa o długości D, która odwiedza wszystkie punkty? Zakładamy, że dane wejściowe to ciag n bitów, czyli kodujemy binarnie wszystkie współrzędne x i i y i. Także wszystkie tymczasowe dane przechowywane przez nasz algorytm to ciagi bitów. Problem należy do klasy złożoności P Jeśli można skonstruować dla niego deterministyczny algorytm o czasie działania O(n c ), gdzie c to dowolna liczba naturalna. Problem należy do klasy złożoności NP Jeśli można skonstruować dla niego niedeterministyczny algorytm o czasie działania O(n c ), gdzie c to dowolna liczba naturalna. Niedeterministyczny oznacza tutaj, że możemy korzystać z życzliwej podpowiedzi. Taka podpowiedź to kolejny ciag bitów długości O(n c ). Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
14 Przykład Grahama Nie będziemy się tym przejmować. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
15 No dobrze, ale może wcale nie potrzebujemy wyznaczać trasy, która jest najkrótsza. Może wystarczyłoby nam wyznaczenie takiej, która jest krótka. Konkretniej, jeśli ALG to nasze rozwiazanie, a OPT to rozwiazanie optymalne, ALG c OPT, gdzie c jest bliskie 1. Arora 1996 Dla każdego ɛ > 0 istnieje wielomianowy algorytm, który aproksymuje ETSP ze współczynnikiem 1 + ɛ. Mówimy, że istnieje wielomianowy schemat aproksymacji (PTAS) dla tego problemu. Niestety czas działania tego wielomianowego algorytmu to w najlepszym wypadku O(n log 1 ɛ n), czyli raczej sporo. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
16 Spróbujemy skonstruować dokładny algorytm o czasie działania O(n O( n) ). Nie będzie on super praktyczny, ale: 1 ma intrygujaco wygladaj ac a złożoność czasowa, 2 liniowa (czyli optymalna) złożoność pamięciowa, 3 korzysta z fajnej sztuczki zwiazanej z grafami planarnymi, która jest ciekawa sama w sobie. Smith 1989, Kann 1992, Hwang, Chang, Lee 1993 ETSP może być rozwiazany w czasie O(n O( n) ) i pamięci O(n). Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
17 Pierwsza prosta obserwacja Krawędzie najkrótszej trasy nie przecinaja się ze soba. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
18 Pierwsza prosta obserwacja Krawędzie najkrótszej trasy nie przecinaja się ze soba. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
19 Pierwsza prosta obserwacja Krawędzie najkrótszej trasy nie przecinaja się ze soba. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
20 Pierwsza prosta obserwacja Krawędzie najkrótszej trasy nie przecinaja się ze soba. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
21 Czyli możemy patrzeć na optymalne rozwiazanie jako na graf planarny G = (V, E). Obydwa przedstawione wcześniej rozwiazania opierały się na rozbiciu oryginalnego problemu na dwa mniejsze, naturalne jest więc przyjrzenie się separatorom w grafach planarnych. Mówimy, że S jest (A, B)-separatorem, jeśli V = A S B i w E nie ma krawędzi łacz acych wierzchołki z A i B. S jest dobrym separatorem, jeśli jest (A, B)-separatorem, gdzie A, B 2 3 V. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
22 Wiadomo, że w każdym grafie planarnym istnieje dobry separator o rozmiarze O( n). My potrzebujemy jednak silniejszego twierdzenia. Miller 1986 W każdym dwuspójnym grafie planarnym można znaleźć cykl prosty na co najwyżej 2 2 d 2 n wierzchołkach, który jest dobrym separatorem. n to liczba wierzchołków w grafie d to maksymalny rozmiar ściany grafu Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
23 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
24 W grafie planarnym, który odpowiada optymalnemu rozwiazaniu, d może (a pewnie nawet i musi) być dość spore. Łatwo sobie z tym jednak poradzić dodajac nowe krawędzie. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
25 W grafie planarnym, który odpowiada optymalnemu rozwiazaniu, d może (a pewnie nawet i musi) być dość spore. Łatwo sobie z tym jednak poradzić dodajac nowe krawędzie. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
26 W grafie planarnym, który odpowiada optymalnemu rozwiazaniu, d może (a pewnie nawet i musi) być dość spore. Łatwo sobie z tym jednak poradzić dodajac nowe krawędzie. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
27 W grafie planarnym, który odpowiada optymalnemu rozwiazaniu, d może (a pewnie nawet i musi) być dość spore. Łatwo sobie z tym jednak poradzić dodajac nowe krawędzie. I być może 3 nowe wierzchołki. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
28 Kluczowy pomysł Wyobraźmy sobie graf planarny odpowiadajacy optymalnemu rozwiazaniu. Znajdźmy w nim cykl prosty C, który jest dobrym separatorem i popatrzmy, w jaki sposób przecina go nasza trasa. Trasa przecina cykl tylko w jego wierzchołkach. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
29 Kluczowy pomysł Wyobraźmy sobie graf planarny odpowiadajacy optymalnemu rozwiazaniu. Znajdźmy w nim cykl prosty C, który jest dobrym separatorem i popatrzmy, w jaki sposób przecina go nasza trasa. Trasa przecina cykl tylko w jego wierzchołkach. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
30 Kluczowy pomysł Wyobraźmy sobie graf planarny odpowiadajacy optymalnemu rozwiazaniu. Znajdźmy w nim cykl prosty C, który jest dobrym separatorem i popatrzmy, w jaki sposób przecina go nasza trasa. Trasa przecina cykl tylko w jego wierzchołkach. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
31 Dziel-i-zwyciężaj Sytuacja na zewnatrz cyklu jest w zasadzie niezależna od sytuacji w jego wnętrzu. Istotne jest tylko to, w których wierzchołkach następuje przejście na druga stronę, no i w jaki sposób połaczone sa ze soba te przejścia. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
32 Dziel-i-zwyciężaj Sytuacja na zewnatrz cyklu jest w zasadzie niezależna od sytuacji w jego wnętrzu. Istotne jest tylko to, w których wierzchołkach następuje przejście na druga stronę, no i w jaki sposób połaczone sa ze soba te przejścia. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
33 Dziel-i-zwyciężaj Sytuacja na zewnatrz cyklu jest w zasadzie niezależna od sytuacji w jego wnętrzu. Istotne jest tylko to, w których wierzchołkach następuje przejście na druga stronę, no i w jaki sposób połaczone sa ze soba te przejścia. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
34 Dziel-i-zwyciężaj Jeśli wiemy gdzie i jak dokładnie następuja przejścia na druga stronę, możemy osobno rozważyć sytuację na zewnatrz i wewnatrz cyklu. A dokładniej, możemy rekurencyjnie znaleźć dla nich optymalne rozwiazania. Drobny problem W oryginalnym problemie szukaliśmy trasy, która przechodzi przez każdy punkt. W otrzymanych (istotnie) mniejszych problemach sytuacja jest bardziej skomplikowana: szukamy zbioru ścieżek łacz acych podane pary punktów (s i, t i ) o takiej własności, że każdy z podanych punktów v j leży na jednej ze ścieżek. Nie przejmujmy się tym. Oczywiście nie mamy takiej informacji. Ba, nie znamy nawet C! Jak sobie z tym poradzić? Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
35 Zgadnijmy C oraz to, jak wygladaj a przejścia na druga stronę. Zgadnijmy oznacza tutaj oczywiście sprawdźmy wszystkie możliwości. Skoro C O( n), mamy tylko O(n O( n) ) możliwych wyborów C. Okazuje się, że istotnie różnych sposób, na które można przechodzić przez wierzchołki C, jest tylko 2 C ( C )!, czyli też O(n O( n) ). Mamy więc następujac a rekurencję na całkowity czas działania: T (n) = O(n O( n) )(T (n 1 ) + T (n 2 )) = O(n O( n) )T ( 2 3 n) czyli T (n) = O(n O( 2 n+ 3 n+ ( 2 3) 2 n+...) ) = O(n O( n) ). Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
36 Co dalej? Nie wiadomo, czy da się lepiej. Można więc zastanawiać się nad specjalnymi przypadkami, w których podane punkty maja dodatkowa strukturę. Jeśli wszystkie punkty leża na otoczce wypukłej, najlepsza możliwa trasa to po prostu ta otoczka. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
37 Co dalej? Nie wiadomo, czy da się lepiej. Można więc zastanawiać się nad specjalnymi przypadkami, w których podane punkty maja dodatkowa strukturę. Jeśli wszystkie punkty leża na otoczce wypukłej, najlepsza możliwa trasa to po prostu ta otoczka. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
38 W miarę naturalne jest więc następujace pytanie: powiedzmy, że mamy n punktów, z których tylko k leży wewnatrz otoczki wypukłej. Czy da się skonstruować algorytm, który będzie efektywny dla małych wartości k nawet, jeśli n jest duże? Lub, mówiac inaczej, będzie być może wykładniczy ze względu na k, ale wielomianowy ze względu na n. Deineko, Hoffman, Okamoto, Woeginger 2004 Tak zdefiniowany problem można rozwiazać w czasie O(2 k k 2 n). Knauer i Spillner 2006 A nawet O(k O( k) k 1.5 n 3 ). To szybsze rozwiazanie jest oparte na programowaniu dynamicznym. Oznacza to, że jego złożoność pamięciowa jest niestety również wykładnicza. Ale może da się jakoś inaczej? Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
39 Istnieje algorytm, który działa w czasie O(nk 2 + k O( k) ) i używa pamięci O(n). Idea Modyfikujemy algorytm oparty na separatorach. Problematyczne jest to, że być może n jest istotnie większe niż k... Kernelizacja Czyli problemem jest dla nas sytuacja, w której liczba punktów na otoczce jest istotnie większa niż liczba punktów w środku. Okazuje się, że w takim wypadku można ze spokojnym sumieniem zapomnieć o wszystkich poza ( k 2) + k odcinkach otoczki. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
40 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
41 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
42 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
43 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
44 Odcinki otoczki, które należa do trasy, sa nudne. Co więcej, najwyżej k z nich nie jest nudnych. Chcielibyśmy pozbyć się wszystkich nudnych odcinków otoczki......ale oczywiście nie znamy optymalnego rozwiazania, więc nie mamy jak stwierdzić, które odcinki sa nudne. Pomysł Wyznaczymy zbiór ( k 2) + k odcinków otoczki A o takiej własności, że w optymalnym rozwiazania ciekawe odcinki otoczki na pewno sa zawarte w A. Jak? Konstruujemy graf dwudzielny, w której każdemu odcinkowi otoczki odpowiada jeden wierzchołek po lewej stronie, a każdej możliwej ścieżce w środku otoczki jeden wierzchołek po prawej stronie. Koszt połaczenia odcinka otoczki z ścieżka w środku jest zdefiniowany w naturalny sposób. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
45 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
46 Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
47 Teraz okazuje się, że wystarczy znaleźć najtańsze skojarzenie prawych wierzchołków do lewych, a następnie można spokojnie zapomnieć o wszystkich lewych wierzchołkach (czyli odcinkach otoczki), które nie zostały skojarzone. Czyli pozwala to na zmniejszenie n do O(k 2 ). To nie wszystko! Ten pomysł daje algorytm działajacy w czasie O(nk 2 + k O(k) ), czyli za wolno. Dodatkowe pomysły: 1 ważona wersja lematu o separatorze, 2 przycinanie problemu w każdym wywołaniu rekurencyjnym. Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
48 Pytania? Paweł Gawrychowski Komiwojażer na płaszczyźnie 18 marca / 31
Algorytmika Problemów Trudnych
Algorytmika Problemów Trudnych Wykład 9 Tomasz Krawczyk krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2016/17 plan wykładu Algorytmy aproksymacyjne: Pojęcie algorytmu aproksymacyjnego i współczynnika aproksymowalności.
Bardziej szczegółowoPorównanie czasów działania algorytmów sortowania przez wstawianie i scalanie
Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Bardziej szczegółowoAlgorytmy aproksymacyjne i parametryzowane
Algorytmy aproksymacyjne i parametryzowane Marek Cygan Uniwersytet Warszawski 18 października 2012 Marek Cygan Algorytmy aproksymacyjne i parametryzowane 1/22 Wstęp W algorytmice problemy dzielimy na obliczeniowo
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ółowoKombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań
Kombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań dopuszczalnych. NP-optymalizacyjny problem Π składa się: zbioru instancji D Π rozpoznawalnego
Bardziej szczegółowoDrzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany
, 1 2 3, czas zamortyzowany zajęcia 3. Wojciech Śmietanka, Tomasz Kulczyński, Błażej Osiński rozpinajace, 1 2 3 rozpinajace Mamy graf nieskierowany, ważony, wagi większe od 0. Chcemy wybrać taki podzbiór
Bardziej szczegółowoProblem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n
i inne cykle Hamiltona na szachownicy n x n Uniwersytet Warszawski 15 marca 2007 Agenda 1 2 naiwne Prosty algorytm liniowy 3 Problem znany był już od bardzo dawna, jako łamigłówka logiczna. Był też stosowany
Bardziej szczegółowoMetody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2
Metody teorii gier ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier Cel: Wyprowadzenie oszacowania dolnego na oczekiwany czas działania dowolnego algorytmu losowego dla danego problemu.
Bardziej szczegółowoWykład 4. Droga i cykl Eulera i Hamiltona
Wykład 4. i Hamiltona Wykład 4. i Hamiltona 1 / 35 Grafy Eulera Niech G będzie grafem spójnym. Definicja Jeżeli w grafie G istnieje zamknięta droga prosta zawierająca wszystkie krawędzie grafu, to taką
Bardziej szczegółowoZłożoność algorytmów. Wstęp do Informatyki
Złożoność algorytmów Złożoność pamięciowa - liczba i rozmiar struktur danych wykorzystywanych w algorytmie Złożoność czasowa - liczba operacji elementarnych wykonywanych w trakcie przebiegu algorytmu Złożoność
Bardziej szczegółowoSprzedaż online. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/40
Sprzedaż online Piotr Sankowski Uniwersytet Warszawski Warszawa 18.04.2013 - p. 1/40 Plan wykładu Problem skojarzeń online Algorytm zachłanny Algorytm losowo rankujacy Dolne ograniczenie Problem aukcji
Bardziej szczegółowoMetoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):
może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład): 1 Narysuj na płaszczyźnie zbiór dopuszczalnych rozwiazań. 2 Narysuj funkcję
Bardziej szczegółowoAlgorytmy w teorii liczb
Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,
Bardziej szczegółowoNierówność Krafta-McMillana, Kodowanie Huffmana
Nierówność Krafta-McMillana, Kodowanie Huffmana Kodowanie i kompresja informacji - Wykład 2 1 marca 2010 Test na jednoznaczna dekodowalność Kod a jest prefiksem kodu b jeśli b jest postaci ax. x nazywamy
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ółowoStruktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott
Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html
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ółowoKompresja bezstratna. Entropia. Kod Huffmana
Kompresja bezstratna. Entropia. Kod Huffmana Kodowanie i bezpieczeństwo informacji - Wykład 10 29 kwietnia 2013 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a)
Bardziej szczegółowoTeoria obliczeń i złożoność obliczeniowa
Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy
Bardziej szczegółowoDroga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona
Wykład 4. Droga i cykl Eulera i Hamiltona 1 / 92 Grafy Eulera Droga i cykl Eulera Niech G będzie grafem spójnym. Definicja Jeżeli w grafie G istnieje zamknięta droga prosta zawierająca wszystkie krawędzie
Bardziej szczegółowoDrzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II
Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem
Bardziej szczegółowoTechniki konstruowania algorytmów. Metoda dziel i zwyciężaj
Techniki konstruowania algorytmów Metoda dziel i zwyciężaj Technika dziel i zwyciężaj Aby rozwiązać problem techniką dziel i zwyciężaj musi on wykazywać własność podstruktury rozwiązanie problemu można
Bardziej szczegółowoProgramowanie liniowe
Programowanie liniowe Maciej Drwal maciej.drwal@pwr.wroc.pl 1 Problem programowania liniowego min x c T x (1) Ax b, (2) x 0. (3) gdzie A R m n, c R n, b R m. Oznaczmy przez x rozwiązanie optymalne, tzn.
Bardziej szczegółowoModele i narzędzia optymalizacji w systemach informatycznych zarządzania
Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5
Bardziej szczegółowoProgramowanie dynamiczne cz. 2
Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy
Bardziej szczegółowoMatematyka od zaraz zatrudnię
Uniwersytet Jagielloński Gdzie jest matematyka? Soczewka, 26-28 listopada 2010 Kolorowanie grafów Dobre kolorowanie wierzchołków grafu, to nadanie im kolorów w taki sposób, że każde dwa wierzchołki połaczone
Bardziej szczegółowoPrzykłady problemów optymalizacyjnych
Przykłady problemów optymalizacyjnych NAJKRÓTSZA ŚCIEŻKA W zadanym grafie G = (V, A) wyznacz najkrótsza ścieżkę od wierzchołka s do wierzchołka t. 2 7 5 5 3 9 5 s 8 3 1 t 2 2 5 5 1 5 4 Przykłady problemów
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, B/14
Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl 1B/14 Drogi w grafach Marszruta (trasa) w grafie G z wierzchołka w do wierzchołka u to skończony ciąg krawędzi w postaci. W skrócie
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 13: Teoria Grafów Gniewomir Sarbicki Literatura R.J. Wilson Wprowadzenie do teorii grafów Definicja: Grafem (skończonym, nieskierowanym) G nazywamy parę zbiorów (V (G), E(G)),
Bardziej szczegółowoPrzykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.
Grafy Graf Graf (ang. graph) to zbiór wierzchołków (ang. vertices), które mogą być połączone krawędziami (ang. edges) w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków. Graf
Bardziej szczegółowoZakładamy, że maszyna ma jeden stan akceptujacy.
Złożoność pamięciowa Rozważamy następujac a maszynę Turinga: 1 0 0 1 1 0 1 1 1 1 Taśma wejściowa (read only) 1 0 1 1 0 0 0 1 0 0 1 Taśma robocza (read/write) 0 1 1 0 0 1 0 0 1 Taśma wyjściowa (write only)
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 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych
Bardziej szczegółowo3. Macierze i Układy Równań Liniowych
3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x
Bardziej szczegółowoZnajdowanie skojarzeń na maszynie równoległej
11 grudnia 2008 Spis treści 1 Skojarzenia w różnych klasach grafów Drzewa Grafy gęste Grafy regularne dwudzielne Claw-free graphs 2 Drzewa Skojarzenia w drzewach Fakt Wybierajac krawędź do skojarzenia
Bardziej szczegółowoOSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000
Bardziej szczegółowoDziałanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).
Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze
Bardziej szczegółowoElementy teorii grafów Elementy teorii grafów
Spis tresci 1 Spis tresci 1 Często w zagadnieniach praktycznych rozważa się pewien zbiór obiektów wraz z zależnościami jakie łączą te obiekty. Dla przykładu można badać pewną grupę ludzi oraz strukturę
Bardziej szczegółowoPrzecięcia odcinków. Wykład /07
Przecięcia odcinków Wykład 2 2006/07 Problem Dane: zbiór S={s 1,...,s n } odcinków na płaszczyźnie Wynik: zbiór punktów przecięć wszystkich odcinków z S, wraz z informacją które odcinki przecinają się
Bardziej szczegółowo5. Najkrótsze ścieżki
p. Definicja 5. Najkrótsze ścieżki 5.1 Odległości w grafach: definicje i własności (Długość ścieżki). Długościa ścieżki nazywamy liczbę krawędzi występujacych w tej ścieżce. Bardziej formalnie, jeżeli
Bardziej szczegółowoDynamiczne drzewa. Piotr Sankowski. - p. 1/27
Piotr Sankowski - p. 1/27 przypomnienie czas O(log 2 n), jak to zrobić w czasie O(log n), jak to zrobić w pesymistycznym czasie O(log n) (szkic). - p. 2/27 Operacje na dynamicznych drzewach: parent(v)
Bardziej szczegółowoZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW RELACJE MIEDZY KLASAMI ZŁOŻONOŚCI Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 KLASY ZŁOŻONOŚCI KLASE ZŁOŻONOŚCI OPISUJE SIE PODAJAC: Model
Bardziej szczegółowoAlgorytmy i Struktury Danych, 2. ćwiczenia
Algorytmy i Struktury Danych, 2. ćwiczenia 2017-10-13 Spis treści 1 Optymalne sortowanie 5 ciu elementów 1 2 Sortowanie metodą Shella 2 3 Przesunięcie cykliczne tablicy 3 4 Scalanie w miejscu dla ciągów
Bardziej szczegółowoAlgorytmy aproksymacyjne dla problemów stochastycznych
Algorytmy aproksymacyjne dla problemów stochastycznych Piotr Sankowski Uniwersytet Warszawski PhD Open, 5-6 grudzień, 2008 - p. 1/47 Plan - Wykład III Aproksymacyjne algorytmy online Aproksymacyjne stochastyczne
Bardziej szczegółowoTeoria grafów - Teoria rewersali - Teoria śladów
17 maja 2012 1 Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność 2 Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące
Bardziej szczegółowowstęp do informatyki i programowania część testowa (25 pyt. / 60 min.)
egzamin podstawowy 7 lutego 2017 r. wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.) Instytut Informatyki Uniwersytetu Wrocławskiego Paweł Rzechonek imię, nazwisko i nr indeksu:..............................................................
Bardziej szczegółowoWprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka
Grafy planarne Przemysław Gordinowicz Instytut Matematyki, Politechnika Łódzka Grafy i ich zastosowania Wykład 12 Plan prezentacji 1 Wprowadzenie 2 Podstawy 3 Fundamentalne twierdzenie 4 Kolorowanie grafów
Bardziej szczegółowoProgramowanie dynamiczne i algorytmy zachłanne
Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii
Bardziej szczegółowoZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW NIEDETERMINISTYCZNE MASZYNY TURINGA Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 NIEDETERMINISTYCZNE MASZYNY TURINGA DEFINICJA: NIEDETERMINISTYCZNA
Bardziej szczegółowoAlgorytmy dynamiczne. Piotr Sankowski. - p. 1/14
Algorytmy dynamiczne Piotr Sankowski - p. 1/14 Dynamiczne: drzewa wyszukiwanie wzorca w tekście spójność grafu problemy algebraiczne (FFT i inne) domknięcie przechodnie oraz dynamiczne macierze najkrótsze
Bardziej szczegółowoLista 4. Kamil Matuszewski 22 marca 2016
Lista 4 Kamil Matuszewski 22 marca 2016 1 2 3 4 5 6 7 8 9 10 Zadanie 2 Ułóż algorytm który dla danego n-wierzchołkowego drzewa i liczby k pokoloruje jak najwięcej wierzchołków tak, by na każdej ścieżce
Bardziej szczegółowoProgramowanie dynamiczne
Programowanie dynamiczne Programowanie rekurencyjne: ZALETY: - prostota - naturalność sformułowania WADY: - trudność w oszacowaniu zasobów (czasu i pamięci) potrzebnych do realizacji Czy jest możliwe wykorzystanie
Bardziej szczegółowoZasady analizy algorytmów
Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Metoda Dziel i zwyciężaj. Problem Sortowania, cd. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Algorytmy
Bardziej szczegółowoSiedem cudów informatyki czyli o algorytmach zdumiewajacych
Siedem cudów informatyki czyli o algorytmach zdumiewajacych Łukasz Kowalik kowalik@mimuw.edu.pl Instytut Informatyki Uniwersytet Warszawski Łukasz Kowalik, Siedem cudów informatyki p. 1/25 Problem 1: mnożenie
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 2 2 Problemy algorytmiczne Klasy problemów algorytmicznych Liczby Fibonacciego Przeszukiwanie tablic Największy
Bardziej szczegółowoImię, nazwisko, nr indeksu
Imię, nazwisko, nr indeksu (kod) (9 punktów) Wybierz 9 z poniższych pytań i wybierz odpowiedź tak/nie (bez uzasadnienia). Za prawidłowe odpowiedzi dajemy +1 punkt, za złe -1 punkt. Punkty policzymy za
Bardziej szczegółowoAlgorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek
Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa
Bardziej szczegółowoProgramowanie dynamiczne
Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem
Bardziej szczegółowoUniwersyteckie Koło Matematyczne - Tajemnicza liczba e.
Uniwersyteckie Koło Matematyczne - Tajemnicza liczba e. Filip Piękniewski Wydział Matematyki i Informatyki Uniwersytetu Mikołaja Kopernika http://www.mat.umk.pl/ philip 17 grudnia 2009 Filip Piękniewski,
Bardziej szczegółowoDynamiczne drzewa. Marian M. Kędzierski. 26 listopada Wstęp Euler-Tour Trees Dynamiczna spójność Algorytm Dinica Link-Cut Trees
Dynamiczne drzewa Marian M. Kędzierski 26 listopada 2009 Plan prezentacji Wstęp 1 Wstęp Zagadnienie dynamicznych drzew SPLITiJOINnadrzewachBST 2 Euler-TourTrees Operacje na ET-drzewach Rozszerzenia 3 Dynamicznaspójność
Bardziej szczegółowoAlgorytm selekcji Hoare a. Łukasz Miemus
Algorytm selekcji Hoare a Łukasz Miemus 1 lutego 2006 Rozdział 1 O algorytmie 1.1 Problem Mamy tablicę A[N] różnych elementów i zmienną int K, takie że 1 K N. Oczekiwane rozwiązanie to określenie K-tego
Bardziej szczegółowozajęcia 1. Bartosz Górski, Tomasz Kulczyński, Błażej Osiński
zajęcia 1. Bartosz Górski, Tomasz Kulczyński, Błażej Osiński Geometria dla informatyka wyłacznie obliczenia wszystko oparte na liczbach, współrzędnych, miarach programista i/lub użytkownik musi przełożyć
Bardziej szczegółowoZłożoność informacyjna Kołmogorowa. Paweł Parys
Złożoność informacyjna Kołmogorowa Paweł Parys Serock 2012 niektóre liczby łatwiej zapamiętać niż inne... (to zależy nie tylko od wielkości liczby) 100...0 100 100... 100 100 100 25839496603316858921 31415926535897932384
Bardziej szczegółowoRozwiązywanie zależności rekurencyjnych metodą równania charakterystycznego
Rozwiązywanie zależności rekurencyjnych metodą równania charakterystycznego WMS, 2019 1 Wstęp Niniejszy dokument ma na celu prezentację w teorii i na przykładach rozwiązywania szczególnych typów równań
Bardziej szczegółowoPodstawy Informatyki. Sprawność algorytmów
Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych
Bardziej szczegółowoLista 0. Kamil Matuszewski 1 marca 2016
Lista 0 Kamil Matuszewski marca 206 2 3 4 5 6 7 8 0 0 Zadanie 4 Udowodnić poprawność mnożenia po rosyjsku Zastanówmy się co robi nasz algorytm Mamy podane liczby n i m W każdym kroku liczbę n dzielimy
Bardziej szczegółowoKompresja danych Streszczenie Studia Dzienne Wykład 10,
1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny
Bardziej szczegół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ółowoZaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)
Bardziej szczegółowoLista 6 Problemy NP-zupełne
1 Wprowadzenie Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Teoretyczne Podstawy Informatyki Lista 6 Problemy NP-zupełne Problem abstrakcyjny Q jest to relacja dwuargumentowa
Bardziej szczegółowoKodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)
Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, 19.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)
Bardziej szczegółowoW. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1
W. Guzicki Próbna matura, grudzień 01 r. poziom rozszerzony 1 Próbna matura rozszerzona (jesień 01 r.) Zadanie 18 kilka innych rozwiązań Wojciech Guzicki Zadanie 18. Okno na poddaszu ma mieć kształt trapezu
Bardziej szczegółowoZnajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa
Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa Marcin Mucha, Piotr Sankowski Instytut Informatyki, Uniwersytet Warszawski - p. 1/55 Definicja problemu Skojarzeniem w grafie G = (V, E)
Bardziej szczegółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA Złożoność algorytmów Złożoność pamięciowa algorytmu wynika z liczby i rozmiaru struktur danych wykorzystywanych w algorytmie. Złożoność czasowa algorytmu
Bardziej szczegółowoWykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ
Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZŁOŻONOŚĆ OBLICZENIOWA ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ dr hab. Krzysztof SZKATUŁA, prof. PAN Instytut Badań Systemowych PAN Uniwersytet
Bardziej szczegółowoKolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie
Wykład 8. Kolorowanie 1 / 62 Kolorowanie wierzchołków - definicja Zbiory niezależne Niech G będzie grafem bez pętli. Definicja Mówimy, że G jest grafem k kolorowalnym, jeśli każdemu wierzchołkowi możemy
Bardziej szczegółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
DROGI i CYKLE w grafach Dla grafu (nieskierowanego) G = ( V, E ) drogą z wierzchołka v 0 V do v t V nazywamy ciąg (naprzemienny) wierzchołków i krawędzi grafu: ( v 0, e, v, e,..., v t, e t, v t ), spełniający
Bardziej szczegółowoKombinowanie o nieskończoności. 2. Wyspy, mosty, mapy i kredki materiały do ćwiczeń
Kombinowanie o nieskończoności. 2. Wyspy, mosty, mapy i kredki materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 15 marzec 2018 Szybkie przypomnienie z wykładu Prezentacja
Bardziej szczegółowoPRÓBNY EGZAMIN MATURALNY
PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI ZESTAW PRZYGOTOWANY PRZEZ SERWIS WWW.ZADANIA.INFO POZIOM PODSTAWOWY 10 MARCA 2018 CZAS PRACY: 170 MINUT 1 Zadania zamknięte ZADANIE 1 (1 PKT) Liczba 4 7 8 25 0, 5
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ółowoBadania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle
Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,
Bardziej szczegółowoEfektywność Procedur Obliczeniowych. wykład 5
Efektywność Procedur Obliczeniowych wykład 5 Modele procesu obliczeń (8) Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie
Bardziej szczegółowoV Konkurs Matematyczny Politechniki Białostockiej
V Konkurs Matematyczny Politechniki iałostockiej Rozwiązania - klasy pierwsze 27 kwietnia 2013 r. 1. ane są cztery liczby dodatnie a b c d. Wykazać że przynajmniej jedna z liczb a + b + c d b + c + d a
Bardziej szczegółowoZad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA
Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 (12p.)Niech n 3k > 0. Zbadać jaka jest najmniejsza możliwa liczba krawędzi w grafie, który ma dokładnie n wierzchołków oraz dokładnie k składowych, z których
Bardziej szczegółowoKodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)
Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, 7.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)
Bardziej szczegółowoIlustracja S1 S2. S3 ściana zewnętrzna
Grafy płaskie G=(V,E) nazywamy grafem płaskim, gdy V jest skończonym podzbiorem punktów płaszczyzny euklidesowej, a E to zbiór krzywych Jordana (łamanych) o końcach w V i takich, że: 1) rożne krzywe mają
Bardziej szczegółowo2. Układy równań liniowych
2. Układy równań liniowych Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2017/2018 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 2. Układy równań liniowych zima 2017/2018 1 /
Bardziej szczegółowoAlgorytm Dijkstry znajdowania najkrótszej ścieżki w grafie
Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Używane struktury danych: V - zbiór wierzchołków grafu, V = {1,2,3...,n} E - zbiór krawędzi grafu, E = {(i,j),...}, gdzie i, j Î V i istnieje
Bardziej szczegółowoJeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,
Oznaczenia: Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, to interesuje nas złożoność obliczeniowa
Bardziej szczegółowoAlgorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 1 Podstawy teorii grafów Reprezentacje grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów
Bardziej szczegółowoE: Rekonstrukcja ewolucji. Algorytmy filogenetyczne
E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują
Bardziej szczegółowoMetody numeryczne. Sformułowanie zagadnienia interpolacji
Ćwiczenia nr 4. Sformułowanie zagadnienia interpolacji Niech będą dane punkty x 0,..., x n i wartości y 0,..., y n, takie że i=0,...,n y i = f (x i )). Szukamy funkcji F (funkcji interpolującej), takiej
Bardziej szczegółowoMatematyka dyskretna dla informatyków
Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności
Bardziej szczegółowoGeometria. Rozwiązania niektórych zadań z listy 2
Geometria. Rozwiązania niektórych zadań z listy 2 Inne rozwiązanie zadania 2. (Wyznaczyć równanie stycznej do elipsy x 2 a 2 + y2 b 2 = 1 w dowolnym jej punkcie (x 0, y 0 ). ) Przypuśćmy, że krzywa na
Bardziej szczegółowoAkademickie Mistrzostwa Polski w Programowaniu Zespołowym
Akademickie Mistrzostwa Polski w Programowaniu Zespołowym Prezentacja rozwiązań zadań 26 października 2014 a d c k e b g j i f h Adwokat Autor zadania: Jakub Łącki Zgłoszenia: 118 z 857 (13%) Zaakceptowane
Bardziej szczegółowoSuma dwóch grafów. Zespolenie dwóch grafów
Suma dwóch grafów G 1 = ((G 1 ), E(G 1 )) G 2 = ((G 2 ), E(G 2 )) (G 1 ) i (G 2 ) rozłączne Suma G 1 G 2 graf ze zbiorem wierzchołków (G 1 ) (G 2 ) i rodziną krawędzi E(G 1 ) E(G 2 ) G 1 G 2 G 1 G 2 Zespolenie
Bardziej szczegółowo