Łukasz Kowalik, ASD 2003: Algorytmy grafowe 1
|
|
- Beata Makowska
- 6 lat temu
- Przeglądów:
Transkrypt
1 Łukaz Kowalik, ASD 2003: Algorytmy grafowe Algorytmy grafowe Przypomnienie. Graf możemy reprezentować w pamięci na dwa pooby: macierz ąiedztwa lity ąiedztwa W algorytmach nie będziemy jawnie odwoływać ię do tych truktur danych. Będziemy dopuzczać wyrażenia typu oraz kontrukcje for all, na oznaczenie pętli, która wykonuje ię razy, za każdym razem zmienna oznacza inny wierzchołek ze zbioru. Podcza całego wykładu przez będziemy oznaczać liczbę wierzchołków grafu, przez liczbę jego krawędzi. Przykład problemu grafowego. Dla danego grafu niekierowanego obliczyć liczbę pójnych kładowych i każdemu wierzchołkowi przypiać numer jego pójnej kładowej. Przezukiwanie grafu Częto przy rozwiązywaniu problemów grafowych konieczne jet zebranie informacji o trukturze grafu. W tym celu najczęściej przezukujemy graf, tzn. wędrujemy po grafie przechodząc wzdłuż krawędzi i odwiedzając kolejne wierzchołki. Podcza przezukiwania grafu wierzchołki będą odwiedzane w kolejności charakterytycznej dla wybranego algorytmu przezukiwania. Nie jet obojętne, jaki algorytm wybierzemy dobieramy najwłaściwzy algorytm do problemu. Poznamy dwie najważniejze metody przezukiwania grafu: Przezukiwanie w głąb (DFS, Depth Firt Search) Przezukiwanie wzerz (BFS, Breadth Firt Search). Przezukiwanie w głab Idea przezukiwania w głąb polega na tym, że od pewnego wierzchołka idziemy ścieżką po wierzchołkach jezcze nieodwiedzonych tak głęboko jak ię da. Gdy nie możemy już przedłużyć ścieżki wycofujemy ię do poprzedniego wierzchołka i próbujemy z niego wyruzyć dalej po wierzchołkach nieodwiedzonych. Spójrzmy na algorytm. Za każdym razem, gdy wykonuje ię obrót pętli for all "!, prawdzana jet jedna krawędź grafu (od do ). Jeśli wierzchołek nie jet jezcze odwiedzony, przechodzimy od do. Algorytm prawdza każdą krawędź grafu co najwyżej dwa razy. Dlatego złożoność czaowa algorytmu jet #%$&(')+*. Zatoowanie: pójne kładowe Algorytmy przezukiwania ą częto zkieletami innych algorytmów rozwiązujących konkretne problemy. Rozważmy np. problem pójnych kładowych. Algorytm 2 pokazuje, jak rozzerzyć DFS aby znajdować pójne kładowe.
2 Łukaz Kowalik, ASD 2003: Algorytmy grafowe 2 Algorithm DFS : for all do 2: "! 3: for all do 4: if not! then 5: OdwiedźDFS( ) procedure OdwiedźDFS( ) : "! 2: for all "! do 3: if not "! then 4: OdwiedźDFS( )! Algorithm 2 Zatoowanie DFS: znajdowanie pójnych kładowych. : for all do 2: "! 3: + {zmienna globalna} 4: for all do 5: if not then 6: + ' 7: OdwiedźDFS( ) procedure OdwiedźDFS( ) : "! 2: "! + 3: for all "! do 4: if not "! then 5: OdwiedźDFS( ) Po zakończeniu Algorytmu 2 zmienna + zawiera liczbę pójnych kładowych grafu. Dla każdego wierzchołka grafu, w komórce tablicy! znajduje ię numer pójnej kładowej, do której należy. Przezukiwanie wzerz Podcza przezukiwania wzerz nie zawze odwiedzane ą wzytkie wierzchołki grafu. Odwiedzamy jedynie wierzchołki oiagalne z pewnego utalonego wierzchołka, tzn. takie wierzchołki, do których itnieje ścieżka z wierzchołka. W przypadku grafu niekierowanego oznacza to po protu, że odwiedzamy wzytkie wierzchołki w pójnej kładowej zawierającej. Idea algorytmu: najpierw odwiedzamy wierzchołki odległe o od, potem odległe o 2, 3, 4, itd... Natychmiatowe zatoowanie przezukiwania wzerz: Dla każdego wierzchołka w grafie
3 Łukaz Kowalik, ASD 2003: Algorytmy grafowe 3 znajdziemy odległość od do ; jej wartość zapizemy w tablicy "!. W tablicy "! zapizemy numer wierzchołka, z którego wezliśmy do. Algorithm 3 BFS : for all do 2:! 3:! ' 4:! 5:! 6:! 7:! :.Utwórz {tworzy putą kolejkę FIFO } 9:.Dodaj( ) 0: while not.puta do :.Uuń 2: for all "! do 3: if not "! then 4: "! 5: "! "!' 6: "! 7:.Dodaj( ) Lemat. Niech będzie wierzchołkiem na poczatku kolejki w dowolnym momencie wykonania algorytmu BFS. Za wierzchołkiem w kolejce pojawia ię pewna liczba wierzchołków "!, a w dalzej kolejności aż do końca kolejki natępują wierzchołki takie że takich że!! "!'. Uzaadnienie. Pokażemy, że warunek opiany w lemacie jet niezmiennikiem pętli while. Na początku warunek jet pełniony: w kolejce jet tylko jeden wierzchołek. Załóżmy teraz, że właśnie rozpoczyna ię kolejny obrót pętli while i niezmiennik jet pełniony. Pokażemy, że po kolejnym obrocie pętli niezmiennik pozotanie pełniony. Jet jane, że warunek pozotaje pełniony po uunięciu z kolejki na początku pętli while. Jeśli jet otatnim wierzchołkiem w kolejce to! "! lub! "! '. Zobaczmy co ię dzieje, gdy wtawiany jet do kolejki wierzchołek, nieodwiedzony jezcze ąiad. Wtedy "! "!"'. A więc po wtawieniu (i wzytkich innych nieodwiedzonych ąiadów ) niezmiennik pozotanie pełniony. Wnioek. Wartości w tablicy! dla kolejnych wierzchołków wtawianych do kolejki nie maleja. Twierdzenie. Algorytm BFS dla każdego wierzchołka poprawnie oblicza odległość z do i zapamiętuje ja w tablicy "!.
4 Łukaz Kowalik, ASD 2003: Algorytmy grafowe 4 Uzaadnienie. Jet jane, że algorytm poprawnie oblicza odległość z do (równą 0). Załóżmy teraz, że algorytm poprawnie oblicza odległość z do wierzchołków odległych o od. Pokażemy, że dla wierzchołków odległych o ' obliczenia także ą poprawne. Niech będzie dowolnym wierzchołkiem odległym od o %'. Rozważmy, moment, w którym jet wtawiany do kolejki. Niech będzie dowolnym wierzchołkiem odległym od o. Założyliśmy, że dla odległość jet poprawnie obliczana, a więc po wtawieniu do kolejki "!. Z drugiej trony łatwo zobaczyć, że! ' (inaczej itnieje ścieżka od do krótza niż ' ). Ponieważ wartości tablicy nie maleją (wnioek ), muiał być wtawiony do kolejki przed. A więc wzytkie wierzchołki odległe o od zotały wtawione przed. Niech będzie wierzchołkiem bezpośrednio przed na najkrótzej ścieżce od do. Jeśli takich najkrótzych ścieżek jet wiele wybieramy tą, dla której zotał najwcześniej tawiony $ * ' ' $ * do kolejki. Oczywiście!. Gdy wierzchołek był uuwany z kolejki, nie mógł być odwiedzony (mógł być odwiedzony tylko z wierzchołka odległego o od, a jet pierwzym takim wierzchołkiem w kolejce). W takim razie po uunięciu wierzchołek będzie wtawiony do kolejki i!!, czyli odległość do też jet poprawnie obliczana. Wnioek 2. Niech będzie najkrótzą ścieżka od do (, ). Wtedy!,!,... itd, tzn.!, czyli można ja odtworzyć w czaie #%$ *. Drzewo najkrótzych ścieżek. Na ryunku przedtawiono graf po przetworzeniu przez algorytm BFS. Strzałki odpowiadają zawartości tablicy. Widzimy, że tworzą one drzewo o korzeniu w. Nazywamy je drzewem najkrótzych ścieżek. Z takiego drzewa morzemy łatwo odczytać najkrótze ścieżki od do innych wierzchołków. r t u v w x y r 0 t 2 u v w x y Ryunek : Drzewo najkrótzych ścieżek Analiza złożoności czaowej. Jak zwykle oznaczamy przez liczbę wierzchołków, przez liczbę krawędzi. Operacje na kolejce zajmują cza $& *, bo każdy wierzchołek może być tylko Innymi łowy dowód jet przez indukcję po odległóci od do!#"%$ oznacza odległość od do ".
5 Łukaz Kowalik, ASD 2003: Algorytmy grafowe 5 raz wtawiony do kolejki i raz z niej uunięty. Zauważmy też, że litę ąiedztwa dowolnego wierzchołka przeglądamy co najwyżej raz, po uunięciu z kolejki. Liczba wzytkich elementów na litach ąiedztwa wynoi a więc przeglądanie lit ąiedztwa zajmuje natomiat cza $ +*. Złożoność czaowa algorytmu przezukiwania wzerz wynoi więc $&%')+*. Problem najkrótzej ście żki Dane: $ * graf niekierowany, funkcja *, tzn. dla każdej krawędzi mamy jej długość, czyli nieujemną liczbę rzeczywitą $ *, wyróżniony wierzchołek. W takim grafie za długość ścieżki przyjmiemy umę długości jej krawędzi. Zmienia wtedy wój en także pojęcie odległości dwóch wierzchołków (długości najkrótzej ścieżki łączacej wierzchołki). Taką nową odległość będziemy oznaczać przez $& *. Problem: Dla każdego enie odległości ). Patrz ry. 2. Najkrótza ścieżka od do (złożona z pogru- Przykład: najkrótza ścieżka. bionych krawędzi) ma długość 7. obliczyć $ *. Obliczyć drzewo najkrótzych ścieżek (w r u 2 x 3 y 7 w v 2 t Ryunek 2: Graf z wagami na krawędziach i najkrótza ścieżka od do. Algorytm Dijktry, zaada działania (ry. 3). W każdym momencie zbiór podzielony jet na dwa zbiory rozłączne:. wierzchołki, dla których już znamy odległość od pozotałe wierzchołki. Dodatkowo wierzchołki leżą bliżej niż wierzchołki z, tzn. jeśli i to $ &* $ *. Co więcej, dla każdego wierzchołka z najkrótza ścieżka z przechodzi tylko po wierzchołkach z. Na początku,. Algorytm w każdym kroku przenoi jeden wierzchołek z do.
6 Łukaz Kowalik, ASD 2003: Algorytmy grafowe 6 W tablicy! będziemy dla każdego wierzchołka przechowywać długość najkrótzej ścieżki z do przechodzacej tylko po wierzchołkach, lub ' jeśli takiej drogi nie ma. Zauważmy, że wartości tablica będzie zawierać liczby rzeczywite dla wierzchołków z (będzie to prawdziwa odległość od ) oraz dla tych wierzchołków z, które mają choć jednego ąiada w. Dla pozotałych wierzchołków będzie zawierała '. (0) L 9 2 (3) r (2) u 2 x () 5 3 (9) v 7 w (+ ) y (9) t (+ ) Ryunek 3: Działanie algorytmu Dijktry. Pogrubiono najlepze znalezione dotąd ścieżki z. W nawiaach wartości. Lemat 2. Niech zbiory, i tablica maja właności takie, jak opiano powyżej. Niech będzie takim wierzchołkiem, że "! jet najmniejze, tzn. dla każdego! "!. Wtedy "! $ * i można przenieść do. L v u Ryunek 4: Lemat 2. Ścieżka zaznaczona linią przerywana ma długość "!. Uzaadnienie. Zobaczmy, co by było, gdyby "! $ *, tzn. itniałaby ścieżka od do, przechodząca przez wierzchołek poza, krótza niż "!. Niech będzie pierwzym wierzchołkiem poza na tej ścieżce (patrz ry. 4). Ten fragment ścieżki, od do, jet równocześnie najkrótzą ścieżką od do i przechodzi tylko przez wierzchołki z. W takim razie ma długość!. Ale! "! czyli naza ścieżka nie może być krótza niż "!.
7 Łukaz Kowalik, ASD 2003: Algorytmy grafowe 7 Uwaga. Po przenieieniu z do muimy być może odświeżyć niektóre wartości w tablicy. Zmienić mogły ię tylko wartości dla ąiadów. Dla każdego takiego ąiada prawdzamy, czy nowa ścieżka od do przedłużona o krawędź jet krótza niż najkrótza dotąd znaleziona ścieżka do. Jeśli tak jet zapamiętujemy długość nowej ścieżki w "! (patrz ry 5). x (5) x () L 5 u(0) 7 y(+ ) z(+ ) L 5 u(0) 7 y(5) z (7) Ryunek 5: Odświeżanie wartości tablicy podano wartości w tablicy. po przenieieniu wierzchołka u. W nawiaach Algorithm 4 Algorytm Dijktry. : ; 2:!! 3: for all do 4: if then 5:! $ * 6: "! 7: ele :! ' 9: "! 0: for to do 2: : wierzchołek z t.ż. "! jet najmniejze 3: 4: for all "! do 5: if and "!' $ * "! then 6: "! "!' $ * 7: "! Analiza złożoności. Złożoność algorytmu Dijktry zależy w itotny poób od użytych truktur danych. Potrzebna jet truktura przechowująca elementy zbioru i udotępniająca natępujące operacje: Znalezienie w wierzchołka o najmniejzej wartości,
8 Łukaz Kowalik, ASD 2003: Algorytmy grafowe Uunięcie takiego wierzchołka, Zmniejzenie wartości. Taka pecyfikacja odpowiada dokładnie kolejce priorytetowej dla zbioru, w którym kluczami elementów ą wartości z tablicy. Dwie pierwze operacje to min oraz UuńMin. Więkzość kolejek priorytetowych udotępnia także trzecią operację, operację zmniejzenia klucza. Na przykład żeby zmniejzyć klucz elementu! w kopcu binarnym zapamiętanym w tablicy, wytarczy wpiać w! nową wartość klucza i wywołać procedurę DoGóry (A, k). Wnioek 3. Algorytm Dijktry, w którym do implementacji kolejki priorytetowej użyto kopców binarnych ma złożoność $ $ ') * *. Dowód. Za operacje dominujące możemy przyjąć opracje na kolejce priorytetowej. Wzytkie operacje na kopcu binarnym zawierającym nie więcej niż elementów wykonują ię w czaie $ *. Każdy wierzchołek jet raz wtawiany i raz uuwany z kopca, a więc wzytkie wtawienia i uunięcia zajmują cza $& *. Wartość klucza jet zmniejzana tylko raz dla każdej krawędzi, a więc w umie te operacje zajmują cza $ *. Uwaga. Algorytm Dijktry pozotaje nie zmieniony, jeśli dany graf jet kierowany (tzn. wierzchołki ą połączne trzałkami z wagami). Problemy najkrótzych ścieżek tanowią jeden z najintenywniej badanych obzarów algorytmicznej teorii grafów. Przez pewien cza algorytm Dijktry był główną motywacją badań nad kolejkami priorytetowymi. Użycie zaawanowanych kolejek priorytetowych (kopców Fibonacciego) zmniejza złożoność algorytmu Dijktry do $& (' +*.
Poró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ł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ółowoGrafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:
Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem
Bardziej szczegółowoAlgorytmiczna teoria grafów
Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)
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ół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ółowoprowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325
PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj
Bardziej szczegółowoLVI Olimpiada Matematyczna
LVI Olimpiada Matematyczna Rozwiązania zadań konkurowych zawodów topnia trzeciego 13 kwietnia 2005 r (pierwzy dzień zawodów) Zadanie 1 Wyznaczyć wzytkie trójki (x, y, n) liczb całkowitych dodatnich pełniające
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Stosy, kolejki, drzewa Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. VII Jesień 2013 1 / 25 Listy Lista jest uporządkowanym zbiorem elementów. W Pythonie
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ół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ółowoAlgorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 2 Przeszukiwanie 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 3. Spójność grafu,
Bardziej szczegółowoAlgorytmy Równoległe i Rozproszone Część V - Model PRAM II
Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06
Bardziej szczegółowoSortowanie topologiczne skierowanych grafów acyklicznych
Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)
Bardziej szczegółowoAlgorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Bardziej szczegółowoZłożoność obliczeniowa klasycznych problemów grafowych
Złożoność obliczeniowa klasycznych problemów grafowych Oznaczenia: G graf, V liczba wierzchołków, E liczba krawędzi 1. Spójność grafu Graf jest spójny jeżeli istnieje ścieżka łącząca każdą parę jego wierzchołków.
Bardziej szczegółowoPorządek symetryczny: right(x)
Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Sieci powiązań Paweł Daniluk Wydział Fizyki Jesień 2015 P. Daniluk (Wydział Fizyki) PO w. IX Jesień 2015 1 / 21 Sieci powiązań Można (bardzo zgrubnie) wyróżnić dwa rodzaje powiązań
Bardziej szczegółowoOgólne wiadomości o grafach
Ogólne wiadomości o grafach Algorytmy i struktury danych Wykład 5. Rok akademicki: / Pojęcie grafu Graf zbiór wierzchołków połączonych za pomocą krawędzi. Podstawowe rodzaje grafów: grafy nieskierowane,
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ółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu
Bardziej szczegółowoWstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline 1 Podstawowe pojęcia Definition Graf = wierzchołki + krawędzie. Krawędzie muszą mieć różne końce. Między dwoma wierzchołkami może
Bardziej szczegółowoReprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów
Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69
Bardziej szczegółowoWykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy
Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element
Bardziej szczegółowoZnajdowanie wyjścia z labiryntu
Znajdowanie wyjścia z labiryntu Zadanie to wraz z problemem pakowania najcenniejszego plecaka należy do problemów optymalizacji, które dotyczą znajdowania najlepszego rozwiązania wśród wielu możliwych
Bardziej szczegółowoMetoda podziału i ograniczeń
Seminarium: Algorytmy heurystyczne Metoda podziału i ograniczeń Mateusz Łyczek Wrocław, 16 marca 011 r. 1 Metoda podziału i ograniczeń Metoda podziału i ograniczeń służy do rozwiązywania problemów optymalizacyjnych.
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ółowoLiteratura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:
Temat: Powtórzenie wiadomości z PODSTAW INFORMATYKI I: Pojęcia: złożoność czasowa algorytmu, rząd funkcji kosztu. Algorytmy. Metody programistyczne. Struktury danych. Literatura. A. V. Aho, J.E. Hopcroft,
Bardziej szczegółowoMetody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Bardziej szczegółowo1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.
1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. Algorytmy przeszukiwania w głąb i wszerz są najczęściej stosowanymi algorytmami przeszukiwania. Wykorzystuje się je do zbadania istnienia połączenie
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Sieci powiązań Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) PO w. IX Jesień 2014 1 / 24 Sieci powiązań Można (bardzo zgrubnie) wyróżnić dwa rodzaje powiązań
Bardziej szczegółowoDrzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.
Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa
Bardziej szczegółowoWstęp do sieci neuronowych, wykład 11 Łańcuchy Markova
Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu
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ółowoBALANSOWANIE OBCIĄŻEŃ JEDNOSTEK SEKCYJNYCH
BALANSWANIE BCIĄŻEŃ JEDNSTEK SEKCYJNYCH Tomaz PRIMKE Strezczenie: Złożony problem konfiguracji wariantów gotowości może zotać rozwiązany poprzez dekompozycję na protze podproblemy. Jednym z takich podproblemów
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ółowo. Podstawy Programowania 2. Algorytmy dfs i bfs. Arkadiusz Chrobot. 2 czerwca 2019
Podstawy Programowania Algorytmy dfs i bfs Arkadiusz Chrobot Zakład Informatyki czerwca 09 / 70 Plan Wstęp Algorytm BFS Podsumowanie / 70 Wstęp Wstęp Istnieje wiele algorytmów związanych z grafami, które
Bardziej szczegółowoMATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY
ERIAŁY DO WYKŁADU GRAFY Graf nieskierowany Grafem nieskierowanym nazywamy parę G = (V, E), gdzie V jest pewnym zbiorem skończonym (zwanym zbiorem wierzchołków grafu G), natomiast E jest zbiorem nieuporządkowanych
Bardziej szczegółowoAlgorytm DFS Wprowadzenie teoretyczne. Algorytm DFS Wprowadzenie teoretyczne. Algorytm DFS Animacja. Algorytm DFS Animacja. Notatki. Notatki.
Podstawy Programowania Algorytmy dfs i bfs Arkadiusz Chrobot Zakład Informatyki czerwca 09 / 70 Plan Wstęp Podsumowanie / 70 Wstęp Istnieje wiele algorytmów związanych z grafami, które w skrócie nazywane
Bardziej szczegółowoWstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline 1 BFS DFS Algorytm Dijkstry Algorytm Floyda-Warshalla Podstawowe pojęcia Definition Graf = wierzchołki + krawędzie. Krawędzie muszą
Bardziej szczegółowoWstęp do programowania. Zastosowania stosów i kolejek. Piotr Chrząstowski-Wachtel
Wstęp do programowania Zastosowania stosów i kolejek Piotr Chrząstowski-Wachtel FIFO - LIFO Kolejki i stosy służą do przechowywania wartości zbiorów dynamicznych, czyli takich, które powstają przez dodawanie
Bardziej szczegółowoMinimalne drzewa rozpinające
KNM UŚ 26-28 listopada 2010 Ostrzeżenie Wprowadzenie Motywacja Definicje Niektóre pojęcia pojawiające się podczas tego referatu są naszymi autorskimi tłumaczeniami z języka angielskiego. Nie udało nam
Bardziej szczegółowoZagadnienie najkrótszej drogi w sieci
L L Zagadnienie najkrótszej drogi w sieci 1 Rozważmy sieć, gdzie graf jest grafem skierowanym (digrafem) a jest funkcją określoną na zbiorze łuków. Wartość tej funkcji na łuku!"$#%'&, którą oznaczać będziemy
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ół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ółowoWykład 2. Drzewa zbalansowane AVL i 2-3-4
Wykład Drzewa zbalansowane AVL i -3-4 Drzewa AVL Wprowadzenie Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Drzewa -3-4 Definicja drzewa -3-4 Operacje wstawiania
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ółowoZadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
Bardziej szczegółowoSztuczna Inteligencja i Systemy Doradcze
Sztuczna Inteligencja i Systemy Doradcze Przeszukiwanie przestrzeni stanów algorytmy ślepe Przeszukiwanie przestrzeni stanów algorytmy ślepe 1 Strategie slepe Strategie ślepe korzystają z informacji dostępnej
Bardziej szczegółowoAlgorytmika 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ółowoWstęp do programowania
Wstęp do programowania Algorytmy zachłanne, algoritme Dijkstry Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XI Jesień 2013 1 / 25 Algorytmy zachłanne Strategia polegająca na
Bardziej szczegółowoKolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.
Kolejki Kolejka priorytetowa Kolejka priorytetowa (ang. priority queue) to struktura danych pozwalająca efektywnie realizować następujące operacje na zbiorze dynamicznym, którego elementy pochodzą z określonego
Bardziej szczegółowoRozwiązywanie problemów metodą przeszukiwania
Rozwiązywanie problemów metodą przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Reprezentacja problemu w przestrzeni stanów Jedną z ważniejszych metod sztucznej
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ółowoAlgorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych
Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych 1 Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych Alexander Denisjuk Prywatna Wyższa Szkoła Zawodowa w Giżycku
Bardziej szczegółowoDrzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew
Drzewa Las - graf, który nie zawiera cykli Drzewo - las spójny Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew Niech T graf o n wierzchołkach będący
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ół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ółowoWykład 10 Grafy, algorytmy grafowe
. Typy złożoności obliczeniowej Wykład Grafy, algorytmy grafowe Typ złożoności oznaczenie n Jedna operacja trwa µs 5 logarytmiczna lgn. s. s.7 s liniowa n. s.5 s. s Logarytmicznoliniowa nlgn. s.8 s.4 s
Bardziej szczegółowoWstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa
Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Twierdzenie 2.1 Niech G będzie grafem prostym
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ółowoDynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)
Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013
Bardziej szczegółowoSortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:
Sortowanie Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania: podać strukturę danych dla elementów dynamicznego skończonego multi-zbioru S, względem którego są wykonywane następujące
Bardziej szczegółowoĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI
J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S.WĄSIK ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI ZAD. 1. Narysowad graf nieskierowany. Zmodyfikowad go w taki sposób, aby stał
Bardziej szczegółowoPoprawność semantyczna
Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych
Bardziej szczegółowoĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe opracował:
Bardziej szczegółowoLaboratorium. Sterowanie napędami elektrycznymi zagadnienia wybrane
POLITECHNIKA WROCŁAWSKA INSTYTUT MASZYN, NAPĘDÓW I POMIARÓW ELEKTRYCZNYCH ZAKŁAD NAPĘDU ELEKTRYCZNEGO, MECHATRONIKI I AUTOMATYKI PRZEMYSŁOWEJ Laboratorium Sterowanie napędami elektrycznymi zagadnienia
Bardziej szczegółowoGrafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz
Grafy (3): drzewa Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków UTP Bydgoszcz 13 (Wykłady z matematyki dyskretnej) Grafy (3): drzewa 13 1 / 107 Drzewo Definicja. Drzewo to graf acykliczny
Bardziej szczegółowoMatematyka dyskretna - 7.Drzewa
Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja
Bardziej szczegółowo1. Podstawowe informacje
Komunikacja w protokole MPI za pomocą funkcji X_SEND/X_RCV pomiędzy terownikami S7-300 PoniŜzy dokument zawiera opi konfiguracji programu STEP7 dla terowników SIMATIC S7 300/S7 400, w celu tworzenia komunikacji
Bardziej szczegółowoZadanie 1: Piętnastka
Informatyka, studia dzienne, inż. I st. semestr VI Sztuczna Inteligencja i Systemy Ekspertowe 2010/2011 Prowadzący: mgr Michał Pryczek piątek, 12:00 Data oddania: Ocena: Grzegorz Graczyk 150875 Marek Rogalski
Bardziej szczegółowoANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:
ANALIZA ALGORYTMÓW Analiza algorytmów polega między innymi na odpowiedzi na pytania: 1) Czy problem może być rozwiązany na komputerze w dostępnym czasie i pamięci? 2) Który ze znanych algorytmów należy
Bardziej szczegółowoPrzypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.
Spis treści 1 Drzewa 1.1 Drzewa binarne 1.1.1 Zadanie 1.1.2 Drzewo BST (Binary Search Tree) 1.1.2.1 Zadanie 1 1.1.2.2 Zadanie 2 1.1.2.3 Zadanie 3 1.1.2.4 Usuwanie węzła w drzewie BST 1.1.2.5 Zadanie 4
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
LGORTM I STRUKTUR DNH Temat 6: Drzewa ST, VL Wykładowca: dr inż. bigniew TRPT e-mail: bigniew.tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/ Współautorami wykładu
Bardziej szczegółowoZad. 4 Oblicz czas obiegu satelity poruszającego się na wysokości h=500 km nad powierzchnią Ziemi.
Grawitacja Zad. 1 Ile muiałby wynoić okre obrotu kuli ziemkiej wokół włanej oi, aby iła odśrodkowa bezwładności zrównoważyła na równiku iłę grawitacyjną? Dane ą promień Ziemi i przypiezenie grawitacyjne.
Bardziej szczegółowoProgramowanie dynamiczne
Programowanie dynamiczne Patryk Żywica 5 maja 2008 1 Spis treści 1 Problem wydawania reszty 3 1.1 Sformułowanie problemu...................... 3 1.2 Algorytm.............................. 3 1.2.1 Prosty
Bardziej szczegółowoPodstawowe własności grafów. Wykład 3. Własności grafów
Wykład 3. Własności grafów 1 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2). 2 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2).
Bardziej szczegółowoPodstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Bardziej szczegółowoIndukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
Bardziej szczegółowoWstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 9 1 / 20
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ółowo7a. Teoria drzew - kodowanie i dekodowanie
7a. Teoria drzew - kodowanie i dekodowanie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7a. wteoria Krakowie) drzew - kodowanie i
Bardziej szczegółowoTeoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Teoria grafów podstawy Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Grafy zorientowane i niezorientowane Przykład 1 Dwa pociągi i jeden most problem wzajemnego wykluczania się Dwa
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ół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ółowoWykład 1. Systemy przekazywania wiadomości z założeniem bezbłędności działania
Mariusz Juszczyk 16 marca 2010 Seminarium badawcze Wykład 1. Systemy przekazywania wiadomości z założeniem bezbłędności działania Wstęp Systemy przekazywania wiadomości wymagają wprowadzenia pewnych podstawowych
Bardziej szczegółowoDrzewa poszukiwań binarnych
1 Drzewa poszukiwań binarnych Kacper Pawłowski Streszczenie W tej pracy przedstawię zagadnienia związane z drzewami poszukiwań binarnych. Przytoczę poszczególne operacje na tej strukturze danych oraz ich
Bardziej szczegół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ółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Drzewa poszukiwań binarnych dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych
Bardziej szczegółowoKARTA KURSU. Algorytmy, struktury danych i techniki programowania. Algorithms, Data Structures and Programming Techniques
KARTA KURSU Nazwa Nazwa w j. ang. Algorytmy, struktury danych i techniki programowania Algorithms, Data Structures and Programming Techniques Kod Punktacja ECTS* 3 Koordynator dr Paweł Pasteczka Zespół
Bardziej szczegółowoSZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA WYKŁAD 12. PRZESZUKIWANIE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska ROZWIĄZYWANIE PROBLEMÓW JAKO PRZESZUKIWANIE Istotną rolę podczas
Bardziej szczegółowoTemat: Algorytmy zachłanne
Temat: Algorytmy zachłanne Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje się w danej chwili najkorzystniejsze. Wybiera zatem lokalnie optymalną możliwość w nadziei,
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 i struktury danych. wykład 5
Plan wykładu: Wskaźniki. : listy, drzewa, kopce. Wskaźniki - wskaźniki Wskaźnik jest to liczba lub symbol który w ogólności wskazuje adres komórki pamięci. W językach wysokiego poziomu wskaźniki mogą również
Bardziej szczegółowoWstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
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ółowo5c. Sieci i przepływy
5c. Sieci i przepływy Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 5c. Sieci i przepływy zima 2016/2017 1 / 40 1 Definicje
Bardziej szczegółowo