Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV
|
|
- Laura Klimek
- 7 lat temu
- Przeglądów:
Transkrypt
1 Algorytmy grafowe Wykład 2 Przeszukiwanie grafów Tomasz Tyksiński CDV
2 Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów 3. Spójność grafu, lasy, drzewa, drzewa rozpinające 4. Najkrótsze ścieżki w grafie, algorytm Dijkstry 5. Algorytm Kruskala 6. Cykle Hamiltona w grafach 7. Kolorowanie grafów 8. Skojarzenia w grafach
3 Przeszukiwanie grafów Pierwszym przedstawionym algorytmem działającym na strukturze grafu będzie algorytm przeglądający wszystkie elementy tej struktury Algorytm ten w różnych odmianach ma wiele zastosowań, od wypisywania wszystkich elementów grafu, przez poszukiwanie czy dany element znajduje się w grafie, po poszukiwanie najkrótszej drogi w grafie lub znajdowanie drzew rozpinających graf
4 Przeszukiwanie grafów Algorytm zawsze zaczyna się w jednym z wierzchołków v Następnie przeszukujemy wszystkie krawędzie incydentne do tego wierzchołka i poruszamy się do pewnego wierzchołka przyległego w W nowym wierzchołku w przeszukujemy wszystkie krawędzie incydentne do w i przechodzimy do kolejnego wierzchołka Powtarzamy powyższe kroki, aż przeszukamy wszystkie wierzchołki w grafie Ten sposób przeszukiwania wierzchołków grafu nazywamy przeszukiwaniem wszerz (ang. breadth-first search, BFS)
5 Przykład
6 Przykład
7 Przeszukiwanie grafów Inną metodą przeszukiwania jest sposób w którym, zamiast przeszukiwania każdej krawędzi incydentnej do wierzchołka v, będziemy poruszać się do pewnego wierzchołka przyległego w (wcześniej jeszcze nie odwiedzonego) W tym wypadku być może zostawiamy wierzchołek v z jakimiś niezbadanymi krawędziami incydentnymi Przeglądamy zatem w grafie ścieżkę (czyli ciąg wierzchołków połączonych krawędziami) przechodząc do nowego wierzchołka, gdy tylko to jest możliwe Taka metoda przeszukiwania grafu, nazywa się przeszukiwaniem w głąb (ang. depth-first search, DFS) lub metodą powrotu po tej samej ścieżce na grafie
8 Przykład
9 Algorytm BFS Zapiszmy teraz precyzyjniej algorytm przeszukiwania grafu wszerz (BFS) Oznaczmy przez G = (V, E) - graf nieskierowany zapisany w postaci listy wierzchołków sąsiednich x - ustalony wierzchołek od którego rozpoczynamy przeszukiwanie grafu I v - tablica zawierająca wierzchołki incydentne z v NI v - liczba elementów w tablicy I v
10 Algorytm BFS Precyzyjniejszy opis algorytmu 1. Ustaw: Numer(x) = 1, Drzewo =, Pozostałe = ; dopisz x do Kolejki 2. Jeżeli Kolejka jest pusta to STOP 3. Pobierz element z Kolejki i zapisz go jako v 4. Dla każdego wierzchołka w incydentnego do v wykonaj: 4.1 Jeżeli Numer(w) == 0, tzn. wierzchołek w odwiedzamy po raz pierwszy, to nadaj wierzchołkowi w kolejny numer, dopisz w do Kolejki, a krawędź {v,w} dodaj do Drzewo 4.2 Jeżeli Numer(w)!= 0, tzn. wierzchołek w już był odwiedzany, to jeżeli krawędź {v,w} nie należy już do Drzewa, to dodaj ją do zbioru Pozostałe 5. Wróć do kroku 2.
11 Algorytm BFS Zapis algorytmu w pseudokodzie BFS(G, x) // zmienne globalne Numer, Drzewo, Pozostałe Numer[x] = 1; Ponumerowano = 1; NKolejka = 1; Kolejka[NKolejka] = x; while (NKolejka > 0) { v = Kolejka[1]; NKolejka = NKolejka 1; for (i=1; i<=nkolejka; i++) Kolejka[i] = Kolejka[i+1]; for (i=1; i<=niv; i++) { w = Iv[i]; if (Numer[w] == 0){ Ponumerowano = Ponumerowano + 1; Numer[w] = Ponumerowano; Drzewo = Drzewo + {v,w}; NKolejka = Nkolejka + 1; Kolejka[NKolejka] = w; } else if ({v,w} not in Drzewo) Pozostałe = Pozostałe + {v,w}; } } return Numer, Drzewo, Pozostałe
12 Algorytm BFS Przykład działania algorytmu Inicjowanie parametrów Numer[a] = 1; Ponumerowano = 1; NKolejka = 1; Kolejka = a;
13 Algorytm BFS Przykład działania algorytmu Kroki algorytmu dla a v = a; NKolejka = 0; Kolejka = NULL; w = b; Ponumerowano = 2; Numer[b] = 2; Drzewo = {ab}; NKolejka = 1; Kolejka = [b]; w = c; Ponumerowano = 3; Numer[c] = 3; Drzewo = {ab, ac}; NKolejka = 2; Kolejka = [b, c];
14 Algorytm BFS Przykład działania algorytmu Kroki algorytmu dla b v = b; NKolejka = 1; Kolejka = [c]; w = a; w = c; w = d; Ponumerowano = 4; Numer[d] = 4; Drzewo = {ab, ac, bd}; NKolejka = 2; Kolejka = [c, d]; w = e; Ponumerowano = 5; Numer[e] = 5; Drzewo = {ab, ac, bd, be}; NKolejka = 3; Kolejka = [c, d, e]; w = f; Ponumerowano = 6; Numer[f] = 6; Drzewo = {ab, ac, bd, be, bf} NKolejka = 4; Kolejka = [c, d, e, f];
15 Algorytm BFS Przykład działania algorytmu Kroki algorytmu dla c v = c; NKolejka = 3; Kolejka = [d, e, f]; w = a; w = b; w = f; w = g; Ponumerowano = 7; Numer[g] = 7; Drzewo = {ab, ac, bd, be, bf, cg} NKolejka = 4; Kolejka = [d, e, f, g];
16 Algorytm BFS Przykład działania algorytmu Kroki algorytmu dla d v = d; NKolejka = 3; Kolejka = [e, f, g]; w = b; w = e;
17 Algorytm BFS Przykład działania algorytmu Kroki algorytmu dla e v = e; NKolejka = 2; Kolejka = [f, g]; w = b; w = d; w = f;
18 Algorytm BFS Przykład działania algorytmu Kroki algorytmu dla f v = f; NKolejka = 1; Kolejka = [g]; w = b; w = c; w = g;
19 Algorytm BFS Przykład działania algorytmu Kroki algorytmu dla g v = g; NKolejka = 0; Kolejka = NULL; w = c; w = f;
20 Algorytm BFS W przypadku grafów skierowanych możemy oczywiście przesuwać się wyłącznie wzdłuż krawędzi wychodzących z odwiedzanego wierzchołka Być może zostaną wówczas na końcu nie odwiedzone wierzchołki Należy wtedy powtórzyć algorytm od kolejnego nie odwiedzonego jeszcze wierzchołka kontynuując numerację i budowę drzewa, które teraz przyjmie formę lasu
21 Algorytm DFS Opiszemy teraz dokładniej algorytm przeszukiwania grafu w głąb (DFS) Oznaczmy przez G = (V, E) - graf nieskierowany zapisany w postaci listy wierzchołków sąsiednich x - ustalony wierzchołek od którego rozpoczynamy przeszukiwanie grafu I v - tablica zawierająca wierzchołki incydentne z v NI v - liczba elementów w tablicy I v Stos - tablica przechowująca ciąg wierzchołków umożliwiająca powroty algorytmu, NStos - liczba wierzchołków w tablicy Stos
22 Algorytm DFS Opis słowny algorytmu 1. Ustaw v = x, i = 0, Drzewo =, Pozostałe = 2. Ustaw i = i + 1 oraz Numer(v) = i 3. Poszukaj krawędzi incydentnej do wierzchołka v, która nie została jeszcze odwiedzona. Jeżeli nie ma takiej krawędzi (tzn. po każdej krawędzi incydentnej do v już przeszliśmy), to przejdź do kroku 5. Wybierz pierwszą krawędź incydentną do wierzchołka v, która nie została jeszcze odwiedzona, przykładowo {v,w} i przejdź po niej 4. Jesteśmy w wierzchołku w Jeżeli w jest wierzchołkiem, w którym jeszcze nie byliśmy podczas tego szukania (tzn. Numer(w) jest nieokreślony), to dodaj krawędź {v,w} do zbioru Drzewo. Ustaw v = w i przejdź do kroku 2. Jeżeli w jest wierzchołkiem, w którym już wcześniej byliśmy (tzn. Numer(w) < Numer(v)), to dodaj krawędź {v,w} do zbioru Pozostałe. Przejdź do kroku 3. Jesteśmy więc z powrotem w wierzchołku v 5. Sprawdź, czy istnieje jakaś odwiedzona krawędź {u,v} w zbiorze Drzewo z wartością Numer(u) < Numer(v) 6. Jeżeli jest taka krawędź, to wróć do wierzchołka u. (Zauważmy, że u jest wierzchołkiem, z którego osiągnięto v po raz pierwszy). Ustaw v = u i przejdź do kroku Jeżeli nie ma takiej krawędzi, to zatrzymaj algorytm (jesteśmy z powrotem w korzeniu x po przejściu każdej krawędzi i odwiedzeniu każdego wierzchołka połączonego z x).
23 Algorytm DFS Zapis algorytmu w pseudokodzie DFS(G, x) // zmienne globalne Numer, Drzewo, Pozostałe Numer[x] = 1; Ponumerowano = 1; NStos = 1; Stos[NStos] = x; while (NStos > 0) { v = Stos[NStos] if (NIv == 0) NStos = NStos 1; else { w = Iv[1]; NIv = NIv 1; for (i = 1; i<=niv; i++) Iv[i] = Iv[i+1]; if (Numer[w] == 0) { Ponumerowano = Ponumerowano + 1; Numer[w] = Ponumerowano; Drzewo = Drzewo + {vw}; NStos = NStos + 1; Stos[NStos] = w; } else if (numer[w]<numer[v]) Pozostałe = Pozostałe + {vw}; } } return Numer, Drzewo, Pozostałe
24 Algorytm DFS Przykład działania algorytmu Inicjowanie parametrów Numer[a] = 1; Ponumerowano = 1; NStos = 1; Stos[1] = [a];
25 Algorytm DFS Przykład działania algorytmu Kroki algorytmu dla a v = a; w = b; Ponumerowano = 2; Numer[b] = 2; Drzewo = {ab}; NStos = 2; Stos = [a, b];
26 Algorytm DFS Przykład działania algorytmu Kroki algorytmu dla b v = b; w = a; w = c; Ponumerowano = 3; Numer[c] = 3; Drzewo = {ab, bc}; NStos = 3; Stos = [a, b, c];
27 Algorytm DFS Przykład działania algorytmu Kroki algorytmu dla c v = c; w = a; w = b; w = f; Ponumerowano = 4; Numer[f] = 4; Drzewo = {ab, bc, cf}; NStos = 4; Stos = [a, b, c, f];
28 Algorytm DFS Przykład działania algorytmu Kroki algorytmu dla f v = f; w = b; w = c; w = g; Ponumerowano = 5; Numer[g] = 5; Drzewo = {ab, bc, cf, fg}; NStos = 5; Stos = [a, b, c, f, g] Wycofanie z wierzchołka g v = g; w = c; w = f; NStos = 4; Stos = [a, b, c, f]
29 Algorytm DFS Przykład działania algorytmu Wycofanie z wierzchołka f v = f; w = b; w = c; w = g; NStos = 3; Stos = [a, b, c] Wycofanie z wierzchołka c v = c; w = a; w = b; w = f; w = g; NStos = 2; Stos = [a, b]
30 Algorytm DFS Przykład działania algorytmu Kroki algorytmu dla b v = b; w = a; w = d; Ponumerowano = 6; Numer[d] = 6; Drzewo = {ab, bc, cf, fg, bd}; NStos = 3; Stos = [a, b, d]
31 Algorytm DFS Przykład działania algorytmu Kroki algorytmu dla d v = d; w = b; w = e; Ponumerowano = 7; Numer[e] = 7; Drzewo = {ab, bc, cf, fg, bd, de}; NStos = 4; Stos = [a, b, d, e]; Wycofanie z wierzchołka e v = e; w = b; w = d; NStos = 3; Stos = [a, b, d];
32 Algorytm DFS Przykład działania algorytmu Wycofanie z wierzchołka d v = d; w = b; w = e; NStos = 2; Stos = [a, b]; Wycofanie z wierzchołka b v = b; w = a; w=c; w=d; w=e; w=f; NStos = 1; Stos = [a]
33 Algorytm DFS Przykład działania algorytmu Wycofanie z wierzchołka a v = a; w = b; w = c; NStos = 0; Stos = NULL;
34 Algorytm DFS Algorytm DFS można zapisać w prostszej rekurencyjnej wersji, zamiast stosowania struktury stosu DFS(G, x) // zmienne globalne Numer, Drzewo, Pozostałe v = x; Numer[v] = 1; Ponumerowano = 1; for each w in N(v) { // N(v) wierzchołki incydentne z v if (Numer[w] == 0) { Ponumerowano = Ponumerowano + 1; Numer[w] = Ponumerowano; Drzewo = Drzewo + {vw}; DFS(G,w); } else if (Numer[w] < Numer[v]) Pozostałe = Pozostałe + {vw}; } return Numer, Drzewo, Pozostałe // REKURENCJA
35 Algorytm DFS Rozpatrując listową reprezentację grafu (tablica wierzchołków z dołączonymi listami sąsiadów) można zapisać powyższy algorytm rekurencyjny w jeszcze prostszy sposób Przez odwiedzony[v] oznaczmy tablicę flag oznaczających czy dany wierzchołek v był już odwiedzony, na początku zawiera ona wartości false Przez aktualny[v] oznaczmy tablicę wskaźników na pierwsze elementy list wierzchołków L[v] DFS(G, v) odwiedzone[v] = true; while (aktualny[v]!= NULL){ w = wierzchołek na liście L[v] wskazywany przez aktualny[v]; if (odwiedzony[w] == false) DFS(G, w); aktualny[v] = wskaźnik do następnego wierzchołka na liście L[v]; }
36 Algorytm DFS Złożoność algorytmu DFS oraz wielu jego pochodnych, wykorzystujących DFS, jest rzędu O( V + E ), czyli O(m + n)
37 Zastosowanie Algorytm DFS można wykorzystać do napisania wielu innych algorytmów Przykładowo do algorytmu numerującego wszystkie wierzchołki grafu NumerujWierzchołki(G) for each v in V Numer[v] = 0; Drzewo = ; Pozostałe = ; for each v in V if (Numer[v] == 0) DFS(G,v);
38 Zastosowanie Za pomocą odpowiedniej klasyfikacji krawędzi podczas działania algorytmu DFS możemy wykonać sortowanie topologiczne skierowanego grafu acyklicznego Polega ono na ułożeniu wierzchołków grafu na linii prostej w takiej kolejności, że wszystkie łuki prowadzą w prawą stronę Zapis taki może ilustrować kolejność wykonywania różnych zależnych od siebie procesów
39 Zastosowanie Przykładowo jeżeli wiemy jakie części garderoby mamy zakładać po sobie, to jak ustawić je w kolejności ubierania
40 Zastosowanie W wyniku sortowania topologicznego powyższego grafu otrzymujemy następującą strukturę Opisuje ona przykładową bezkolizyjną kolejność zakładania części garderoby: 1. skarpetki, 2. slipki, 3. spodnie, 4. buty, 5. zegarek, 6. koszula, 7. pasek, 8. krawat, 9. marynarka
41 Podwójne numerowanie Zanim opiszemy algorytm sortowania topologicznego zauważmy pewne własności poszukiwania DFS Po wykonaniu algorytmu dostajemy las przeszukiwań w głąb lub w szczególności drzewo gdy graf jest spójny Możemy dodatkowo oznaczyć wierzchołek odwiedzony jako odwiedzony po raz pierwszy podczas przeszukiwania wierzchołek przetworzony, czyli taki którego lista sąsiedztwa została już całkowicie przeanalizowana
42 Podwójne numerowanie Wprowadzamy etykiety czasowe dla każdego wierzchołka, jako dwie liczby całkowite z przedziału 1, 2, 3, 2 V jedna opisująca czas odwiedzin (wierzchołek odwiedzony) druga czas przetworzenia (wierzchołek przetworzony) Zapis etykiet można wprowadzić poprzez prostą modyfikację algorytmu DFS, dodającego numer czasu przetworzenia dla wierzchołka v gdy odwiedzimy wszystkich jego sąsiadów (za pętlą for each)
43 Przykład
44 Podwójne numerowanie W przypadku grafów skierowanych, jak w sortowaniu topologicznym, oznaczając graf skierowany spójny nie musimy otrzymać struktury drzewa Kierunki łuków mogą spowodować, że od pewnego wierzchołka nie będzie można kontynuować poszukiwań, należy wówczas wybrać kolejny nie odwiedzony wierzchołek Otrzymamy wówczas zamiast drzewa strukturę lasu (nawet gdy graf jest spójny)
45 Przykład
46 Algorytm sortowania TopologicalSort(G) 1. Wykonaj DFS(G) obliczając czasy przetworzenia wszystkich wierzchołków 2. Wstaw wierzchołek v na początek listy, kiedy tylko zostanie on przetworzony 3. return lista wierzchołków
47 Przykład Posortujmy graf opisujący ubieranie strojów Skarpetki Slipki Spodnie Buty Zegarek Koszula Pasek Krawat Marynarka
48 Zadanie Przeprowadź obliczenia Przeszukiwania wszerz (BFS) Przeszukiwania w głąb (DFS) Sortowania topologicznego dla powyższego grafu skierowanego Wypisz kolejność odwiedzania wierzchołków w obu przeszukiwaniach, startując od wybranego przez siebie miejsca w grafie
49 Następny wykład Spójność grafu Drzewa rozpinające
Struktury 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
Grafem 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
Ogó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,
Matematyczne 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ą
Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.
Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Oznaczenia G = V, E - graf bez wag, gdzie V - zbiór wierzchołków, E- zbiór krawdzi V = n - liczba wierzchołków grafu G E = m
Algorytmy 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
a) 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
Algorytmiczna 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)
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
Przykł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
1. 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
Algorytmy 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
Wstę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
Graf. Definicja marca / 1
Graf 25 marca 2018 Graf Definicja 1 Graf ogólny to para G = (V, E), gdzie V jest zbiorem wierzchołków (węzłów, punktów grafu), E jest rodziną krawędzi, które mogą być wielokrotne, dokładniej jednoelementowych
Sortowanie 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)
Algorytm 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
WYŻ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
Zł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.
Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1
Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem
Wstę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ą
Digraf o V wierzchołkach posiada V 2 krawędzi, zatem liczba różnych digrafów o V wierzchołkach wynosi 2 VxV
Graf skierowany (digraf) zbiór wierzchołków i zbiór krawędzi skierowanych łączących (co najwyżej jeden raz) uporządkowane pary wierzchołków. Mówimy wtedy, że krawędź łączy pierwszy wierzchołek z drugim
Wykład 7. Algorytmy grafowe
Wykład Algorytmy grafowe Algorytmy grafowe i podstawowe algorytmy przeszukiwania Problem Definicje i własności Reprezentacja Przeszukiwanie wszerz (Breadthirst Search) Przeszukiwanie w głąb (Depthirst
7. Teoria drzew - spinanie i przeszukiwanie
7. Teoria drzew - spinanie i przeszukiwanie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie
Wykł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
Digraf. 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,
Grafy (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
Matematyka 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
Znajdowanie 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
Drzewa. 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
Wykład 8. Drzewo rozpinające (minimum spanning tree)
Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,
Rozwią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
Algorytmy grafowe (AGR 320)
Algorytmy grafowe (AGR 320) semestr letni 2004/2005 Michał Karoński Wydział Matematyki i Informatyki UAM Algorytmy grafowe (AGR 320) p. 1/9 1. Rodzaje grafów grafy proste multigrafy grafy skierowane (digrafy)
Algorytmy 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
. 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
Algorytmy 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
Algorytm 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
Minimalne 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
Reprezentacje 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
MATEMATYKA 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
EGZAMIN - 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;
Sprawozdanie do zadania numer 2
Sprawozdanie do zadania numer 2 Michał Pawlik 29836 Temat: Badanie efektywności algorytmów grafowych w zależności od rozmiaru instancji oraz sposobu reprezentacji grafu w pamięci komputera 1 WSTĘP W ramach
Teoria grafów II. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Teoria grafów II Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Graf planarny Graf planarny Graf, który może być narysowany tak, by uniknąć przecinania się krawędzi, nazywamy grafem
Programowanie 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ń
Ć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ł:
Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 1,2,3. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie
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,2,3 B. Woźna-Szcześniak (UJD) Algorytmy
Programowanie 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ń
Wykł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
Przypomnij 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
Metody Programowania
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie
Matematyka 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)),
TEORETYCZNE 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
Matematyczne 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
Algorytmy 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
Wstę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
Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II
Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem
Wstę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
prowadzą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
Podstawowe 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).
Algorytmy i Struktury Danych
Algorytmy i Struktury Danych Drzewa poszukiwań binarnych dr hab. Bożena Woźna-Szcześniak Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 8 1 /
Wykłady z Matematyki Dyskretnej
Wykłady z Matematyki Dyskretnej dla kierunku Informatyka dr Instytut Informatyki Politechnika Krakowska Wykłady na bazie materiałów: dra hab. Andrzeja Karafiata dr hab. Joanny Kołodziej, prof. PK Grafy
TEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 8 2 Modele danych: grafy Podstawowe pojęcia Grafy wywołań Grafy skierowane i nieskierowane Grafy planarne,
Egzaminy i inne zadania. Semestr II.
Egzaminy i inne zadania. Semestr II. Poniższe zadania są wyborem zadań ze Wstępu do Informatyki z egzaminów jakie przeprowadziłem w ciągu ostatnich lat. Ponadto dołączyłem szereg zadań, które pojawiały
Wstę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
Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?
DROGI i CYKLE EULERA w grafach Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz? Czy można narysować podaną figurę nie odrywając ołówka od papieru
Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska
Teoria grafów dla małolatów Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska Wstęp Matematyka to wiele różnych dyscyplin Bowiem świat jest bardzo skomplikowany wymaga rozważenia
Algorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 8 1 / 39 Plan wykładu
Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda
Segmentacja obrazów cyfrowych Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp autor: Łukasz Chlebda 1 Segmentacja obrazów cyfrowych - temat pracy Temat pracy: Aplikacja do segmentacji
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z
Algorytmy z powracaniem
Algorytmy z powracaniem Materiały Grafem nazywamy zbiór G = (V, E), gdzie: V jest zbiorem wierzchołków (ang. vertex) E jest zbiorem krawędzi (E można też określić jako podzbiór zbioru nieuporządkowanych
Podstawy 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ą
Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 5 i 6. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie
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 5 i 6 B. Woźna-Szcześniak (UJD) Algorytmy
Algorytmy 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
Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010
Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność
Wysokość drzewa Głębokość węzła
Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.
Algorytmy 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
Planowanie przedsięwzięć
K.Pieńkosz Badania Operacyjne Planowanie przedsięwzięć 1 Planowanie przedsięwzięć Model przedsięwzięcia lista operacji relacje poprzedzania operacji modele operacji funkcja celu planowania K.Pieńkosz Badania
UNIWERSYTET GDAŃSKI MATERIAŁY DYDAKTYCZNE DO PRZEDMIOTU MATEMATYKA DYSKRETNA. pod redakcją: Hanna Furmańczyk Karol Horodecki Paweł Żyliński
UNIWERSYTET GDAŃSKI MATERIAŁY DYDAKTYCZNE DO PRZEDMIOTU MATEMATYKA DYSKRETNA pod redakcją: Hanna Furmańczyk Karol Horodecki Paweł Żyliński kierunek: Informatyka GDAŃSK 2019 Niniejsze materiały powstały
Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik
Wykład X Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2016 c Copyright 2016 Janusz Słupik Drzewa binarne Drzewa binarne Drzewo binarne - to drzewo (graf spójny bez cykli) z korzeniem (wyróżnionym
Heurystyczne metody przeszukiwania
Heurystyczne metody przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Pojęcie heurystyki Metody heurystyczne są jednym z ważniejszych narzędzi sztucznej inteligencji.
Kolorowanie 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
WSTĘP DO INFORMATYKI. Grafy i struktury grafowe
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WTĘP DO INFORMATYKI Adrian Horzyk Grafy i struktury grafowe www.agh.edu.pl DEFINICJA GRAFU Graf to
Algorytmy i struktury danych
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i struktury danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 5: Algorytmy
TEORIA GRAFÓW I SIECI
TEORIA GRAFÓW I SIECI Temat nr : Grafy Berge a dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 6-83-95-0, p.5/00 Zakład Badań Operacyjnych i
Algorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Drzewa poszukiwań binarnych. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych.
Wstę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
SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.
SPÓJNOŚĆ Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja równoważna: Graf jest spójny, gdy każde dwa wierzchołki są połączone ścieżką
Sztuczna 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
Wstę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
Drzewa poszukiwań binarnych
1 Cel ćwiczenia Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet ielonogórski Drzewa poszukiwań binarnych Ćwiczenie
Grafy podstawowe pojęcia
71 Grafy podstawowe pojęcia Graf jest najbardziej złożoną strukturą dynamiczną. W przeciwieństwie do drzewa i listy, które są szczególnymi przypadkami grafów, nie nakładamy tu żadnych ograniczeń, jeśli
Opracowanie prof. J. Domsta 1
Opracowanie prof. J. Domsta 1 Algorytm FLEURY'ego: Twierdzenie 6.5 G-graf eulerowski. Wtedy cykl Eulera otrzymujemy nastepująco: a) Start w dowolnym wierzchołku b) Krawędzie w dowolnej kolejności po przebyciu
Podstawowe algorytmy grafowe i ich zastosowania
Podstawowe algorytmy grafowe i ich zastosowania Autor projektu: dr Andrzej Mróz (UMK) Projekt pn. Wzmocnienie potencjaªu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany
Literatura. 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,
Suma 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
Grafy i sieci w informatyce - opis przedmiotu
Grafy i sieci w informatyce - opis przedmiotu Informacje ogólne Nazwa przedmiotu Grafy i sieci w informatyce Kod przedmiotu 11.9-WI-INFD-GiSwI Wydział Kierunek Wydział Informatyki, Elektrotechniki i Automatyki
Teoria 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
PRZESZUKIWANIE W GŁĄB ALGORYTM PRZYKŁAD - C.D. PRZYKŁAD PRZESZUKIWANIE W GŁĄB (DFS) PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI
PROJKTOWNI LGORYTMÓW I MTOY SZTUZNJ INTLIGNJI GRY.. PRZSZUKIWNI W GŁĄ Wykład 1 dr inż. Łukasz Jeleń Na podstawie wykładów dr. T. evensa PRZSZUKIWNI W GŁĄ (S) LGORYTM S jest techniką trawersowania grafów
6. Wstępne pojęcia teorii grafów
6. Wstępne pojęcia teorii grafów Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 6. Wstępne pojęcia teorii grafów zima 2016/2017
Wprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład Informatyka Studia InŜynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,, S, GD], gdzie: N jest zbiorem wierzchołków
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Informacje podstawowe 1. Konsultacje: pokój